import { Insertable, Updateable } from 'kysely'; import { SharedLinks } from 'src/db'; import { SharedLinkEntity } from 'src/entities/shared-link.entity'; export const ISharedLinkRepository = 'ISharedLinkRepository'; export interface ISharedLinkRepository { getAll(userId: string): Promise; get(userId: string, id: string): Promise; getByKey(key: Buffer): Promise; create(entity: Insertable & { assetIds?: string[] }): Promise; update(entity: Updateable & { id: string; assetIds?: string[] }): Promise; remove(entity: SharedLinkEntity): Promise; }