Skip to content

Commit 3a26dc9

Browse files
committed
types alocations
1 parent 14560a0 commit 3a26dc9

File tree

5 files changed

+64
-39
lines changed

5 files changed

+64
-39
lines changed

src/collections/domain/models/CollectionSearchCriteria.ts

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,16 @@
11
import { CollectionItemType } from './CollectionItemType'
2-
import { FilterQuery, OrderType, SortType } from './GetCollectionItemsQueryParams'
2+
3+
export enum SortType {
4+
NAME = 'name',
5+
DATE = 'date'
6+
}
7+
8+
export enum OrderType {
9+
ASC = 'asc',
10+
DESC = 'desc'
11+
}
12+
13+
export type FilterQuery = `${string}:${string}`
314

415
export class CollectionSearchCriteria {
516
constructor(
@@ -11,19 +22,43 @@ export class CollectionSearchCriteria {
1122
) {}
1223

1324
withSearchText(searchText: string | undefined): CollectionSearchCriteria {
14-
return new CollectionSearchCriteria(searchText, this.itemTypes, this.sort, this.order)
25+
return new CollectionSearchCriteria(
26+
searchText,
27+
this.itemTypes,
28+
this.sort,
29+
this.order,
30+
this.filterQueries
31+
)
1532
}
1633

1734
withItemTypes(itemTypes: CollectionItemType[] | undefined): CollectionSearchCriteria {
18-
return new CollectionSearchCriteria(this.searchText, itemTypes, this.sort, this.order)
35+
return new CollectionSearchCriteria(
36+
this.searchText,
37+
itemTypes,
38+
this.sort,
39+
this.order,
40+
this.filterQueries
41+
)
1942
}
2043

2144
withSort(sort: SortType | undefined): CollectionSearchCriteria {
22-
return new CollectionSearchCriteria(this.searchText, this.itemTypes, sort, this.order)
45+
return new CollectionSearchCriteria(
46+
this.searchText,
47+
this.itemTypes,
48+
sort,
49+
this.order,
50+
this.filterQueries
51+
)
2352
}
2453

2554
withOrder(order: OrderType | undefined): CollectionSearchCriteria {
26-
return new CollectionSearchCriteria(this.searchText, this.itemTypes, this.sort, order)
55+
return new CollectionSearchCriteria(
56+
this.searchText,
57+
this.itemTypes,
58+
this.sort,
59+
order,
60+
this.filterQueries
61+
)
2762
}
2863

2964
withFilterQueries(filterQueries: FilterQuery[] | undefined): CollectionSearchCriteria {

src/collections/domain/models/GetCollectionItemsQueryParams.ts

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

src/collections/infra/repositories/CollectionsRepository.ts

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,12 @@ 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 { CollectionSearchCriteria } from '../../domain/models/CollectionSearchCriteria'
15-
import { CollectionItemType } from '../../domain/models/CollectionItemType'
1614
import {
17-
GetCollectionItemsQueryParams,
15+
CollectionSearchCriteria,
1816
OrderType,
1917
SortType
20-
} from '../../domain/models/GetCollectionItemsQueryParams'
18+
} from '../../domain/models/CollectionSearchCriteria'
19+
import { CollectionItemType } from '../../domain/models/CollectionItemType'
2120

2221
export interface NewCollectionRequestPayload {
2322
alias: string
@@ -45,6 +44,18 @@ export interface NewCollectionInputLevelRequestPayload {
4544
required: boolean
4645
}
4746

47+
export enum GetCollectionItemsQueryParams {
48+
QUERY = 'q',
49+
SHOW_FACETS = 'show_facets',
50+
SORT = 'sort',
51+
ORDER = 'order',
52+
SUBTREE = 'subtree',
53+
PER_PAGE = 'per_page',
54+
START = 'start',
55+
TYPE = 'type',
56+
FILTERQUERY = 'fq'
57+
}
58+
4859
export class CollectionsRepository extends ApiRepository implements ICollectionsRepository {
4960
private readonly collectionsResourceName: string = 'dataverses'
5061

test/integration/collections/CollectionsRepository.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import { CollectionType } from '../../../src/collections/domain/models/Collectio
2727
import {
2828
OrderType,
2929
SortType
30-
} from '../../../src/collections/domain/models/GetCollectionItemsQueryParams'
30+
} from '../../../src/collections/domain/models/CollectionSearchCriteria'
3131

3232
describe('CollectionsRepository', () => {
3333
const testCollectionAlias = 'collectionsRepositoryTestCollection'

test/unit/collections/CollectionsRepository.test.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
import { CollectionsRepository } from '../../../src/collections/infra/repositories/CollectionsRepository'
1+
import {
2+
CollectionsRepository,
3+
GetCollectionItemsQueryParams
4+
} from '../../../src/collections/infra/repositories/CollectionsRepository'
25
import axios from 'axios'
36
import {
47
ApiConfig,
@@ -31,15 +34,14 @@ import {
3134
createCollectionPreviewModel,
3235
createCollectionPreviewPayload
3336
} from '../../testHelpers/collections/collectionPreviewHelper'
34-
import {
35-
GetCollectionItemsQueryParams,
36-
OrderType,
37-
SortType
38-
} from '../../../src/collections/domain/models/GetCollectionItemsQueryParams'
3937
import {
4038
createCollectionItemsFacetsModel,
4139
createCollectionItemsFacetsPayload
4240
} from '../../testHelpers/collections/collectionItemsFacetsHelper'
41+
import {
42+
OrderType,
43+
SortType
44+
} from '../../../src/collections/domain/models/CollectionSearchCriteria'
4345

4446
describe('CollectionsRepository', () => {
4547
const sut: CollectionsRepository = new CollectionsRepository()

0 commit comments

Comments
 (0)