solid-logic 1.3.14-fd51b121 → 1.3.15-b1f4b69f
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/.github/workflows/ci.yml +0 -1
- package/.nvmrc +1 -0
- package/lib/discovery/discoveryLogic.d.ts +13 -0
- package/lib/discovery/discoveryLogic.d.ts.map +1 -0
- package/lib/discovery/discoveryLogic.js +203 -0
- package/lib/discovery/discoveryLogic.js.map +1 -0
- package/lib/inbox/InboxLogic.js +2 -2
- package/lib/inbox/InboxLogic.js.map +1 -1
- package/lib/index.d.ts +1 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +7 -1
- package/lib/index.js.map +1 -1
- package/lib/logic/SolidLogic.d.ts +2 -3
- package/lib/logic/SolidLogic.d.ts.map +1 -1
- package/lib/logic/SolidLogic.js +40 -40
- package/lib/logic/SolidLogic.js.map +1 -1
- package/lib/typeIndex/typeIndexLogic.d.ts +4 -4
- package/lib/typeIndex/typeIndexLogic.d.ts.map +1 -1
- package/lib/typeIndex/typeIndexLogic.js +95 -31
- package/lib/typeIndex/typeIndexLogic.js.map +1 -1
- package/lib/util/UtilityLogic.d.ts +2 -2
- package/lib/util/UtilityLogic.d.ts.map +1 -1
- package/lib/util/UtilityLogic.js +6 -6
- package/lib/util/UtilityLogic.js.map +1 -1
- package/package.json +13 -13
- package/src/discovery/discoveryLogic.ts +90 -0
- package/src/inbox/InboxLogic.ts +2 -2
- package/src/index.ts +10 -0
- package/src/logic/SolidLogic.ts +29 -32
- package/src/typeIndex/typeIndexLogic.ts +94 -61
- package/src/util/UtilityLogic.ts +8 -8
- package/test/chatLogic.test.ts +1 -1
- package/test/typeIndexLogic.test.ts +18 -3
|
@@ -69,11 +69,35 @@ var solid_namespace_1 = __importDefault(require("solid-namespace"));
|
|
|
69
69
|
var $rdf = __importStar(require("rdflib"));
|
|
70
70
|
var uri_1 = require("../util/uri");
|
|
71
71
|
var solidLogicSingleton_1 = require("../logic/solidLogicSingleton");
|
|
72
|
+
// import { ensureLoadedPreferences } from '../logic/logic'
|
|
73
|
+
var discoveryLogic_1 = require("../discovery/discoveryLogic");
|
|
72
74
|
exports.ns = (0, solid_namespace_1.default)($rdf);
|
|
75
|
+
var store = solidLogicSingleton_1.solidLogicSingleton.store;
|
|
76
|
+
function ensureLoadedPreferences(context) {
|
|
77
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
78
|
+
var _a, _b;
|
|
79
|
+
return __generator(this, function (_c) {
|
|
80
|
+
switch (_c.label) {
|
|
81
|
+
case 0:
|
|
82
|
+
if (!context.me)
|
|
83
|
+
throw new Error('@@ ensureLoadedPreferences: no user specified');
|
|
84
|
+
_a = context;
|
|
85
|
+
return [4 /*yield*/, (0, discoveryLogic_1.loadProfile)(store, context.me)];
|
|
86
|
+
case 1:
|
|
87
|
+
_a.publicProfile = _c.sent();
|
|
88
|
+
_b = context;
|
|
89
|
+
return [4 /*yield*/, (0, discoveryLogic_1.loadPreferences)(store, context.me)];
|
|
90
|
+
case 2:
|
|
91
|
+
_b.preferencesFile = _c.sent();
|
|
92
|
+
return [2 /*return*/, context];
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
}
|
|
73
97
|
/**
|
|
74
98
|
* Resolves with the same context, outputting
|
|
75
99
|
* output: index.public, index.private
|
|
76
|
-
*
|
|
100
|
+
* @@ This is a very bizare function
|
|
77
101
|
* @see https://github.com/solid/solid/blob/main/proposals/data-discovery.md#discoverability
|
|
78
102
|
*/
|
|
79
103
|
function loadIndex(context, isPublic) {
|
|
@@ -90,8 +114,10 @@ function loadIndex(context, isPublic) {
|
|
|
90
114
|
case 1:
|
|
91
115
|
indexes = _a.sent();
|
|
92
116
|
context.index = context.index || {};
|
|
93
|
-
context.index.private =
|
|
94
|
-
context.index.
|
|
117
|
+
context.index.private = context.index.private || []; // otherwise concat will wrongly add 'undefined' as a private index
|
|
118
|
+
context.index.private = indexes.private.concat(context.index.private);
|
|
119
|
+
context.index.public = context.index.public || []; // otherwise concat will wrongly add 'undefined' as a public index
|
|
120
|
+
context.index.public = indexes.public.concat(context.index.public);
|
|
95
121
|
return [2 /*return*/, context];
|
|
96
122
|
}
|
|
97
123
|
});
|
|
@@ -100,21 +126,36 @@ function loadIndex(context, isPublic) {
|
|
|
100
126
|
exports.loadIndex = loadIndex;
|
|
101
127
|
function loadTypeIndexes(context) {
|
|
102
128
|
return __awaiter(this, void 0, void 0, function () {
|
|
103
|
-
var indexes;
|
|
129
|
+
var error_1, indexes, error_2;
|
|
104
130
|
var _this = this;
|
|
105
131
|
return __generator(this, function (_a) {
|
|
106
132
|
switch (_a.label) {
|
|
107
|
-
case 0:
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
return [2 /*return*/, debug.warn(err.message)];
|
|
111
|
-
}); }); })];
|
|
133
|
+
case 0:
|
|
134
|
+
_a.trys.push([0, 2, , 3]);
|
|
135
|
+
return [4 /*yield*/, (0, discoveryLogic_1.loadPreferences)(solidLogicSingleton_1.solidLogicSingleton.store, context.me)];
|
|
112
136
|
case 1:
|
|
137
|
+
_a.sent();
|
|
138
|
+
return [3 /*break*/, 3];
|
|
139
|
+
case 2:
|
|
140
|
+
error_1 = _a.sent();
|
|
141
|
+
debug.warn(error_1.message);
|
|
142
|
+
return [3 /*break*/, 3];
|
|
143
|
+
case 3:
|
|
144
|
+
_a.trys.push([3, 5, , 6]);
|
|
145
|
+
return [4 /*yield*/, solidLogicSingleton_1.solidLogicSingleton.loadIndexes(context.me, context.publicProfile || null, context.preferencesFile || null)];
|
|
146
|
+
case 4:
|
|
113
147
|
indexes = _a.sent();
|
|
114
148
|
context.index = context.index || {};
|
|
115
149
|
context.index.private = indexes.private || context.index.private;
|
|
116
150
|
context.index.public = indexes.public || context.index.public;
|
|
117
151
|
return [2 /*return*/, context];
|
|
152
|
+
case 5:
|
|
153
|
+
error_2 = _a.sent();
|
|
154
|
+
(function (error) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
155
|
+
return [2 /*return*/, debug.warn(error.message)];
|
|
156
|
+
}); }); });
|
|
157
|
+
return [3 /*break*/, 6];
|
|
158
|
+
case 6: return [2 /*return*/];
|
|
118
159
|
}
|
|
119
160
|
});
|
|
120
161
|
});
|
|
@@ -124,14 +165,18 @@ exports.loadTypeIndexes = loadTypeIndexes;
|
|
|
124
165
|
* Resolves with the same context, outputting
|
|
125
166
|
* @see https://github.com/solid/solid/blob/main/proposals/data-discovery.md#discoverability
|
|
126
167
|
*/
|
|
127
|
-
function ensureTypeIndexes(context) {
|
|
168
|
+
function ensureTypeIndexes(context, agent) {
|
|
128
169
|
return __awaiter(this, void 0, void 0, function () {
|
|
129
170
|
return __generator(this, function (_a) {
|
|
130
171
|
switch (_a.label) {
|
|
131
|
-
case 0:
|
|
172
|
+
case 0:
|
|
173
|
+
if (!context.me) {
|
|
174
|
+
throw new Error("ensureTypeIndexes: @@ no user");
|
|
175
|
+
}
|
|
176
|
+
return [4 /*yield*/, ensureOneTypeIndex(context, true, agent)];
|
|
132
177
|
case 1:
|
|
133
178
|
_a.sent();
|
|
134
|
-
return [4 /*yield*/, ensureOneTypeIndex(context, false)];
|
|
179
|
+
return [4 /*yield*/, ensureOneTypeIndex(context, false, agent)];
|
|
135
180
|
case 2:
|
|
136
181
|
_a.sent();
|
|
137
182
|
return [2 /*return*/, context];
|
|
@@ -148,7 +193,7 @@ exports.ensureTypeIndexes = ensureTypeIndexes;
|
|
|
148
193
|
* Adds its output to the context
|
|
149
194
|
* @see https://github.com/solid/solid/blob/main/proposals/data-discovery.md#discoverability
|
|
150
195
|
*/
|
|
151
|
-
function ensureOneTypeIndex(context, isPublic) {
|
|
196
|
+
function ensureOneTypeIndex(context, isPublic, agent) {
|
|
152
197
|
return __awaiter(this, void 0, void 0, function () {
|
|
153
198
|
function makeIndexIfNecessary(context, isPublic) {
|
|
154
199
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -179,10 +224,16 @@ function ensureOneTypeIndex(context, isPublic) {
|
|
|
179
224
|
switch (_a.label) {
|
|
180
225
|
case 0:
|
|
181
226
|
relevant = isPublic ? context.publicProfile : context.preferencesFile;
|
|
227
|
+
if (!relevant)
|
|
228
|
+
alert('@@@@ relevent null');
|
|
182
229
|
visibility = isPublic ? 'public' : 'private';
|
|
183
230
|
context.index = context.index || {};
|
|
184
231
|
context.index[visibility] = context.index[visibility] || [];
|
|
185
232
|
if (!(context.index[visibility].length === 0)) return [3 /*break*/, 6];
|
|
233
|
+
if (!store.updater.editable(relevant)) {
|
|
234
|
+
debug.log("Not adding new type index as ".concat(relevant, " is not editable"));
|
|
235
|
+
return [2 /*return*/];
|
|
236
|
+
}
|
|
186
237
|
newIndex = (0, rdflib_1.sym)("".concat(relevant.dir().uri + visibility, "TypeIndex.ttl"));
|
|
187
238
|
debug.log("Linking to new fresh type index ".concat(newIndex));
|
|
188
239
|
if (!confirm("OK to create a new empty index file at ".concat(newIndex, ", overwriting anything that is now there?"))) {
|
|
@@ -231,29 +282,41 @@ function ensureOneTypeIndex(context, isPublic) {
|
|
|
231
282
|
});
|
|
232
283
|
});
|
|
233
284
|
} // makeIndexIfNecessary
|
|
234
|
-
var
|
|
285
|
+
var context2, relevant, pp, error_3;
|
|
235
286
|
return __generator(this, function (_a) {
|
|
236
287
|
switch (_a.label) {
|
|
237
|
-
case 0:
|
|
238
|
-
_a.trys.push([0, 2, , 4]);
|
|
239
|
-
return [4 /*yield*/, loadIndex(context, isPublic)];
|
|
288
|
+
case 0: return [4 /*yield*/, ensureLoadedPreferences(context)];
|
|
240
289
|
case 1:
|
|
290
|
+
context2 = _a.sent();
|
|
291
|
+
if (!context2.publicProfile)
|
|
292
|
+
throw new Error("@@ type index: no publicProfile");
|
|
293
|
+
if (!context2.preferencesFile)
|
|
294
|
+
throw new Error("@@ type index: no preferencesFile for profile ".concat(context2.publicProfile));
|
|
295
|
+
relevant = isPublic ? context2.publicProfile : context2.preferencesFile;
|
|
296
|
+
_a.label = 2;
|
|
297
|
+
case 2:
|
|
298
|
+
_a.trys.push([2, 5, , 7]);
|
|
299
|
+
return [4 /*yield*/, loadIndex(context2, isPublic)];
|
|
300
|
+
case 3:
|
|
241
301
|
_a.sent();
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
302
|
+
pp = isPublic ? 'public' : 'private';
|
|
303
|
+
if (context2.index && context2.index[pp] && context2.index[pp].length > 0) {
|
|
304
|
+
debug.log("ensureOneTypeIndex: Type index exists already ".concat(context2.index[pp]));
|
|
305
|
+
return [2 /*return*/, context2];
|
|
246
306
|
}
|
|
247
|
-
return [
|
|
248
|
-
case
|
|
249
|
-
|
|
250
|
-
return [
|
|
251
|
-
|
|
307
|
+
return [4 /*yield*/, makeIndexIfNecessary(context2, isPublic)];
|
|
308
|
+
case 4:
|
|
309
|
+
_a.sent();
|
|
310
|
+
return [3 /*break*/, 7];
|
|
311
|
+
case 5:
|
|
312
|
+
error_3 = _a.sent();
|
|
313
|
+
return [4 /*yield*/, makeIndexIfNecessary(context2, isPublic)
|
|
314
|
+
// widgets.complain(context2, 'calling loadIndex:' + error)
|
|
252
315
|
];
|
|
253
|
-
case
|
|
316
|
+
case 6:
|
|
254
317
|
_a.sent();
|
|
255
|
-
return [3 /*break*/,
|
|
256
|
-
case
|
|
318
|
+
return [3 /*break*/, 7];
|
|
319
|
+
case 7: return [2 /*return*/];
|
|
257
320
|
}
|
|
258
321
|
});
|
|
259
322
|
});
|
|
@@ -262,12 +325,13 @@ function ensureOneTypeIndex(context, isPublic) {
|
|
|
262
325
|
* Register a new app in a type index
|
|
263
326
|
* used in chat in bookmark.js (solid-ui)
|
|
264
327
|
*/
|
|
265
|
-
function registerInTypeIndex(context, instance, theClass, isPublic
|
|
328
|
+
function registerInTypeIndex(context, instance, theClass, isPublic, agent // Defaults to current user
|
|
329
|
+
) {
|
|
266
330
|
return __awaiter(this, void 0, void 0, function () {
|
|
267
331
|
var indexes, index, registration, ins, e_2;
|
|
268
332
|
return __generator(this, function (_a) {
|
|
269
333
|
switch (_a.label) {
|
|
270
|
-
case 0: return [4 /*yield*/, ensureOneTypeIndex(context, isPublic)];
|
|
334
|
+
case 0: return [4 /*yield*/, ensureOneTypeIndex(context, isPublic, agent)];
|
|
271
335
|
case 1:
|
|
272
336
|
_a.sent();
|
|
273
337
|
if (!context.index) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeIndexLogic.js","sourceRoot":"","sources":["../../src/typeIndex/typeIndexLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA2C;AAC3C,mDAAsC;AACtC,oEAA4C;AAC5C,2CAA8B;AAC9B,mCAAsC;AAEtC,oEAAkE;
|
|
1
|
+
{"version":3,"file":"typeIndexLogic.js","sourceRoot":"","sources":["../../src/typeIndex/typeIndexLogic.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,10 @@ export declare const ACL_LINK: NamedNode;
|
|
|
7
7
|
export declare class UtilityLogic {
|
|
8
8
|
store: LiveStore;
|
|
9
9
|
ns: SolidNamespace;
|
|
10
|
-
|
|
10
|
+
underlyingFetch: {
|
|
11
11
|
fetch: (url: string, options?: any) => any;
|
|
12
12
|
};
|
|
13
|
-
constructor(store: LiveStore, ns: SolidNamespace,
|
|
13
|
+
constructor(store: LiveStore, ns: SolidNamespace, underlyingFetch: {
|
|
14
14
|
fetch: (url: string, options?: any) => any;
|
|
15
15
|
});
|
|
16
16
|
findAclDocUrl(url: string): Promise<string>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UtilityLogic.d.ts","sourceRoot":"","sources":["../../src/util/UtilityLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,eAAO,MAAM,QAAQ,WAEpB,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,cAAc,CAAC;IACnB,
|
|
1
|
+
{"version":3,"file":"UtilityLogic.d.ts","sourceRoot":"","sources":["../../src/util/UtilityLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,eAAO,MAAM,QAAQ,WAEpB,CAAC;AAEF;;GAEG;AACH,qBAAa,YAAY;IACvB,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,cAAc,CAAC;IACnB,eAAe,EAAE;QAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,CAAC;gBAEpD,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,eAAe,EAAE;QAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE;IAM3G,aAAa,CAAC,GAAG,EAAE,MAAM;IAWzB,mBAAmB,CAAC,OAAO,EAAE;QACjC,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,EAAE,MAAM,CAAA;KACf;IAsCK,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAe5C,WAAW,CAAC,GAAG,EAAE,MAAM;IAIjB,eAAe,CAAC,GAAG,EAAE,MAAM;IAmBjC,oBAAoB,CAAC,aAAa,EAAE,SAAS,GAAG,SAAS,EAAE;IAWrD,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAO5D,eAAe,CAAC,GAAG,EAAE,MAAM;IAgBjC,UAAU;IAIV,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;CAQ1C"}
|
package/lib/util/UtilityLogic.js
CHANGED
|
@@ -43,10 +43,10 @@ exports.ACL_LINK = (0, rdflib_1.sym)("http://www.iana.org/assignments/link-relat
|
|
|
43
43
|
* Utility-related logic
|
|
44
44
|
*/
|
|
45
45
|
var UtilityLogic = /** @class */ (function () {
|
|
46
|
-
function UtilityLogic(store, ns,
|
|
46
|
+
function UtilityLogic(store, ns, underlyingFetch) {
|
|
47
47
|
this.store = store;
|
|
48
48
|
this.ns = ns;
|
|
49
|
-
this.
|
|
49
|
+
this.underlyingFetch = underlyingFetch;
|
|
50
50
|
}
|
|
51
51
|
UtilityLogic.prototype.findAclDocUrl = function (url) {
|
|
52
52
|
var _a;
|
|
@@ -105,7 +105,7 @@ var UtilityLogic = /** @class */ (function () {
|
|
|
105
105
|
return [4 /*yield*/, this.findAclDocUrl(options.target)];
|
|
106
106
|
case 1:
|
|
107
107
|
aclDocUrl = _a.sent();
|
|
108
|
-
return [2 /*return*/, this.
|
|
108
|
+
return [2 /*return*/, this.underlyingFetch.fetch(aclDocUrl, {
|
|
109
109
|
method: 'PUT',
|
|
110
110
|
body: str,
|
|
111
111
|
headers: [
|
|
@@ -151,7 +151,7 @@ var UtilityLogic = /** @class */ (function () {
|
|
|
151
151
|
if (!this.isContainer(url)) {
|
|
152
152
|
throw new Error("Not a container URL ".concat(url));
|
|
153
153
|
}
|
|
154
|
-
return [4 /*yield*/, this.
|
|
154
|
+
return [4 /*yield*/, this.underlyingFetch.fetch(url, {
|
|
155
155
|
method: "PUT",
|
|
156
156
|
headers: {
|
|
157
157
|
"Content-Type": "text/turtle",
|
|
@@ -204,7 +204,7 @@ var UtilityLogic = /** @class */ (function () {
|
|
|
204
204
|
return [4 /*yield*/, this.findAclDocUrl(url)];
|
|
205
205
|
case 1:
|
|
206
206
|
aclDocUrl = _a.sent();
|
|
207
|
-
return [4 /*yield*/, this.
|
|
207
|
+
return [4 /*yield*/, this.underlyingFetch.fetch(aclDocUrl, { method: "DELETE" })];
|
|
208
208
|
case 2:
|
|
209
209
|
_a.sent();
|
|
210
210
|
return [4 /*yield*/, this.getContainerMembers(url)];
|
|
@@ -214,7 +214,7 @@ var UtilityLogic = /** @class */ (function () {
|
|
|
214
214
|
case 4:
|
|
215
215
|
_a.sent();
|
|
216
216
|
_a.label = 5;
|
|
217
|
-
case 5: return [2 /*return*/, this.
|
|
217
|
+
case 5: return [2 /*return*/, this.underlyingFetch.fetch(url, { method: "DELETE" })];
|
|
218
218
|
case 6:
|
|
219
219
|
e_1 = _a.sent();
|
|
220
220
|
return [3 /*break*/, 7];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UtilityLogic.js","sourceRoot":"","sources":["../../src/util/UtilityLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA8D;AAGjD,QAAA,QAAQ,GAAG,IAAA,YAAG,EACzB,oDAAoD,CACrD,CAAC;AAEF;;GAEG;AACH;IAKE,sBAAY,KAAgB,EAAE,EAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"UtilityLogic.js","sourceRoot":"","sources":["../../src/util/UtilityLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA8D;AAGjD,QAAA,QAAQ,GAAG,IAAA,YAAG,EACzB,oDAAoD,CACrD,CAAC;AAEF;;GAEG;AACH;IAKE,sBAAY,KAAgB,EAAE,EAAkB,EAAE,eAA+D;QAC/G,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAEK,oCAAa,GAAnB,UAAoB,GAAW;;;;;;;wBACvB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;wBAChC,qBAAM,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,IAAI,CAAC,GAAG,CAAC,CAAA,EAAA;;wBAAnC,SAAmC,CAAC;wBAC9B,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,gBAAQ,CAAC,CAAC;wBAC9C,IAAI,CAAC,OAAO,EAAE;4BACZ,MAAM,IAAI,KAAK,CAAC,qCAA8B,GAAG,CAAE,CAAC,CAAC;yBACtD;wBACD,sBAAO,OAAO,CAAC,KAAK,EAAC;;;;KACtB;IAED,2GAA2G;IACrG,0CAAmB,GAAzB,UAA0B,OAMzB;;;;;;wBACK,GAAG,GAAG;4BACR,gDAAgD;4BAChD,EAAE;4BACF,sDAA+C,OAAO,CAAC,UAAU,OAAI;4BACrE,0BAAmB,OAAO,CAAC,MAAM,OAAI;4BACrC,yBAAkB,OAAO,CAAC,MAAM,OAAI;4BACpC,8CAA8C;4BAC9C,EAAE;yBACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;wBACZ,IAAI,OAAO,CAAC,aAAa,EAAE;4BACzB,GAAG,IAAI;gCACL,qCAAqC;gCACrC,uBAAgB,OAAO,CAAC,SAAS,OAAI;gCACrC,0BAAmB,OAAO,CAAC,MAAM,OAAI;gCACrC,qBAAc,OAAO,CAAC,aAAa,MAAG;gCACtC,EAAE;6BACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;yBACb;wBACD,IAAI,OAAO,CAAC,YAAY,EAAE;4BACxB,GAAG,IAAI;gCACL,oCAAoC;gCACpC,uBAAgB,OAAO,CAAC,SAAS,OAAI;gCACrC,yBAAkB,OAAO,CAAC,MAAM,OAAI;gCACpC,qBAAc,OAAO,CAAC,YAAY,MAAG;gCACrC,EAAE;6BACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;yBACb;wBACiB,qBAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,EAAA;;wBAApD,SAAS,GAAG,SAAwC;wBAC1D,sBAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE;gCAC3C,MAAM,EAAE,KAAK;gCACb,IAAI,EAAE,GAAG;gCACT,OAAO,EAAE;oCACP,CAAE,cAAc,EAAE,aAAa,CAAE;iCAClC;6BACF,CAAC,EAAC;;;;KACJ;IAEK,8BAAO,GAAb,UAAc,GAAc;;;;;wBAC1B,0DAA0D;wBAC1D,sFAAsF;wBACtF,sEAAsE;wBACtE,0CAA0C;wBAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;4BACvB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;yBACrD;wBACD,qBAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE;gCACjC,eAAe,EAAE,KAAK;gCACtB,KAAK,EAAE,QAAQ;6BAChB,CAAC,EAAA;;wBAHF,SAGE,CAAC;;;;;KAEJ;IAED,kCAAW,GAAX,UAAY,GAAW;QACrB,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;IAChC,CAAC;IAEK,sCAAe,GAArB,UAAsB,GAAW;;;;;;wBAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;4BAC1B,MAAM,IAAI,KAAK,CAAC,8BAAuB,GAAG,CAAE,CAAC,CAAC;yBAC/C;wBAEc,qBAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE;gCACnD,MAAM,EAAE,KAAK;gCACb,OAAO,EAAE;oCACP,cAAc,EAAE,aAAa;oCAC7B,eAAe,EAAE,GAAG;oCACpB,IAAI,EAAE,uDAAuD,EAAE,6DAA6D;iCAC7H;gCACD,IAAI,EAAE,GAAG,EAAE,iGAAiG;6BAC7G,CAAC,EAAA;;wBARI,MAAM,GAAG,SAQb;wBACF,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;4BACvC,MAAM,IAAI,KAAK,CAAC,sBAAe,MAAM,CAAC,MAAM,mDAAyC,GAAG,CAAE,CAAC,CAAC;yBAC7F;;;;;KACF;IAED,2CAAoB,GAApB,UAAqB,aAAwB;QAC3C,OAAO,IAAI,CAAC,KAAK;aACd,kBAAkB,CACjB,aAAa,EACb,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,EACnD,SAAS,EACT,aAAa,CAAC,GAAG,EAAE,CACpB;aACA,GAAG,CAAC,UAAC,EAAa,IAAK,OAAA,EAAE,CAAC,MAAmB,EAAtB,CAAsB,CAAC,CAAC;IACpD,CAAC;IAEK,0CAAmB,GAAzB,UAA0B,YAAoB;;;;;;;wBACtC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;wBACnD,qBAAM,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,IAAI,CAAC,aAAa,CAAC,CAAA,EAAA;;wBAA7C,SAA6C,CAAC;wBACxC,KAAK,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAC;wBACvD,sBAAO,KAAK,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,KAAK,EAAV,CAAU,CAAC,EAAC;;;;KACtC;IAEK,sCAAe,GAArB,UAAsB,GAAW;;;;;;;;6BAEzB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAArB,wBAAqB;wBACL,qBAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAA;;wBAAzC,SAAS,GAAG,SAA6B;wBAC/C,qBAAM,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAA;;wBAAjE,SAAiE,CAAC;wBACzC,qBAAM,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAAA;;wBAAtD,gBAAgB,GAAG,SAAmC;wBAC5D,qBAAM,OAAO,CAAC,GAAG,CACf,gBAAgB,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,KAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAzB,CAAyB,CAAC,CACzD,EAAA;;wBAFD,SAEC,CAAC;;4BAEJ,sBAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAC;;;;;;;;KAIhE;IAED,iCAAU,GAAV;QACE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,oCAAa,GAAb,UAAc,OAAe,EAAE,IAAU;QACvC,IAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,IAAM,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,GAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,IAAM,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,IAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAE,CAAC,CAAE,CAAC;QACzC,OAAO,IAAI,GAAG,CAAC,oBAAa,IAAI,cAAI,KAAK,cAAI,GAAG,cAAI,QAAQ,CAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACtF,CAAC;IACH,mBAAC;AAAD,CAAC,AAtJD,IAsJC;AAtJY,oCAAY"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solid-logic",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.15-b1f4b69f",
|
|
4
4
|
"description": "Core business logic of Solid OS",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -24,23 +24,23 @@
|
|
|
24
24
|
},
|
|
25
25
|
"homepage": "https://github.com/solid/solid-logic#readme",
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@babel/plugin-proposal-class-properties": "~7.16.
|
|
28
|
-
"@babel/plugin-proposal-optional-chaining": "~7.16.
|
|
29
|
-
"@babel/plugin-transform-async-to-generator": "~7.16.
|
|
27
|
+
"@babel/plugin-proposal-class-properties": "~7.16.7",
|
|
28
|
+
"@babel/plugin-proposal-optional-chaining": "~7.16.7",
|
|
29
|
+
"@babel/plugin-transform-async-to-generator": "~7.16.8",
|
|
30
30
|
"@babel/plugin-transform-runtime": "^7.17.0",
|
|
31
|
-
"@babel/preset-env": "~7.16.
|
|
32
|
-
"@babel/preset-typescript": "~7.16.
|
|
33
|
-
"@types/jest": "^27.
|
|
34
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
35
|
-
"@typescript-eslint/parser": "^5.
|
|
36
|
-
"eslint": "^8.
|
|
31
|
+
"@babel/preset-env": "~7.16.11",
|
|
32
|
+
"@babel/preset-typescript": "~7.16.7",
|
|
33
|
+
"@types/jest": "^27.4.1",
|
|
34
|
+
"@typescript-eslint/eslint-plugin": "^5.16.0",
|
|
35
|
+
"@typescript-eslint/parser": "^5.16.0",
|
|
36
|
+
"eslint": "^8.12.0",
|
|
37
37
|
"jest": "^27.5.1",
|
|
38
38
|
"jest-fetch-mock": "^3.0.3",
|
|
39
|
-
"typescript": "^4.6.
|
|
39
|
+
"typescript": "^4.6.3"
|
|
40
40
|
},
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@inrupt/solid-client-authn-browser": "^1.11.
|
|
43
|
-
"rdflib": "^2.2.
|
|
42
|
+
"@inrupt/solid-client-authn-browser": "^1.11.7",
|
|
43
|
+
"rdflib": "^2.2.19",
|
|
44
44
|
"solid-namespace": "^0.5.2"
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { NamedNode, Namespace, LiveStore } from "rdflib";
|
|
2
|
+
|
|
3
|
+
type TypeIndex = { label: string, index: NamedNode, agent: NamedNode } ;
|
|
4
|
+
|
|
5
|
+
const ns ={
|
|
6
|
+
solid: Namespace('http://www.w3.org/ns/solid/terms#'),
|
|
7
|
+
space: Namespace('http://www.w3.org/ns/pim/space#')
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export async function loadProfile(store: LiveStore, user) {
|
|
11
|
+
if (!user) {
|
|
12
|
+
throw new Error(`loadProfile: no user given.`)
|
|
13
|
+
}
|
|
14
|
+
try {
|
|
15
|
+
await store.fetcher.load(user.doc())
|
|
16
|
+
} catch (err) {
|
|
17
|
+
throw new Error(`Unable to load profile of user <${user}>: ${err}`)
|
|
18
|
+
}
|
|
19
|
+
return user.doc()
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export async function loadPreferences(store: LiveStore, user): Promise <NamedNode | undefined > {
|
|
23
|
+
const profile = await loadProfile(store as LiveStore, user)
|
|
24
|
+
const preferencesFile = store.any(user, ns.space('preferencesFile'), undefined, profile)
|
|
25
|
+
if (!preferencesFile) {
|
|
26
|
+
// throw new Error(`USer ${user} has no pointer in profile to preferences file.`)
|
|
27
|
+
return undefined
|
|
28
|
+
}
|
|
29
|
+
try {
|
|
30
|
+
store.fetcher.load(preferencesFile as NamedNode)
|
|
31
|
+
} catch (err) { // Mabeb a permission propblem or origin problem
|
|
32
|
+
return undefined
|
|
33
|
+
// throw new Error(`Unable to load preferences file ${preferencesFile} of user <${user}>: ${err}`)
|
|
34
|
+
}
|
|
35
|
+
return preferencesFile as NamedNode
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
export async function loadTypeIndexesFor(store: LiveStore, user:NamedNode): Promise<Array<TypeIndex>> {
|
|
39
|
+
if (!user) throw new Error(`loadTypeIndexesFor: No user given`)
|
|
40
|
+
const profile = await loadProfile(store, user)
|
|
41
|
+
const publicTypeIndex = store.any(user, ns.solid('publicTypeIndex'), undefined, profile)
|
|
42
|
+
if (publicTypeIndex) {
|
|
43
|
+
try {
|
|
44
|
+
await store.fetcher.load(publicTypeIndex as NamedNode)
|
|
45
|
+
} catch {
|
|
46
|
+
// never mind
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const pub = publicTypeIndex ? [ { label: 'public', index: publicTypeIndex as NamedNode, agent: user } ] : []
|
|
50
|
+
|
|
51
|
+
const preferencesFile = await loadPreferences(store, user)
|
|
52
|
+
if (preferencesFile) { // watch out - can be in either as spec was not clear
|
|
53
|
+
const privateTypeIndexes = store.each(user, ns.solid('privateTypeIndex'), undefined, preferencesFile as NamedNode)
|
|
54
|
+
.concat(store.each(user, ns.solid('privateTypeIndex'), undefined, profile))
|
|
55
|
+
const priv = privateTypeIndexes.length > 0 ? [ { label: 'priSo @@@@@vate', index: privateTypeIndexes[0] as NamedNode, agent: user } ] : []
|
|
56
|
+
return pub.concat(priv)
|
|
57
|
+
}
|
|
58
|
+
return pub
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export async function loadCommunityTypeIndexes (store:LiveStore, user:NamedNode): Promise<TypeIndex[][]> {
|
|
62
|
+
const preferencesFile = await loadPreferences(store, user)
|
|
63
|
+
if (preferencesFile) {
|
|
64
|
+
const communities = store.each(user, ns.solid('community'), undefined, preferencesFile as NamedNode)
|
|
65
|
+
const communityTypeIndexesPromise = communities.map(async community => await loadTypeIndexesFor(store, community as NamedNode))
|
|
66
|
+
const result1 = Promise.all(communityTypeIndexesPromise)
|
|
67
|
+
// const result2 = Promise.all(result1)
|
|
68
|
+
// const flat = result2.flat()
|
|
69
|
+
return result1
|
|
70
|
+
// const communityTypeIndexes = await Promise.all(communityTypeIndexesPromise)
|
|
71
|
+
/*
|
|
72
|
+
let result = [] as TypeIndex[]
|
|
73
|
+
for(const community of communities) {
|
|
74
|
+
result = result.concat(await loadTypeIndexesFor(store, community as NamedNode)) as TypeIndex[] // @@ how oto make functional with async?
|
|
75
|
+
}
|
|
76
|
+
*/
|
|
77
|
+
// return communityTypeIndexesPromise.resolve()
|
|
78
|
+
}
|
|
79
|
+
return []
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export async function loadAllTypeIndexes (store:LiveStore, user:NamedNode) {
|
|
83
|
+
return (await loadTypeIndexesFor(store, user)).concat((await loadCommunityTypeIndexes(store, user)).flat())
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/*
|
|
87
|
+
export async function getAppInstances (store:LiveStore, klass: NamedNode) {
|
|
88
|
+
|
|
89
|
+
}
|
|
90
|
+
*/
|
package/src/inbox/InboxLogic.ts
CHANGED
|
@@ -44,7 +44,7 @@ export class InboxLogic {
|
|
|
44
44
|
return ourInbox;
|
|
45
45
|
}
|
|
46
46
|
async markAsRead(url: string, date: Date) {
|
|
47
|
-
const downloaded = await this.util.
|
|
47
|
+
const downloaded = await this.util.underlyingFetch.fetch(url);
|
|
48
48
|
if (downloaded.status !== 200) {
|
|
49
49
|
throw new Error(`Not OK! ${url}`);
|
|
50
50
|
}
|
|
@@ -56,7 +56,7 @@ export class InboxLogic {
|
|
|
56
56
|
[ 'Content-Type', downloaded.headers.get('Content-Type') || 'application/octet-stream' ]
|
|
57
57
|
]
|
|
58
58
|
};
|
|
59
|
-
const uploaded = await this.util.
|
|
59
|
+
const uploaded = await this.util.underlyingFetch.fetch(archiveUrl, options);
|
|
60
60
|
if (uploaded.status.toString()[0] === '2') {
|
|
61
61
|
await this.store.fetcher?._fetch(url, {
|
|
62
62
|
method: 'DELETE'
|
package/src/index.ts
CHANGED
|
@@ -12,12 +12,22 @@ export {
|
|
|
12
12
|
setACLUserPublic,
|
|
13
13
|
genACLText
|
|
14
14
|
} from './acl/aclLogic'
|
|
15
|
+
|
|
15
16
|
export {
|
|
16
17
|
ensureTypeIndexes,
|
|
17
18
|
loadTypeIndexes,
|
|
18
19
|
registerInTypeIndex,
|
|
19
20
|
loadIndex
|
|
20
21
|
} from './typeIndex/typeIndexLogic'
|
|
22
|
+
|
|
23
|
+
export {
|
|
24
|
+
loadProfile,
|
|
25
|
+
loadPreferences,
|
|
26
|
+
loadTypeIndexesFor,
|
|
27
|
+
loadCommunityTypeIndexes,
|
|
28
|
+
loadAllTypeIndexes
|
|
29
|
+
} from './discovery/discoveryLogic'
|
|
30
|
+
|
|
21
31
|
export { SolidLogic } from './logic/SolidLogic'
|
|
22
32
|
export { offlineTestID, appContext } from './authn/authUtil'
|
|
23
33
|
export { ACL_LINK } from './util/UtilityLogic'
|