1
- import { PhotoDto , CreatePhotoDto , UpdatePhotoDto } from '../dtos' ;
1
+ import { PhotoDto , CreatePhotoDto , UpdatePhotoDto , UpdatePhotoTagsDto } from '../dtos' ;
2
2
import { Photo } from '@devmx/shared-api-interfaces' ;
3
3
import { plainToInstance } from 'class-transformer' ;
4
4
import {
5
5
CreatePhotoUseCase ,
6
6
DeletePhotoUseCase ,
7
7
FindPhotoByIDUseCase ,
8
8
FindPhotosUseCase ,
9
+ UpdatePhotoTagsUseCase ,
9
10
UpdatePhotoUseCase ,
10
11
} from '@devmx/album-domain/server' ;
11
12
import {
@@ -20,7 +21,8 @@ export class PhotosFacade {
20
21
private findPhotosUseCase : FindPhotosUseCase ,
21
22
private findPhotoByIDUseCase : FindPhotoByIDUseCase ,
22
23
private updatePhotoUseCase : UpdatePhotoUseCase ,
23
- private deletePhotoUseCase : DeletePhotoUseCase
24
+ private deletePhotoUseCase : DeletePhotoUseCase ,
25
+ private updatePhotoTagsUseCase : UpdatePhotoTagsUseCase
24
26
) { }
25
27
26
28
async create ( data : CreatePhotoDto ) {
@@ -30,23 +32,28 @@ export class PhotosFacade {
30
32
31
33
async find ( params : QueryParamsDto < Photo > ) {
32
34
const { data, items, pages } = await this . findPhotosUseCase . execute ( params ) ;
33
- const albums = plainToInstance ( PhotoDto , data ) ;
34
- return new PageDto ( albums , items , pages ) ;
35
+ const photos = plainToInstance ( PhotoDto , data ) ;
36
+ return new PageDto ( photos , items , pages ) ;
35
37
}
36
38
37
39
async findOne ( id : string ) {
38
- const album = await this . findPhotoByIDUseCase . execute ( id ) ;
39
- return plainToInstance ( PhotoDto , album ) ;
40
+ const photo = await this . findPhotoByIDUseCase . execute ( id ) ;
41
+ return plainToInstance ( PhotoDto , photo ) ;
40
42
}
41
43
42
44
async update ( id : string , data : UpdatePhotoDto ) {
43
- const album = await this . updatePhotoUseCase . execute ( { ...data , id } ) ;
44
- return plainToInstance ( PhotoDto , album ) ;
45
+ const photo = await this . updatePhotoUseCase . execute ( { ...data , id } ) ;
46
+ return plainToInstance ( PhotoDto , photo ) ;
47
+ }
48
+
49
+ async updateTags ( id : string , data : UpdatePhotoTagsDto ) {
50
+ const photo = await this . updatePhotoTagsUseCase . execute ( { ...data , id } ) ;
51
+ return plainToInstance ( PhotoDto , photo ) ;
45
52
}
46
53
47
54
async delete ( id : string ) {
48
- const album = this . deletePhotoUseCase . execute ( id ) ;
49
- return plainToInstance ( PhotoDto , album ) ;
55
+ const photo = this . deletePhotoUseCase . execute ( id ) ;
56
+ return plainToInstance ( PhotoDto , photo ) ;
50
57
}
51
58
}
52
59
@@ -57,5 +64,6 @@ export function providePhotosFacade() {
57
64
FindPhotoByIDUseCase ,
58
65
UpdatePhotoUseCase ,
59
66
DeletePhotoUseCase ,
67
+ UpdatePhotoTagsUseCase
60
68
] ) ;
61
69
}
0 commit comments