@semapps/semantic-data-provider 1.1.3 → 1.1.5

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/index.d.ts CHANGED
@@ -162,12 +162,15 @@ export function buildSparqlQuery({
162
162
  export const dataProvider: (originalConfig: Configuration) => SemanticDataProvider;
163
163
  export const getPrefixFromUri: (uri: string, ontologies: Record<string, string>) => string;
164
164
  export const configureUserStorage: () => Plugin;
165
+ type PluginConfiguration = {
166
+ includeSelectedResources: boolean;
167
+ };
165
168
  /**
166
169
  * Return a function that look if an app (clientId) is registered with an user (webId)
167
170
  * If not, it redirects to the endpoint provided by the user's authorization agent
168
171
  * See https://solid.github.io/data-interoperability-panel/specification/#authorization-agent
169
172
  */
170
- export const fetchAppRegistration: () => Plugin;
173
+ export const fetchAppRegistration: (pluginConfig?: PluginConfiguration) => Plugin;
171
174
  export const fetchDataRegistry: () => Plugin;
172
175
  export const fetchTypeIndexes: () => Plugin;
173
176
  export const fetchVoidEndpoints: () => Plugin;
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/semantic-data-provider/src/src/dataProvider/types.ts","packages/semantic-data-provider/src/src/dataProvider/utils/fetchResource.js","packages/semantic-data-provider/src/src/dataProvider/methods/getOne.js","packages/semantic-data-provider/src/src/dataProvider/utils/getUploadsContainerUri.ts","packages/semantic-data-provider/src/src/dataProvider/utils/handleFiles.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getServerKeyFromType.js","packages/semantic-data-provider/src/src/dataProvider/utils/parseServerKeys.ts","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithTypes.ts","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithURIs.ts","packages/semantic-data-provider/src/src/dataProvider/methods/create.js","packages/semantic-data-provider/src/src/dataProvider/methods/delete.ts","packages/semantic-data-provider/src/src/dataProvider/methods/deleteMany.js","packages/semantic-data-provider/src/src/dataProvider/methods/getDataServers.js","packages/semantic-data-provider/src/src/dataProvider/methods/getDataModels.js","packages/semantic-data-provider/src/src/dataProvider/utils/arrayOf.ts","packages/semantic-data-provider/src/src/dataProvider/utils/fetchContainers.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getEmbedFrame.js","packages/semantic-data-provider/src/src/dataProvider/utils/getUriFromPrefix.ts","packages/semantic-data-provider/src/src/dataProvider/utils/buildBaseQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildBlankNodesQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildAutoDetectBlankNodesQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildSparqlQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/fetchSparqlEndpoints.js","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithShapeTree.ts","packages/semantic-data-provider/src/src/dataProvider/methods/getList.ts","packages/semantic-data-provider/src/src/dataProvider/methods/getMany.js","packages/semantic-data-provider/src/src/dataProvider/methods/getManyReference.js","packages/semantic-data-provider/src/src/dataProvider/methods/patch.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getServerKeyFromUri.js","packages/semantic-data-provider/src/src/dataProvider/methods/update.ts","packages/semantic-data-provider/src/src/dataProvider/httpClient.js","packages/semantic-data-provider/src/src/dataProvider/utils/expandTypes.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getTypesFromShapeTree.ts","packages/semantic-data-provider/src/src/dataProvider/utils/normalizeConfig.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getOntologiesFromContext.ts","packages/semantic-data-provider/src/src/dataProvider/dataProvider.js","packages/semantic-data-provider/src/src/dataProvider/utils/getPrefixFromUri.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/configureUserStorage.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getContainerFromDataRegistration.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchAppRegistration.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchDataRegistry.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchTypeIndexes.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchVoidEndpoints.ts","packages/semantic-data-provider/src/src/hooks/useDataProviderConfig.ts","packages/semantic-data-provider/src/src/dataProvider/utils/compactPredicate.ts","packages/semantic-data-provider/src/src/hooks/useCompactPredicate.ts","packages/semantic-data-provider/src/src/hooks/useDataModels.ts","packages/semantic-data-provider/src/src/hooks/useDataServers.ts","packages/semantic-data-provider/src/src/hooks/useContainers.ts","packages/semantic-data-provider/src/src/hooks/useContainersByTypes.ts","packages/semantic-data-provider/src/src/hooks/useContainerByUri.ts","packages/semantic-data-provider/src/src/dataProvider/utils/findCreateContainerWithTypes.ts","packages/semantic-data-provider/src/src/hooks/useGetCreateContainerUri.ts","packages/semantic-data-provider/src/src/hooks/useCreateContainerUri.ts","packages/semantic-data-provider/src/src/hooks/useDataModel.ts","packages/semantic-data-provider/src/src/hooks/useGetExternalLink.js","packages/semantic-data-provider/src/src/hooks/useGetPrefixFromUri.ts","packages/semantic-data-provider/src/src/reification/FilterHandler.js","packages/semantic-data-provider/src/src/reification/GroupedReferenceHandler.js","packages/semantic-data-provider/src/src/reification/ReificationArrayInput.js","packages/semantic-data-provider/src/src/notificationChannels/subscribeToUpdates.ts","packages/semantic-data-provider/src/src/index.ts","packages/semantic-data-provider/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export { default as dataProvider } from './dataProvider/dataProvider';\n\nexport { default as buildSparqlQuery } from './dataProvider/utils/buildSparqlQuery';\nexport { default as buildBlankNodesQuery } from './dataProvider/utils/buildBlankNodesQuery';\nexport { default as getUriFromPrefix } from './dataProvider/utils/getUriFromPrefix';\nexport { default as getPrefixFromUri } from './dataProvider/utils/getPrefixFromUri';\n\nexport { default as configureUserStorage } from './dataProvider/plugins/configureUserStorage';\nexport { default as fetchAppRegistration } from './dataProvider/plugins/fetchAppRegistration';\nexport { default as fetchDataRegistry } from './dataProvider/plugins/fetchDataRegistry';\nexport { default as fetchTypeIndexes } from './dataProvider/plugins/fetchTypeIndexes';\nexport { default as fetchVoidEndpoints } from './dataProvider/plugins/fetchVoidEndpoints';\n\nexport { default as useCompactPredicate } from './hooks/useCompactPredicate';\nexport { default as useContainers } from './hooks/useContainers';\nexport { default as useContainersByTypes } from './hooks/useContainersByTypes';\nexport { default as useContainerByUri } from './hooks/useContainerByUri';\nexport { default as useCreateContainerUri } from './hooks/useCreateContainerUri';\nexport { default as useDataModel } from './hooks/useDataModel';\nexport { default as useDataModels } from './hooks/useDataModels';\nexport { default as useDataProviderConfig } from './hooks/useDataProviderConfig';\nexport { default as useDataServers } from './hooks/useDataServers';\nexport { default as useGetCreateContainerUri } from './hooks/useGetCreateContainerUri';\nexport { default as useGetExternalLink } from './hooks/useGetExternalLink';\nexport { default as useGetPrefixFromUri } from './hooks/useGetPrefixFromUri';\n\nexport { default as FilterHandler } from './reification/FilterHandler';\nexport { default as GroupedReferenceHandler } from './reification/GroupedReferenceHandler';\nexport { default as ReificationArrayInput } from './reification/ReificationArrayInput';\n\nexport {\n createWsChannel,\n getOrCreateWsChannel,\n createSolidNotificationChannel\n} from './notificationChannels/subscribeToUpdates';\n\nexport * from './dataProvider/types';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
1
+ {"mappings":"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","sources":["packages/semantic-data-provider/src/src/dataProvider/types.ts","packages/semantic-data-provider/src/src/dataProvider/utils/fetchResource.js","packages/semantic-data-provider/src/src/dataProvider/methods/getOne.js","packages/semantic-data-provider/src/src/dataProvider/utils/getUploadsContainerUri.ts","packages/semantic-data-provider/src/src/dataProvider/utils/handleFiles.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getServerKeyFromType.js","packages/semantic-data-provider/src/src/dataProvider/utils/parseServerKeys.ts","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithTypes.ts","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithURIs.ts","packages/semantic-data-provider/src/src/dataProvider/methods/create.js","packages/semantic-data-provider/src/src/dataProvider/methods/delete.ts","packages/semantic-data-provider/src/src/dataProvider/methods/deleteMany.js","packages/semantic-data-provider/src/src/dataProvider/methods/getDataServers.js","packages/semantic-data-provider/src/src/dataProvider/methods/getDataModels.js","packages/semantic-data-provider/src/src/dataProvider/utils/arrayOf.ts","packages/semantic-data-provider/src/src/dataProvider/utils/fetchSelectedResources.js","packages/semantic-data-provider/src/src/dataProvider/utils/fetchContainers.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getEmbedFrame.js","packages/semantic-data-provider/src/src/dataProvider/utils/getUriFromPrefix.ts","packages/semantic-data-provider/src/src/dataProvider/utils/buildBaseQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildBlankNodesQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildAutoDetectBlankNodesQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/buildSparqlQuery.js","packages/semantic-data-provider/src/src/dataProvider/utils/fetchSparqlEndpoints.js","packages/semantic-data-provider/src/src/dataProvider/utils/findContainersWithShapeTree.ts","packages/semantic-data-provider/src/src/dataProvider/methods/getList.ts","packages/semantic-data-provider/src/src/dataProvider/methods/getMany.js","packages/semantic-data-provider/src/src/dataProvider/methods/getManyReference.js","packages/semantic-data-provider/src/src/dataProvider/methods/patch.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getServerKeyFromUri.js","packages/semantic-data-provider/src/src/dataProvider/methods/update.ts","packages/semantic-data-provider/src/src/dataProvider/httpClient.js","packages/semantic-data-provider/src/src/dataProvider/utils/expandTypes.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getTypesFromShapeTree.ts","packages/semantic-data-provider/src/src/dataProvider/utils/normalizeConfig.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getOntologiesFromContext.ts","packages/semantic-data-provider/src/src/dataProvider/dataProvider.js","packages/semantic-data-provider/src/src/dataProvider/utils/getPrefixFromUri.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/configureUserStorage.ts","packages/semantic-data-provider/src/src/dataProvider/utils/getContainerFromDataRegistration.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchAppRegistration.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchDataRegistry.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchTypeIndexes.ts","packages/semantic-data-provider/src/src/dataProvider/plugins/fetchVoidEndpoints.ts","packages/semantic-data-provider/src/src/hooks/useDataProviderConfig.ts","packages/semantic-data-provider/src/src/dataProvider/utils/compactPredicate.ts","packages/semantic-data-provider/src/src/hooks/useCompactPredicate.ts","packages/semantic-data-provider/src/src/hooks/useDataModels.ts","packages/semantic-data-provider/src/src/hooks/useDataServers.ts","packages/semantic-data-provider/src/src/hooks/useContainers.ts","packages/semantic-data-provider/src/src/hooks/useContainersByTypes.ts","packages/semantic-data-provider/src/src/hooks/useContainerByUri.ts","packages/semantic-data-provider/src/src/dataProvider/utils/findCreateContainerWithTypes.ts","packages/semantic-data-provider/src/src/hooks/useGetCreateContainerUri.ts","packages/semantic-data-provider/src/src/hooks/useCreateContainerUri.ts","packages/semantic-data-provider/src/src/hooks/useDataModel.ts","packages/semantic-data-provider/src/src/hooks/useGetExternalLink.js","packages/semantic-data-provider/src/src/hooks/useGetPrefixFromUri.ts","packages/semantic-data-provider/src/src/reification/FilterHandler.js","packages/semantic-data-provider/src/src/reification/GroupedReferenceHandler.js","packages/semantic-data-provider/src/src/reification/ReificationArrayInput.js","packages/semantic-data-provider/src/src/notificationChannels/subscribeToUpdates.ts","packages/semantic-data-provider/src/src/index.ts","packages/semantic-data-provider/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"export { default as dataProvider } from './dataProvider/dataProvider';\n\nexport { default as buildSparqlQuery } from './dataProvider/utils/buildSparqlQuery';\nexport { default as buildBlankNodesQuery } from './dataProvider/utils/buildBlankNodesQuery';\nexport { default as getUriFromPrefix } from './dataProvider/utils/getUriFromPrefix';\nexport { default as getPrefixFromUri } from './dataProvider/utils/getPrefixFromUri';\n\nexport { default as configureUserStorage } from './dataProvider/plugins/configureUserStorage';\nexport { default as fetchAppRegistration } from './dataProvider/plugins/fetchAppRegistration';\nexport { default as fetchDataRegistry } from './dataProvider/plugins/fetchDataRegistry';\nexport { default as fetchTypeIndexes } from './dataProvider/plugins/fetchTypeIndexes';\nexport { default as fetchVoidEndpoints } from './dataProvider/plugins/fetchVoidEndpoints';\n\nexport { default as useCompactPredicate } from './hooks/useCompactPredicate';\nexport { default as useContainers } from './hooks/useContainers';\nexport { default as useContainersByTypes } from './hooks/useContainersByTypes';\nexport { default as useContainerByUri } from './hooks/useContainerByUri';\nexport { default as useCreateContainerUri } from './hooks/useCreateContainerUri';\nexport { default as useDataModel } from './hooks/useDataModel';\nexport { default as useDataModels } from './hooks/useDataModels';\nexport { default as useDataProviderConfig } from './hooks/useDataProviderConfig';\nexport { default as useDataServers } from './hooks/useDataServers';\nexport { default as useGetCreateContainerUri } from './hooks/useGetCreateContainerUri';\nexport { default as useGetExternalLink } from './hooks/useGetExternalLink';\nexport { default as useGetPrefixFromUri } from './hooks/useGetPrefixFromUri';\n\nexport { default as FilterHandler } from './reification/FilterHandler';\nexport { default as GroupedReferenceHandler } from './reification/GroupedReferenceHandler';\nexport { default as ReificationArrayInput } from './reification/ReificationArrayInput';\n\nexport {\n createWsChannel,\n getOrCreateWsChannel,\n createSolidNotificationChannel\n} from './notificationChannels/subscribeToUpdates';\n\nexport * from './dataProvider/types';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
package/dist/index.es.js CHANGED
@@ -4,8 +4,8 @@ import $fj9kP$rdfjsdatamodel, {triple as $fj9kP$triple, variable as $fj9kP$varia
4
4
  import {Generator as $fj9kP$Generator} from "sparqljs";
5
5
  import $fj9kP$cryptojsmd5 from "crypto-js/md5";
6
6
  import {fetchUtils as $fj9kP$fetchUtils, useDataProvider as $fj9kP$useDataProvider, DataProviderContext as $fj9kP$DataProviderContext, useRecordContext as $fj9kP$useRecordContext, useGetList as $fj9kP$useGetList, ArrayInput as $fj9kP$ArrayInput, SimpleFormIterator as $fj9kP$SimpleFormIterator, TextInput as $fj9kP$TextInput} from "react-admin";
7
- import $fj9kP$urljoin from "url-join";
8
7
  import $fj9kP$jwtdecode from "jwt-decode";
8
+ import $fj9kP$urljoin from "url-join";
9
9
  import $fj9kP$httplinkheader from "http-link-header";
10
10
  import {capitalCase as $fj9kP$capitalCase} from "change-case";
11
11
  import $fj9kP$react, {useState as $fj9kP$useState, useEffect as $fj9kP$useEffect, useMemo as $fj9kP$useMemo, useCallback as $fj9kP$useCallback, useContext as $fj9kP$useContext} from "react";
@@ -305,6 +305,19 @@ const $cc8adac4b83414eb$var$arrayOf = (value)=>{
305
305
  var $cc8adac4b83414eb$export$2e2bcd8739ae039 = $cc8adac4b83414eb$var$arrayOf;
306
306
 
307
307
 
308
+
309
+ // Fetch the selected resources of the provided containers
310
+ // Filter out resources that are provided (can avoid loading a resource twice)
311
+ const $c83d324c3b433284$var$fetchSelectedResources = async (containers, excludedResourcesUris, config)=>{
312
+ let selectedResourcesUris = containers.filter((c)=>c.selectedResources).map((c)=>c.selectedResources).flat();
313
+ // Filter out resources which are already included in the SPARQL query results
314
+ selectedResourcesUris = selectedResourcesUris.filter((uri)=>!excludedResourcesUris.includes(uri));
315
+ const selectedResources = await Promise.all(selectedResourcesUris.map((resourceUri)=>(0, $336b7edf722fe53e$export$2e2bcd8739ae039)(resourceUri, config)));
316
+ return selectedResources;
317
+ };
318
+ var $c83d324c3b433284$export$2e2bcd8739ae039 = $c83d324c3b433284$var$fetchSelectedResources;
319
+
320
+
308
321
  const $aba124ea15ea8bc6$var$isValidLDPContainer = (container)=>{
309
322
  const resourceType = container.type || container['@type'];
310
323
  return Array.isArray(resourceType) ? resourceType.includes('ldp:Container') : resourceType === 'ldp:Container';
@@ -312,23 +325,24 @@ const $aba124ea15ea8bc6$var$isValidLDPContainer = (container)=>{
312
325
  const $aba124ea15ea8bc6$var$isObject = (val)=>{
313
326
  return val != null && typeof val === 'object' && !Array.isArray(val);
314
327
  };
315
- const $aba124ea15ea8bc6$var$fetchContainers = async (containers, params, { httpClient: httpClient, jsonContext: jsonContext })=>{
316
- const fetchPromises = containers.map((container)=>httpClient(container.uri).then(async ({ json: json })=>{
317
- const jsonResponse = json;
318
- // If container's context is different, compact it to have an uniform result
319
- // TODO deep compare if the context is an object
320
- if (jsonResponse['@context'] !== jsonContext) return (0, $fj9kP$jsonld).compact(jsonResponse, jsonContext);
321
- return jsonResponse;
322
- }).then((json)=>{
323
- if (!$aba124ea15ea8bc6$var$isValidLDPContainer(json)) throw new Error(`${container.uri} is not a LDP container`);
324
- return (0, $cc8adac4b83414eb$export$2e2bcd8739ae039)(json['ldp:contains']).map((resource)=>({
325
- '@context': json['@context'],
326
- ...resource
327
- }));
328
- }));
328
+ const $aba124ea15ea8bc6$var$fetchContainers = async (containers, params, config)=>{
329
+ const { httpClient: httpClient, jsonContext: jsonContext } = config;
329
330
  // Fetch simultaneously all containers
330
- const results = await Promise.all(fetchPromises);
331
+ const results = await Promise.all(containers.filter((c)=>!c.selectedResources).map(async (container)=>{
332
+ let { json: json } = await httpClient(container.uri);
333
+ // If container's context is different, compact it to have an uniform result
334
+ // TODO deep compare if the context is an object
335
+ if (json['@context'] !== jsonContext) json = await (0, $fj9kP$jsonld).compact(json, jsonContext);
336
+ if (!$aba124ea15ea8bc6$var$isValidLDPContainer(json)) throw new Error(`${container.uri} is not a LDP container`);
337
+ return (0, $cc8adac4b83414eb$export$2e2bcd8739ae039)(json['ldp:contains']).map((resource)=>({
338
+ '@context': json['@context'],
339
+ ...resource
340
+ }));
341
+ }));
331
342
  let resources = results.flat();
343
+ // Append selected resources (if any)
344
+ const selectedResources = await (0, $c83d324c3b433284$export$2e2bcd8739ae039)(containers, resources.map((r)=>r.id), config);
345
+ resources = resources.concat(selectedResources);
332
346
  resources = resources.map((resource)=>{
333
347
  resource.id = resource.id || resource['@id'];
334
348
  return resource;
@@ -728,6 +742,7 @@ const $6cde9a8fbbde3ffb$var$buildSparqlQuery = ({ containersUris: containersUris
728
742
  var $6cde9a8fbbde3ffb$export$2e2bcd8739ae039 = $6cde9a8fbbde3ffb$var$buildSparqlQuery;
729
743
 
730
744
 
745
+
731
746
  const $05a1b4063d50f1b7$var$compare = (a, b)=>{
732
747
  switch(typeof a){
733
748
  case 'string':
@@ -739,16 +754,19 @@ const $05a1b4063d50f1b7$var$compare = (a, b)=>{
739
754
  }
740
755
  };
741
756
  const $05a1b4063d50f1b7$var$fetchSparqlEndpoints = async (containers, resourceId, params, config)=>{
742
- const { dataServers: dataServers, resources: resources, httpClient: httpClient, jsonContext: jsonContext, ontologies: ontologies } = config;
743
- const dataModel = resources[resourceId];
744
- const serversToQuery = containers.reduce((acc, cur)=>{
757
+ const { dataServers: dataServers, httpClient: httpClient, jsonContext: jsonContext, ontologies: ontologies } = config;
758
+ const dataModel = config.resources[resourceId];
759
+ // Find servers to query with SPARQL
760
+ // (Ignore containers with selected resources, they will be fetched below)
761
+ const serversToQuery = containers.filter((c)=>!c.selectedResources).reduce((acc, cur)=>{
745
762
  if (!acc.includes(cur.server)) acc.push(cur.server);
746
763
  return acc;
747
764
  }, []);
748
- const sparqlQueryPromises = serversToQuery.map((serverKey)=>new Promise((resolve, reject)=>{
765
+ // Run simultaneous SPARQL queries
766
+ const results = await Promise.all(serversToQuery.map((serverKey)=>new Promise((resolve, reject)=>{
749
767
  const blankNodes = params.filter?.blankNodes || dataModel.list?.blankNodes;
750
768
  const sparqlQuery = (0, $6cde9a8fbbde3ffb$export$2e2bcd8739ae039)({
751
- containersUris: containers.filter((c)=>c.server === serverKey).map((c)=>c.uri),
769
+ containersUris: containers.filter((c)=>c.server === serverKey && !c.selectedResources).map((c)=>c.uri),
752
770
  params: params,
753
771
  dataModel: dataModel,
754
772
  ontologies: ontologies
@@ -788,17 +806,18 @@ const $05a1b4063d50f1b7$var$fetchSparqlEndpoints = async (containers, resourceId
788
806
  ...resource
789
807
  })) || []);
790
808
  }).catch((e)=>reject(e));
791
- }));
792
- // Run simultaneous SPARQL queries
793
- let results = await Promise.all(sparqlQueryPromises);
794
- if (results.length === 0) return {
809
+ })));
810
+ // Merge results from all SPARQL servers
811
+ let resources = results.flat();
812
+ // Append selected resources to SPARQL query results
813
+ const selectedResources = await (0, $c83d324c3b433284$export$2e2bcd8739ae039)(containers, resources.map((r)=>r.id), config);
814
+ resources = resources.concat(selectedResources);
815
+ if (resources.length === 0) return {
795
816
  data: [],
796
817
  total: 0
797
818
  };
798
- // Merge all results in one array
799
- results = [].concat(...results);
800
819
  // Add id in addition to @id, as this is what React-Admin expects
801
- let returnData = results.map((item)=>{
820
+ let returnData = resources.map((item)=>{
802
821
  item.id = item.id || item['@id'];
803
822
  return item;
804
823
  });
@@ -966,14 +985,22 @@ var $c5031381f4dfc62d$export$2e2bcd8739ae039 = $c5031381f4dfc62d$var$updateMetho
966
985
 
967
986
 
968
987
 
988
+
969
989
  /*
970
990
  * HTTP client used by all calls in data provider and auth provider
971
991
  * Do proxy calls if a proxy endpoint is available and the server is different from the auth server
972
992
  */ const $22b4895a4ca7d626$var$httpClient = (dataServers)=>(url, options = {})=>{
973
993
  if (!url) throw new Error(`No URL provided on httpClient call`);
994
+ const token = localStorage.getItem('token');
995
+ let webId = localStorage.getItem('webId');
996
+ if (!webId) {
997
+ const payload = (0, $fj9kP$jwtdecode)(token);
998
+ webId = payload.webId || payload.webid; // Currently we must deal with both formats
999
+ localStorage.setItem('webId', webId);
1000
+ }
974
1001
  const authServerKey = (0, $8326b88c1a913ca9$export$2e2bcd8739ae039)('authServer', dataServers);
975
1002
  const serverKey = (0, $47e21ee81eed09a6$export$2e2bcd8739ae039)(url, dataServers);
976
- const useProxy = serverKey !== authServerKey && dataServers[authServerKey]?.proxyUrl && dataServers[serverKey]?.noProxy !== true;
1003
+ const useProxy = serverKey !== authServerKey && dataServers[webId]?.proxyUrl && dataServers[serverKey]?.noProxy !== true;
977
1004
  if (!options.headers) options.headers = new Headers();
978
1005
  switch(options.method){
979
1006
  case 'POST':
@@ -999,19 +1026,16 @@ var $c5031381f4dfc62d$export$2e2bcd8739ae039 = $c5031381f4dfc62d$var$updateMetho
999
1026
  else formData.append('body', options.body);
1000
1027
  }
1001
1028
  // Post to proxy endpoint with multipart/form-data format
1002
- return (0, $fj9kP$fetchUtils).fetchJson(dataServers[authServerKey].proxyUrl, {
1029
+ return (0, $fj9kP$fetchUtils).fetchJson(dataServers[webId].proxyUrl, {
1003
1030
  method: 'POST',
1004
1031
  headers: new Headers({
1005
- Authorization: `Bearer ${localStorage.getItem('token')}`
1032
+ Authorization: `Bearer ${token}`
1006
1033
  }),
1007
1034
  body: formData
1008
1035
  });
1009
1036
  }
1010
1037
  // Add token if the server is the same as the auth server
1011
- if (serverKey === authServerKey) {
1012
- const token = localStorage.getItem('token');
1013
- if (token) options.headers.set('Authorization', `Bearer ${token}`);
1014
- }
1038
+ if (token && serverKey === authServerKey) options.headers.set('Authorization', `Bearer ${token}`);
1015
1039
  return (0, $fj9kP$fetchUtils).fetchJson(url, options);
1016
1040
  };
1017
1041
  var $22b4895a4ca7d626$export$2e2bcd8739ae039 = $22b4895a4ca7d626$var$httpClient;
@@ -1218,7 +1242,7 @@ const $cdd3c71a628eeefe$var$configureUserStorage = ()=>({
1218
1242
  const newConfig = {
1219
1243
  ...config
1220
1244
  };
1221
- newConfig.dataServers.user = {
1245
+ newConfig.dataServers[webId] = {
1222
1246
  pod: true,
1223
1247
  default: true,
1224
1248
  authServer: true,
@@ -1246,6 +1270,7 @@ var $cdd3c71a628eeefe$export$2e2bcd8739ae039 = $cdd3c71a628eeefe$var$configureUs
1246
1270
 
1247
1271
 
1248
1272
 
1273
+
1249
1274
  const $d7a7484a035f15cd$var$getContainerFromDataRegistration = async (dataRegistrationUri, config)=>{
1250
1275
  const { json: dataRegistration } = await config.httpClient(dataRegistrationUri, {
1251
1276
  headers: new Headers({
@@ -1279,7 +1304,8 @@ const $d7a7484a035f15cd$var$getContainerFromDataRegistration = async (dataRegist
1279
1304
  '@container': '@language'
1280
1305
  }
1281
1306
  });
1282
- const { baseUrl: baseUrl } = config.dataServers.user;
1307
+ const userStorage = (0, $8326b88c1a913ca9$export$2e2bcd8739ae039)('default', config.dataServers);
1308
+ const { baseUrl: baseUrl } = config.dataServers[userStorage];
1283
1309
  const containerPath = dataRegistration.id.replace(baseUrl, '');
1284
1310
  const container = {
1285
1311
  path: containerPath,
@@ -1305,7 +1331,9 @@ var $d7a7484a035f15cd$export$2e2bcd8739ae039 = $d7a7484a035f15cd$var$getContaine
1305
1331
  * Return a function that look if an app (clientId) is registered with an user (webId)
1306
1332
  * If not, it redirects to the endpoint provided by the user's authorization agent
1307
1333
  * See https://solid.github.io/data-interoperability-panel/specification/#authorization-agent
1308
- */ const $2c257b4237cb14ca$var$fetchAppRegistration = ()=>({
1334
+ */ const $2c257b4237cb14ca$var$fetchAppRegistration = (pluginConfig = {})=>{
1335
+ const { includeSelectedResources: includeSelectedResources = true } = pluginConfig;
1336
+ return {
1309
1337
  transformConfig: async (config)=>{
1310
1338
  const token = localStorage.getItem('token');
1311
1339
  // If the user is logged in
@@ -1327,15 +1355,27 @@ var $d7a7484a035f15cd$export$2e2bcd8739ae039 = $d7a7484a035f15cd$var$getContaine
1327
1355
  const newConfig = {
1328
1356
  ...config
1329
1357
  };
1330
- // Load data grants concurrently to improve performances
1358
+ // Load access grants concurrently to improve performances
1331
1359
  const results = await Promise.all((0, $cc8adac4b83414eb$export$2e2bcd8739ae039)(appRegistration['interop:hasAccessGrant']).map(async (accessGrantUri)=>{
1332
1360
  const { json: accessGrant } = await config.httpClient(accessGrantUri);
1333
- return Promise.all((0, $cc8adac4b83414eb$export$2e2bcd8739ae039)(accessGrant['interop:hasDataGrant']).map(async (dataGrantUri)=>{
1334
- const { json: dataGrant } = await config.httpClient(dataGrantUri);
1335
- return (0, $d7a7484a035f15cd$export$2e2bcd8739ae039)(dataGrant['interop:hasDataRegistration'], config);
1336
- }));
1361
+ const container = await (0, $d7a7484a035f15cd$export$2e2bcd8739ae039)(accessGrant['interop:hasDataRegistration'], config);
1362
+ container.server = accessGrant['interop:dataOwner'];
1363
+ if (accessGrant['interop:scopeOfGrant'] === 'interop:AllFromRegistry') return container;
1364
+ else if (accessGrant['interop:scopeOfGrant'] === 'interop:SelectedFromRegistry') {
1365
+ if (!includeSelectedResources) return undefined;
1366
+ container.selectedResources = (0, $cc8adac4b83414eb$export$2e2bcd8739ae039)(accessGrant['interop:hasDataInstance']);
1367
+ return container;
1368
+ }
1337
1369
  }));
1338
- newConfig.dataServers.user.containers = results.flat();
1370
+ // Put data shared by other users in other servers (storages)
1371
+ for (const container of results.flat().filter((i)=>i !== undefined))if (!newConfig.dataServers[container.server]) newConfig.dataServers[container.server] = {
1372
+ pod: true,
1373
+ baseUrl: `${container.server}/data`,
1374
+ containers: [
1375
+ container
1376
+ ]
1377
+ };
1378
+ else newConfig.dataServers[container.server].containers.push(container);
1339
1379
  return newConfig;
1340
1380
  }
1341
1381
  }
@@ -1343,7 +1383,8 @@ var $d7a7484a035f15cd$export$2e2bcd8739ae039 = $d7a7484a035f15cd$var$getContaine
1343
1383
  }
1344
1384
  return config;
1345
1385
  }
1346
- });
1386
+ };
1387
+ };
1347
1388
  var $2c257b4237cb14ca$export$2e2bcd8739ae039 = $2c257b4237cb14ca$var$fetchAppRegistration;
1348
1389
 
1349
1390
 
@@ -1354,9 +1395,9 @@ const $91255e144bb55afc$var$fetchDataRegistry = ()=>({
1354
1395
  const token = localStorage.getItem('token');
1355
1396
  // If the user is logged in
1356
1397
  if (token) {
1357
- if (!config.dataServers.user) throw new Error(`You must configure the user storage first with the configureUserStorage plugin`);
1358
1398
  const payload = (0, $fj9kP$jwtdecode)(token);
1359
1399
  const webId = payload.webId || payload.webid; // Currently we must deal with both formats
1400
+ if (!config.dataServers[webId]) throw new Error(`You must configure the user storage first with the configureUserStorage plugin`);
1360
1401
  const { json: user } = await config.httpClient(webId);
1361
1402
  const { json: registrySet } = await config.httpClient(user['interop:hasRegistrySet']);
1362
1403
  const { json: dataRegistry } = await config.httpClient(registrySet['interop:hasDataRegistry']);
@@ -1367,7 +1408,7 @@ const $91255e144bb55afc$var$fetchDataRegistry = ()=>({
1367
1408
  const newConfig = {
1368
1409
  ...config
1369
1410
  };
1370
- newConfig.dataServers.user.containers?.push(...results.flat());
1411
+ newConfig.dataServers[webId].containers?.push(...results.flat());
1371
1412
  return newConfig;
1372
1413
  }
1373
1414
  }
@@ -1387,9 +1428,9 @@ const $2d5f75df63129ebc$var$fetchTypeIndexes = ()=>({
1387
1428
  const token = localStorage.getItem('token');
1388
1429
  // If the user is logged in
1389
1430
  if (token) {
1390
- if (!config.dataServers.user) throw new Error(`You must configure the user storage first with the configureUserStorage plugin`);
1391
1431
  const payload = (0, $fj9kP$jwtdecode)(token);
1392
1432
  const webId = payload.webId || payload.webid; // Currently we must deal with both formats
1433
+ if (!config.dataServers[webId]) throw new Error(`You must configure the user storage first with the configureUserStorage plugin`);
1393
1434
  const { json: user } = await config.httpClient(webId);
1394
1435
  const typeRegistrations = {
1395
1436
  public: [],
@@ -1418,17 +1459,17 @@ const $2d5f75df63129ebc$var$fetchTypeIndexes = ()=>({
1418
1459
  separateNumbers: true
1419
1460
  })
1420
1461
  },
1421
- path: typeRegistration['solid:instanceContainer'].replace(newConfig.dataServers.user.baseUrl, ''),
1462
+ path: typeRegistration['solid:instanceContainer'].replace(newConfig.dataServers[webId].baseUrl, ''),
1422
1463
  types: await (0, $36aa010ec46eaf45$export$2e2bcd8739ae039)(types, user['@context']),
1423
1464
  private: mode === 'private'
1424
1465
  };
1425
- const containerIndex = newConfig.dataServers.user.containers.findIndex((c)=>c.path === container.path);
1466
+ const containerIndex = newConfig.dataServers[webId].containers.findIndex((c)=>c.path === container.path);
1426
1467
  if (containerIndex !== -1) // If a container with this URI already exist, add type registration information if they are not set
1427
- newConfig.dataServers.user.containers[containerIndex] = {
1468
+ newConfig.dataServers[webId].containers[containerIndex] = {
1428
1469
  ...container,
1429
- ...newConfig.dataServers.user.containers[containerIndex]
1470
+ ...newConfig.dataServers[webId].containers[containerIndex]
1430
1471
  };
1431
- else newConfig.dataServers.user.containers.push(container);
1472
+ else newConfig.dataServers[webId].containers.push(container);
1432
1473
  }
1433
1474
  return newConfig;
1434
1475
  }