@semapps/semantic-data-provider 1.1.3 → 1.1.4

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
@@ -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
  });
@@ -1218,7 +1237,7 @@ const $cdd3c71a628eeefe$var$configureUserStorage = ()=>({
1218
1237
  const newConfig = {
1219
1238
  ...config
1220
1239
  };
1221
- newConfig.dataServers.user = {
1240
+ newConfig.dataServers[webId] = {
1222
1241
  pod: true,
1223
1242
  default: true,
1224
1243
  authServer: true,
@@ -1246,6 +1265,7 @@ var $cdd3c71a628eeefe$export$2e2bcd8739ae039 = $cdd3c71a628eeefe$var$configureUs
1246
1265
 
1247
1266
 
1248
1267
 
1268
+
1249
1269
  const $d7a7484a035f15cd$var$getContainerFromDataRegistration = async (dataRegistrationUri, config)=>{
1250
1270
  const { json: dataRegistration } = await config.httpClient(dataRegistrationUri, {
1251
1271
  headers: new Headers({
@@ -1279,7 +1299,8 @@ const $d7a7484a035f15cd$var$getContainerFromDataRegistration = async (dataRegist
1279
1299
  '@container': '@language'
1280
1300
  }
1281
1301
  });
1282
- const { baseUrl: baseUrl } = config.dataServers.user;
1302
+ const userStorage = (0, $8326b88c1a913ca9$export$2e2bcd8739ae039)('default', config.dataServers);
1303
+ const { baseUrl: baseUrl } = config.dataServers[userStorage];
1283
1304
  const containerPath = dataRegistration.id.replace(baseUrl, '');
1284
1305
  const container = {
1285
1306
  path: containerPath,
@@ -1305,7 +1326,9 @@ var $d7a7484a035f15cd$export$2e2bcd8739ae039 = $d7a7484a035f15cd$var$getContaine
1305
1326
  * Return a function that look if an app (clientId) is registered with an user (webId)
1306
1327
  * If not, it redirects to the endpoint provided by the user's authorization agent
1307
1328
  * See https://solid.github.io/data-interoperability-panel/specification/#authorization-agent
1308
- */ const $2c257b4237cb14ca$var$fetchAppRegistration = ()=>({
1329
+ */ const $2c257b4237cb14ca$var$fetchAppRegistration = (pluginConfig = {})=>{
1330
+ const { includeSelectedResources: includeSelectedResources = true } = pluginConfig;
1331
+ return {
1309
1332
  transformConfig: async (config)=>{
1310
1333
  const token = localStorage.getItem('token');
1311
1334
  // If the user is logged in
@@ -1327,15 +1350,27 @@ var $d7a7484a035f15cd$export$2e2bcd8739ae039 = $d7a7484a035f15cd$var$getContaine
1327
1350
  const newConfig = {
1328
1351
  ...config
1329
1352
  };
1330
- // Load data grants concurrently to improve performances
1353
+ // Load access grants concurrently to improve performances
1331
1354
  const results = await Promise.all((0, $cc8adac4b83414eb$export$2e2bcd8739ae039)(appRegistration['interop:hasAccessGrant']).map(async (accessGrantUri)=>{
1332
1355
  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
- }));
1356
+ const container = await (0, $d7a7484a035f15cd$export$2e2bcd8739ae039)(accessGrant['interop:hasDataRegistration'], config);
1357
+ container.server = accessGrant['interop:dataOwner'];
1358
+ if (accessGrant['interop:scopeOfGrant'] === 'interop:AllFromRegistry') return container;
1359
+ else if (accessGrant['interop:scopeOfGrant'] === 'interop:SelectedFromRegistry') {
1360
+ if (!includeSelectedResources) return undefined;
1361
+ container.selectedResources = (0, $cc8adac4b83414eb$export$2e2bcd8739ae039)(accessGrant['interop:hasDataInstance']);
1362
+ return container;
1363
+ }
1337
1364
  }));
1338
- newConfig.dataServers.user.containers = results.flat();
1365
+ // Put data shared by other users in other servers (storages)
1366
+ for (const container of results.flat().filter((i)=>i !== undefined))if (!newConfig.dataServers[container.server]) newConfig.dataServers[container.server] = {
1367
+ pod: true,
1368
+ baseUrl: `${container.server}/data`,
1369
+ containers: [
1370
+ container
1371
+ ]
1372
+ };
1373
+ else newConfig.dataServers[container.server].containers.push(container);
1339
1374
  return newConfig;
1340
1375
  }
1341
1376
  }
@@ -1343,7 +1378,8 @@ var $d7a7484a035f15cd$export$2e2bcd8739ae039 = $d7a7484a035f15cd$var$getContaine
1343
1378
  }
1344
1379
  return config;
1345
1380
  }
1346
- });
1381
+ };
1382
+ };
1347
1383
  var $2c257b4237cb14ca$export$2e2bcd8739ae039 = $2c257b4237cb14ca$var$fetchAppRegistration;
1348
1384
 
1349
1385
 
@@ -1354,9 +1390,9 @@ const $91255e144bb55afc$var$fetchDataRegistry = ()=>({
1354
1390
  const token = localStorage.getItem('token');
1355
1391
  // If the user is logged in
1356
1392
  if (token) {
1357
- if (!config.dataServers.user) throw new Error(`You must configure the user storage first with the configureUserStorage plugin`);
1358
1393
  const payload = (0, $fj9kP$jwtdecode)(token);
1359
1394
  const webId = payload.webId || payload.webid; // Currently we must deal with both formats
1395
+ if (!config.dataServers[webId]) throw new Error(`You must configure the user storage first with the configureUserStorage plugin`);
1360
1396
  const { json: user } = await config.httpClient(webId);
1361
1397
  const { json: registrySet } = await config.httpClient(user['interop:hasRegistrySet']);
1362
1398
  const { json: dataRegistry } = await config.httpClient(registrySet['interop:hasDataRegistry']);
@@ -1367,7 +1403,7 @@ const $91255e144bb55afc$var$fetchDataRegistry = ()=>({
1367
1403
  const newConfig = {
1368
1404
  ...config
1369
1405
  };
1370
- newConfig.dataServers.user.containers?.push(...results.flat());
1406
+ newConfig.dataServers[webId].containers?.push(...results.flat());
1371
1407
  return newConfig;
1372
1408
  }
1373
1409
  }
@@ -1387,9 +1423,9 @@ const $2d5f75df63129ebc$var$fetchTypeIndexes = ()=>({
1387
1423
  const token = localStorage.getItem('token');
1388
1424
  // If the user is logged in
1389
1425
  if (token) {
1390
- if (!config.dataServers.user) throw new Error(`You must configure the user storage first with the configureUserStorage plugin`);
1391
1426
  const payload = (0, $fj9kP$jwtdecode)(token);
1392
1427
  const webId = payload.webId || payload.webid; // Currently we must deal with both formats
1428
+ if (!config.dataServers[webId]) throw new Error(`You must configure the user storage first with the configureUserStorage plugin`);
1393
1429
  const { json: user } = await config.httpClient(webId);
1394
1430
  const typeRegistrations = {
1395
1431
  public: [],
@@ -1418,17 +1454,17 @@ const $2d5f75df63129ebc$var$fetchTypeIndexes = ()=>({
1418
1454
  separateNumbers: true
1419
1455
  })
1420
1456
  },
1421
- path: typeRegistration['solid:instanceContainer'].replace(newConfig.dataServers.user.baseUrl, ''),
1457
+ path: typeRegistration['solid:instanceContainer'].replace(newConfig.dataServers[webId].baseUrl, ''),
1422
1458
  types: await (0, $36aa010ec46eaf45$export$2e2bcd8739ae039)(types, user['@context']),
1423
1459
  private: mode === 'private'
1424
1460
  };
1425
- const containerIndex = newConfig.dataServers.user.containers.findIndex((c)=>c.path === container.path);
1461
+ const containerIndex = newConfig.dataServers[webId].containers.findIndex((c)=>c.path === container.path);
1426
1462
  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] = {
1463
+ newConfig.dataServers[webId].containers[containerIndex] = {
1428
1464
  ...container,
1429
- ...newConfig.dataServers.user.containers[containerIndex]
1465
+ ...newConfig.dataServers[webId].containers[containerIndex]
1430
1466
  };
1431
- else newConfig.dataServers.user.containers.push(container);
1467
+ else newConfig.dataServers[webId].containers.push(container);
1432
1468
  }
1433
1469
  return newConfig;
1434
1470
  }