Skip to content

Commit 65cdc2f

Browse files
committed
fix: getMyDataCollectionItems, and update changelog
1 parent 9e085bc commit 65cdc2f

File tree

7 files changed

+7
-23
lines changed

7 files changed

+7
-23
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ This changelog follows the principles of [Keep a Changelog](https://keepachangel
1616
### Changed
1717

1818
- Add pagination support to the Dataset Version Summaries and File Version Summaries use cases by introducing optional pagination object. #885
19-
19+
- Refactored pagination to use consistent `CollectionItemsPaginationInfo` object in getMyDataColletionItems, instead of individual limit/selectedPage parameters.
2020
- Use of the new `sourceLastUpdateTime` query parameter from update dataset and file metadata endpoints to support optimistic concurrency control during editing operations. See [Edit Dataset Metadata](https://guides.dataverse.org/en/6.8/api/native-api.html#edit-dataset-metadata) and [Updating File Metadata](https://guides.dataverse.org/en/6.8/api/native-api.html#updating-file-metadata) guides for more details.
2121
- Changed the way we were handling DATE type metadata field validation to better match the backend validation and give users better error messages. For example, for an input like “foo AD”, we now show “Production Date is not a valid date. The AD year must be numeric.“. For an input like “99999 AD”, we now show “Production Date is not a valid date. The AD year cant be higher than 9999.“. For an input like “[-9999?], we now show “Production Date is not a valid date. The year in brackets cannot be negative.“, etc.
2222

src/collection/domain/models/MyDataCollectionItemsPaginationInfo.ts

Lines changed: 0 additions & 7 deletions
This file was deleted.

src/collection/domain/repositories/CollectionRepository.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ import { PublicationStatus } from '@/shared/core/domain/models/PublicationStatus
1313
import { LinkingObjectType } from '../useCases/getCollectionsForLinking'
1414
import { CollectionSummary } from '../models/CollectionSummary'
1515
import { CollectionLinks } from '../models/CollectionLinks'
16-
import { MyDataCollectionItemsPaginationInfo } from '../models/MyDataCollectionItemsPaginationInfo'
1716

1817
export interface CollectionRepository {
1918
getById: (id?: string) => Promise<Collection>
@@ -32,7 +31,7 @@ export interface CollectionRepository {
3231
roleIds: number[],
3332
collectionItemTypes: CollectionItemType[],
3433
publicationStatuses: PublicationStatus[],
35-
paginationInfo?: MyDataCollectionItemsPaginationInfo,
34+
paginationInfo?: CollectionItemsPaginationInfo,
3635
searchText?: string,
3736
otherUserName?: string
3837
) => Promise<MyDataCollectionItemSubset>

src/collection/domain/useCases/getMyDataCollectionItems.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ import { CollectionRepository } from '../repositories/CollectionRepository'
22
import { MyDataCollectionItemSubset } from '../models/MyDataCollectionItemSubset'
33
import { PublicationStatus } from '../../../shared/core/domain/models/PublicationStatus'
44
import { CollectionItemType } from '@/collection/domain/models/CollectionItemType'
5-
import { MyDataCollectionItemsPaginationInfo } from '../models/MyDataCollectionItemsPaginationInfo'
5+
import { CollectionItemsPaginationInfo } from '../models/CollectionItemsPaginationInfo'
66

77
export async function getMyDataCollectionItems(
88
collectionRepository: CollectionRepository,
99
roleIds: number[],
1010
collectionItemTypes: CollectionItemType[],
1111
publicationStatuses: PublicationStatus[],
12-
paginationInfo?: MyDataCollectionItemsPaginationInfo,
12+
paginationInfo?: CollectionItemsPaginationInfo,
1313
searchText?: string,
1414
otherUserName?: string
1515
): Promise<MyDataCollectionItemSubset> {

src/collection/infrastructure/repositories/CollectionJSDataverseRepository.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ import { PublicationStatus } from '@/shared/core/domain/models/PublicationStatus
3434
import { CollectionSummary } from '@/collection/domain/models/CollectionSummary'
3535
import { LinkingObjectType } from '@/collection/domain/useCases/getCollectionsForLinking'
3636
import { CollectionLinks } from '@/collection/domain/models/CollectionLinks'
37-
import { MyDataCollectionItemsPaginationInfo } from '@/collection/domain/models/MyDataCollectionItemsPaginationInfo'
3837

3938
export class CollectionJSDataverseRepository implements CollectionRepository {
4039
getById(id?: string): Promise<Collection> {
@@ -94,7 +93,7 @@ export class CollectionJSDataverseRepository implements CollectionRepository {
9493
roleIds: number[],
9594
collectionItemTypes: CollectionItemType[],
9695
publicationStatuses: PublicationStatus[],
97-
paginationInfo?: MyDataCollectionItemsPaginationInfo,
96+
paginationInfo?: CollectionItemsPaginationInfo,
9897
searchText?: string,
9998
otherUserName?: string
10099
): Promise<MyDataCollectionItemSubset> {

src/sections/account/my-data-section/useGetMyDataAccumulatedItems.tsx

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import {
88
MyDataCollectionItemSubset,
99
PublicationStatusCount
1010
} from '@/collection/domain/models/MyDataCollectionItemSubset'
11-
import { MyDataCollectionItemsPaginationInfo } from '@/collection/domain/models/MyDataCollectionItemsPaginationInfo'
1211

1312
export const NO_COLLECTION_ITEMS = 0
1413

@@ -121,17 +120,12 @@ async function loadNextItems(
121120
searchCriteria: MyDataSearchCriteria
122121
): Promise<MyDataCollectionItemSubset> {
123122
const publicationStatuses = searchCriteria.publicationStatuses ?? []
124-
const myDataPaginationInfo = new MyDataCollectionItemsPaginationInfo(
125-
paginationInfo.page,
126-
paginationInfo.pageSize,
127-
paginationInfo.totalItems
128-
)
129123
return await getMyDataCollectionItems(
130124
collectionRepository,
131125
searchCriteria.roleIds,
132126
searchCriteria.itemTypes,
133127
publicationStatuses,
134-
myDataPaginationInfo,
128+
paginationInfo,
135129
searchCriteria.searchText,
136130
searchCriteria.otherUserName
137131
)

src/stories/collection/CollectionMockRepository.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ import { CollectionSummary } from '@/collection/domain/models/CollectionSummary'
1919
import { LinkingObjectType } from '@/collection/domain/useCases/getCollectionsForLinking'
2020
import { CollectionSummaryMother } from '@tests/component/collection/domain/models/CollectionSummaryMother'
2121
import { CollectionLinks } from '@/collection/domain/models/CollectionLinks'
22-
import { MyDataCollectionItemsPaginationInfo } from '@/collection/domain/models/MyDataCollectionItemsPaginationInfo'
2322

2423
export class CollectionMockRepository implements CollectionRepository {
2524
getById(_id?: string): Promise<Collection> {
@@ -102,7 +101,7 @@ export class CollectionMockRepository implements CollectionRepository {
102101
_roleIds: number[],
103102
collectionItemTypes: CollectionItemType[],
104103
_publicationStatuses: string[],
105-
paginationInfo?: MyDataCollectionItemsPaginationInfo,
104+
paginationInfo?: CollectionItemsPaginationInfo,
106105
_searchText?: string,
107106
_otherUserName?: string
108107
): Promise<MyDataCollectionItemSubset> {

0 commit comments

Comments
 (0)