1
1
import { Collection , CollectionInputLevel } from '../../../domain/models/Collection'
2
2
import { AxiosResponse } from 'axios'
3
- import { CollectionInputLevelPayload , CollectionPayload } from './CollectionPayload'
3
+ import {
4
+ CollectionContactPayload ,
5
+ CollectionInputLevelPayload ,
6
+ CollectionPayload
7
+ } from './CollectionPayload'
4
8
import { transformPayloadToOwnerNode } from '../../../../core/infra/repositories/transformers/dvObjectOwnerNodeTransformer'
5
9
import { transformHtmlToMarkdown } from '../../../../datasets/infra/repositories/transformers/datasetTransformers'
6
10
import { CollectionFacet } from '../../../domain/models/CollectionFacet'
@@ -15,6 +19,8 @@ import { transformFilePreviewPayloadToFilePreview } from '../../../../files/infr
15
19
import { transformCollectionPreviewPayloadToCollectionPreview } from './collectionPreviewsTransformers'
16
20
import { CollectionPreviewPayload } from './CollectionPreviewPayload'
17
21
import { CollectionPreview } from '../../../domain/models/CollectionPreview'
22
+ import { CollectionContact } from '../../../domain/models/CollectionContact'
23
+ import { CollectionType } from '../../../domain/models/CollectionType'
18
24
19
25
export const transformCollectionResponseToCollection = ( response : AxiosResponse ) : Collection => {
20
26
const collectionPayload = response . data . data
@@ -39,6 +45,9 @@ const transformPayloadToCollection = (collectionPayload: CollectionPayload): Col
39
45
name : collectionPayload . name ,
40
46
isReleased : collectionPayload . isReleased ,
41
47
affiliation : collectionPayload . affiliation ,
48
+ type : collectionPayload . dataverseType as CollectionType ,
49
+ isMetadataBlockRoot : collectionPayload . isMetadataBlockRoot ,
50
+ isFacetRoot : collectionPayload . isFacetRoot ,
42
51
...( collectionPayload . description && {
43
52
description : transformHtmlToMarkdown ( collectionPayload . description )
44
53
} ) ,
@@ -47,6 +56,9 @@ const transformPayloadToCollection = (collectionPayload: CollectionPayload): Col
47
56
} ) ,
48
57
...( collectionPayload . inputLevels && {
49
58
inputLevels : transformInputLevelsPayloadToInputLevels ( collectionPayload . inputLevels )
59
+ } ) ,
60
+ ...( collectionPayload . dataverseContacts && {
61
+ contacts : transformContactsPayloadToContacts ( collectionPayload . dataverseContacts )
50
62
} )
51
63
}
52
64
return collectionModel
@@ -90,3 +102,12 @@ export const transformCollectionItemsResponseToCollectionItemSubset = (
90
102
totalItemCount : responseDataPayload . total_count
91
103
}
92
104
}
105
+
106
+ const transformContactsPayloadToContacts = (
107
+ contactsPayload : CollectionContactPayload [ ]
108
+ ) : CollectionContact [ ] => {
109
+ return contactsPayload . map ( ( contactPayload ) => ( {
110
+ email : contactPayload . contactEmail ,
111
+ displayOrder : contactPayload . displayOrder
112
+ } ) )
113
+ }
0 commit comments