@gen3/core 0.12.55 → 0.12.57
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.js +57 -54
- package/dist/cjs/index.js.map +1 -1
- package/dist/dts/features/cohort/cohortManagerSelector.d.ts +2 -2
- package/dist/dts/features/cohort/cohortManagerSelector.d.ts.map +1 -1
- package/dist/dts/features/cohort/cohortManagerSlice.d.ts.map +1 -1
- package/dist/dts/features/dataLibrary/storage/APIStorageService.d.ts.map +1 -1
- package/dist/dts/features/dataLibrary/storage/LocalStorageService.d.ts +2 -2
- package/dist/dts/features/dataLibrary/storage/LocalStorageService.d.ts.map +1 -1
- package/dist/dts/features/download/downloadStatusApi.d.ts.map +1 -1
- package/dist/dts/features/drsResolver/resolvers/dataGUIDSDotOrg.d.ts.map +1 -1
- package/dist/dts/features/facets/types.d.ts +12 -0
- package/dist/dts/features/facets/types.d.ts.map +1 -1
- package/dist/dts/features/fence/types.d.ts +1 -1
- package/dist/dts/features/fence/types.d.ts.map +1 -1
- package/dist/dts/features/guppy/guppyApi.d.ts +1 -1
- package/dist/dts/features/guppy/guppyApi.d.ts.map +1 -1
- package/dist/dts/features/guppy/guppyDownloadSlice.d.ts.map +1 -1
- package/dist/dts/features/guppy/guppySlice.d.ts +2 -2
- package/dist/dts/features/guppy/guppySlice.d.ts.map +1 -1
- package/dist/dts/features/metadata/index.d.ts +2 -2
- package/dist/dts/features/metadata/index.d.ts.map +1 -1
- package/dist/dts/features/metadata/metadataSlice.d.ts +185 -0
- package/dist/dts/features/metadata/metadataSlice.d.ts.map +1 -1
- package/dist/dts/features/submission/submissionApi.d.ts.map +1 -1
- package/dist/dts/features/submission/types.d.ts +1 -0
- package/dist/dts/features/submission/types.d.ts.map +1 -1
- package/dist/dts/features/user/hooks.d.ts +1 -1
- package/dist/dts/features/user/hooks.d.ts.map +1 -1
- package/dist/dts/features/user/test/useGetExternalLoginsQuery.unit.test.d.ts +3 -0
- package/dist/dts/features/user/test/useGetExternalLoginsQuery.unit.test.d.ts.map +1 -1
- package/dist/dts/features/user/userSlice.d.ts +4 -4
- package/dist/dts/features/user/userSlice.d.ts.map +1 -1
- package/dist/dts/features/user/utils.d.ts +1 -1
- package/dist/dts/features/user/utils.d.ts.map +1 -1
- package/dist/dts/store.unit.test.d.ts.map +1 -1
- package/dist/esm/index.js +57 -55
- package/dist/esm/index.js.map +1 -1
- package/dist/index.d.ts +202 -4
- package/package.json +9 -6
- package/dist/dts/features/dataLibrary/storage/RTKQ_APIStorageService.d.ts +0 -1
- package/dist/dts/features/dataLibrary/storage/RTKQ_APIStorageService.d.ts.map +0 -1
- package/dist/dts/features/drsResolver/types.d.ts +0 -1
- package/dist/dts/features/drsResolver/types.d.ts.map +0 -1
package/dist/cjs/index.js
CHANGED
|
@@ -424,7 +424,7 @@ const useIsUserLoggedIn = ()=>{
|
|
|
424
424
|
React.useEffect(()=>{
|
|
425
425
|
if (status === 'uninitialized' || renew) {
|
|
426
426
|
// TODO: need to determine what other states require dispatch
|
|
427
|
-
coreDispatch(fetchUserState());
|
|
427
|
+
void coreDispatch(fetchUserState());
|
|
428
428
|
}
|
|
429
429
|
}, [
|
|
430
430
|
status,
|
|
@@ -725,12 +725,14 @@ const { useGetExternalLoginsQuery, useLazyGetExternalLoginsQuery, useLazyIsExter
|
|
|
725
725
|
if (response.status === 200) {
|
|
726
726
|
try {
|
|
727
727
|
return await response.json();
|
|
728
|
+
// oxlint-disable-next-line no-unused-vars
|
|
728
729
|
} catch (error) {
|
|
729
730
|
throw new ResolveDRSError('Failed to parse response as JSON');
|
|
730
731
|
}
|
|
731
732
|
} else {
|
|
732
733
|
throw new ResolveDRSError(RESOLVE_DRS_ERROR);
|
|
733
734
|
}
|
|
735
|
+
// oxlint-disable-next-line no-unused-vars
|
|
734
736
|
} catch (error) {
|
|
735
737
|
throw new ResolveDRSError(RESOLVE_DRS_ERROR);
|
|
736
738
|
}
|
|
@@ -745,6 +747,7 @@ const { useGetExternalLoginsQuery, useLazyGetExternalLoginsQuery, useLazyIsExter
|
|
|
745
747
|
throw new ResolveDRSError(RESOLVE_DRS_ERROR);
|
|
746
748
|
}
|
|
747
749
|
}, {});
|
|
750
|
+
// oxlint-disable-next-line no-unused-vars
|
|
748
751
|
} catch (error) {
|
|
749
752
|
throw new ResolveDRSError(RESOLVE_DRS_ERROR);
|
|
750
753
|
}
|
|
@@ -1450,7 +1453,7 @@ const useGetFederatedLoginStatus = ({ selectedFiles })=>{
|
|
|
1450
1453
|
};
|
|
1451
1454
|
// Only run if there's data to act on
|
|
1452
1455
|
if (!wstIsLoading && wtsResults) {
|
|
1453
|
-
fetchData();
|
|
1456
|
+
void fetchData();
|
|
1454
1457
|
}
|
|
1455
1458
|
}, [
|
|
1456
1459
|
selectedFiles,
|
|
@@ -2591,7 +2594,7 @@ const getCurrentCohortId = (state)=>state.currentCohortId;
|
|
|
2591
2594
|
[index]: {
|
|
2592
2595
|
mode: state.entities[currentCohortId]?.filters[index]?.mode ?? 'and',
|
|
2593
2596
|
root: {
|
|
2594
|
-
...state.entities[currentCohortId]?.filters[index]?.root
|
|
2597
|
+
...state.entities[currentCohortId]?.filters[index]?.root,
|
|
2595
2598
|
[field]: filter
|
|
2596
2599
|
}
|
|
2597
2600
|
}
|
|
@@ -2730,9 +2733,7 @@ const getCurrentCohortId = (state)=>state.currentCohortId;
|
|
|
2730
2733
|
changes: {
|
|
2731
2734
|
counts: {
|
|
2732
2735
|
...cohort.counts,
|
|
2733
|
-
|
|
2734
|
-
[index]: counts
|
|
2735
|
-
}
|
|
2736
|
+
[index]: counts
|
|
2736
2737
|
}
|
|
2737
2738
|
}
|
|
2738
2739
|
});
|
|
@@ -3199,7 +3200,7 @@ const rootReducer = toolkit.combineReducers({
|
|
|
3199
3200
|
throw new Error(response.statusText);
|
|
3200
3201
|
}
|
|
3201
3202
|
let jsonData = await response.json();
|
|
3202
|
-
if (parameters?.rootPath
|
|
3203
|
+
if (parameters?.rootPath) {
|
|
3203
3204
|
// if rootPath is provided, extract the data from the rootPath
|
|
3204
3205
|
jsonData = jsonpathPlus.JSONPath({
|
|
3205
3206
|
json: jsonData,
|
|
@@ -3245,7 +3246,7 @@ const downloadJSONDataFromGuppy = async ({ parameters, onAbort = ()=>null, signa
|
|
|
3245
3246
|
} : {}
|
|
3246
3247
|
});
|
|
3247
3248
|
let jsonData = await response.json();
|
|
3248
|
-
if (parameters?.rootPath
|
|
3249
|
+
if (parameters?.rootPath) {
|
|
3249
3250
|
// if rootPath is provided, extract the data from the rootPath
|
|
3250
3251
|
jsonData = jsonpathPlus.JSONPath({
|
|
3251
3252
|
json: jsonData,
|
|
@@ -3572,7 +3573,7 @@ const explorerTags = guppyApi.enhanceEndpoints({
|
|
|
3572
3573
|
}
|
|
3573
3574
|
}),
|
|
3574
3575
|
getRawDataAndTotalCounts: builder.query({
|
|
3575
|
-
query: ({ type, fields, filters, sort, offset = 0, size = 20, accessibility = Accessibility.ALL, format
|
|
3576
|
+
query: ({ type, fields, filters, sort, offset = 0, size = 20, accessibility = Accessibility.ALL, format, indexPrefix = '', filterName = 'filter' })=>{
|
|
3576
3577
|
const gqlFilter = convertFilterSetToGqlFilter(filters);
|
|
3577
3578
|
const params = [
|
|
3578
3579
|
...sort ? [
|
|
@@ -3636,7 +3637,7 @@ const explorerTags = guppyApi.enhanceEndpoints({
|
|
|
3636
3637
|
},
|
|
3637
3638
|
// return . separated fields as proper values
|
|
3638
3639
|
transformResponse: (response, _meta, args)=>{
|
|
3639
|
-
const containsDots = args
|
|
3640
|
+
const containsDots = args.fields?.filter((f)=>f.includes('.'));
|
|
3640
3641
|
// check if dot seperated in arry and not object
|
|
3641
3642
|
if (containsDots && containsDots.length > 0 && response.data) {
|
|
3642
3643
|
const containsDotsUniqueBase = containsDots.reduce((acc, field)=>{
|
|
@@ -3699,7 +3700,7 @@ const explorerTags = guppyApi.enhanceEndpoints({
|
|
|
3699
3700
|
transformResponse: (response, _meta, args)=>{
|
|
3700
3701
|
const buckets = processHistogramResponse(response?.data?.[`${args?.indexPrefix ?? ''}_aggregation`][args.type] ?? {});
|
|
3701
3702
|
// check for totals
|
|
3702
|
-
const count = response
|
|
3703
|
+
const count = response.data?.[`${args?.indexPrefix ?? ''}_aggregation`][args.type]?._totalCount ?? null;
|
|
3703
3704
|
return {
|
|
3704
3705
|
_totalCount: [
|
|
3705
3706
|
{
|
|
@@ -3715,7 +3716,7 @@ const explorerTags = guppyApi.enhanceEndpoints({
|
|
|
3715
3716
|
]
|
|
3716
3717
|
}),
|
|
3717
3718
|
getStatsAggregations: builder.query({
|
|
3718
|
-
query: ({ type, fields, filters, accessibility = Accessibility.ALL, filterSelf = false, queryId
|
|
3719
|
+
query: ({ type, fields, filters, accessibility = Accessibility.ALL, filterSelf = false, queryId, indexPrefix = '', filterName = 'filter' })=>{
|
|
3719
3720
|
return buildGetStatsAggregationQuery(type, fields, filters, accessibility, filterSelf, queryId, indexPrefix, filterName);
|
|
3720
3721
|
},
|
|
3721
3722
|
transformResponse: (response, _meta, args)=>{
|
|
@@ -3726,14 +3727,14 @@ const explorerTags = guppyApi.enhanceEndpoints({
|
|
|
3726
3727
|
]
|
|
3727
3728
|
}),
|
|
3728
3729
|
getSubAggs: builder.query({
|
|
3729
|
-
query: ({ type, mainField, termsFields
|
|
3730
|
+
query: ({ type, mainField, termsFields, missingFields, numericAggAsText, filters, accessibility = Accessibility.ALL, indexPrefix = '', filterName = 'filter' })=>{
|
|
3730
3731
|
const nestedAggFields = {
|
|
3731
3732
|
termsFields: termsFields,
|
|
3732
3733
|
missingFields: missingFields
|
|
3733
3734
|
};
|
|
3734
|
-
const query = `query getSubAggs ( ${filters
|
|
3735
|
+
const query = `query getSubAggs ( ${filters && `$${filterName}: JSON,`} $nestedAggFields: JSON) {
|
|
3735
3736
|
${indexPrefix}_aggregation {
|
|
3736
|
-
${type} ( ${filters
|
|
3737
|
+
${type} ( ${filters && `filter: $${filterName}, filterSelf: false,`} nestedAggFields: $nestedAggFields, accessibility: ${accessibility}) {
|
|
3737
3738
|
_totalCounts
|
|
3738
3739
|
${nestedHistogramQueryStrForEachField(mainField, numericAggAsText)}
|
|
3739
3740
|
}`;
|
|
@@ -3755,7 +3756,7 @@ const explorerTags = guppyApi.enhanceEndpoints({
|
|
|
3755
3756
|
]
|
|
3756
3757
|
}),
|
|
3757
3758
|
getCounts: builder.query({
|
|
3758
|
-
query: ({ type, filters, accessibility = Accessibility.ALL, queryId
|
|
3759
|
+
query: ({ type, filters, accessibility = Accessibility.ALL, queryId, indexPrefix = '', filterName = 'filter' })=>{
|
|
3759
3760
|
const gqlFilters = convertFilterSetToGqlFilter(filters);
|
|
3760
3761
|
const queryLine = `query totalCounts${queryId ? `${indexPrefix}_${queryId}` : ''} ${gqlFilters ? `($${filterName}: JSON)` : ''}{`;
|
|
3761
3762
|
const typeAggsLine = `${type} ${gqlFilters ? `(filter: $${filterName}, ` : '('} accessibility: ${accessibility}) {`;
|
|
@@ -3808,9 +3809,7 @@ const explorerTags = guppyApi.enhanceEndpoints({
|
|
|
3808
3809
|
return {
|
|
3809
3810
|
query: query,
|
|
3810
3811
|
variables: {
|
|
3811
|
-
|
|
3812
|
-
[filterName]: gqlFilters
|
|
3813
|
-
}
|
|
3812
|
+
[filterName]: gqlFilters
|
|
3814
3813
|
}
|
|
3815
3814
|
};
|
|
3816
3815
|
}
|
|
@@ -3843,7 +3842,7 @@ const explorerTags = guppyApi.enhanceEndpoints({
|
|
|
3843
3842
|
}
|
|
3844
3843
|
}),
|
|
3845
3844
|
customRange: builder.query({
|
|
3846
|
-
query: ({ filters, field, ranges, rangeBaseName, index, indexPrefix, accessibility
|
|
3845
|
+
query: ({ filters, field, ranges, rangeBaseName, index, indexPrefix, accessibility, isNested = true, asTextHistogram = false })=>{
|
|
3847
3846
|
// remove field from FilterSet
|
|
3848
3847
|
const queryData = buildRangeQuery(field, ranges, filters, rangeBaseName, index, indexPrefix, isNested, asTextHistogram);
|
|
3849
3848
|
const gqlFilters = Object.entries(queryData.filters).reduce((acc, [key, filter])=>{
|
|
@@ -3913,7 +3912,7 @@ const useGetIndexFields = (index, indexPrefix = '')=>{
|
|
|
3913
3912
|
});
|
|
3914
3913
|
return data ?? [];
|
|
3915
3914
|
};
|
|
3916
|
-
const buildGetAggregationQuery = (type, fields, filters, accessibility = Accessibility.ALL, filterSelf = false, queryId
|
|
3915
|
+
const buildGetAggregationQuery = (type, fields, filters, accessibility = Accessibility.ALL, filterSelf = false, queryId, indexPrefix = '', filterName = 'filter')=>{
|
|
3917
3916
|
const queryStart = isFilterEmpty(filters) ? `query getAggs${queryId ? `_${queryId}` : ''} {
|
|
3918
3917
|
${indexPrefix}_aggregation {
|
|
3919
3918
|
${type} (accessibility: ${accessibility}) {` : `query getAggs ($${filterName}: JSON) {
|
|
@@ -3932,7 +3931,7 @@ const buildGetAggregationQuery = (type, fields, filters, accessibility = Accessi
|
|
|
3932
3931
|
};
|
|
3933
3932
|
return queryBody;
|
|
3934
3933
|
};
|
|
3935
|
-
const buildGetStatsAggregationQuery = (type, fields, filters, accessibility = Accessibility.ALL, filterSelf = false, queryId
|
|
3934
|
+
const buildGetStatsAggregationQuery = (type, fields, filters, accessibility = Accessibility.ALL, filterSelf = false, queryId, indexPrefix = '', filterName = 'filter')=>{
|
|
3936
3935
|
const queryStart = isFilterEmpty(filters) ? `
|
|
3937
3936
|
query getStatsAggs${queryId ? `_${queryId}` : ''} {
|
|
3938
3937
|
${indexPrefix}_aggregation {
|
|
@@ -4206,7 +4205,7 @@ class CohortStorage {
|
|
|
4206
4205
|
try {
|
|
4207
4206
|
const db = await this.getDb();
|
|
4208
4207
|
const tx = db.transaction(this.storeName, 'readwrite');
|
|
4209
|
-
tx.objectStore(this.storeName).put(cohort);
|
|
4208
|
+
await tx.objectStore(this.storeName).put(cohort);
|
|
4210
4209
|
await tx.done;
|
|
4211
4210
|
return {
|
|
4212
4211
|
status: 200,
|
|
@@ -4380,7 +4379,7 @@ class CohortStorage {
|
|
|
4380
4379
|
...existing,
|
|
4381
4380
|
modifiedDatetime: timestamp
|
|
4382
4381
|
};
|
|
4383
|
-
store.put(updated);
|
|
4382
|
+
await store.put(updated);
|
|
4384
4383
|
await tx.done;
|
|
4385
4384
|
return {
|
|
4386
4385
|
status: 200,
|
|
@@ -4415,7 +4414,7 @@ class CohortStorage {
|
|
|
4415
4414
|
message: 'cohort not found'
|
|
4416
4415
|
};
|
|
4417
4416
|
}
|
|
4418
|
-
store.delete(id);
|
|
4417
|
+
await store.delete(id);
|
|
4419
4418
|
await tx.done;
|
|
4420
4419
|
return {
|
|
4421
4420
|
status: 200,
|
|
@@ -4437,7 +4436,7 @@ class CohortStorage {
|
|
|
4437
4436
|
const db = await this.getDb();
|
|
4438
4437
|
const tx = db.transaction(this.storeName, 'readwrite');
|
|
4439
4438
|
const store = tx.objectStore(this.storeName);
|
|
4440
|
-
store.clear();
|
|
4439
|
+
await store.clear();
|
|
4441
4440
|
await tx.done;
|
|
4442
4441
|
return {
|
|
4443
4442
|
status: 200,
|
|
@@ -4579,7 +4578,7 @@ const selectCurrentCohortName = (state)=>cohortSelectors.selectById(state, getCu
|
|
|
4579
4578
|
if (!cohort) {
|
|
4580
4579
|
console.error('No Cohort Defined');
|
|
4581
4580
|
}
|
|
4582
|
-
return cohort
|
|
4581
|
+
return cohort.filters?.[index] ?? EmptyFilterSet;
|
|
4583
4582
|
};
|
|
4584
4583
|
|
|
4585
4584
|
const isFileItem = (item)=>{
|
|
@@ -4852,8 +4851,8 @@ const extractIndexFromDataLibraryCohort = (query)=>{
|
|
|
4852
4851
|
const md5Sum = dataObject[dataFieldMapping?.dataObjectMd5sumField ?? 'md5sum'] ?? 'N/A';
|
|
4853
4852
|
const url = dataObject[dataFieldMapping?.dataObjectUrlField ?? 'url'] ?? 'N/A';
|
|
4854
4853
|
let fileType = 'GA4GH_DRS';
|
|
4855
|
-
if (dataFieldMapping
|
|
4856
|
-
if (dataFieldMapping
|
|
4854
|
+
if (dataFieldMapping.dataObjectFileTypeValue) fileType = dataFieldMapping.dataObjectFileTypeValue;
|
|
4855
|
+
if (dataFieldMapping.dataObjectFileTypeField) fileType = dataObject[dataFieldMapping.dataObjectFileTypeField];
|
|
4857
4856
|
return {
|
|
4858
4857
|
...dataAcc,
|
|
4859
4858
|
[fileId]: {
|
|
@@ -4949,7 +4948,7 @@ class LocalStorageService {
|
|
|
4949
4948
|
const db = await this.getDb();
|
|
4950
4949
|
const tx = db.transaction(STORE_NAME, 'readwrite');
|
|
4951
4950
|
const id = toolkit.nanoid(); // Create an id for the list
|
|
4952
|
-
tx.objectStore(STORE_NAME).put({
|
|
4951
|
+
await tx.objectStore(STORE_NAME).put({
|
|
4953
4952
|
id,
|
|
4954
4953
|
version: 0,
|
|
4955
4954
|
items: list?.items ?? {},
|
|
@@ -4969,6 +4968,7 @@ class LocalStorageService {
|
|
|
4969
4968
|
status: 200,
|
|
4970
4969
|
message: 'list added'
|
|
4971
4970
|
};
|
|
4971
|
+
// oxlint-disable-next-line no-unused-vars
|
|
4972
4972
|
} catch (_error) {
|
|
4973
4973
|
return {
|
|
4974
4974
|
isError: true,
|
|
@@ -4991,15 +4991,13 @@ class LocalStorageService {
|
|
|
4991
4991
|
const version = listData.version ? listData.version + 1 : 0;
|
|
4992
4992
|
const updated = {
|
|
4993
4993
|
...listData,
|
|
4994
|
-
|
|
4995
|
-
|
|
4996
|
-
|
|
4997
|
-
},
|
|
4998
|
-
version: version,
|
|
4994
|
+
name,
|
|
4995
|
+
items,
|
|
4996
|
+
version,
|
|
4999
4997
|
updated_time: timestamp,
|
|
5000
4998
|
created_time: listData.created_time
|
|
5001
4999
|
};
|
|
5002
|
-
store.put(updated);
|
|
5000
|
+
await store.put(updated);
|
|
5003
5001
|
await tx.done;
|
|
5004
5002
|
return {
|
|
5005
5003
|
status: 200,
|
|
@@ -5026,7 +5024,7 @@ class LocalStorageService {
|
|
|
5026
5024
|
if (!item) {
|
|
5027
5025
|
throw new Error(`List ${id} does not exist`);
|
|
5028
5026
|
}
|
|
5029
|
-
store.delete(id);
|
|
5027
|
+
await store.delete(id);
|
|
5030
5028
|
await tx.done;
|
|
5031
5029
|
return {
|
|
5032
5030
|
status: 200,
|
|
@@ -5045,7 +5043,7 @@ class LocalStorageService {
|
|
|
5045
5043
|
try {
|
|
5046
5044
|
const db = await this.getDb();
|
|
5047
5045
|
const tx = db.transaction(STORE_NAME, 'readwrite');
|
|
5048
|
-
tx.objectStore(STORE_NAME).clear();
|
|
5046
|
+
await tx.objectStore(STORE_NAME).clear();
|
|
5049
5047
|
await tx.done;
|
|
5050
5048
|
return {
|
|
5051
5049
|
status: 200,
|
|
@@ -5079,7 +5077,7 @@ class LocalStorageService {
|
|
|
5079
5077
|
const db = await this.getDb();
|
|
5080
5078
|
const tx = db.transaction(STORE_NAME, 'readwrite');
|
|
5081
5079
|
for (const [id, list] of Object.entries(allLists)){
|
|
5082
|
-
tx.objectStore(STORE_NAME).put({
|
|
5080
|
+
await tx.objectStore(STORE_NAME).put({
|
|
5083
5081
|
id,
|
|
5084
5082
|
...list
|
|
5085
5083
|
});
|
|
@@ -5109,7 +5107,7 @@ class LocalStorageService {
|
|
|
5109
5107
|
try {
|
|
5110
5108
|
const db = await this.getDb();
|
|
5111
5109
|
const tx = db.transaction(STORE_NAME, 'readwrite');
|
|
5112
|
-
tx.objectStore(STORE_NAME).put({
|
|
5110
|
+
await tx.objectStore(STORE_NAME).put({
|
|
5113
5111
|
id: id,
|
|
5114
5112
|
...data
|
|
5115
5113
|
});
|
|
@@ -5152,7 +5150,7 @@ class LocalStorageService {
|
|
|
5152
5150
|
const db = await this.getDb();
|
|
5153
5151
|
const tx = db.transaction(STORE_NAME, 'readwrite');
|
|
5154
5152
|
for (const [id, list] of Object.entries(allLists)){
|
|
5155
|
-
tx.objectStore(STORE_NAME).put({
|
|
5153
|
+
await tx.objectStore(STORE_NAME).put({
|
|
5156
5154
|
id,
|
|
5157
5155
|
...list
|
|
5158
5156
|
});
|
|
@@ -5174,7 +5172,7 @@ class LocalStorageService {
|
|
|
5174
5172
|
}
|
|
5175
5173
|
}
|
|
5176
5174
|
|
|
5177
|
-
const fetchFromDataLibraryAPI = async (url, method = HttpMethod.GET, body
|
|
5175
|
+
const fetchFromDataLibraryAPI = async (url, method = HttpMethod.GET, body)=>{
|
|
5178
5176
|
try {
|
|
5179
5177
|
return {
|
|
5180
5178
|
data: await fetchJSONDataFromURL(url, true, method, body)
|
|
@@ -5215,7 +5213,7 @@ class APIStorageService {
|
|
|
5215
5213
|
this.pendingRequests = new Map();
|
|
5216
5214
|
this.apiBaseUrl = apiBaseUrl;
|
|
5217
5215
|
}
|
|
5218
|
-
async dedupedRequest(url, method = HttpMethod.GET, body
|
|
5216
|
+
async dedupedRequest(url, method = HttpMethod.GET, body) {
|
|
5219
5217
|
// Create a unique key for this request
|
|
5220
5218
|
const requestKey = `${method}:${url}:${body ? JSON.stringify(body) : ''}`;
|
|
5221
5219
|
// If this exact request is already in progress, return the pending promise
|
|
@@ -5978,12 +5976,10 @@ const { useGraphQLQuery } = graphQLAPI;
|
|
|
5978
5976
|
query: ({ type, filter, accessibility, fields, sort })=>{
|
|
5979
5977
|
const queryBody = {
|
|
5980
5978
|
filter: convertFilterSetToGqlFilter(filter),
|
|
5981
|
-
|
|
5982
|
-
|
|
5983
|
-
|
|
5984
|
-
|
|
5985
|
-
sort
|
|
5986
|
-
}
|
|
5979
|
+
type,
|
|
5980
|
+
accessibility,
|
|
5981
|
+
fields,
|
|
5982
|
+
sort
|
|
5987
5983
|
};
|
|
5988
5984
|
return {
|
|
5989
5985
|
url: `${GEN3_GUPPY_API}/download`,
|
|
@@ -6158,6 +6154,11 @@ const HasEnoughData = (data, keys, limit)=>{
|
|
|
6158
6154
|
url: `${GEN3_MDS_API}/metadata/${params}`
|
|
6159
6155
|
})
|
|
6160
6156
|
}),
|
|
6157
|
+
getMetadataByUrl: builder.query({
|
|
6158
|
+
query: (url)=>({
|
|
6159
|
+
url: url
|
|
6160
|
+
})
|
|
6161
|
+
}),
|
|
6161
6162
|
// TODO: Move this to own slice
|
|
6162
6163
|
getCrosswalkData: builder.query({
|
|
6163
6164
|
queryFn: async (arg, _queryApi, _extraOptions, fetchWithBQ)=>{
|
|
@@ -6213,7 +6214,7 @@ const HasEnoughData = (data, keys, limit)=>{
|
|
|
6213
6214
|
})
|
|
6214
6215
|
})
|
|
6215
6216
|
});
|
|
6216
|
-
const { useGetAggMDSQuery, useGetMDSQuery, useGetTagsQuery, useGetDataQuery, useGetMetadataByIdQuery, useGetCrosswalkDataQuery, useLazyGetCrosswalkDataQuery, useGetIndexAggMDSQuery } = metadataApi;
|
|
6217
|
+
const { useGetAggMDSQuery, useGetMDSQuery, useGetTagsQuery, useGetDataQuery, useGetMetadataByIdQuery, useGetMetadataByUrlQuery, useGetCrosswalkDataQuery, useLazyGetCrosswalkDataQuery, useGetIndexAggMDSQuery } = metadataApi;
|
|
6217
6218
|
|
|
6218
6219
|
const queryMultipleMDSRecords = async (guids, useAggMDS = false, signal)=>{
|
|
6219
6220
|
const result = {};
|
|
@@ -6488,7 +6489,7 @@ const listifyMethodsFromMapping = (actions)=>{
|
|
|
6488
6489
|
const userHasDataUpload = (userAuthMapping = {})=>{
|
|
6489
6490
|
const actionIsFileUpload = (x)=>x.method === 'file_upload';
|
|
6490
6491
|
const resource = userAuthMapping['/data_file'];
|
|
6491
|
-
return resource !==
|
|
6492
|
+
return resource !== resource && resource.some(actionIsFileUpload);
|
|
6492
6493
|
};
|
|
6493
6494
|
const userHasMethodForServiceOnResource = (method, service, resourcePath, userAuthMapping = {})=>{
|
|
6494
6495
|
const actions = userAuthMapping[resourcePath];
|
|
@@ -6571,8 +6572,9 @@ const SubmissionGraphqlQuery = `query transactionList {
|
|
|
6571
6572
|
};
|
|
6572
6573
|
const projects = projectsResponse?.data.data.project;
|
|
6573
6574
|
const projectIds = projects.map((p)=>p.project_id);
|
|
6575
|
+
const slicedProjectIds = projectIds.slice(args.offset, args.offset + args.size);
|
|
6574
6576
|
// given the list of projects, get all of them by executing the projectDetailsQuery for each project
|
|
6575
|
-
const projectDetails = await Promise.all(
|
|
6577
|
+
const projectDetails = await Promise.all(slicedProjectIds.map(async (projectId)=>{
|
|
6576
6578
|
const result = await fetchWithBQ({
|
|
6577
6579
|
url: `${GEN3_SUBMISSION_API}/graphql`,
|
|
6578
6580
|
method: 'POST',
|
|
@@ -6794,7 +6796,7 @@ const workspaceStatusSelector = workspacesApi.endpoints.getWorkspaceStatus.selec
|
|
|
6794
6796
|
const selectWorkspaceStatusFromService = toolkit.createSelector(workspaceStatusSelector, (status)=>status.data ?? {
|
|
6795
6797
|
...EmptyWorkspaceStatusResponse
|
|
6796
6798
|
});
|
|
6797
|
-
const selectWorkspaceStatus = toolkit.createSelector(workspaceStatusSelector, (status)=>status
|
|
6799
|
+
const selectWorkspaceStatus = toolkit.createSelector(workspaceStatusSelector, (status)=>status.data?.status ?? WorkspaceStatus.NotFound);
|
|
6798
6800
|
const paymodelStatusSelector = workspacesApi.endpoints.getWorkspacePayModels.select();
|
|
6799
6801
|
const selectPaymodelStatus = toolkit.createSelector(paymodelStatusSelector, (status)=>status);
|
|
6800
6802
|
|
|
@@ -6906,7 +6908,7 @@ const pValueSlice = graphQLAPI.injectEndpoints({
|
|
|
6906
6908
|
variables: data
|
|
6907
6909
|
}
|
|
6908
6910
|
}),
|
|
6909
|
-
transformResponse: (response)=>response
|
|
6911
|
+
transformResponse: (response)=>response.data?.analysis.pvalue
|
|
6910
6912
|
})
|
|
6911
6913
|
})
|
|
6912
6914
|
});
|
|
@@ -7335,6 +7337,7 @@ exports.useGetLoginProvidersQuery = useGetLoginProvidersQuery;
|
|
|
7335
7337
|
exports.useGetMDSQuery = useGetMDSQuery;
|
|
7336
7338
|
exports.useGetManifestServiceStatusQuery = useGetManifestServiceStatusQuery;
|
|
7337
7339
|
exports.useGetMetadataByIdQuery = useGetMetadataByIdQuery;
|
|
7340
|
+
exports.useGetMetadataByUrlQuery = useGetMetadataByUrlQuery;
|
|
7338
7341
|
exports.useGetMetadataFromManifestQuery = useGetMetadataFromManifestQuery;
|
|
7339
7342
|
exports.useGetMetadataManifestQuery = useGetMetadataManifestQuery;
|
|
7340
7343
|
exports.useGetObjectIdsQuery = useGetObjectIdsQuery;
|