-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathdatasetTemplateTransformers.ts
More file actions
57 lines (54 loc) · 2.68 KB
/
Copy pathdatasetTemplateTransformers.ts
File metadata and controls
57 lines (54 loc) · 2.68 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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import { transformPayloadLicenseToLicense } from '../../../../licenses/domain/repositories/transformers/licenseTransformers'
import { DatasetTemplate } from '../../../domain/models/DatasetTemplate'
import { DatasetTemplatePayload } from './DatasetTemplatePayload'
import { transformPayloadToDatasetMetadataBlocks } from './datasetTransformers'
export const transformDatasetTemplatePayloadToDatasetTemplate = (
collectionDatasetTemplatePayload: DatasetTemplatePayload[]
): DatasetTemplate[] => {
return collectionDatasetTemplatePayload.map((payload) => {
const datasetTemplate: DatasetTemplate = {
id: payload.id,
name: payload.name,
collectionAlias: payload.dataverseAlias,
isDefault: payload.isDefault,
usageCount: payload.usageCount,
createTime: payload.createTime,
createDate: payload.createDate,
datasetMetadataBlocks: transformPayloadToDatasetMetadataBlocks(payload.datasetFields, false),
instructions: payload.instructions.map((instruction) => ({
instructionField: instruction.instructionField,
instructionText: instruction.instructionText
})),
termsOfUse: {
termsOfAccess: {
fileAccessRequest: payload.termsOfUseAndAccess.fileAccessRequest,
termsOfAccessForRestrictedFiles: payload.termsOfUseAndAccess.termsOfAccess,
dataAccessPlace: payload.termsOfUseAndAccess.dataAccessPlace,
originalArchive: payload.termsOfUseAndAccess.originalArchive,
availabilityStatus: payload.termsOfUseAndAccess.availabilityStatus,
contactForAccess: payload.termsOfUseAndAccess.contactForAccess,
sizeOfCollection: payload.termsOfUseAndAccess.sizeOfCollection,
studyCompletion: payload.termsOfUseAndAccess.studyCompletion
}
}
}
if (payload.termsOfUseAndAccess.license) {
datasetTemplate.license = transformPayloadLicenseToLicense(
payload.termsOfUseAndAccess.license
)
} else {
datasetTemplate.termsOfUse.customTerms = {
termsOfUse: payload.termsOfUseAndAccess.termsOfUse as string,
confidentialityDeclaration: payload.termsOfUseAndAccess
.confidentialityDeclaration as string,
specialPermissions: payload.termsOfUseAndAccess.specialPermissions as string,
restrictions: payload.termsOfUseAndAccess.restrictions as string,
citationRequirements: payload.termsOfUseAndAccess.citationRequirements as string,
depositorRequirements: payload.termsOfUseAndAccess.depositorRequirements as string,
conditions: payload.termsOfUseAndAccess.conditions as string,
disclaimer: payload.termsOfUseAndAccess.disclaimer as string
}
}
return datasetTemplate
})
}