solid-logic 1.3.16-a52e4345 → 1.3.17-1274f5aa

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/jest.config.js CHANGED
@@ -1,6 +1,6 @@
1
1
  module.exports = {
2
2
  verbose: true,
3
- testEnvironment: 'node',
3
+ testEnvironment: 'jsdom',
4
4
  setupFilesAfterEnv: [
5
5
  './test/helpers/setup.ts'
6
6
  ]
@@ -78,7 +78,7 @@ var SolidAuthnLogic = /** @class */ (function () {
78
78
  if (app.viewingNoAuthPage) {
79
79
  return (0, rdflib_1.sym)(app.webId);
80
80
  }
81
- if (this.session.info.webId && this.session.info.isLoggedIn) {
81
+ if (this && this.session && this.session.info && this.session.info.webId && this.session.info.isLoggedIn) {
82
82
  return (0, rdflib_1.sym)(this.session.info.webId);
83
83
  }
84
84
  return (0, authUtil_1.offlineTestID)(); // null unless testing
@@ -1 +1 @@
1
- {"version":3,"file":"SolidAuthnLogic.js","sourceRoot":"","sources":["../../src/authn/SolidAuthnLogic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SolidAuthnLogic.js","sourceRoot":"","sources":["../../src/authn/SolidAuthnLogic.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,41 @@
1
1
  import { NamedNode, LiveStore } from "rdflib";
2
- declare type TypeIndex = {
2
+ declare type TypeIndexScope = {
3
3
  label: string;
4
4
  index: NamedNode;
5
5
  agent: NamedNode;
6
6
  };
7
- export declare function loadProfile(store: LiveStore, user: any): Promise<any>;
8
- export declare function loadPreferences(store: LiveStore, user: any): Promise<NamedNode | undefined>;
9
- export declare function loadTypeIndexesFor(store: LiveStore, user: NamedNode): Promise<Array<TypeIndex>>;
10
- export declare function loadCommunityTypeIndexes(store: LiveStore, user: NamedNode): Promise<TypeIndex[][]>;
11
- export declare function loadAllTypeIndexes(store: LiveStore, user: NamedNode): Promise<TypeIndex[]>;
7
+ declare type ScopedApp = {
8
+ instance: NamedNode;
9
+ scope: TypeIndexScope;
10
+ };
11
+ /** Create a resource if it really does not exist
12
+ * Be absolutely sure something does not exist before creating a new empty file
13
+ * as otherwise existing could be deleted.
14
+ * @param doc {NamedNode} - The resource
15
+ */
16
+ export declare function loadOrCreateIfNotExists(store: LiveStore, doc: NamedNode): Promise<any>;
17
+ export declare function suggestPreferencesFile(me: NamedNode): NamedNode;
18
+ export declare function suggestPublicTypeIndex(me: NamedNode): NamedNode;
19
+ export declare function suggestPrivateTypeIndex(preferencesFile: NamedNode): NamedNode;
20
+ export declare function followOrCreateLink(store: LiveStore, subject: NamedNode, predicate: NamedNode, object: NamedNode, doc: NamedNode): Promise<NamedNode | null>;
21
+ export declare function loadProfile(store: LiveStore, user: NamedNode): Promise<NamedNode>;
22
+ export declare function loadPreferences(store: LiveStore, user: NamedNode): Promise<NamedNode | undefined>;
23
+ export declare function loadTypeIndexesFor(store: LiveStore, user: NamedNode): Promise<Array<TypeIndexScope>>;
24
+ export declare function loadCommunityTypeIndexes(store: LiveStore, user: NamedNode): Promise<TypeIndexScope[][]>;
25
+ export declare function loadAllTypeIndexes(store: LiveStore, user: NamedNode): Promise<TypeIndexScope[]>;
26
+ export declare function uniqueNodes(arr: NamedNode[]): NamedNode[];
27
+ export declare function getScopedAppsFromIndex(store: any, scope: any, theClass: NamedNode | null): Promise<{
28
+ instance: NamedNode;
29
+ scope: any;
30
+ }[]>;
31
+ export declare function getScopedAppInstances(store: LiveStore, klass: NamedNode, user: NamedNode): Promise<ScopedApp[]>;
32
+ export declare function getAppInstances(store: LiveStore, klass: NamedNode): Promise<NamedNode[]>;
33
+ /**
34
+ * Register a new app in a type index
35
+ * used in chat in bookmark.js (solid-ui)
36
+ * Returns the registration object if successful else null
37
+ */
38
+ export declare function registerInstanceInTypeIndex(store: LiveStore, instance: NamedNode, index: NamedNode, theClass: NamedNode): Promise<NamedNode | null>;
39
+ export declare function deleteTypeIndexRegistration(store: LiveStore, item: any): Promise<void>;
12
40
  export {};
13
41
  //# sourceMappingURL=discoveryLogic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"discoveryLogic.d.ts","sourceRoot":"","sources":["../../src/discovery/discoveryLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEzD,aAAK,SAAS,GAAG;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAE;AAOzE,wBAAsB,WAAW,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,KAAA,gBAUvD;AAED,wBAAsB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,KAAA,GAAG,OAAO,CAAE,SAAS,GAAG,SAAS,CAAE,CAc9F;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAqBpG;AAED,wBAAsB,wBAAwB,CAAE,KAAK,EAAC,SAAS,EAAE,IAAI,EAAC,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAmBvG;AAED,wBAAsB,kBAAkB,CAAE,KAAK,EAAC,SAAS,EAAE,IAAI,EAAC,SAAS,wBAExE"}
1
+ {"version":3,"file":"discoveryLogic.d.ts","sourceRoot":"","sources":["../../src/discovery/discoveryLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,SAAS,EAAW,MAAM,QAAQ,CAAC;AAMlE,aAAK,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,SAAS,CAAA;CAAE,CAAE;AAC7E,aAAK,SAAS,GAAG;IAAE,QAAQ,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,CAAA;AAiB/D;;;;GAIG;AACH,wBAAsB,uBAAuB,CAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,gBAmB9E;AAED,wBAAgB,sBAAsB,CAAE,EAAE,EAAC,SAAS,aAMnD;AAED,wBAAgB,sBAAsB,CAAE,EAAE,EAAC,SAAS,aAEnD;AAGD,wBAAgB,uBAAuB,CAAE,eAAe,EAAC,SAAS,aAEjE;AAKD,wBAAsB,kBAAkB,CAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAC/F,MAAM,EAAE,SAAS,EAAE,GAAG,EAAC,SAAS,GAAE,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAsB/D;AAED,wBAAsB,WAAW,CAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,sBAUnE;AAED,wBAAsB,eAAe,CAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,OAAO,CAAE,SAAS,GAAG,SAAS,CAAE,CAkB1G;AAED,wBAAsB,kBAAkB,CAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAwC1G;AAED,wBAAsB,wBAAwB,CAAE,KAAK,EAAC,SAAS,EAAE,IAAI,EAAC,SAAS,GAAG,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAa5G;AAED,wBAAsB,kBAAkB,CAAE,KAAK,EAAC,SAAS,EAAE,IAAI,EAAC,SAAS,6BAExE;AAID,wBAAgB,WAAW,CAAE,GAAG,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAM1D;AAED,wBAAsB,sBAAsB,CAAE,KAAK,KAAA,EAAE,KAAK,KAAA,EAAE,QAAQ,EAAE,SAAS,GAAG,IAAI;;;KAwBrF;AAGD,wBAAsB,qBAAqB,CAAE,KAAK,EAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAQpH;AAID,wBAAsB,eAAe,CAAE,KAAK,EAAC,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAK9F;AACD;;;;GAIG;AACH,wBAAsB,2BAA2B,CAC/C,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,SAAS,EACnB,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,SAAS,GAElB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAgB3B;AAED,wBAAsB,2BAA2B,CAAE,KAAK,EAAE,SAAS,EAAE,IAAI,KAAA,iBAKxE"}
@@ -36,15 +36,133 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.loadAllTypeIndexes = exports.loadCommunityTypeIndexes = exports.loadTypeIndexesFor = exports.loadPreferences = exports.loadProfile = void 0;
39
+ exports.deleteTypeIndexRegistration = exports.registerInstanceInTypeIndex = exports.getAppInstances = exports.getScopedAppInstances = exports.getScopedAppsFromIndex = exports.uniqueNodes = exports.loadAllTypeIndexes = exports.loadCommunityTypeIndexes = exports.loadTypeIndexesFor = exports.loadPreferences = exports.loadProfile = exports.followOrCreateLink = exports.suggestPrivateTypeIndex = exports.suggestPublicTypeIndex = exports.suggestPreferencesFile = exports.loadOrCreateIfNotExists = void 0;
40
40
  var rdflib_1 = require("rdflib");
41
+ var solidLogicSingleton_1 = require("../logic/solidLogicSingleton");
42
+ var uri_1 = require("../util/uri");
43
+ var authn = solidLogicSingleton_1.solidLogicSingleton.authn;
44
+ var currentUser = authn.currentUser;
41
45
  var ns = {
46
+ dct: (0, rdflib_1.Namespace)('http://purl.org/dc/terms/'),
47
+ ldp: (0, rdflib_1.Namespace)('http://www.w3.org/ns/ldp#'),
48
+ meeting: (0, rdflib_1.Namespace)('http://www.w3.org/ns/pim/meeting#'),
49
+ rdf: (0, rdflib_1.Namespace)('http://www.w3.org/1999/02/22-rdf-syntax-ns#'),
50
+ schema: (0, rdflib_1.Namespace)('http://schema.org/'),
42
51
  solid: (0, rdflib_1.Namespace)('http://www.w3.org/ns/solid/terms#'),
43
- space: (0, rdflib_1.Namespace)('http://www.w3.org/ns/pim/space#')
52
+ space: (0, rdflib_1.Namespace)('http://www.w3.org/ns/pim/space#'),
53
+ stat: (0, rdflib_1.Namespace)('http://www.w3.org/ns/posix/stat#'),
54
+ vcard: (0, rdflib_1.Namespace)('http://www.w3.org/2006/vcard/ns#'),
55
+ wf: (0, rdflib_1.Namespace)('http://www.w3.org/2005/01/wf/flow#'),
56
+ xsd: (0, rdflib_1.Namespace)('http://www.w3.org/2001/XMLSchema#')
44
57
  };
58
+ /** Create a resource if it really does not exist
59
+ * Be absolutely sure something does not exist before creating a new empty file
60
+ * as otherwise existing could be deleted.
61
+ * @param doc {NamedNode} - The resource
62
+ */
63
+ function loadOrCreateIfNotExists(store, doc) {
64
+ return __awaiter(this, void 0, void 0, function () {
65
+ var response, err_1, msg, msg;
66
+ return __generator(this, function (_a) {
67
+ switch (_a.label) {
68
+ case 0:
69
+ _a.trys.push([0, 2, , 3]);
70
+ return [4 /*yield*/, store.fetcher.load(doc)];
71
+ case 1:
72
+ response = _a.sent();
73
+ return [3 /*break*/, 3];
74
+ case 2:
75
+ err_1 = _a.sent();
76
+ if (err_1.response.status === 404) {
77
+ try {
78
+ store.fetcher.webOperation('PUT', doc, { data: '', contentType: 'text/turtle' });
79
+ }
80
+ catch (err) {
81
+ msg = 'createIfNotExists: PUT FAILED: ' + doc + ': ' + err;
82
+ throw new Error(msg);
83
+ }
84
+ delete store.fetcher.requested[doc.uri]; // delete cached 404 error
85
+ }
86
+ else {
87
+ msg = 'createIfNotExists doc load error NOT 404: ' + doc + ': ' + err_1;
88
+ throw new Error(msg); // @@ add nested errors
89
+ }
90
+ return [3 /*break*/, 3];
91
+ case 3: return [2 /*return*/, response];
92
+ }
93
+ });
94
+ });
95
+ }
96
+ exports.loadOrCreateIfNotExists = loadOrCreateIfNotExists;
97
+ function suggestPreferencesFile(me) {
98
+ var stripped = me.uri.replace('/profile/', '/').replace('/public/', '/');
99
+ // const stripped = me.uri.replace(\/[p|P]rofile/\g, '/').replace(\/[p|P]ublic/\g, '/')
100
+ var folderURI = stripped.split('/').slice(0, -1).join('/') + '/Settings/';
101
+ var fileURI = folderURI + 'Preferences.ttl';
102
+ return (0, rdflib_1.sym)(fileURI);
103
+ }
104
+ exports.suggestPreferencesFile = suggestPreferencesFile;
105
+ function suggestPublicTypeIndex(me) {
106
+ var _a;
107
+ return (0, rdflib_1.sym)(((_a = me.doc().dir()) === null || _a === void 0 ? void 0 : _a.uri) + 'publicTypeIndex.ttl');
108
+ }
109
+ exports.suggestPublicTypeIndex = suggestPublicTypeIndex;
110
+ // Note this one is based off the pref file not the profile
111
+ function suggestPrivateTypeIndex(preferencesFile) {
112
+ var _a;
113
+ return (0, rdflib_1.sym)(((_a = preferencesFile.doc().dir()) === null || _a === void 0 ? void 0 : _a.uri) + 'privateTypeIndex.ttl');
114
+ }
115
+ exports.suggestPrivateTypeIndex = suggestPrivateTypeIndex;
116
+ /* Follow link from this doc to another thing, or else make a new link
117
+ **
118
+ ** return: null no ld one and failed to make a new one
119
+ */
120
+ function followOrCreateLink(store, subject, predicate, object, doc) {
121
+ return __awaiter(this, void 0, void 0, function () {
122
+ var result, err_2, err_3;
123
+ return __generator(this, function (_a) {
124
+ switch (_a.label) {
125
+ case 0: return [4 /*yield*/, store.fetcher.load(doc)];
126
+ case 1:
127
+ _a.sent();
128
+ result = store.any(subject, predicate, null, doc);
129
+ if (result)
130
+ return [2 /*return*/, result];
131
+ if (!store.updater.editable(doc)) {
132
+ return [2 /*return*/, null];
133
+ }
134
+ _a.label = 2;
135
+ case 2:
136
+ _a.trys.push([2, 4, , 5]);
137
+ return [4 /*yield*/, store.updater.update([], [(0, rdflib_1.st)(subject, predicate, object, doc)])];
138
+ case 3:
139
+ _a.sent();
140
+ return [3 /*break*/, 5];
141
+ case 4:
142
+ err_2 = _a.sent();
143
+ console.warn("followOrCreateLink: Error making link in ".concat(doc, " to ").concat(object, ": ").concat(err_2));
144
+ return [2 /*return*/, null];
145
+ case 5:
146
+ _a.trys.push([5, 7, , 8]);
147
+ return [4 /*yield*/, loadOrCreateIfNotExists(store, object)
148
+ // store.fetcher.webOperation('PUT', object, { data: '', contentType: 'text/turtle'})
149
+ ];
150
+ case 6:
151
+ _a.sent();
152
+ return [3 /*break*/, 8];
153
+ case 7:
154
+ err_3 = _a.sent();
155
+ console.warn("followOrCreateLink: Error loading or saving new linked document: ".concat(object, ": ").concat(err_3));
156
+ return [3 /*break*/, 8];
157
+ case 8: return [2 /*return*/, object];
158
+ }
159
+ });
160
+ });
161
+ }
162
+ exports.followOrCreateLink = followOrCreateLink;
45
163
  function loadProfile(store, user) {
46
164
  return __awaiter(this, void 0, void 0, function () {
47
- var err_1;
165
+ var err_4;
48
166
  return __generator(this, function (_a) {
49
167
  switch (_a.label) {
50
168
  case 0:
@@ -59,8 +177,8 @@ function loadProfile(store, user) {
59
177
  _a.sent();
60
178
  return [3 /*break*/, 4];
61
179
  case 3:
62
- err_1 = _a.sent();
63
- throw new Error("Unable to load profile of user <".concat(user, ">: ").concat(err_1));
180
+ err_4 = _a.sent();
181
+ throw new Error("Unable to load profile of user ".concat(user, ": ").concat(err_4));
64
182
  case 4: return [2 /*return*/, user.doc()];
65
183
  }
66
184
  });
@@ -69,27 +187,32 @@ function loadProfile(store, user) {
69
187
  exports.loadProfile = loadProfile;
70
188
  function loadPreferences(store, user) {
71
189
  return __awaiter(this, void 0, void 0, function () {
72
- var profile, preferencesFile;
190
+ var possiblePreferencesFile, preferencesFile, message, err_5;
73
191
  return __generator(this, function (_a) {
74
192
  switch (_a.label) {
75
193
  case 0: return [4 /*yield*/, loadProfile(store, user)];
76
194
  case 1:
77
- profile = _a.sent();
78
- preferencesFile = store.any(user, ns.space('preferencesFile'), undefined, profile);
195
+ _a.sent();
196
+ possiblePreferencesFile = suggestPreferencesFile(user);
197
+ return [4 /*yield*/, followOrCreateLink(store, user, ns.space('preferencesFile'), possiblePreferencesFile, user.doc())];
198
+ case 2:
199
+ preferencesFile = _a.sent();
79
200
  if (!preferencesFile) {
80
- // throw new Error(`USer ${user} has no pointer in profile to preferences file.`)
201
+ message = "User ".concat(user, " has no pointer in profile to preferences file.");
202
+ console.warn(message);
81
203
  return [2 /*return*/, undefined];
82
204
  }
83
- try {
84
- store.fetcher.load(preferencesFile);
85
- }
86
- catch (err) { // Mabeb a permission propblem or origin problem
87
- return [2 /*return*/, undefined
88
- // throw new Error(`Unable to load preferences file ${preferencesFile} of user <${user}>: ${err}`)
89
- ];
90
- // throw new Error(`Unable to load preferences file ${preferencesFile} of user <${user}>: ${err}`)
91
- }
92
- return [2 /*return*/, preferencesFile];
205
+ _a.label = 3;
206
+ case 3:
207
+ _a.trys.push([3, 5, , 6]);
208
+ return [4 /*yield*/, store.fetcher.load(preferencesFile)];
209
+ case 4:
210
+ _a.sent();
211
+ return [3 /*break*/, 6];
212
+ case 5:
213
+ err_5 = _a.sent();
214
+ return [2 /*return*/, undefined];
215
+ case 6: return [2 /*return*/, preferencesFile];
93
216
  }
94
217
  });
95
218
  });
@@ -97,7 +220,7 @@ function loadPreferences(store, user) {
97
220
  exports.loadPreferences = loadPreferences;
98
221
  function loadTypeIndexesFor(store, user) {
99
222
  return __awaiter(this, void 0, void 0, function () {
100
- var profile, publicTypeIndex, _a, pub, preferencesFile, privateTypeIndexes, priv;
223
+ var profile, suggestion, publicTypeIndex, publicScopes, preferencesFile, err_6, privateScopes, suggestedPrivateTypeIndex, privateTypeIndex, _a, scopes, files, err_7;
101
224
  return __generator(this, function (_b) {
102
225
  switch (_b.label) {
103
226
  case 0:
@@ -106,30 +229,55 @@ function loadTypeIndexesFor(store, user) {
106
229
  return [4 /*yield*/, loadProfile(store, user)];
107
230
  case 1:
108
231
  profile = _b.sent();
109
- publicTypeIndex = store.any(user, ns.solid('publicTypeIndex'), undefined, profile);
110
- if (!publicTypeIndex) return [3 /*break*/, 5];
111
- _b.label = 2;
232
+ suggestion = suggestPublicTypeIndex(user);
233
+ return [4 /*yield*/, followOrCreateLink(store, user, ns.solid('publicTypeIndex'), suggestion, profile)];
112
234
  case 2:
113
- _b.trys.push([2, 4, , 5]);
114
- return [4 /*yield*/, store.fetcher.load(publicTypeIndex)];
235
+ publicTypeIndex = _b.sent();
236
+ publicScopes = publicTypeIndex ? [{ label: 'public', index: publicTypeIndex, agent: user }] : [];
237
+ _b.label = 3;
115
238
  case 3:
116
- _b.sent();
117
- return [3 /*break*/, 5];
239
+ _b.trys.push([3, 5, , 6]);
240
+ return [4 /*yield*/, loadPreferences(store, user)];
118
241
  case 4:
119
- _a = _b.sent();
120
- return [3 /*break*/, 5];
242
+ preferencesFile = _b.sent();
243
+ return [3 /*break*/, 6];
121
244
  case 5:
122
- pub = publicTypeIndex ? [{ label: 'public', index: publicTypeIndex, agent: user }] : [];
123
- return [4 /*yield*/, loadPreferences(store, user)];
245
+ err_6 = _b.sent();
246
+ preferencesFile = null;
247
+ return [3 /*break*/, 6];
124
248
  case 6:
125
- preferencesFile = _b.sent();
126
- if (preferencesFile) { // watch out - can be in either as spec was not clear
127
- privateTypeIndexes = store.each(user, ns.solid('privateTypeIndex'), undefined, preferencesFile)
128
- .concat(store.each(user, ns.solid('privateTypeIndex'), undefined, profile));
129
- priv = privateTypeIndexes.length > 0 ? [{ label: 'priSo @@@@@vate', index: privateTypeIndexes[0], agent: user }] : [];
130
- return [2 /*return*/, pub.concat(priv)];
131
- }
132
- return [2 /*return*/, pub];
249
+ if (!preferencesFile) return [3 /*break*/, 9];
250
+ suggestedPrivateTypeIndex = suggestPrivateTypeIndex(preferencesFile);
251
+ _a = store.any(user, ns.solid('privateTypeIndex'), undefined, profile);
252
+ if (_a) return [3 /*break*/, 8];
253
+ return [4 /*yield*/, followOrCreateLink(store, user, ns.solid('privateTypeIndex'), suggestedPrivateTypeIndex, preferencesFile)];
254
+ case 7:
255
+ _a = (_b.sent());
256
+ _b.label = 8;
257
+ case 8:
258
+ privateTypeIndex = _a;
259
+ privateScopes = privateTypeIndex ? [{ label: 'private', index: privateTypeIndex, agent: user }] : [];
260
+ return [3 /*break*/, 10];
261
+ case 9:
262
+ privateScopes = [];
263
+ _b.label = 10;
264
+ case 10:
265
+ scopes = publicScopes.concat(privateScopes);
266
+ if (scopes.length === 0)
267
+ return [2 /*return*/, scopes];
268
+ files = scopes.map(function (scope) { return scope.index; });
269
+ _b.label = 11;
270
+ case 11:
271
+ _b.trys.push([11, 13, , 14]);
272
+ return [4 /*yield*/, store.fetcher.load(files)];
273
+ case 12:
274
+ _b.sent();
275
+ return [3 /*break*/, 14];
276
+ case 13:
277
+ err_7 = _b.sent();
278
+ console.warn('Problems loading type index: ', err_7);
279
+ return [3 /*break*/, 14];
280
+ case 14: return [2 /*return*/, scopes];
133
281
  }
134
282
  });
135
283
  });
@@ -137,44 +285,30 @@ function loadTypeIndexesFor(store, user) {
137
285
  exports.loadTypeIndexesFor = loadTypeIndexesFor;
138
286
  function loadCommunityTypeIndexes(store, user) {
139
287
  return __awaiter(this, void 0, void 0, function () {
140
- var preferencesFile, communities, communityTypeIndexesPromise, result1;
141
- var _this = this;
142
- return __generator(this, function (_a) {
143
- switch (_a.label) {
288
+ var preferencesFile, communities, result, _i, communities_1, org, _a, _b;
289
+ return __generator(this, function (_c) {
290
+ switch (_c.label) {
144
291
  case 0: return [4 /*yield*/, loadPreferences(store, user)];
145
292
  case 1:
146
- preferencesFile = _a.sent();
147
- if (preferencesFile) {
148
- communities = store.each(user, ns.solid('community'), undefined, preferencesFile);
149
- communityTypeIndexesPromise = communities.map(function (community) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
150
- switch (_a.label) {
151
- case 0: return [4 /*yield*/, loadTypeIndexesFor(store, community)];
152
- case 1: return [2 /*return*/, _a.sent()];
153
- }
154
- }); }); });
155
- result1 = Promise.all(communityTypeIndexesPromise);
156
- // const result2 = Promise.all(result1)
157
- // const flat = result2.flat()
158
- return [2 /*return*/, result1
159
- // const communityTypeIndexes = await Promise.all(communityTypeIndexesPromise)
160
- /*
161
- let result = [] as TypeIndex[]
162
- for(const community of communities) {
163
- result = result.concat(await loadTypeIndexesFor(store, community as NamedNode)) as TypeIndex[] // @@ how oto make functional with async?
164
- }
165
- */
166
- // return communityTypeIndexesPromise.resolve()
167
- ];
168
- // const communityTypeIndexes = await Promise.all(communityTypeIndexesPromise)
169
- /*
170
- let result = [] as TypeIndex[]
171
- for(const community of communities) {
172
- result = result.concat(await loadTypeIndexesFor(store, community as NamedNode)) as TypeIndex[] // @@ how oto make functional with async?
173
- }
174
- */
175
- // return communityTypeIndexesPromise.resolve()
176
- }
177
- return [2 /*return*/, []];
293
+ preferencesFile = _c.sent();
294
+ if (!preferencesFile) return [3 /*break*/, 6];
295
+ communities = store.each(user, ns.solid('community'), undefined, preferencesFile).concat(store.each(user, ns.solid('community'), undefined, user.doc()));
296
+ result = [];
297
+ _i = 0, communities_1 = communities;
298
+ _c.label = 2;
299
+ case 2:
300
+ if (!(_i < communities_1.length)) return [3 /*break*/, 5];
301
+ org = communities_1[_i];
302
+ _b = (_a = result).concat;
303
+ return [4 /*yield*/, loadTypeIndexesFor(store, org)];
304
+ case 3:
305
+ result = _b.apply(_a, [_c.sent()]);
306
+ _c.label = 4;
307
+ case 4:
308
+ _i++;
309
+ return [3 /*break*/, 2];
310
+ case 5: return [2 /*return*/, result];
311
+ case 6: return [2 /*return*/, []]; // No communities
178
312
  }
179
313
  });
180
314
  });
@@ -195,9 +329,157 @@ function loadAllTypeIndexes(store, user) {
195
329
  });
196
330
  }
197
331
  exports.loadAllTypeIndexes = loadAllTypeIndexes;
198
- /*
199
- export async function getAppInstances (store:LiveStore, klass: NamedNode) {
200
-
332
+ // Utility: remove duplicates from Array of NamedNodes
333
+ function uniqueNodes(arr) {
334
+ var uris = arr.map(function (x) { return x.uri; });
335
+ var set = new Set(uris);
336
+ var uris2 = Array.from(set);
337
+ var arr2 = uris2.map(function (u) { return new rdflib_1.NamedNode(u); });
338
+ return arr2; // Array.from(new Set(arr.map(x => x.uri))).map(u => sym(u))
201
339
  }
202
- */
340
+ exports.uniqueNodes = uniqueNodes;
341
+ function getScopedAppsFromIndex(store, scope, theClass) {
342
+ return __awaiter(this, void 0, void 0, function () {
343
+ var index, registrations, relevant, directInstances, instances, instanceContainers, containers, i, cont, contents;
344
+ return __generator(this, function (_a) {
345
+ switch (_a.label) {
346
+ case 0:
347
+ index = scope.index;
348
+ registrations = store.statementsMatching(null, ns.solid('instance'), null, index)
349
+ .concat(store.statementsMatching(null, ns.solid('instanceContainer'), null, index))
350
+ .map(function (st) { return st.subject; });
351
+ relevant = theClass ? registrations.filter(function (reg) { return store.any(reg, ns.solid('forClass'), null, index).sameTerm(theClass); })
352
+ : registrations;
353
+ directInstances = relevant.map(function (reg) { return store.each(reg, ns.solid('instance'), null, index); }).flat();
354
+ instances = uniqueNodes(directInstances);
355
+ instanceContainers = relevant.map(function (reg) { return store.each(reg, ns.solid('instanceContainer'), null, index); }).flat();
356
+ containers = uniqueNodes(instanceContainers);
357
+ if (containers.length > 0) {
358
+ console.log('@@ getScopedAppsFromIndex containers ', containers);
359
+ }
360
+ i = 0;
361
+ _a.label = 1;
362
+ case 1:
363
+ if (!(i < containers.length)) return [3 /*break*/, 4];
364
+ cont = containers[i];
365
+ return [4 /*yield*/, store.fetcher.load(cont)];
366
+ case 2:
367
+ _a.sent();
368
+ contents = store.each(cont, ns.ldp('contains'), null, cont);
369
+ instances = instances.concat(contents);
370
+ _a.label = 3;
371
+ case 3:
372
+ i++;
373
+ return [3 /*break*/, 1];
374
+ case 4: return [2 /*return*/, instances.map(function (instance) { return { instance: instance, scope: scope }; })];
375
+ }
376
+ });
377
+ });
378
+ }
379
+ exports.getScopedAppsFromIndex = getScopedAppsFromIndex;
380
+ function getScopedAppInstances(store, klass, user) {
381
+ return __awaiter(this, void 0, void 0, function () {
382
+ var scopes, scopedApps, _i, scopes_1, scope, scopedApps0;
383
+ return __generator(this, function (_a) {
384
+ switch (_a.label) {
385
+ case 0: return [4 /*yield*/, loadAllTypeIndexes(store, user)];
386
+ case 1:
387
+ scopes = _a.sent();
388
+ scopedApps = [];
389
+ _i = 0, scopes_1 = scopes;
390
+ _a.label = 2;
391
+ case 2:
392
+ if (!(_i < scopes_1.length)) return [3 /*break*/, 5];
393
+ scope = scopes_1[_i];
394
+ return [4 /*yield*/, getScopedAppsFromIndex(store, scope, klass)];
395
+ case 3:
396
+ scopedApps0 = _a.sent();
397
+ scopedApps = scopedApps.concat(scopedApps0);
398
+ _a.label = 4;
399
+ case 4:
400
+ _i++;
401
+ return [3 /*break*/, 2];
402
+ case 5: return [2 /*return*/, scopedApps];
403
+ }
404
+ });
405
+ });
406
+ }
407
+ exports.getScopedAppInstances = getScopedAppInstances;
408
+ // This is the function signature which used to be in solid-ui/logic
409
+ // Recommended to use getScopedAppInstances instead as it provides more information.
410
+ //
411
+ function getAppInstances(store, klass) {
412
+ return __awaiter(this, void 0, void 0, function () {
413
+ var user, scopedAppInstances;
414
+ return __generator(this, function (_a) {
415
+ switch (_a.label) {
416
+ case 0:
417
+ user = currentUser();
418
+ if (!user)
419
+ throw new Error('getAppInstances: Must be logged in to find apps.');
420
+ return [4 /*yield*/, getScopedAppInstances(store, klass, user)];
421
+ case 1:
422
+ scopedAppInstances = _a.sent();
423
+ return [2 /*return*/, scopedAppInstances.map(function (scoped) { return scoped.instance; })];
424
+ }
425
+ });
426
+ });
427
+ }
428
+ exports.getAppInstances = getAppInstances;
429
+ /**
430
+ * Register a new app in a type index
431
+ * used in chat in bookmark.js (solid-ui)
432
+ * Returns the registration object if successful else null
433
+ */
434
+ function registerInstanceInTypeIndex(store, instance, index, theClass) {
435
+ return __awaiter(this, void 0, void 0, function () {
436
+ var registration, ins, err_8, msg;
437
+ return __generator(this, function (_a) {
438
+ switch (_a.label) {
439
+ case 0:
440
+ registration = (0, uri_1.newThing)(index);
441
+ ins = [
442
+ // See https://github.com/solid/solid/blob/main/proposals/data-discovery.md
443
+ (0, rdflib_1.st)(registration, ns.rdf('type'), ns.solid('TypeRegistration'), index),
444
+ (0, rdflib_1.st)(registration, ns.solid('forClass'), theClass, index),
445
+ (0, rdflib_1.st)(registration, ns.solid('instance'), instance, index)
446
+ ];
447
+ _a.label = 1;
448
+ case 1:
449
+ _a.trys.push([1, 3, , 4]);
450
+ return [4 /*yield*/, store.updater.update([], ins)];
451
+ case 2:
452
+ _a.sent();
453
+ return [3 /*break*/, 4];
454
+ case 3:
455
+ err_8 = _a.sent();
456
+ msg = "Unable to register ".concat(instance, " in index ").concat(index, ": ").concat(err_8);
457
+ console.warn(msg);
458
+ return [2 /*return*/, null];
459
+ case 4: return [2 /*return*/, registration];
460
+ }
461
+ });
462
+ });
463
+ }
464
+ exports.registerInstanceInTypeIndex = registerInstanceInTypeIndex;
465
+ function deleteTypeIndexRegistration(store, item) {
466
+ return __awaiter(this, void 0, void 0, function () {
467
+ var reg, statements;
468
+ return __generator(this, function (_a) {
469
+ switch (_a.label) {
470
+ case 0:
471
+ reg = store.the(null, ns.solid('instance'), item.instance, item.scope.index);
472
+ if (!reg)
473
+ throw new Error("deleteTypeIndexRegistration: No registration found for ".concat(item.instance));
474
+ statements = store.statementsMatching(reg, null, null, item.scope.index);
475
+ return [4 /*yield*/, store.updater.update(statements, [])];
476
+ case 1:
477
+ _a.sent();
478
+ return [2 /*return*/];
479
+ }
480
+ });
481
+ });
482
+ }
483
+ exports.deleteTypeIndexRegistration = deleteTypeIndexRegistration;
484
+ // ENDS
203
485
  //# sourceMappingURL=discoveryLogic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discoveryLogic.js","sourceRoot":"","sources":["../../src/discovery/discoveryLogic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discoveryLogic.js","sourceRoot":"","sources":["../../src/discovery/discoveryLogic.ts"],"names":[],"mappings":"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"}