Skip to content

Commit 746affb

Browse files
committed
Added: type property to different collection item previews
1 parent 0f66fb4 commit 746affb

File tree

13 files changed

+35
-17
lines changed

13 files changed

+35
-17
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export enum CollectionItemType {
2+
FILE = 'file',
3+
DATASET = 'dataset',
4+
COLLECTION = 'collection'
5+
}

src/collections/domain/models/CollectionPreview.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
import { PublicationStatus } from '../../../core/domain/models/PublicationStatus'
2+
import { CollectionItemType } from './CollectionItemType'
23

34
export interface CollectionPreview {
5+
type: CollectionItemType.COLLECTION
46
name: string
57
parentName: string
68
alias: string

src/collections/domain/models/CollectionSearchCriteria.ts

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import { CollectionItemType } from './CollectionItemType'
2+
13
export class CollectionSearchCriteria {
24
constructor(
35
public readonly searchText?: string,
@@ -12,9 +14,3 @@ export class CollectionSearchCriteria {
1214
return new CollectionSearchCriteria(this.searchText, itemTypes)
1315
}
1416
}
15-
16-
export enum CollectionItemType {
17-
FILE = 'file',
18-
DATASET = 'dataset',
19-
COLLECTION = 'dataverse'
20-
}

src/collections/index.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,5 @@ export { CollectionFacet } from './domain/models/CollectionFacet'
2929
export { CollectionUserPermissions } from './domain/models/CollectionUserPermissions'
3030
export { CollectionDTO, CollectionInputLevelDTO } from './domain/dtos/CollectionDTO'
3131
export { CollectionPreview } from './domain/models/CollectionPreview'
32-
export {
33-
CollectionSearchCriteria,
34-
CollectionItemType
35-
} from './domain/models/CollectionSearchCriteria'
32+
export { CollectionItemType } from './domain/models/CollectionItemType'
33+
export { CollectionSearchCriteria } from './domain/models/CollectionSearchCriteria'

src/collections/infra/repositories/CollectionsRepository.ts

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,8 @@ import { CollectionFacet } from '../../domain/models/CollectionFacet'
1111
import { CollectionUserPermissions } from '../../domain/models/CollectionUserPermissions'
1212
import { transformCollectionUserPermissionsResponseToCollectionUserPermissions } from './transformers/collectionUserPermissionsTransformers'
1313
import { CollectionItemSubset } from '../../domain/models/CollectionItemSubset'
14-
import {
15-
CollectionItemType,
16-
CollectionSearchCriteria
17-
} from '../../domain/models/CollectionSearchCriteria'
14+
import { CollectionSearchCriteria } from '../../domain/models/CollectionSearchCriteria'
15+
import { CollectionItemType } from '../../domain/models/CollectionItemType'
1816

1917
export interface NewCollectionRequestPayload {
2018
alias: string
@@ -170,8 +168,13 @@ export class CollectionsRepository extends ApiRepository implements ICollections
170168

171169
if (collectionSearchCriteria?.itemTypes) {
172170
const itemTypesQueryString = collectionSearchCriteria.itemTypes
173-
.map((itemType: CollectionItemType) => `type=${itemType.toString()}`)
171+
.map((itemType: CollectionItemType) => {
172+
const mappedItemType =
173+
itemType === CollectionItemType.COLLECTION ? 'dataverse' : itemType.toString()
174+
return `type=${mappedItemType}`
175+
})
174176
.join('&')
177+
175178
url += `&${itemTypesQueryString}`
176179
}
177180

src/collections/infra/repositories/transformers/collectionPreviewsTransformers.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { PublicationStatus } from '../../../../core/domain/models/PublicationStatus'
2+
import { CollectionItemType } from '../../../../collections/domain/models/CollectionItemType'
23
import { CollectionPreview } from '../../../domain/models/CollectionPreview'
34
import { CollectionPreviewPayload } from './CollectionPreviewPayload'
45

@@ -10,6 +11,7 @@ export const transformCollectionPreviewPayloadToCollectionPreview = (
1011
publicationStatuses.push(element as unknown as PublicationStatus)
1112
})
1213
return {
14+
type: CollectionItemType.COLLECTION,
1315
name: collectionPreviewPayload.name,
1416
parentName: collectionPreviewPayload.parentDataverseName,
1517
alias: collectionPreviewPayload.identifier,

src/datasets/domain/models/DatasetPreview.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1+
import { CollectionItemType } from '../../../collections'
12
import { PublicationStatus } from '../../../core/domain/models/PublicationStatus'
23
import { DatasetVersionInfo } from './Dataset'
34

45
export interface DatasetPreview {
6+
type: CollectionItemType.DATASET
57
persistentId: string
68
title: string
79
versionId: number

src/datasets/infra/repositories/transformers/datasetPreviewsTransformers.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { DatasetVersionState } from '../../../domain/models/Dataset'
44
import { DatasetPreviewSubset } from '../../../domain/models/DatasetPreviewSubset'
55
import { DatasetPreviewPayload } from './DatasetPreviewPayload'
66
import { PublicationStatus } from '../../../../core/domain/models/PublicationStatus'
7+
import { CollectionItemType } from '../../../../collections/domain/models/CollectionItemType'
78

89
export const transformDatasetPreviewsResponseToDatasetPreviewSubset = (
910
response: AxiosResponse
@@ -28,6 +29,7 @@ export const transformDatasetPreviewPayloadToDatasetPreview = (
2829
publicationStatuses.push(element as unknown as PublicationStatus)
2930
})
3031
return {
32+
type: CollectionItemType.DATASET,
3133
persistentId: datasetPreviewPayload.global_id,
3234
title: datasetPreviewPayload.name,
3335
versionId: datasetPreviewPayload.versionId,

src/files/domain/models/FilePreview.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1+
import { CollectionItemType } from '../../../collections'
12
import { PublicationStatus } from '../../../core/domain/models/PublicationStatus'
23

34
export interface FilePreview {
5+
type: CollectionItemType.FILE
46
name: string
57
url: string
68
imageUrl?: string

src/files/infra/repositories/transformers/filePreviewTransformers.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { CollectionItemType } from '../../../../collections/domain/models/CollectionItemType'
12
import { PublicationStatus } from '../../../../core/domain/models/PublicationStatus'
23
import { FilePreview } from '../../../domain/models/FilePreview'
34
import { FilePreviewPayload } from './FilePreviewPayload'
@@ -10,6 +11,7 @@ export const transformFilePreviewPayloadToFilePreview = (
1011
publicationStatuses.push(element as unknown as PublicationStatus)
1112
})
1213
return {
14+
type: CollectionItemType.FILE,
1315
name: filePreviewPayload.name,
1416
url: filePreviewPayload.url,
1517
...(filePreviewPayload.image_url && { imageUrl: filePreviewPayload.image_url }),

0 commit comments

Comments
 (0)