@gen3/core 0.12.56 → 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.
Files changed (41) hide show
  1. package/dist/cjs/index.js +57 -54
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/dts/features/cohort/cohortManagerSelector.d.ts +2 -2
  4. package/dist/dts/features/cohort/cohortManagerSelector.d.ts.map +1 -1
  5. package/dist/dts/features/cohort/cohortManagerSlice.d.ts.map +1 -1
  6. package/dist/dts/features/dataLibrary/storage/APIStorageService.d.ts.map +1 -1
  7. package/dist/dts/features/dataLibrary/storage/LocalStorageService.d.ts +2 -2
  8. package/dist/dts/features/dataLibrary/storage/LocalStorageService.d.ts.map +1 -1
  9. package/dist/dts/features/download/downloadStatusApi.d.ts.map +1 -1
  10. package/dist/dts/features/drsResolver/resolvers/dataGUIDSDotOrg.d.ts.map +1 -1
  11. package/dist/dts/features/fence/types.d.ts +1 -1
  12. package/dist/dts/features/fence/types.d.ts.map +1 -1
  13. package/dist/dts/features/guppy/guppyApi.d.ts +1 -1
  14. package/dist/dts/features/guppy/guppyApi.d.ts.map +1 -1
  15. package/dist/dts/features/guppy/guppyDownloadSlice.d.ts.map +1 -1
  16. package/dist/dts/features/guppy/guppySlice.d.ts +2 -2
  17. package/dist/dts/features/guppy/guppySlice.d.ts.map +1 -1
  18. package/dist/dts/features/metadata/index.d.ts +2 -2
  19. package/dist/dts/features/metadata/index.d.ts.map +1 -1
  20. package/dist/dts/features/metadata/metadataSlice.d.ts +185 -0
  21. package/dist/dts/features/metadata/metadataSlice.d.ts.map +1 -1
  22. package/dist/dts/features/submission/submissionApi.d.ts.map +1 -1
  23. package/dist/dts/features/submission/types.d.ts +1 -0
  24. package/dist/dts/features/submission/types.d.ts.map +1 -1
  25. package/dist/dts/features/user/hooks.d.ts +1 -1
  26. package/dist/dts/features/user/hooks.d.ts.map +1 -1
  27. package/dist/dts/features/user/test/useGetExternalLoginsQuery.unit.test.d.ts +3 -0
  28. package/dist/dts/features/user/test/useGetExternalLoginsQuery.unit.test.d.ts.map +1 -1
  29. package/dist/dts/features/user/userSlice.d.ts +4 -4
  30. package/dist/dts/features/user/userSlice.d.ts.map +1 -1
  31. package/dist/dts/features/user/utils.d.ts +1 -1
  32. package/dist/dts/features/user/utils.d.ts.map +1 -1
  33. package/dist/dts/store.unit.test.d.ts.map +1 -1
  34. package/dist/esm/index.js +57 -55
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/index.d.ts +189 -3
  37. package/package.json +7 -4
  38. package/dist/dts/features/dataLibrary/storage/RTKQ_APIStorageService.d.ts +0 -1
  39. package/dist/dts/features/dataLibrary/storage/RTKQ_APIStorageService.d.ts.map +0 -1
  40. package/dist/dts/features/drsResolver/types.d.ts +0 -1
  41. 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 && 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 && 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 = undefined, indexPrefix = '', filterName = 'filter' })=>{
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?.fields?.filter((f)=>f.includes('.'));
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?.data?.[`${args?.indexPrefix ?? ''}_aggregation`][args.type]?._totalCount ?? null;
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 = undefined, indexPrefix = '', filterName = 'filter' })=>{
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 = undefined, missingFields = undefined, numericAggAsText = false, filters = undefined, accessibility = Accessibility.ALL, indexPrefix = '', filterName = 'filter' })=>{
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 ?? `$${filterName}: JSON,`} $nestedAggFields: JSON) {
3735
+ const query = `query getSubAggs ( ${filters && `$${filterName}: JSON,`} $nestedAggFields: JSON) {
3735
3736
  ${indexPrefix}_aggregation {
3736
- ${type} ( ${filters ?? `filter: $${filterName}, filterSelf: false,`} nestedAggFields: $nestedAggFields, accessibility: ${accessibility}) {
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 = undefined, indexPrefix = '', filterName = 'filter' })=>{
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
- ...gqlFilters && {
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 = Accessibility.ALL, isNested = true, asTextHistogram = false })=>{
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 = undefined, indexPrefix = '', filterName = 'filter')=>{
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 = undefined, indexPrefix = '', filterName = 'filter')=>{
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?.filters?.[index] ?? EmptyFilterSet;
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?.dataObjectFileTypeValue) fileType = dataFieldMapping.dataObjectFileTypeValue;
4856
- if (dataFieldMapping?.dataObjectFileTypeField) fileType = dataObject[dataFieldMapping?.dataObjectFileTypeField];
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
- name,
4996
- items
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 = undefined)=>{
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 = undefined) {
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
- type,
5983
- accessibility,
5984
- fields,
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 !== undefined && resource.some(actionIsFileUpload);
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(projectIds.map(async (projectId)=>{
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?.data?.status ?? WorkspaceStatus.NotFound);
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?.data?.analysis.pvalue
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;