solid-logic 2.1.2-f20ef74c → 2.1.2-f4bf7823
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 +20 -2
- package/README.md +2 -2
- package/lib/acl/aclLogic.d.ts.map +1 -1
- package/lib/acl/aclLogic.js +3 -5
- package/lib/acl/aclLogic.js.map +1 -1
- package/lib/inbox/inboxLogic.js +1 -1
- package/lib/inbox/inboxLogic.js.map +1 -1
- package/lib/types.d.ts +2 -2
- package/lib/types.d.ts.map +1 -1
- package/lib/util/containerLogic.d.ts +2 -2
- package/lib/util/containerLogic.d.ts.map +1 -1
- package/lib/util/containerLogic.js +8 -10
- package/lib/util/containerLogic.js.map +1 -1
- package/lib/util/utilityLogic.d.ts +1 -1
- package/lib/util/utilityLogic.d.ts.map +1 -1
- package/lib/util/utilityLogic.js +9 -7
- package/lib/util/utilityLogic.js.map +1 -1
- package/package.json +1 -1
- package/src/acl/aclLogic.ts +3 -4
- package/src/inbox/inboxLogic.ts +3 -3
- package/src/types.ts +2 -2
- package/src/util/containerLogic.ts +30 -31
- package/src/util/utilityLogic.ts +8 -7
- package/test/container.test.ts +7 -6
- package/test/inboxLogic.test.ts +2 -1
package/.github/workflows/ci.yml
CHANGED
|
@@ -34,7 +34,7 @@ jobs:
|
|
|
34
34
|
- run: npm test
|
|
35
35
|
- run: npm run build --if-present
|
|
36
36
|
- name: Save build
|
|
37
|
-
if: matrix.node-version == '
|
|
37
|
+
if: matrix.node-version == '16.x'
|
|
38
38
|
uses: actions/upload-artifact@v2
|
|
39
39
|
with:
|
|
40
40
|
name: build
|
|
@@ -52,7 +52,7 @@ jobs:
|
|
|
52
52
|
name: build
|
|
53
53
|
- uses: actions/setup-node@v1
|
|
54
54
|
with:
|
|
55
|
-
node-version:
|
|
55
|
+
node-version: 16.x
|
|
56
56
|
- uses: rlespinasse/github-slug-action@v3.x
|
|
57
57
|
- name: Append commit hash to package version
|
|
58
58
|
run: 'sed -i -E "s/(\"version\": *\"[^\"]+)/\1-${GITHUB_SHA_SHORT}/" package.json'
|
|
@@ -62,3 +62,21 @@ jobs:
|
|
|
62
62
|
with:
|
|
63
63
|
token: ${{ secrets.NPM_TOKEN }}
|
|
64
64
|
tag: ${{ env.GITHUB_REF_SLUG }}
|
|
65
|
+
|
|
66
|
+
npm-publish-latest:
|
|
67
|
+
needs: build
|
|
68
|
+
runs-on: ubuntu-latest
|
|
69
|
+
if: github.ref == 'refs/heads/main'
|
|
70
|
+
steps:
|
|
71
|
+
- uses: actions/download-artifact@v2
|
|
72
|
+
with:
|
|
73
|
+
name: build
|
|
74
|
+
- uses: actions/setup-node@v1
|
|
75
|
+
with:
|
|
76
|
+
node-version: 16.x
|
|
77
|
+
- name: Disable pre- and post-publish actions
|
|
78
|
+
run: 'sed -i -E "s/\"((pre|post)publish)/\"ignore:\1/" package.json'
|
|
79
|
+
- uses: JS-DevTools/npm-publish@v1
|
|
80
|
+
with:
|
|
81
|
+
token: ${{ secrets.NPM_TOKEN }}
|
|
82
|
+
tag: latest
|
package/README.md
CHANGED
|
@@ -3,6 +3,6 @@ Core business logic of SolidOS
|
|
|
3
3
|
|
|
4
4
|
# Adendum
|
|
5
5
|
|
|
6
|
-
Solid-logic was a move to
|
|
6
|
+
Solid-logic was a move to separate business logic from UI functionality so that people using different UI frameworks could use logic code.
|
|
7
7
|
|
|
8
|
-
It was created when the "chat with me" feature was built. We needed
|
|
8
|
+
It was created when the "chat with me" feature was built. We needed to share logic between chat-pane and profile-pane (which was part of solid-panes back then I think) due to that feature. The whole idea of it is to separate core solid logic from UI components, to make logic reusable, e.g. by other UI libraries or even non web apps like CLI tools etc.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aclLogic.d.ts","sourceRoot":"","sources":["../../src/acl/aclLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAA6B,MAAM,QAAQ,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIpC,eAAO,MAAM,QAAQ,WAEpB,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,KAAA,GAAG,QAAQ,
|
|
1
|
+
{"version":3,"file":"aclLogic.d.ts","sourceRoot":"","sources":["../../src/acl/aclLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAA6B,MAAM,QAAQ,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIpC,eAAO,MAAM,QAAQ,WAEpB,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,KAAA,GAAG,QAAQ,CAiJ9C"}
|
package/lib/acl/aclLogic.js
CHANGED
|
@@ -44,15 +44,13 @@ function createAclLogic(store) {
|
|
|
44
44
|
var ns = ns_1.ns;
|
|
45
45
|
function findAclDocUrl(url) {
|
|
46
46
|
return __awaiter(this, void 0, void 0, function () {
|
|
47
|
-
var
|
|
47
|
+
var docNode;
|
|
48
48
|
return __generator(this, function (_a) {
|
|
49
49
|
switch (_a.label) {
|
|
50
|
-
case 0:
|
|
51
|
-
doc = store.sym(url);
|
|
52
|
-
return [4 /*yield*/, store.fetcher.load(doc)];
|
|
50
|
+
case 0: return [4 /*yield*/, store.fetcher.load(url)];
|
|
53
51
|
case 1:
|
|
54
52
|
_a.sent();
|
|
55
|
-
docNode = store.any(
|
|
53
|
+
docNode = store.any(url, exports.ACL_LINK);
|
|
56
54
|
if (!docNode) {
|
|
57
55
|
throw new Error("No ACL link discovered for ".concat(url));
|
|
58
56
|
}
|
package/lib/acl/aclLogic.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aclLogic.js","sourceRoot":"","sources":["../../src/acl/aclLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAoE;AAEpE,iCAA4C;AAG/B,QAAA,QAAQ,GAAG,IAAA,YAAG,EACvB,oDAAoD,CACvD,CAAC;AAEF,SAAgB,cAAc,CAAC,KAAK;IAEhC,IAAM,EAAE,GAAG,OAAS,CAAA;IAEpB,SAAe,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"aclLogic.js","sourceRoot":"","sources":["../../src/acl/aclLogic.ts"],"names":[],"mappings":"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"}
|
package/lib/inbox/inboxLogic.js
CHANGED
|
@@ -83,7 +83,7 @@ function createInboxLogic(store, profileLogic, utilityLogic, containerLogic, acl
|
|
|
83
83
|
case 2: return [4 /*yield*/, profileLogic.getMainInbox(user)];
|
|
84
84
|
case 3:
|
|
85
85
|
inbox = _a.sent();
|
|
86
|
-
return [4 /*yield*/, containerLogic.getContainerMembers(inbox
|
|
86
|
+
return [4 /*yield*/, containerLogic.getContainerMembers(inbox)];
|
|
87
87
|
case 4:
|
|
88
88
|
urls = _a.sent();
|
|
89
89
|
return [2 /*return*/, urls.filter(function (url) { return !containerLogic.isContainer(url); })];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inboxLogic.js","sourceRoot":"","sources":["../../src/inbox/inboxLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uCAA8C;AAE9C,SAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ;IAExF,SAAe,cAAc,CAAC,SAAiB,EAAE,IAAY;;;;;4BAChC,qBAAM,YAAY,CAAC,MAAM,EAAE,EAAA;;wBAAhD,OAAO,GAAc,SAA2B;wBAC3B,qBAAM,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAA;;wBAA3D,OAAO,GAAc,SAAsC;wBAC3D,QAAQ,GAAG,UAAG,OAAO,CAAC,KAAK,yBAAe,kBAAkB,CAAC,IAAI,CAAC,MAAG,CAAC;wBAC5E,qBAAM,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;wBAC/C,4DAA4D;wBAC5D,qBAAM,YAAY,CAAC,mBAAmB,CAAC;gCACrC,UAAU,EAAE,OAAO,CAAC,KAAK;gCACzB,SAAS,WAAA;gCACT,aAAa,EAAE,YAAY;gCAC3B,MAAM,EAAE,QAAQ;6BACjB,CAAC,EAAA;;wBANF,4DAA4D;wBAC5D,SAKE,CAAC;wBACH,sBAAO,QAAQ,EAAC;;;;KACnB;IAED,SAAe,cAAc,CACzB,IAAgB;;;;;;6BAEZ,CAAC,IAAI,EAAL,wBAAK;wBACA,qBAAM,YAAY,CAAC,MAAM,EAAE,EAAA;;wBAAlC,IAAI,GAAG,SAA2B,CAAC;;4BAEvB,qBAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,EAAA;;wBAA7C,KAAK,GAAG,SAAqC;wBACtC,qBAAM,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"inboxLogic.js","sourceRoot":"","sources":["../../src/inbox/inboxLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uCAA8C;AAE9C,SAAgB,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ;IAExF,SAAe,cAAc,CAAC,SAAiB,EAAE,IAAY;;;;;4BAChC,qBAAM,YAAY,CAAC,MAAM,EAAE,EAAA;;wBAAhD,OAAO,GAAc,SAA2B;wBAC3B,qBAAM,YAAY,CAAC,UAAU,CAAC,OAAO,CAAC,EAAA;;wBAA3D,OAAO,GAAc,SAAsC;wBAC3D,QAAQ,GAAG,UAAG,OAAO,CAAC,KAAK,yBAAe,kBAAkB,CAAC,IAAI,CAAC,MAAG,CAAC;wBAC5E,qBAAM,cAAc,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;wBAC/C,4DAA4D;wBAC5D,qBAAM,YAAY,CAAC,mBAAmB,CAAC;gCACrC,UAAU,EAAE,OAAO,CAAC,KAAK;gCACzB,SAAS,WAAA;gCACT,aAAa,EAAE,YAAY;gCAC3B,MAAM,EAAE,QAAQ;6BACjB,CAAC,EAAA;;wBANF,4DAA4D;wBAC5D,SAKE,CAAC;wBACH,sBAAO,QAAQ,EAAC;;;;KACnB;IAED,SAAe,cAAc,CACzB,IAAgB;;;;;;6BAEZ,CAAC,IAAI,EAAL,wBAAK;wBACA,qBAAM,YAAY,CAAC,MAAM,EAAE,EAAA;;wBAAlC,IAAI,GAAG,SAA2B,CAAC;;4BAEvB,qBAAM,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC,EAAA;;wBAA7C,KAAK,GAAG,SAAqC;wBACtC,qBAAM,cAAc,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAA;;wBAAtD,IAAI,GAAG,SAA+C;wBAC5D,sBAAO,IAAI,CAAC,MAAM,CAAC,UAAA,GAAG,IAAI,OAAA,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,CAAC,EAAhC,CAAgC,CAAC,EAAC;;;;KAC/D;IAED,SAAe,UAAU,CAAC,GAAW,EAAE,IAAU;;;;;;4BAC5B,qBAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAA;;wBAA5C,UAAU,GAAG,SAA+B;wBAClD,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,EAAE;4BAC7B,MAAM,IAAI,KAAK,CAAC,kBAAW,GAAG,CAAE,CAAC,CAAC;yBACnC;wBACK,UAAU,GAAG,IAAA,qBAAa,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;;4BAE1C,MAAM,EAAE,KAAK;;wBACP,qBAAM,UAAU,CAAC,IAAI,EAAE,EAAA;;wBAFzB,OAAO,IAEX,OAAI,GAAE,SAAuB;4BAC7B,UAAO,GAAE;gCACP,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,0BAA0B,CAAC;6BACvF;+BACF;wBACgB,qBAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,EAAA;;wBAA1D,QAAQ,GAAG,SAA+C;6BAC5D,CAAA,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA,EAArC,wBAAqC;wBACvC,qBAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;gCAC9B,MAAM,EAAE,QAAQ;6BACjB,CAAC,EAAA;;wBAFF,SAEE,CAAC;;;;;;KAEN;IACD,OAAO;QACL,cAAc,gBAAA;QACd,cAAc,gBAAA;QACd,UAAU,YAAA;KACX,CAAA;AACH,CAAC;AArDD,4CAqDC"}
|
package/lib/types.d.ts
CHANGED
|
@@ -70,7 +70,7 @@ export interface ProfileLogic {
|
|
|
70
70
|
findStorage: (me: NamedNode) => Node | null;
|
|
71
71
|
}
|
|
72
72
|
export interface AclLogic {
|
|
73
|
-
findAclDocUrl: (url:
|
|
73
|
+
findAclDocUrl: (url: NamedNode) => Promise<any>;
|
|
74
74
|
setACLUserPublic: (docURI: string, me: NamedNode, options: {
|
|
75
75
|
defaultForNew?: boolean;
|
|
76
76
|
public?: [];
|
|
@@ -82,7 +82,7 @@ export interface AclLogic {
|
|
|
82
82
|
}
|
|
83
83
|
export interface InboxLogic {
|
|
84
84
|
createInboxFor: (peerWebId: string, nick: string) => Promise<string>;
|
|
85
|
-
getNewMessages: (user?: NamedNode) => Promise<
|
|
85
|
+
getNewMessages: (user?: NamedNode) => Promise<NamedNode[]>;
|
|
86
86
|
markAsRead: (url: string, date: Date) => void;
|
|
87
87
|
}
|
|
88
88
|
export interface TypeIndexLogic {
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,9 +3,9 @@ import { NamedNode } from "rdflib";
|
|
|
3
3
|
* Container-related class
|
|
4
4
|
*/
|
|
5
5
|
export declare function createContainerLogic(store: any): {
|
|
6
|
-
isContainer: (url:
|
|
6
|
+
isContainer: (url: NamedNode) => boolean;
|
|
7
7
|
createContainer: (url: string) => Promise<void>;
|
|
8
8
|
getContainerElements: (containerNode: NamedNode) => NamedNode[];
|
|
9
|
-
getContainerMembers: (containerUrl:
|
|
9
|
+
getContainerMembers: (containerUrl: NamedNode) => Promise<NamedNode[]>;
|
|
10
10
|
};
|
|
11
11
|
//# sourceMappingURL=containerLogic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerLogic.d.ts","sourceRoot":"","sources":["../../src/util/containerLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,QAAQ,CAAC;AAEnD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,KAAA;
|
|
1
|
+
{"version":3,"file":"containerLogic.d.ts","sourceRoot":"","sources":["../../src/util/containerLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,QAAQ,CAAC;AAEnD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,KAAA;uBAYZ,SAAS;2BAKC,MAAM;0CAfG,SAAS,KAAG,SAAS,EAAE;wCAmCnB,SAAS,KAAG,QAAQ,SAAS,EAAE,CAAC;EAUpF"}
|
|
@@ -44,19 +44,21 @@ var rdflib_1 = require("rdflib");
|
|
|
44
44
|
function createContainerLogic(store) {
|
|
45
45
|
function getContainerElements(containerNode) {
|
|
46
46
|
return store
|
|
47
|
-
.statementsMatching(containerNode, (0, rdflib_1.sym)("http://www.w3.org/ns/ldp#contains"), undefined
|
|
47
|
+
.statementsMatching(containerNode, (0, rdflib_1.sym)("http://www.w3.org/ns/ldp#contains"), undefined)
|
|
48
48
|
.map(function (st) { return st.object; });
|
|
49
49
|
}
|
|
50
50
|
function isContainer(url) {
|
|
51
|
-
|
|
51
|
+
var nodeToString = url.value;
|
|
52
|
+
return nodeToString.charAt(nodeToString.length - 1) === "/";
|
|
52
53
|
}
|
|
53
54
|
function createContainer(url) {
|
|
54
55
|
return __awaiter(this, void 0, void 0, function () {
|
|
55
|
-
var result;
|
|
56
|
+
var stringToNode, result;
|
|
56
57
|
return __generator(this, function (_a) {
|
|
57
58
|
switch (_a.label) {
|
|
58
59
|
case 0:
|
|
59
|
-
|
|
60
|
+
stringToNode = (0, rdflib_1.sym)(url);
|
|
61
|
+
if (!isContainer(stringToNode)) {
|
|
60
62
|
throw new Error("Not a container URL ".concat(url));
|
|
61
63
|
}
|
|
62
64
|
return [4 /*yield*/, store.fetcher._fetch(url, {
|
|
@@ -80,16 +82,12 @@ function createContainerLogic(store) {
|
|
|
80
82
|
}
|
|
81
83
|
function getContainerMembers(containerUrl) {
|
|
82
84
|
return __awaiter(this, void 0, void 0, function () {
|
|
83
|
-
var containerNode, nodes;
|
|
84
85
|
return __generator(this, function (_a) {
|
|
85
86
|
switch (_a.label) {
|
|
86
|
-
case 0:
|
|
87
|
-
containerNode = store.sym(containerUrl);
|
|
88
|
-
return [4 /*yield*/, store.fetcher.load(containerNode)];
|
|
87
|
+
case 0: return [4 /*yield*/, store.fetcher.load(containerUrl)];
|
|
89
88
|
case 1:
|
|
90
89
|
_a.sent();
|
|
91
|
-
|
|
92
|
-
return [2 /*return*/, nodes.map(function (node) { return node.value; })];
|
|
90
|
+
return [2 /*return*/, getContainerElements(containerUrl)];
|
|
93
91
|
}
|
|
94
92
|
});
|
|
95
93
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerLogic.js","sourceRoot":"","sources":["../../src/util/containerLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAmD;AAEnD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,KAAK;IAEtC,SAAS,oBAAoB,CAAC,aAAwB;
|
|
1
|
+
{"version":3,"file":"containerLogic.js","sourceRoot":"","sources":["../../src/util/containerLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAmD;AAEnD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,KAAK;IAEtC,SAAS,oBAAoB,CAAC,aAAwB;QAClD,OAAO,KAAK;aACP,kBAAkB,CACf,aAAa,EACb,IAAA,YAAG,EAAC,mCAAmC,CAAC,EACxC,SAAS,CACZ;aACA,GAAG,CAAC,UAAC,EAAa,IAAK,OAAA,EAAE,CAAC,MAAmB,EAAtB,CAAsB,CAAC,CAAC;IACxD,CAAC;IAED,SAAS,WAAW,CAAC,GAAc;QAC/B,IAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC;QAC/B,OAAO,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC;IAChE,CAAC;IAED,SAAe,eAAe,CAAC,GAAW;;;;;;wBAChC,YAAY,GAAG,IAAA,YAAG,EAAC,GAAG,CAAC,CAAC;wBAC9B,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE;4BAC5B,MAAM,IAAI,KAAK,CAAC,8BAAuB,GAAG,CAAE,CAAC,CAAC;yBACjD;wBAEc,qBAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;gCAC3C,MAAM,EAAE,KAAK;gCACb,OAAO,EAAE;oCACL,cAAc,EAAE,aAAa;oCAC7B,eAAe,EAAE,GAAG;oCACpB,IAAI,EAAE,uDAAuD,EAAE,+DAA+D;iCACjI;gCACD,IAAI,EAAE,GAAG,EAAE,iGAAiG;6BAC/G,CAAC,EAAA;;wBARI,MAAM,GAAG,SAQb;wBACF,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;4BACrC,MAAM,IAAI,KAAK,CAAC,sBAAe,MAAM,CAAC,MAAM,mDAAyC,GAAG,CAAE,CAAC,CAAC;yBAC/F;;;;;KACJ;IAED,SAAe,mBAAmB,CAAC,YAAuB;;;;4BACtD,qBAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,EAAA;;wBAAtC,SAAsC,CAAC;wBACvC,sBAAO,oBAAoB,CAAC,YAAY,CAAC,EAAC;;;;KAC7C;IACD,OAAO;QACH,WAAW,aAAA;QACX,eAAe,iBAAA;QACf,oBAAoB,sBAAA;QACpB,mBAAmB,qBAAA;KACtB,CAAA;AACL,CAAC;AA/CD,oDA+CC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NamedNode } from "rdflib";
|
|
2
2
|
export declare function createUtilityLogic(store: any, aclLogic: any, containerLogic: any): {
|
|
3
|
-
recursiveDelete: (
|
|
3
|
+
recursiveDelete: (containerNode: NamedNode) => Promise<any>;
|
|
4
4
|
setSinglePeerAccess: (options: {
|
|
5
5
|
ownerWebId: string;
|
|
6
6
|
peerWebId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilityLogic.d.ts","sourceRoot":"","sources":["../../src/util/utilityLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"utilityLogic.d.ts","sourceRoot":"","sources":["../../src/util/utilityLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,MAAM,QAAQ,CAAC;AAK5C,wBAAgB,kBAAkB,CAAC,KAAK,KAAA,EAAE,QAAQ,KAAA,EAAE,cAAc,KAAA;qCAElB,SAAS;mCAwFX;QAC1C,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;6BAsCqC,SAAS,WAAW,MAAM;kCA3ErB,SAAS,aAAa,SAAS,UAChE,SAAS,OAAO,SAAS,KAChC,QAAQ,SAAS,GAAG,IAAI,CAAC;mCApCgB,SAAS;EA4HtD"}
|
package/lib/util/utilityLogic.js
CHANGED
|
@@ -65,28 +65,30 @@ var CustomError_1 = require("../logic/CustomError");
|
|
|
65
65
|
var debug = __importStar(require("../util/debug"));
|
|
66
66
|
var utils_1 = require("./utils");
|
|
67
67
|
function createUtilityLogic(store, aclLogic, containerLogic) {
|
|
68
|
-
function recursiveDelete(
|
|
68
|
+
function recursiveDelete(containerNode) {
|
|
69
69
|
return __awaiter(this, void 0, void 0, function () {
|
|
70
|
-
var aclDocUrl, containerMembers, e_1;
|
|
70
|
+
var aclDocUrl, containerMembers, nodeToStringHere, e_1;
|
|
71
71
|
return __generator(this, function (_a) {
|
|
72
72
|
switch (_a.label) {
|
|
73
73
|
case 0:
|
|
74
74
|
_a.trys.push([0, 6, , 7]);
|
|
75
|
-
if (!containerLogic.isContainer(
|
|
76
|
-
return [4 /*yield*/, aclLogic.findAclDocUrl(
|
|
75
|
+
if (!containerLogic.isContainer(containerNode)) return [3 /*break*/, 5];
|
|
76
|
+
return [4 /*yield*/, aclLogic.findAclDocUrl(containerNode)];
|
|
77
77
|
case 1:
|
|
78
78
|
aclDocUrl = _a.sent();
|
|
79
79
|
return [4 /*yield*/, store.fetcher._fetch(aclDocUrl, { method: "DELETE" })];
|
|
80
80
|
case 2:
|
|
81
81
|
_a.sent();
|
|
82
|
-
return [4 /*yield*/, containerLogic.getContainerMembers(
|
|
82
|
+
return [4 /*yield*/, containerLogic.getContainerMembers(containerNode)];
|
|
83
83
|
case 3:
|
|
84
84
|
containerMembers = _a.sent();
|
|
85
85
|
return [4 /*yield*/, Promise.all(containerMembers.map(function (url) { return recursiveDelete(url); }))];
|
|
86
86
|
case 4:
|
|
87
87
|
_a.sent();
|
|
88
88
|
_a.label = 5;
|
|
89
|
-
case 5:
|
|
89
|
+
case 5:
|
|
90
|
+
nodeToStringHere = containerNode.value;
|
|
91
|
+
return [2 /*return*/, store.fetcher._fetch(nodeToStringHere, { method: "DELETE" })];
|
|
90
92
|
case 6:
|
|
91
93
|
e_1 = _a.sent();
|
|
92
94
|
return [3 /*break*/, 7];
|
|
@@ -231,7 +233,7 @@ function createUtilityLogic(store, aclLogic, containerLogic) {
|
|
|
231
233
|
''
|
|
232
234
|
].join('\n');
|
|
233
235
|
}
|
|
234
|
-
return [4 /*yield*/, aclLogic.findAclDocUrl(options.target)];
|
|
236
|
+
return [4 /*yield*/, aclLogic.findAclDocUrl((0, rdflib_1.sym)(options.target))];
|
|
235
237
|
case 1:
|
|
236
238
|
aclDocUrl = _a.sent();
|
|
237
239
|
return [2 /*return*/, store.fetcher._fetch(aclDocUrl, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utilityLogic.js","sourceRoot":"","sources":["../../src/util/utilityLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"utilityLogic.js","sourceRoot":"","sources":["../../src/util/utilityLogic.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/acl/aclLogic.ts
CHANGED
|
@@ -11,10 +11,9 @@ export function createAclLogic(store): AclLogic {
|
|
|
11
11
|
|
|
12
12
|
const ns = namespace
|
|
13
13
|
|
|
14
|
-
async function findAclDocUrl(url:
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
const docNode = store.any(doc, ACL_LINK);
|
|
14
|
+
async function findAclDocUrl(url: NamedNode) {
|
|
15
|
+
await store.fetcher.load(url);
|
|
16
|
+
const docNode = store.any(url, ACL_LINK);
|
|
18
17
|
if (!docNode) {
|
|
19
18
|
throw new Error(`No ACL link discovered for ${url}`);
|
|
20
19
|
}
|
package/src/inbox/inboxLogic.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { NamedNode } from "rdflib";
|
|
1
|
+
import { NamedNode, sym } from "rdflib";
|
|
2
2
|
import { InboxLogic } from "../types";
|
|
3
3
|
import { getArchiveUrl } from "../util/utils";
|
|
4
4
|
|
|
@@ -21,12 +21,12 @@ export function createInboxLogic(store, profileLogic, utilityLogic, containerLog
|
|
|
21
21
|
|
|
22
22
|
async function getNewMessages(
|
|
23
23
|
user?: NamedNode
|
|
24
|
-
): Promise<
|
|
24
|
+
): Promise<NamedNode[]> {
|
|
25
25
|
if (!user) {
|
|
26
26
|
user = await profileLogic.loadMe();
|
|
27
27
|
}
|
|
28
28
|
const inbox = await profileLogic.getMainInbox(user);
|
|
29
|
-
const urls = await containerLogic.getContainerMembers(inbox
|
|
29
|
+
const urls = await containerLogic.getContainerMembers(inbox);
|
|
30
30
|
return urls.filter(url => !containerLogic.isContainer(url));
|
|
31
31
|
}
|
|
32
32
|
|
package/src/types.ts
CHANGED
|
@@ -72,7 +72,7 @@ export interface ProfileLogic {
|
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
export interface AclLogic {
|
|
75
|
-
findAclDocUrl: (url:
|
|
75
|
+
findAclDocUrl: (url: NamedNode) => Promise<any>,
|
|
76
76
|
setACLUserPublic: (docURI: string, me: NamedNode,
|
|
77
77
|
options: {
|
|
78
78
|
defaultForNew?: boolean,
|
|
@@ -89,7 +89,7 @@ export interface AclLogic {
|
|
|
89
89
|
|
|
90
90
|
export interface InboxLogic {
|
|
91
91
|
createInboxFor: (peerWebId: string, nick: string) => Promise<string>,
|
|
92
|
-
getNewMessages: (user?: NamedNode) => Promise<
|
|
92
|
+
getNewMessages: (user?: NamedNode) => Promise<NamedNode[]>,
|
|
93
93
|
markAsRead: (url: string, date: Date) => void
|
|
94
94
|
}
|
|
95
95
|
|
|
@@ -6,44 +6,43 @@ import { NamedNode, Statement, sym } from "rdflib";
|
|
|
6
6
|
export function createContainerLogic(store) {
|
|
7
7
|
|
|
8
8
|
function getContainerElements(containerNode: NamedNode): NamedNode[] {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
.map((st: Statement) => st.object as NamedNode);
|
|
9
|
+
return store
|
|
10
|
+
.statementsMatching(
|
|
11
|
+
containerNode,
|
|
12
|
+
sym("http://www.w3.org/ns/ldp#contains"),
|
|
13
|
+
undefined
|
|
14
|
+
)
|
|
15
|
+
.map((st: Statement) => st.object as NamedNode);
|
|
17
16
|
}
|
|
18
17
|
|
|
19
|
-
function isContainer(url:
|
|
20
|
-
|
|
18
|
+
function isContainer(url: NamedNode) {
|
|
19
|
+
const nodeToString = url.value;
|
|
20
|
+
return nodeToString.charAt(nodeToString.length - 1) === "/";
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
async function createContainer(url: string) {
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
24
|
+
const stringToNode = sym(url);
|
|
25
|
+
if (!isContainer(stringToNode)) {
|
|
26
|
+
throw new Error(`Not a container URL ${url}`);
|
|
27
|
+
}
|
|
28
|
+
// Copied from https://github.com/solidos/solid-crud-tests/blob/v3.1.0/test/surface/create-container.test.ts#L56-L64
|
|
29
|
+
const result = await store.fetcher._fetch(url, {
|
|
30
|
+
method: "PUT",
|
|
31
|
+
headers: {
|
|
32
|
+
"Content-Type": "text/turtle",
|
|
33
|
+
"If-None-Match": "*",
|
|
34
|
+
Link: '<http://www.w3.org/ns/ldp#BasicContainer>; rel="type"', // See https://github.com/solidos/node-solid-server/issues/1465
|
|
35
|
+
},
|
|
36
|
+
body: " ", // work around https://github.com/michielbdejong/community-server/issues/4#issuecomment-776222863
|
|
37
|
+
});
|
|
38
|
+
if (result.status.toString()[0] !== '2') {
|
|
39
|
+
throw new Error(`Not OK: got ${result.status} response while creating container at ${url}`);
|
|
40
|
+
}
|
|
40
41
|
}
|
|
41
42
|
|
|
42
|
-
async function getContainerMembers(containerUrl:
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const nodes = getContainerElements(containerNode);
|
|
46
|
-
return nodes.map(node => node.value);
|
|
43
|
+
async function getContainerMembers(containerUrl: NamedNode): Promise<NamedNode[]> {
|
|
44
|
+
await store.fetcher.load(containerUrl);
|
|
45
|
+
return getContainerElements(containerUrl);
|
|
47
46
|
}
|
|
48
47
|
return {
|
|
49
48
|
isContainer,
|
package/src/util/utilityLogic.ts
CHANGED
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import { NamedNode, st } from "rdflib";
|
|
1
|
+
import { NamedNode, st, sym } from "rdflib";
|
|
2
2
|
import { CrossOriginForbiddenError, FetchError, NotEditableError, SameOriginForbiddenError, UnauthorizedError, WebOperationError } from "../logic/CustomError";
|
|
3
3
|
import * as debug from '../util/debug';
|
|
4
4
|
import { differentOrigin } from "./utils";
|
|
5
5
|
|
|
6
6
|
export function createUtilityLogic(store, aclLogic, containerLogic) {
|
|
7
7
|
|
|
8
|
-
async function recursiveDelete(
|
|
8
|
+
async function recursiveDelete(containerNode: NamedNode) {
|
|
9
9
|
try {
|
|
10
|
-
if (containerLogic.isContainer(
|
|
11
|
-
const aclDocUrl = await aclLogic.findAclDocUrl(
|
|
10
|
+
if (containerLogic.isContainer(containerNode)) {
|
|
11
|
+
const aclDocUrl = await aclLogic.findAclDocUrl(containerNode)
|
|
12
12
|
await store.fetcher._fetch(aclDocUrl, { method: "DELETE" });
|
|
13
|
-
const containerMembers = await containerLogic.getContainerMembers(
|
|
13
|
+
const containerMembers = await containerLogic.getContainerMembers(containerNode);
|
|
14
14
|
await Promise.all(
|
|
15
15
|
containerMembers.map((url) => recursiveDelete(url))
|
|
16
16
|
);
|
|
17
17
|
}
|
|
18
|
-
|
|
18
|
+
const nodeToStringHere = containerNode.value;
|
|
19
|
+
return store.fetcher._fetch(nodeToStringHere, { method: "DELETE" });
|
|
19
20
|
} catch (e) {
|
|
20
21
|
// debug.log(`Please manually remove ${url} from your system under test.`, e);
|
|
21
22
|
}
|
|
@@ -126,7 +127,7 @@ export function createUtilityLogic(store, aclLogic, containerLogic) {
|
|
|
126
127
|
''
|
|
127
128
|
].join('\n')
|
|
128
129
|
}
|
|
129
|
-
const aclDocUrl = await aclLogic.findAclDocUrl(options.target)
|
|
130
|
+
const aclDocUrl = await aclLogic.findAclDocUrl(sym(options.target))
|
|
130
131
|
return store.fetcher._fetch(aclDocUrl, {
|
|
131
132
|
method: 'PUT',
|
|
132
133
|
body: str,
|
package/test/container.test.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @jest-environment jsdom
|
|
3
3
|
*
|
|
4
4
|
*/
|
|
5
|
-
import { UpdateManager, Store, Fetcher } from "rdflib";
|
|
5
|
+
import { UpdateManager, Store, Fetcher, sym } from "rdflib";
|
|
6
6
|
import { createContainerLogic } from "../src/util/containerLogic";
|
|
7
7
|
import { alice } from "./helpers/dataSetup";
|
|
8
8
|
|
|
@@ -21,16 +21,17 @@ describe("Container", () => {
|
|
|
21
21
|
|
|
22
22
|
it("getContainerMembers - When container has some containment triples", async () => {
|
|
23
23
|
containerHasSomeContainmentTriples()
|
|
24
|
-
const
|
|
24
|
+
const containerMembers = await containerLogic.getContainerMembers(sym('https://container.com/'));
|
|
25
|
+
const result = containerMembers.map(oneResult => oneResult.value)
|
|
25
26
|
expect(result.sort()).toEqual([
|
|
26
|
-
'https://com/foo.txt',
|
|
27
|
-
'https://com/bar/'
|
|
27
|
+
'https://container.com/foo.txt',
|
|
28
|
+
'https://container.com/bar/'
|
|
28
29
|
].sort());
|
|
29
30
|
});
|
|
30
31
|
it.skip("getContainerMembers- When container is empty - Resolves to an empty array", async () => {
|
|
31
32
|
jest.setTimeout(2000)
|
|
32
33
|
containerIsEmpty();
|
|
33
|
-
const result = await containerLogic.getContainerMembers('https://container.com/');
|
|
34
|
+
const result = await containerLogic.getContainerMembers(sym('https://container.com/'));
|
|
34
35
|
expect(result).toEqual([]);
|
|
35
36
|
});
|
|
36
37
|
|
|
@@ -46,7 +47,7 @@ describe("Container", () => {
|
|
|
46
47
|
|
|
47
48
|
function containerHasSomeContainmentTriples() {
|
|
48
49
|
fetchMock.mockOnceIf(
|
|
49
|
-
"https://com/",
|
|
50
|
+
"https://container.com/",
|
|
50
51
|
"<.> <http://www.w3.org/ns/ldp#contains> <./foo.txt>, <./bar/> .",
|
|
51
52
|
{
|
|
52
53
|
headers: { "Content-Type": "text/turtle" },
|
package/test/inboxLogic.test.ts
CHANGED
|
@@ -52,7 +52,8 @@ describe("Inbox logic", () => {
|
|
|
52
52
|
beforeEach(async () => {
|
|
53
53
|
bobHasAnInbox();
|
|
54
54
|
inboxHasSomeContainmentTriples();
|
|
55
|
-
|
|
55
|
+
const messages = await inboxLogic.getNewMessages(bob);
|
|
56
|
+
result = messages.map(oneMessage => oneMessage.value)
|
|
56
57
|
});
|
|
57
58
|
it("Resolves to an array with URLs of non-container resources in inbox", () => {
|
|
58
59
|
expect(result.sort()).toEqual([
|