Interface CollectionMetadataRepository

All Known Implementing Classes:
KadaCollectionMetadataRepository

public interface CollectionMetadataRepository
컬렉션 메타데이터를 영구 저장소에 저장하고 조회하는 인터페이스이다.

이 인터페이스는 컬렉션 메타데이터를 데이터베이스의 `collection_metadata` 테이블에 영구 저장하여 프로세스 재시작 후에도 컬렉션 정보가 유지되도록 한다. 저장 프로시저를 통해 접근하며, user_id(사용자 계정명)를 기반으로 권한 검증을 수행한다.

  • Method Details

    • save

      void save(String aUserId, String aCollectionName, CollectionMetaData aMetadata, String aCreationMode, String aOwnerId, boolean aIsShared)
      컬렉션 메타데이터를 저장소에 저장한다.
      Parameters:
      aUserId - 사용자 계정명 (저장 프로시저 기반 권한 검증)
      aCollectionName - 컬렉션 이름
      aMetadata - 저장할 메타데이터
      aCreationMode - 생성 모드 ("NEW": 새 테이블 생성, "MAP": 기존 테이블 매핑)
      aOwnerId - 컬렉션 생성자 userId
      aIsShared - 공유 컬렉션 여부 (true: 공유, false: 일반)
    • findByName

      CollectionMetaData findByName(String aUserId, String aCollectionName)
      지정된 이름의 컬렉션 메타데이터를 조회한다.
      Parameters:
      aUserId - 사용자 계정명 (저장 프로시저 기반 권한 검증)
      aCollectionName - 컬렉션 이름
      Returns:
      메타데이터, 존재하지 않으면 null
    • findAll

      List<CollectionMetaData> findAll(String aUserId)
      사용자의 모든 컬렉션 메타데이터를 조회한다.
      Parameters:
      aUserId - 사용자 계정명
      Returns:
      메타데이터 목록
    • findAllForAdmin

      List<CollectionMetaData> findAllForAdmin()
      모든 사용자의 컬렉션 메타데이터를 조회한다 (ADMIN 전용). user_id 필터링 없이 전체 컬렉션을 반환한다.
      Returns:
      메타데이터 목록
    • delete

      void delete(String aUserId, String aCollectionName)
      지정된 이름의 컬렉션 메타데이터를 삭제한다.
      Parameters:
      aUserId - 사용자 계정명 (저장 프로시저 기반 권한 검증)
      aCollectionName - 컬렉션 이름
    • findSharedCollection

      CollectionMetaData findSharedCollection(String aCollectionName)
      공유 컬렉션 메타데이터를 조회한다. user_id = 'SHARED'인 컬렉션을 조회한다.
      Parameters:
      aCollectionName - 컬렉션 이름
      Returns:
      메타데이터, 존재하지 않으면 null
    • findAllShared

      List<CollectionMetaData> findAllShared()
      모든 공유 컬렉션 메타데이터를 조회한다. user_id = 'SHARED'인 모든 컬렉션을 반환한다.
      Returns:
      메타데이터 목록
    • findAllWithShared

      List<CollectionMetaData> findAllWithShared(String aUserId)
      사용자의 컬렉션 + 공유 컬렉션을 한 번에 조회한다. user_id가 일치하거나 SHARED인 모든 컬렉션을 반환한다.
      Parameters:
      aUserId - 사용자 계정명
      Returns:
      메타데이터 목록