solid-logic 1.3.17-7b06fb45 → 1.3.17-7b8c254b
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/README.md +2 -2
- package/lib/acl/aclLogic.d.ts +2 -11
- package/lib/acl/aclLogic.d.ts.map +1 -1
- package/lib/acl/aclLogic.js +8 -12
- package/lib/acl/aclLogic.js.map +1 -1
- package/lib/chat/chatLogic.d.ts +2 -15
- package/lib/chat/chatLogic.d.ts.map +1 -1
- package/lib/chat/chatLogic.js +8 -7
- package/lib/chat/chatLogic.js.map +1 -1
- package/lib/inbox/inboxLogic.d.ts +2 -6
- package/lib/inbox/inboxLogic.d.ts.map +1 -1
- package/lib/inbox/inboxLogic.js +3 -2
- package/lib/inbox/inboxLogic.js.map +1 -1
- package/lib/index.d.ts +4 -18
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -86
- package/lib/index.js.map +1 -1
- package/lib/logic/solidLogic.d.ts +6 -0
- package/lib/logic/solidLogic.d.ts.map +1 -0
- package/lib/logic/{SolidLogic.js → solidLogic.js} +38 -33
- package/lib/logic/solidLogic.js.map +1 -0
- package/lib/logic/solidLogicSingleton.d.ts +1 -2
- package/lib/logic/solidLogicSingleton.d.ts.map +1 -1
- package/lib/logic/solidLogicSingleton.js +2 -2
- package/lib/logic/solidLogicSingleton.js.map +1 -1
- package/lib/profile/profileLogic.d.ts +2 -12
- package/lib/profile/profileLogic.d.ts.map +1 -1
- package/lib/profile/profileLogic.js +1 -23
- package/lib/profile/profileLogic.js.map +1 -1
- package/lib/typeIndex/typeIndexLogic.d.ts +2 -31
- package/lib/typeIndex/typeIndexLogic.d.ts.map +1 -1
- package/lib/typeIndex/typeIndexLogic.js +12 -359
- package/lib/typeIndex/typeIndexLogic.js.map +1 -1
- package/lib/types.d.ts +65 -1
- 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/ns.d.ts +2 -0
- package/lib/util/ns.d.ts.map +1 -0
- package/lib/util/ns.js +34 -0
- package/lib/util/ns.js.map +1 -0
- 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 +3 -1
- package/src/acl/aclLogic.ts +11 -9
- package/src/chat/chatLogic.ts +7 -7
- package/src/inbox/inboxLogic.ts +6 -5
- package/src/index.ts +5 -147
- package/src/logic/solidLogic.ts +75 -0
- package/src/logic/solidLogicSingleton.ts +2 -2
- package/src/profile/profileLogic.ts +4 -12
- package/src/typeIndex/typeIndexLogic.ts +6 -277
- package/src/types.ts +76 -1
- package/src/util/containerLogic.ts +30 -31
- package/src/util/{ns.js → ns.ts} +0 -0
- package/src/util/utilityLogic.ts +8 -7
- package/test/container.test.ts +7 -6
- package/test/inboxLogic.test.ts +2 -1
- package/test/typeIndexLogic.test.ts +484 -54
- package/lib/logic/SolidLogic.d.ts +0 -22
- package/lib/logic/SolidLogic.d.ts.map +0 -1
- package/lib/logic/SolidLogic.js.map +0 -1
- package/lib/logic/solidLogicSingletonNew.d.ts +0 -80
- package/lib/logic/solidLogicSingletonNew.d.ts.map +0 -1
- package/lib/logic/solidLogicSingletonNew.js +0 -238
- package/lib/logic/solidLogicSingletonNew.js.map +0 -1
- package/src/logic/SolidLogic.ts +0 -81
- package/src/logic/solidLogicSingletonNew.ts +0 -239
- package/test/typeIndexLogicPart2.test.ts +0 -485
package/lib/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Session } from "@inrupt/solid-client-authn-browser";
|
|
2
|
-
import { NamedNode } from "rdflib";
|
|
2
|
+
import { LiveStore, NamedNode, Statement } from "rdflib";
|
|
3
3
|
export declare type AppDetails = {
|
|
4
4
|
noun: string;
|
|
5
5
|
appPathSegment: string;
|
|
@@ -45,4 +45,68 @@ export interface NewPaneOptions {
|
|
|
45
45
|
export interface CreatedPaneOptions {
|
|
46
46
|
newInstance: NamedNode;
|
|
47
47
|
}
|
|
48
|
+
export interface ChatLogic {
|
|
49
|
+
setAcl: (chatContainer: NamedNode, me: NamedNode, invitee: NamedNode) => Promise<void>;
|
|
50
|
+
addToPrivateTypeIndex: (chatThing: any, me: any) => void | Promise<void>;
|
|
51
|
+
findChat: (invitee: NamedNode) => Promise<Chat>;
|
|
52
|
+
createChatThing: (chatContainer: NamedNode, me: NamedNode) => Promise<NamedNode>;
|
|
53
|
+
mintNew: (newPaneOptions: NewPaneOptions) => Promise<CreatedPaneOptions>;
|
|
54
|
+
getChat: (invitee: NamedNode, boolean: any) => Promise<NamedNode | null>;
|
|
55
|
+
sendInvite: (invitee: NamedNode, chatThing: NamedNode) => void;
|
|
56
|
+
}
|
|
57
|
+
export interface Chat {
|
|
58
|
+
me: NamedNode;
|
|
59
|
+
chatContainer: NamedNode;
|
|
60
|
+
exists: boolean;
|
|
61
|
+
}
|
|
62
|
+
export interface ProfileLogic {
|
|
63
|
+
silencedLoadPreferences: (user: NamedNode) => Promise<NamedNode | undefined>;
|
|
64
|
+
loadPreferences: (user: NamedNode) => Promise<NamedNode>;
|
|
65
|
+
loadProfile: (user: NamedNode) => Promise<NamedNode>;
|
|
66
|
+
loadMe: () => Promise<NamedNode>;
|
|
67
|
+
getPodRoot: (user: NamedNode) => NamedNode;
|
|
68
|
+
getMainInbox: (user: NamedNode) => Promise<NamedNode>;
|
|
69
|
+
findStorage: (me: NamedNode) => Node | null;
|
|
70
|
+
}
|
|
71
|
+
export interface AclLogic {
|
|
72
|
+
findAclDocUrl: (url: NamedNode) => Promise<any>;
|
|
73
|
+
setACLUserPublic: (docURI: string, me: NamedNode, options: {
|
|
74
|
+
defaultForNew?: boolean;
|
|
75
|
+
public?: [];
|
|
76
|
+
}) => Promise<NamedNode>;
|
|
77
|
+
genACLText: (docURI: string, me: NamedNode, aclURI: string, options: {
|
|
78
|
+
defaultForNew?: boolean;
|
|
79
|
+
public?: [];
|
|
80
|
+
}) => string | undefined;
|
|
81
|
+
}
|
|
82
|
+
export interface InboxLogic {
|
|
83
|
+
createInboxFor: (peerWebId: string, nick: string) => Promise<string>;
|
|
84
|
+
getNewMessages: (user?: NamedNode) => Promise<NamedNode[]>;
|
|
85
|
+
markAsRead: (url: string, date: Date) => void;
|
|
86
|
+
}
|
|
87
|
+
export interface TypeIndexLogic {
|
|
88
|
+
getRegistrations: (instance: any, theClass: any) => Node[];
|
|
89
|
+
loadTypeIndexesFor: (user: NamedNode) => Promise<Array<TypeIndexScope>>;
|
|
90
|
+
loadCommunityTypeIndexes: (user: NamedNode) => Promise<TypeIndexScope[][]>;
|
|
91
|
+
loadAllTypeIndexes: (user: NamedNode) => Promise<Array<TypeIndexScope>>;
|
|
92
|
+
getScopedAppInstances: (klass: NamedNode, user: NamedNode) => Promise<ScopedApp[]>;
|
|
93
|
+
getAppInstances: (klass: NamedNode) => Promise<NamedNode[]>;
|
|
94
|
+
suggestPublicTypeIndex: (me: NamedNode) => NamedNode;
|
|
95
|
+
suggestPrivateTypeIndex: (preferencesFile: NamedNode) => NamedNode;
|
|
96
|
+
registerInTypeIndex: (instance: NamedNode, index: NamedNode, theClass: NamedNode) => Promise<NamedNode | null>;
|
|
97
|
+
deleteTypeIndexRegistration: (item: any) => Promise<void>;
|
|
98
|
+
getScopedAppsFromIndex: (scope: TypeIndexScope, theClass: NamedNode | null) => Promise<ScopedApp[]>;
|
|
99
|
+
}
|
|
100
|
+
export interface SolidLogic {
|
|
101
|
+
store: LiveStore;
|
|
102
|
+
authn: AuthnLogic;
|
|
103
|
+
acl: AclLogic;
|
|
104
|
+
profile: ProfileLogic;
|
|
105
|
+
inbox: InboxLogic;
|
|
106
|
+
typeIndex: TypeIndexLogic;
|
|
107
|
+
chat: ChatLogic;
|
|
108
|
+
load: (doc: NamedNode | NamedNode[] | string) => void;
|
|
109
|
+
updatePromise: (del: Array<Statement>, ins: Array<Statement>) => Promise<void>;
|
|
110
|
+
clearStore: () => void;
|
|
111
|
+
}
|
|
48
112
|
//# sourceMappingURL=types.d.ts.map
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;
|
|
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"}
|
package/lib/util/ns.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ns.d.ts","sourceRoot":"","sources":["../../src/util/ns.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,EAAE,KAAuB,CAAA"}
|
package/lib/util/ns.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.ns = void 0;
|
|
30
|
+
// Namespaces we commonly use and have common prefixes for around Solid
|
|
31
|
+
var solid_namespace_1 = __importDefault(require("solid-namespace")); // Delegate to this which takes RDFlib as param.
|
|
32
|
+
var $rdf = __importStar(require("rdflib"));
|
|
33
|
+
exports.ns = (0, solid_namespace_1.default)($rdf);
|
|
34
|
+
//# sourceMappingURL=ns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ns.js","sourceRoot":"","sources":["../../src/util/ns.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uEAAuE;AACvE,oEAA4C,CAAC,gDAAgD;AAC7F,2CAA8B;AAEjB,QAAA,EAAE,GAAG,IAAA,yBAAc,EAAC,IAAI,CAAC,CAAA"}
|
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA4C;AAC5C,oDAA+J;AAC/J,mDAAuC;AACvC,iCAA0C;AAE1C,SAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc;IAEhE,SAAe,eAAe,CAAC,aAAwB;;;;;;;6BAE7C,cAAc,CAAC,WAAW,CAAC,aAAa,CAAC,EAAzC,wBAAyC;wBACzB,qBAAM,QAAQ,CAAC,aAAa,CAAC,aAAa,CAAC,EAAA;;wBAAvD,SAAS,GAAG,SAA2C;wBAC7D,qBAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAA;;wBAA3D,SAA2D,CAAC;wBACnC,qBAAM,cAAc,CAAC,mBAAmB,CAAC,aAAa,CAAC,EAAA;;wBAA1E,gBAAgB,GAAG,SAAuD;wBAChF,qBAAM,OAAO,CAAC,GAAG,CACf,gBAAgB,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,eAAe,CAAC,GAAG,CAAC,EAApB,CAAoB,CAAC,CACpD,EAAA;;wBAFD,SAEC,CAAC;;;wBAEE,gBAAgB,GAAG,aAAa,CAAC,KAAK,CAAC;wBAC7C,sBAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAC;;;;;;;;KAIzE;IAED;;;;;OAKG;IACH,SAAe,uBAAuB,CAAC,GAAc;;;;;;;wBAGtC,qBAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAAxC,QAAQ,GAAG,SAA6B,CAAA;;;;6BAEpC,CAAA,KAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAA,EAA3B,wBAA2B;;;;wBAE3B,qBAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EAAA;;wBAAtF,SAAsF,CAAA;;;;wBAEhF,GAAG,GAAG,iCAAiC,GAAG,GAAG,GAAG,IAAI,GAAG,KAAG,CAAA;wBAChE,MAAM,IAAI,+BAAiB,CAAC,GAAG,CAAC,CAAA;4BAElC,qBAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAA7B,SAA6B,CAAA;;;wBAE7B,IAAI,KAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;4BAC/B,MAAM,IAAI,+BAAiB,EAAE,CAAC;yBAC/B;wBACD,IAAI,KAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;4BAC/B,IAAI,IAAA,uBAAe,EAAC,GAAG,CAAC,EAAE;gCACxB,MAAM,IAAI,uCAAyB,EAAE,CAAC;6BACvC;4BACD,MAAM,IAAI,sCAAwB,EAAE,CAAC;yBACtC;wBACK,GAAG,GAAG,6CAA6C,GAAG,GAAG,GAAG,IAAI,GAAG,KAAG,CAAA;wBAC5E,MAAM,IAAI,wBAAU,CAAC,KAAG,CAAC,MAAM,EAAE,KAAG,CAAC,OAAO,GAAG,GAAG,CAAC,CAAA;;6BAGvD,sBAAO,QAAQ,EAAA;;;;KAChB;IAED;;;MAGE;IACF,SAAe,kBAAkB,CAAC,OAAkB,EAAE,SAAoB,EACxE,MAAiB,EAAE,GAAc;;;;;4BAEjC,qBAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAA;;wBAA7B,SAA6B,CAAA;wBACvB,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,CAAC,CAAA;wBAEvD,IAAI,MAAM;4BAAE,sBAAO,MAAmB,EAAA;wBACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;4BAC1B,GAAG,GAAG,0CAAmC,GAAG,CAAC,KAAK,CAAE,CAAA;4BAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;4BACf,MAAM,IAAI,8BAAgB,CAAC,GAAG,CAAC,CAAA;yBAChC;;;;wBAEC,qBAAM,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,IAAA,WAAE,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAA;;wBAArE,SAAqE,CAAA;;;;wBAE/D,GAAG,GAAG,mDAA4C,GAAG,iBAAO,MAAM,eAAK,KAAG,CAAE,CAAA;wBAClF,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;wBACf,MAAM,IAAI,+BAAiB,CAAC,KAAG,CAAC,CAAA;;;wBAIhC,qBAAM,uBAAuB,CAAC,MAAM,CAAC;4BACrC,qFAAqF;0BADhD;;wBAArC,SAAqC,CAAA;;;;wBAGrC,KAAK,CAAC,IAAI,CAAC,2EAAoE,MAAM,eAAK,KAAG,CAAE,CAAC,CAAA;wBAChG,MAAM,KAAG,CAAC;4BAEZ,sBAAO,MAAM,EAAA;;;;KACd;IAED,6GAA6G;IAC7G,SAAe,mBAAmB,CAAC,OAMlC;;;;;;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,QAAQ,CAAC,aAAa,CAAC,IAAA,YAAG,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAA;;wBAA7D,SAAS,GAAG,SAAiD;wBACnE,sBAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE;gCACrC,MAAM,EAAE,KAAK;gCACb,IAAI,EAAE,GAAG;gCACT,OAAO,EAAE;oCACP,CAAC,cAAc,EAAE,aAAa,CAAC;iCAChC;6BACF,CAAC,EAAC;;;;KACJ;IAED,SAAe,iBAAiB,CAAC,GAAc,EAAE,OAAe;;;;4BAC9D,qBAAM,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,EAAE;4BAC/C,IAAI,EAAE,YAAK,IAAI,IAAI,EAAE,cAAI,OAAO,SACnC;4BACG,WAAW,EAAE,aAAa;yBAC3B,CAAC,EAAA;;wBAJF,SAIE,CAAC;;;;;KACJ;IAED,OAAO;QACL,eAAe,iBAAA;QACf,mBAAmB,qBAAA;QACnB,iBAAiB,mBAAA;QACjB,kBAAkB,oBAAA;QAClB,uBAAuB,yBAAA;KACxB,CAAA;AACH,CAAC;AArJD,gDAqJC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solid-logic",
|
|
3
|
-
"version": "1.3.17-
|
|
3
|
+
"version": "1.3.17-7b8c254b",
|
|
4
4
|
"description": "Core business logic of Solid OS",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
},
|
|
26
26
|
"homepage": "https://github.com/solidos/solid-logic#readme",
|
|
27
27
|
"devDependencies": {
|
|
28
|
+
"@babel/core": "^7.17.10",
|
|
28
29
|
"@babel/plugin-proposal-class-properties": "~7.16.7",
|
|
29
30
|
"@babel/plugin-proposal-optional-chaining": "~7.16.7",
|
|
30
31
|
"@babel/plugin-transform-async-to-generator": "~7.16.8",
|
|
@@ -34,6 +35,7 @@
|
|
|
34
35
|
"@types/jest": "^27.4.1",
|
|
35
36
|
"@typescript-eslint/eslint-plugin": "^5.19.0",
|
|
36
37
|
"@typescript-eslint/parser": "^5.19.0",
|
|
38
|
+
"babel-jest": "^28.0.3",
|
|
37
39
|
"eslint": "^8.13.0",
|
|
38
40
|
"jest": "^27.5.1",
|
|
39
41
|
"jest-environment-node-debug": "^2.0.0",
|
package/src/acl/aclLogic.ts
CHANGED
|
@@ -1,17 +1,19 @@
|
|
|
1
1
|
import { graph, NamedNode, Namespace, serialize, sym } from "rdflib"
|
|
2
|
-
import
|
|
2
|
+
import { AclLogic } from "../types";
|
|
3
|
+
import { ns as namespace } from '../util/ns'
|
|
3
4
|
|
|
4
5
|
|
|
5
6
|
export const ACL_LINK = sym(
|
|
6
7
|
"http://www.iana.org/assignments/link-relations/acl"
|
|
7
8
|
);
|
|
8
9
|
|
|
9
|
-
export function createAclLogic(store) {
|
|
10
|
+
export function createAclLogic(store): AclLogic {
|
|
11
|
+
|
|
12
|
+
const ns = namespace
|
|
10
13
|
|
|
11
|
-
async function findAclDocUrl(url:
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
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);
|
|
15
17
|
if (!docNode) {
|
|
16
18
|
throw new Error(`No ACL link discovered for ${url}`);
|
|
17
19
|
}
|
|
@@ -114,9 +116,9 @@ export function createAclLogic(store) {
|
|
|
114
116
|
me: NamedNode,
|
|
115
117
|
aclURI: string,
|
|
116
118
|
options: {
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
119
|
+
defaultForNew?: boolean,
|
|
120
|
+
public?: []
|
|
121
|
+
} = {}
|
|
120
122
|
): string | undefined {
|
|
121
123
|
const optPublic = options.public || []
|
|
122
124
|
const g = graph()
|
package/src/chat/chatLogic.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { NamedNode, Node, st, term } from "rdflib"
|
|
2
|
-
import { CreatedPaneOptions, NewPaneOptions } from "../types"
|
|
2
|
+
import { ChatLogic, CreatedPaneOptions, NewPaneOptions, Chat } from "../types"
|
|
3
|
+
import { ns as namespace } from "../util/ns";
|
|
3
4
|
import { determineChatContainer, newThing } from "../util/utils"
|
|
4
|
-
import { ns as namespace } from '../util/ns'
|
|
5
5
|
|
|
6
|
-
const CHAT_LOCATION_IN_CONTAINER = "index.ttl#this"
|
|
6
|
+
const CHAT_LOCATION_IN_CONTAINER = "index.ttl#this"
|
|
7
7
|
|
|
8
|
-
export function createChatLogic(store, profileLogic) {
|
|
8
|
+
export function createChatLogic(store, profileLogic): ChatLogic {
|
|
9
9
|
const ns = namespace
|
|
10
|
-
|
|
10
|
+
|
|
11
11
|
async function setAcl(
|
|
12
12
|
chatContainer: NamedNode,
|
|
13
13
|
me: NamedNode,
|
|
@@ -87,7 +87,7 @@ export function createChatLogic(store, profileLogic) {
|
|
|
87
87
|
});
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
async function findChat(invitee: NamedNode) {
|
|
90
|
+
async function findChat(invitee: NamedNode): Promise<Chat> {
|
|
91
91
|
const me = await profileLogic.loadMe();
|
|
92
92
|
const podRoot = await profileLogic.getPodRoot(me);
|
|
93
93
|
const chatContainer = determineChatContainer(invitee, podRoot);
|
|
@@ -206,7 +206,7 @@ export function createChatLogic(store, profileLogic) {
|
|
|
206
206
|
${ns.rdf("seeAlso")} <${chatThing.value}> .
|
|
207
207
|
`;
|
|
208
208
|
|
|
209
|
-
const inviteResponse = await store.fetcher
|
|
209
|
+
const inviteResponse = await store.fetcher?.webOperation(
|
|
210
210
|
"POST",
|
|
211
211
|
inviteeInbox.value,
|
|
212
212
|
{
|
package/src/inbox/inboxLogic.ts
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { NamedNode } from "rdflib";
|
|
1
|
+
import { NamedNode, sym } from "rdflib";
|
|
2
|
+
import { InboxLogic } from "../types";
|
|
2
3
|
import { getArchiveUrl } from "../util/utils";
|
|
3
4
|
|
|
4
|
-
export function createInboxLogic(store, profileLogic, utilityLogic, containerLogic, aclLogic) {
|
|
5
|
+
export function createInboxLogic(store, profileLogic, utilityLogic, containerLogic, aclLogic): InboxLogic {
|
|
5
6
|
|
|
6
7
|
async function createInboxFor(peerWebId: string, nick: string) {
|
|
7
8
|
const myWebId: NamedNode = await profileLogic.loadMe();
|
|
8
9
|
const podRoot: NamedNode = await profileLogic.getPodRoot(myWebId);
|
|
9
10
|
const ourInbox = `${podRoot.value}p2p-inboxes/${encodeURIComponent(nick)}/`;
|
|
10
11
|
await containerLogic.createContainer(ourInbox);
|
|
11
|
-
const aclDocUrl = await aclLogic.findAclDocUrl(ourInbox)
|
|
12
|
+
const aclDocUrl = await aclLogic.findAclDocUrl(sym(ourInbox))
|
|
12
13
|
await utilityLogic.setSinglePeerAccess({
|
|
13
14
|
ownerWebId: myWebId.value,
|
|
14
15
|
peerWebId,
|
|
@@ -20,12 +21,12 @@ export function createInboxLogic(store, profileLogic, utilityLogic, containerLog
|
|
|
20
21
|
|
|
21
22
|
async function getNewMessages(
|
|
22
23
|
user?: NamedNode
|
|
23
|
-
): Promise<
|
|
24
|
+
): Promise<NamedNode[]> {
|
|
24
25
|
if (!user) {
|
|
25
26
|
user = await profileLogic.loadMe();
|
|
26
27
|
}
|
|
27
28
|
const inbox = await profileLogic.getMainInbox(user);
|
|
28
|
-
const urls = await containerLogic.getContainerMembers(inbox
|
|
29
|
+
const urls = await containerLogic.getContainerMembers(inbox);
|
|
29
30
|
return urls.filter(url => !containerLogic.isContainer(url));
|
|
30
31
|
}
|
|
31
32
|
|
package/src/index.ts
CHANGED
|
@@ -6,158 +6,16 @@ const authn = solidLogicSingleton.authn
|
|
|
6
6
|
const authSession = solidLogicSingleton.authn.authSession
|
|
7
7
|
const store = solidLogicSingleton.store
|
|
8
8
|
|
|
9
|
-
const aclLogic = solidLogicSingleton.aclLogic
|
|
10
|
-
const utilityLogic = solidLogicSingleton.utilityLogic
|
|
11
|
-
const containerLogic = solidLogicSingleton.containerLogic
|
|
12
|
-
const profileLogic = solidLogicSingleton.profileLogic
|
|
13
|
-
const inboxLogic = solidLogicSingleton.inboxLogic
|
|
14
|
-
const typeIndexLogic = solidLogicSingleton.typeIndexLogic
|
|
15
|
-
const chatLogic = solidLogicSingleton.chatLogic
|
|
16
|
-
|
|
17
|
-
const {
|
|
18
|
-
findAclDocUrl,
|
|
19
|
-
setACLUserPublic,
|
|
20
|
-
genACLText,
|
|
21
|
-
} = aclLogic
|
|
22
|
-
|
|
23
|
-
const {
|
|
24
|
-
ensureTypeIndexes,
|
|
25
|
-
loadTypeIndexes,
|
|
26
|
-
registerInTypeIndex,
|
|
27
|
-
loadIndex,
|
|
28
|
-
ensureOneTypeIndex,
|
|
29
|
-
putIndex,
|
|
30
|
-
makeIndexIfNecessary,
|
|
31
|
-
loadIndexes,
|
|
32
|
-
getTypeIndex,
|
|
33
|
-
getRegistrations,
|
|
34
|
-
//NEW function for discovery
|
|
35
|
-
loadTypeIndexesFor,
|
|
36
|
-
loadCommunityTypeIndexes,
|
|
37
|
-
loadAllTypeIndexes,
|
|
38
|
-
getScopedAppInstances,
|
|
39
|
-
getAppInstances,
|
|
40
|
-
suggestPublicTypeIndex,
|
|
41
|
-
suggestPrivateTypeIndex,
|
|
42
|
-
registerInstanceInTypeIndex,
|
|
43
|
-
deleteTypeIndexRegistration,
|
|
44
|
-
getScopedAppsFromIndex
|
|
45
|
-
} = typeIndexLogic
|
|
46
|
-
|
|
47
|
-
const {
|
|
48
|
-
setAcl,
|
|
49
|
-
addToPrivateTypeIndex,
|
|
50
|
-
findChat,
|
|
51
|
-
createChatThing,
|
|
52
|
-
getChat,
|
|
53
|
-
sendInvite,
|
|
54
|
-
mintNew
|
|
55
|
-
} = chatLogic
|
|
56
|
-
|
|
57
|
-
const { createInboxFor, getNewMessages, markAsRead } = inboxLogic
|
|
58
|
-
const {
|
|
59
|
-
recursiveDelete,
|
|
60
|
-
setSinglePeerAccess,
|
|
61
|
-
createEmptyRdfDoc,
|
|
62
|
-
//NEW function for discovery
|
|
63
|
-
followOrCreateLink,
|
|
64
|
-
loadOrCreateIfNotExists,
|
|
65
|
-
} = utilityLogic
|
|
66
|
-
|
|
67
|
-
const {
|
|
68
|
-
ensureLoadedPreferences,
|
|
69
|
-
loadMe,
|
|
70
|
-
getPodRoot,
|
|
71
|
-
getMainInbox,
|
|
72
|
-
findStorage,
|
|
73
|
-
//NEW content from discovery
|
|
74
|
-
loadPreferences,
|
|
75
|
-
loadProfile,
|
|
76
|
-
//NEW function for discovery
|
|
77
|
-
silencedLoadPreferences
|
|
78
|
-
} = profileLogic
|
|
79
|
-
|
|
80
|
-
const {
|
|
81
|
-
isContainer,
|
|
82
|
-
createContainer,
|
|
83
|
-
getContainerElements,
|
|
84
|
-
getContainerMembers
|
|
85
|
-
} = containerLogic
|
|
86
|
-
|
|
87
9
|
export { ACL_LINK } from './acl/aclLogic'
|
|
88
10
|
export { offlineTestID, appContext } from './authn/authUtil'
|
|
89
11
|
export { getSuggestedIssuers } from './issuer/issuerLogic'
|
|
90
|
-
export { SolidLogic } from './
|
|
91
|
-
export { AppDetails, SolidNamespace, AuthenticationContext } from './types'
|
|
92
|
-
// solidLogicSingleton is exported entirely because it is used in solid-panes
|
|
93
|
-
export { solidLogicSingleton } from './logic/solidLogicSingleton'
|
|
12
|
+
export { AppDetails, SolidNamespace, AuthenticationContext, SolidLogic } from './types'
|
|
94
13
|
export { UnauthorizedError, CrossOriginForbiddenError, SameOriginForbiddenError, NotFoundError, FetchError, NotEditableError, WebOperationError } from './logic/CustomError'
|
|
95
14
|
|
|
96
15
|
export {
|
|
16
|
+
solidLogicSingleton, // solidLogicSingleton is exported entirely because it is used in solid-panes
|
|
97
17
|
store,
|
|
98
18
|
authn,
|
|
99
|
-
authSession
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
containerLogic,
|
|
103
|
-
profileLogic,
|
|
104
|
-
inboxLogic,
|
|
105
|
-
typeIndexLogic,
|
|
106
|
-
chatLogic,
|
|
107
|
-
//aclLogic
|
|
108
|
-
findAclDocUrl,
|
|
109
|
-
setACLUserPublic,
|
|
110
|
-
genACLText,
|
|
111
|
-
//typeIndexLogic
|
|
112
|
-
ensureTypeIndexes,
|
|
113
|
-
loadTypeIndexes,
|
|
114
|
-
registerInTypeIndex,
|
|
115
|
-
loadIndex,
|
|
116
|
-
ensureOneTypeIndex,
|
|
117
|
-
putIndex,
|
|
118
|
-
makeIndexIfNecessary,
|
|
119
|
-
loadIndexes,
|
|
120
|
-
getTypeIndex,
|
|
121
|
-
getRegistrations,
|
|
122
|
-
loadTypeIndexesFor,
|
|
123
|
-
loadCommunityTypeIndexes,
|
|
124
|
-
loadAllTypeIndexes,
|
|
125
|
-
getScopedAppInstances,
|
|
126
|
-
getAppInstances,
|
|
127
|
-
suggestPublicTypeIndex,
|
|
128
|
-
suggestPrivateTypeIndex,
|
|
129
|
-
registerInstanceInTypeIndex,
|
|
130
|
-
deleteTypeIndexRegistration,
|
|
131
|
-
getScopedAppsFromIndex,
|
|
132
|
-
setAcl,
|
|
133
|
-
addToPrivateTypeIndex,
|
|
134
|
-
findChat,
|
|
135
|
-
createChatThing,
|
|
136
|
-
getChat,
|
|
137
|
-
sendInvite,
|
|
138
|
-
//inboxLogic
|
|
139
|
-
mintNew,
|
|
140
|
-
createInboxFor,
|
|
141
|
-
getNewMessages,
|
|
142
|
-
markAsRead,
|
|
143
|
-
//utilityLogic
|
|
144
|
-
recursiveDelete,
|
|
145
|
-
setSinglePeerAccess,
|
|
146
|
-
createEmptyRdfDoc,
|
|
147
|
-
followOrCreateLink,
|
|
148
|
-
loadOrCreateIfNotExists,
|
|
149
|
-
//profileLogic
|
|
150
|
-
ensureLoadedPreferences,
|
|
151
|
-
loadMe,
|
|
152
|
-
getPodRoot,
|
|
153
|
-
getMainInbox,
|
|
154
|
-
findStorage,
|
|
155
|
-
loadPreferences,
|
|
156
|
-
loadProfile,
|
|
157
|
-
silencedLoadPreferences,
|
|
158
|
-
//containerLogic
|
|
159
|
-
isContainer,
|
|
160
|
-
createContainer,
|
|
161
|
-
getContainerElements,
|
|
162
|
-
getContainerMembers
|
|
163
|
-
}
|
|
19
|
+
authSession
|
|
20
|
+
}
|
|
21
|
+
|