import { FileUploadField } from "../entities/file-upload-field.entity"; import { FileUploadSetting } from "../entities/file-upload-setting.entity"; /** * Contract every FileUploadSettings repository must satisfy. Lets services * depend on the abstraction and lets tests swap in an in-memory fake. */ export const FILE_UPLOAD_SETTINGS_REPOSITORY = Symbol( "FILE_UPLOAD_SETTINGS_REPOSITORY", ); export interface IFileUploadSettingsRepository { findAll(): Promise; findById(id: string): Promise; findByCode(code: string): Promise; create(data: Partial): Promise; update( id: string, data: Partial, ): Promise; softDelete(id: string): Promise; /* Field-level helpers */ replaceFields( settingId: string, fields: Array>, ): Promise; addField( settingId: string, field: Partial, ): Promise; updateField( fieldId: string, data: Partial, ): Promise; removeField(fieldId: string): Promise; }