@@ -6,46 +6,45 @@ import { IMetadataBlocksRepository } from '../../../metadataBlocks/domain/reposi
66import { MetadataBlock } from '../../../metadataBlocks'
77
88export abstract class DatasetWriteUseCase < T > implements UseCase < T > {
9- private datasetsRepository : IDatasetsRepository
10- private metadataBlocksRepository : IMetadataBlocksRepository
11- private newDatasetValidator : NewResourceValidator
12-
13- constructor (
14- datasetsRepository : IDatasetsRepository ,
15- metadataBlocksRepository : IMetadataBlocksRepository ,
16- newDatasetValidator : NewResourceValidator
17- ) {
18- this . datasetsRepository = datasetsRepository
19- this . metadataBlocksRepository = metadataBlocksRepository
20- this . newDatasetValidator = newDatasetValidator
21- }
22-
23- abstract execute ( ...args : unknown [ ] ) : Promise < T >
24-
25- getDatasetsRepository ( ) : IDatasetsRepository {
26- return this . datasetsRepository
27- }
28-
29- getMetadataBlocksRepository ( ) : IMetadataBlocksRepository {
30- return this . metadataBlocksRepository
31- }
32-
33- getNewDatasetValidator ( ) : NewResourceValidator {
34- return this . newDatasetValidator
35- }
36-
37- async getNewDatasetMetadataBlocks ( newDataset : NewDatasetDTO ) : Promise < MetadataBlock [ ] > {
38- const metadataBlocks : MetadataBlock [ ] = [ ]
39- await Promise . all (
40- newDataset . metadataBlockValues . map (
41- async ( metadataBlockValue : NewDatasetMetadataBlockValuesDTO ) => {
42- metadataBlocks . push (
43- await this . metadataBlocksRepository . getMetadataBlockByName ( metadataBlockValue . name )
44- )
45- }
46- )
9+ private datasetsRepository : IDatasetsRepository
10+ private metadataBlocksRepository : IMetadataBlocksRepository
11+ private newDatasetValidator : NewResourceValidator
12+
13+ constructor (
14+ datasetsRepository : IDatasetsRepository ,
15+ metadataBlocksRepository : IMetadataBlocksRepository ,
16+ newDatasetValidator : NewResourceValidator
17+ ) {
18+ this . datasetsRepository = datasetsRepository
19+ this . metadataBlocksRepository = metadataBlocksRepository
20+ this . newDatasetValidator = newDatasetValidator
21+ }
22+
23+ abstract execute ( ...args : unknown [ ] ) : Promise < T >
24+
25+ getDatasetsRepository ( ) : IDatasetsRepository {
26+ return this . datasetsRepository
27+ }
28+
29+ getMetadataBlocksRepository ( ) : IMetadataBlocksRepository {
30+ return this . metadataBlocksRepository
31+ }
32+
33+ getNewDatasetValidator ( ) : NewResourceValidator {
34+ return this . newDatasetValidator
35+ }
36+
37+ async getNewDatasetMetadataBlocks ( newDataset : NewDatasetDTO ) : Promise < MetadataBlock [ ] > {
38+ const metadataBlocks : MetadataBlock [ ] = [ ]
39+ await Promise . all (
40+ newDataset . metadataBlockValues . map (
41+ async ( metadataBlockValue : NewDatasetMetadataBlockValuesDTO ) => {
42+ metadataBlocks . push (
43+ await this . metadataBlocksRepository . getMetadataBlockByName ( metadataBlockValue . name )
44+ )
45+ }
4746 )
48- return metadataBlocks
49- }
47+ )
48+ return metadataBlocks
5049 }
51-
50+ }
0 commit comments