project refactoring en clean archi
This commit is contained in:
10
src/app/usecase/projects/create-project.usecase.ts
Normal file
10
src/app/usecase/projects/create-project.usecase.ts
Normal 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);
|
||||
}
|
||||
}
|
||||
11
src/app/usecase/projects/get-project.usecase.ts
Normal file
11
src/app/usecase/projects/get-project.usecase.ts
Normal 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);
|
||||
}
|
||||
}
|
||||
11
src/app/usecase/projects/list-project.usecase.ts
Normal file
11
src/app/usecase/projects/list-project.usecase.ts
Normal 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);
|
||||
}
|
||||
}
|
||||
11
src/app/usecase/projects/update-project.usecase.ts
Normal file
11
src/app/usecase/projects/update-project.usecase.ts
Normal 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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user