import { AnnotationRepository } from '~/domain/models/tasks/annotationRepository' import { AnnotationModel } from '~/domain/models/tasks/interface' export class AnnotationApplicationService<T extends AnnotationModel> { constructor( readonly repository: AnnotationRepository<T> ) {} public async delete(projectId: string, docId: number, annotationId: number): Promise<void> { await this.repository.delete(projectId, docId, annotationId) } public async clear(projectId: string, docId: number): Promise<void> { await this.repository.clear(projectId, docId) } public async autoLabel(projectId: string, docId: number): Promise<void> { await this.repository.autoLabel(projectId, docId) } }