import { StoredFile } from '../entities/stored-file.entity.js'; /** DI-токен, т.к. интерфейсы стираются при компиляции TS */ export const FILE_REPOSITORY = Symbol('FILE_REPOSITORY'); export interface IFileRepository { findById(id: string): Promise; findByIds(ids: string[]): Promise; /** * Файлы, созданные раньше `before`, по возрастанию id (uuid v7 ≈ время создания). * Курсорная пагинация для GC: cursor — id последнего полученного файла. */ findCreatedBefore(params: { before: Date; limit: number; cursor?: string }): Promise; create(file: StoredFile): Promise; delete(id: string): Promise; }