Skip to content

Commit 77b9d26

Browse files
committed
feat: send show type counts param always
1 parent d9a70a2 commit 77b9d26

File tree

4 files changed

+28
-3
lines changed

4 files changed

+28
-3
lines changed

src/collections/domain/models/CollectionItemSubset.ts

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ export interface CollectionItemSubset {
66
items: (CollectionPreview | DatasetPreview | FilePreview)[]
77
facets: CollectionItemsFacet[]
88
totalItemCount: number
9+
countPerObjectType: CountPerObjectType
910
}
1011

1112
export interface CollectionItemsFacet {
@@ -18,3 +19,9 @@ interface CollectionItemsFacetLabel {
1819
name: string
1920
count: number
2021
}
22+
23+
interface CountPerObjectType {
24+
dataverses: number
25+
datasets: number
26+
files: number
27+
}

src/collections/infra/repositories/CollectionsRepository.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ export enum GetCollectionItemsQueryParams {
5353
PER_PAGE = 'per_page',
5454
START = 'start',
5555
TYPE = 'type',
56-
FILTERQUERY = 'fq'
56+
FILTERQUERY = 'fq',
57+
SHOW_TYPE_COUNTS = 'show_type_counts'
5758
}
5859

5960
export class CollectionsRepository extends ApiRepository implements ICollectionsRepository {
@@ -131,7 +132,8 @@ export class CollectionsRepository extends ApiRepository implements ICollections
131132
[GetCollectionItemsQueryParams.QUERY]: '*',
132133
[GetCollectionItemsQueryParams.SHOW_FACETS]: 'true',
133134
[GetCollectionItemsQueryParams.SORT]: SortType.DATE,
134-
[GetCollectionItemsQueryParams.ORDER]: OrderType.DESC
135+
[GetCollectionItemsQueryParams.ORDER]: OrderType.DESC,
136+
[GetCollectionItemsQueryParams.SHOW_TYPE_COUNTS]: 'true'
135137
})
136138

137139
if (collectionId) {
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
export interface CollectionItemsCountPerObjectTypePayload {
2+
Dataverses: number
3+
Datasets: number
4+
Files: number
5+
}

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

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import { CollectionPreview } from '../../../domain/models/CollectionPreview'
2525
import { CollectionContact } from '../../../domain/models/CollectionContact'
2626
import { CollectionType } from '../../../domain/models/CollectionType'
2727
import { CollectionItemsFacetPayload } from './CollectionItemsFacetsPayload'
28+
import { CollectionItemsCountPerObjectTypePayload } from './CollectionItemsCountPerObjectTypePayload'
2829

2930
export const transformCollectionResponseToCollection = (response: AxiosResponse): Collection => {
3031
const collectionPayload = response.data.data
@@ -84,6 +85,9 @@ export const transformCollectionItemsResponseToCollectionItemSubset = (
8485
const responseDataPayload = response.data.data
8586
const itemsPayload = responseDataPayload.items
8687
const facetsPayload = responseDataPayload.facets as CollectionItemsFacetPayload
88+
const countPerObjectTypePayload = responseDataPayload[
89+
'total_count_per_object_type'
90+
] as CollectionItemsCountPerObjectTypePayload
8791

8892
const items: (DatasetPreview | FilePreview | CollectionPreview)[] = []
8993

@@ -116,10 +120,17 @@ export const transformCollectionItemsResponseToCollectionItemSubset = (
116120
})
117121
)
118122

123+
const countPerObjectType = {
124+
dataverses: countPerObjectTypePayload['Dataverses'],
125+
datasets: countPerObjectTypePayload['Datasets'],
126+
files: countPerObjectTypePayload['Files']
127+
}
128+
119129
return {
120130
items,
121131
facets,
122-
totalItemCount: responseDataPayload.total_count
132+
totalItemCount: responseDataPayload.total_count,
133+
countPerObjectType
123134
}
124135
}
125136

0 commit comments

Comments
 (0)