import { AlbumUserRole } from 'src/enum'; export const IAccessRepository = 'IAccessRepository'; export interface IAccessRepository { activity: { checkOwnerAccess(userId: string, activityIds: Set): Promise>; checkAlbumOwnerAccess(userId: string, activityIds: Set): Promise>; checkCreateAccess(userId: string, albumIds: Set): Promise>; }; asset: { checkOwnerAccess(userId: string, assetIds: Set): Promise>; checkAlbumAccess(userId: string, assetIds: Set): Promise>; checkPartnerAccess(userId: string, assetIds: Set): Promise>; checkSharedLinkAccess(sharedLinkId: string, assetIds: Set): Promise>; }; authDevice: { checkOwnerAccess(userId: string, deviceIds: Set): Promise>; }; album: { checkOwnerAccess(userId: string, albumIds: Set): Promise>; checkSharedAlbumAccess(userId: string, albumIds: Set, access: AlbumUserRole): Promise>; checkSharedLinkAccess(sharedLinkId: string, albumIds: Set): Promise>; }; timeline: { checkPartnerAccess(userId: string, partnerIds: Set): Promise>; }; memory: { checkOwnerAccess(userId: string, memoryIds: Set): Promise>; }; person: { checkFaceOwnerAccess(userId: string, assetFaceId: Set): Promise>; checkOwnerAccess(userId: string, personIds: Set): Promise>; }; partner: { checkUpdateAccess(userId: string, partnerIds: Set): Promise>; }; stack: { checkOwnerAccess(userId: string, stackIds: Set): Promise>; }; tag: { checkOwnerAccess(userId: string, tagIds: Set): Promise>; }; }