-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathMetadataBlocksRepository.ts
More file actions
43 lines (40 loc) · 1.6 KB
/
Copy pathMetadataBlocksRepository.ts
File metadata and controls
43 lines (40 loc) · 1.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import { ApiRepository } from '../../../core/infra/repositories/ApiRepository'
import { IMetadataBlocksRepository } from '../../domain/repositories/IMetadataBlocksRepository'
import { MetadataBlock } from '../../domain/models/MetadataBlock'
import {
transformMetadataBlockResponseToMetadataBlock,
transformMetadataBlocksResponseToMetadataBlocks
} from './transformers/metadataBlockTransformers'
export class MetadataBlocksRepository extends ApiRepository implements IMetadataBlocksRepository {
public async getMetadataBlockByName(metadataBlockName: string): Promise<MetadataBlock> {
return this.doGet(`/metadatablocks/${metadataBlockName}`)
.then((response) => transformMetadataBlockResponseToMetadataBlock(response))
.catch((error) => {
throw error
})
}
public async getCollectionMetadataBlocks(
collectionIdOrAlias: string | number,
onlyDisplayedOnCreate: boolean,
datasetType?: string
): Promise<MetadataBlock[]> {
return this.doGet(`/dataverses/${collectionIdOrAlias}/metadatablocks`, true, {
onlyDisplayedOnCreate: onlyDisplayedOnCreate,
returnDatasetFieldTypes: true,
datasetType: datasetType
})
.then((response) => transformMetadataBlocksResponseToMetadataBlocks(response))
.catch((error) => {
throw error
})
}
public async getAllMetadataBlocks(): Promise<MetadataBlock[]> {
return this.doGet('/metadatablocks', false, {
returnDatasetFieldTypes: true
})
.then((response) => transformMetadataBlocksResponseToMetadataBlocks(response))
.catch((error) => {
throw error
})
}
}