project refactoring en clean archi

This commit is contained in:
styve Lioumba
2025-10-23 14:10:53 +02:00
parent ef02c6a537
commit 02637235e3
52 changed files with 3873 additions and 875 deletions

View File

@@ -0,0 +1,10 @@
import { ProjectRepository } from '@app/domain/projects/project.repository';
import { CreateProjectDto } from '@app/domain/projects/dto/create-project.dto';
export class CreateProjectUseCase {
constructor(private readonly repo: ProjectRepository) {}
execute(projectDto: CreateProjectDto) {
return this.repo.create(projectDto);
}
}

View File

@@ -0,0 +1,11 @@
import { ProjectRepository } from '@app/domain/projects/project.repository';
import { Project } from '@app/domain/projects/project.model';
import { Observable } from 'rxjs';
export class GetProjectUseCase {
constructor(private readonly repo: ProjectRepository) {}
execute(projectId: string): Observable<Project> {
return this.repo.get(projectId);
}
}

View File

@@ -0,0 +1,11 @@
import { ProjectRepository } from '@app/domain/projects/project.repository';
import { Project } from '@app/domain/projects/project.model';
import { Observable } from 'rxjs';
export class ListProjectUseCase {
constructor(private readonly repo: ProjectRepository) {}
execute(userId: string): Observable<Project[]> {
return this.repo.list(userId);
}
}

View File

@@ -0,0 +1,11 @@
import { ProjectRepository } from '@app/domain/projects/project.repository';
import { Project } from '@app/domain/projects/project.model';
import { Observable } from 'rxjs';
export class UpdateProjectUseCase {
constructor(private readonly repo: ProjectRepository) {}
execute(userId: string, data: any): Observable<Project> {
return this.repo.update(userId, data);
}
}