solid-logic 1.3.17-9d25ceb7 → 1.3.17-a2363122

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.
Files changed (120) hide show
  1. package/lib/acl/aclLogic.d.ts +12 -30
  2. package/lib/acl/aclLogic.d.ts.map +1 -1
  3. package/lib/acl/aclLogic.js +152 -119
  4. package/lib/acl/aclLogic.js.map +1 -1
  5. package/lib/authn/SolidAuthnLogic.d.ts.map +1 -1
  6. package/lib/authn/SolidAuthnLogic.js +2 -2
  7. package/lib/authn/SolidAuthnLogic.js.map +1 -1
  8. package/lib/chat/chatLogic.d.ts +16 -0
  9. package/lib/chat/chatLogic.d.ts.map +1 -0
  10. package/lib/chat/{ChatLogic.js → chatLogic.js} +82 -87
  11. package/lib/chat/chatLogic.js.map +1 -0
  12. package/lib/inbox/inboxLogic.d.ts +7 -0
  13. package/lib/inbox/inboxLogic.d.ts.map +1 -0
  14. package/lib/inbox/{InboxLogic.js → inboxLogic.js} +58 -64
  15. package/lib/inbox/inboxLogic.js.map +1 -0
  16. package/lib/index.d.ts +18 -9
  17. package/lib/index.d.ts.map +1 -1
  18. package/lib/index.js +77 -22
  19. package/lib/index.js.map +1 -1
  20. package/lib/logic/CustomError.d.ts +4 -0
  21. package/lib/logic/CustomError.d.ts.map +1 -1
  22. package/lib/logic/CustomError.js +17 -1
  23. package/lib/logic/CustomError.js.map +1 -1
  24. package/lib/logic/SolidLogic.d.ts +8 -34
  25. package/lib/logic/SolidLogic.d.ts.map +1 -1
  26. package/lib/logic/SolidLogic.js +16 -250
  27. package/lib/logic/SolidLogic.js.map +1 -1
  28. package/lib/logic/solidLogicSingleton.js +1 -1
  29. package/lib/logic/solidLogicSingleton.js.map +1 -1
  30. package/lib/logic/solidLogicSingletonNew.d.ts +68 -0
  31. package/lib/logic/solidLogicSingletonNew.d.ts.map +1 -0
  32. package/lib/logic/solidLogicSingletonNew.js +221 -0
  33. package/lib/logic/solidLogicSingletonNew.js.map +1 -0
  34. package/lib/profile/profileLogic.d.ts +13 -0
  35. package/lib/profile/profileLogic.d.ts.map +1 -0
  36. package/lib/profile/profileLogic.js +268 -0
  37. package/lib/profile/profileLogic.js.map +1 -0
  38. package/lib/typeIndex/typeIndexLogic.d.ts +18 -21
  39. package/lib/typeIndex/typeIndexLogic.d.ts.map +1 -1
  40. package/lib/typeIndex/typeIndexLogic.js +304 -296
  41. package/lib/typeIndex/typeIndexLogic.js.map +1 -1
  42. package/lib/types.d.ts +17 -0
  43. package/lib/types.d.ts.map +1 -1
  44. package/lib/util/containerLogic.d.ts +11 -0
  45. package/lib/util/containerLogic.d.ts.map +1 -0
  46. package/lib/{profile/ProfileLogic.js → util/containerLogic.js} +53 -44
  47. package/lib/util/containerLogic.js.map +1 -0
  48. package/lib/util/ns.d.ts +2 -0
  49. package/lib/util/ns.d.ts.map +1 -0
  50. package/lib/util/ns.js +34 -0
  51. package/lib/util/ns.js.map +1 -0
  52. package/lib/util/utilityLogic.d.ts +15 -0
  53. package/lib/util/utilityLogic.d.ts.map +1 -0
  54. package/lib/util/utilityLogic.js +272 -0
  55. package/lib/util/utilityLogic.js.map +1 -0
  56. package/lib/util/utils.d.ts +8 -0
  57. package/lib/util/utils.d.ts.map +1 -0
  58. package/lib/util/utils.js +48 -0
  59. package/lib/util/utils.js.map +1 -0
  60. package/package.json +3 -1
  61. package/src/acl/aclLogic.ts +136 -118
  62. package/src/authn/SolidAuthnLogic.ts +3 -2
  63. package/src/chat/chatLogic.ts +225 -0
  64. package/src/inbox/inboxLogic.ts +57 -0
  65. package/src/index.ts +126 -20
  66. package/src/logic/CustomError.ts +5 -1
  67. package/src/logic/SolidLogic.ts +30 -211
  68. package/src/logic/solidLogicSingleton.ts +1 -1
  69. package/src/logic/solidLogicSingletonNew.ts +213 -0
  70. package/src/profile/profileLogic.ts +134 -0
  71. package/src/typeIndex/typeIndexLogic.ts +175 -182
  72. package/src/types.ts +7 -3
  73. package/src/util/containerLogic.ts +54 -0
  74. package/src/util/ns.ts +5 -0
  75. package/src/util/utilityLogic.ts +155 -0
  76. package/src/util/utils.ts +52 -0
  77. package/test/aclLogic.test.ts +13 -4
  78. package/test/chatLogic.test.ts +70 -71
  79. package/test/container.test.ts +56 -0
  80. package/test/helpers/dataSetup.ts +134 -0
  81. package/test/helpers/setup.ts +4 -0
  82. package/test/inboxLogic.test.ts +39 -38
  83. package/test/logic.test.ts +10 -9
  84. package/test/profileLogic.test.ts +246 -0
  85. package/test/typeIndexLogic.test.ts +487 -30
  86. package/test/utilityLogic.test.ts +172 -126
  87. package/test/utils.test.ts +32 -0
  88. package/lib/chat/ChatLogic.d.ts +0 -26
  89. package/lib/chat/ChatLogic.d.ts.map +0 -1
  90. package/lib/chat/ChatLogic.js.map +0 -1
  91. package/lib/chat/determineChatContainer.d.ts +0 -3
  92. package/lib/chat/determineChatContainer.d.ts.map +0 -1
  93. package/lib/chat/determineChatContainer.js +0 -12
  94. package/lib/chat/determineChatContainer.js.map +0 -1
  95. package/lib/discovery/discoveryLogic.d.ts +0 -37
  96. package/lib/discovery/discoveryLogic.d.ts.map +0 -1
  97. package/lib/discovery/discoveryLogic.js +0 -507
  98. package/lib/discovery/discoveryLogic.js.map +0 -1
  99. package/lib/inbox/InboxLogic.d.ts +0 -18
  100. package/lib/inbox/InboxLogic.d.ts.map +0 -1
  101. package/lib/inbox/InboxLogic.js.map +0 -1
  102. package/lib/profile/ProfileLogic.d.ts +0 -13
  103. package/lib/profile/ProfileLogic.d.ts.map +0 -1
  104. package/lib/profile/ProfileLogic.js.map +0 -1
  105. package/lib/util/UtilityLogic.d.ts +0 -33
  106. package/lib/util/UtilityLogic.d.ts.map +0 -1
  107. package/lib/util/UtilityLogic.js +0 -240
  108. package/lib/util/UtilityLogic.js.map +0 -1
  109. package/lib/util/uri.d.ts +0 -3
  110. package/lib/util/uri.d.ts.map +0 -1
  111. package/lib/util/uri.js +0 -9
  112. package/lib/util/uri.js.map +0 -1
  113. package/src/chat/ChatLogic.ts +0 -244
  114. package/src/chat/determineChatContainer.ts +0 -14
  115. package/src/discovery/discoveryLogic.ts +0 -288
  116. package/src/inbox/InboxLogic.ts +0 -66
  117. package/src/profile/ProfileLogic.ts +0 -44
  118. package/src/util/UtilityLogic.ts +0 -161
  119. package/src/util/uri.ts +0 -5
  120. package/test/discoveryLogic.test.ts +0 -712
@@ -0,0 +1,68 @@
1
+ import * as rdf from "rdflib";
2
+ import { SolidAuthnLogic } from "../authn/SolidAuthnLogic";
3
+ export declare function solidLogicSingleton(): {
4
+ store: rdf.LiveStore;
5
+ authn: SolidAuthnLogic;
6
+ authSession: import("@inrupt/solid-client-authn-browser").Session;
7
+ recursiveDelete: (url: string) => Promise<any>;
8
+ setSinglePeerAccess: (options: {
9
+ ownerWebId: string;
10
+ peerWebId: string;
11
+ accessToModes?: string | undefined;
12
+ defaultModes?: string | undefined;
13
+ target: string;
14
+ }) => Promise<any>;
15
+ createEmptyRdfDoc: (doc: rdf.NamedNode, comment: string) => Promise<void>;
16
+ followOrCreateLink: (subject: rdf.NamedNode, predicate: rdf.NamedNode, object: rdf.NamedNode, doc: rdf.NamedNode) => Promise<rdf.NamedNode | null>;
17
+ loadOrCreateIfNotExists: (doc: rdf.NamedNode) => Promise<any>;
18
+ isContainer: (url: string) => boolean;
19
+ createContainer: (url: string) => Promise<void>;
20
+ getContainerElements: (containerNode: rdf.NamedNode) => rdf.NamedNode[];
21
+ getContainerMembers: (containerUrl: string) => Promise<string[]>;
22
+ registerInTypeIndex: (instance: rdf.NamedNode, index: rdf.NamedNode, theClass: rdf.NamedNode) => Promise<rdf.NamedNode | null>;
23
+ getRegistrations: (instance: any, theClass: any) => any;
24
+ loadTypeIndexesFor: (user: rdf.NamedNode) => Promise<import("../types").TypeIndexScope[]>;
25
+ loadCommunityTypeIndexes: (user: rdf.NamedNode) => Promise<import("../types").TypeIndexScope[][]>;
26
+ loadAllTypeIndexes: (user: rdf.NamedNode) => Promise<import("../types").TypeIndexScope[]>;
27
+ getScopedAppInstances: (klass: rdf.NamedNode, user: rdf.NamedNode) => Promise<import("../types").ScopedApp[]>;
28
+ getAppInstances: (klass: rdf.NamedNode) => Promise<rdf.NamedNode[]>;
29
+ suggestPublicTypeIndex: (me: rdf.NamedNode) => rdf.NamedNode;
30
+ suggestPrivateTypeIndex: (preferencesFile: rdf.NamedNode) => rdf.NamedNode;
31
+ deleteTypeIndexRegistration: (item: any) => Promise<void>;
32
+ getScopedAppsFromIndex: (scope: any, theClass: rdf.NamedNode | null) => Promise<{
33
+ instance: rdf.NamedNode;
34
+ scope: any;
35
+ }[]>;
36
+ ensureLoadedPreferences: (context: import("..").AuthenticationContext) => Promise<import("..").AuthenticationContext>;
37
+ loadMe: () => Promise<rdf.NamedNode>;
38
+ getPodRoot: (user: rdf.NamedNode) => rdf.NamedNode;
39
+ getMainInbox: (user: rdf.NamedNode) => Promise<rdf.NamedNode>;
40
+ findStorage: (me: rdf.NamedNode) => any;
41
+ loadPreferences: (user: rdf.NamedNode) => Promise<rdf.NamedNode>;
42
+ loadProfile: (user: rdf.NamedNode) => Promise<rdf.NamedNode>;
43
+ silencedLoadPreferences: (user: rdf.NamedNode) => Promise<rdf.NamedNode | undefined>;
44
+ createInboxFor: (peerWebId: string, nick: string) => Promise<string>;
45
+ getNewMessages: (user?: rdf.NamedNode | undefined) => Promise<string[]>;
46
+ markAsRead: (url: string, date: Date) => Promise<void>;
47
+ setAcl: (chatContainer: rdf.NamedNode, me: rdf.NamedNode, invitee: rdf.NamedNode) => Promise<void>;
48
+ addToPrivateTypeIndex: (chatThing: any, me: any) => Promise<void>;
49
+ findChat: (invitee: rdf.NamedNode) => Promise<{
50
+ me: any;
51
+ chatContainer: rdf.NamedNode;
52
+ exists: boolean;
53
+ }>;
54
+ createChatThing: (chatContainer: rdf.NamedNode, me: rdf.NamedNode) => Promise<rdf.NamedNode>;
55
+ getChat: (invitee: rdf.NamedNode, createIfMissing?: boolean) => Promise<rdf.NamedNode | null>;
56
+ sendInvite: (invitee: rdf.NamedNode, chatThing: rdf.NamedNode) => Promise<void>;
57
+ mintNew: (newPaneOptions: import("../types").NewPaneOptions) => Promise<import("../types").CreatedPaneOptions>;
58
+ findAclDocUrl: (url: string) => Promise<any>;
59
+ setACLUserPublic: (docURI: string, me: rdf.NamedNode, options: {
60
+ defaultForNew?: boolean | undefined;
61
+ public?: [] | undefined;
62
+ }) => Promise<rdf.NamedNode>;
63
+ genACLText: (docURI: string, me: rdf.NamedNode, aclURI: string, options?: {
64
+ defaultForNew?: boolean | undefined;
65
+ public?: [] | undefined;
66
+ }) => string | undefined;
67
+ };
68
+ //# sourceMappingURL=solidLogicSingletonNew.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solidLogicSingletonNew.d.ts","sourceRoot":"","sources":["../../src/logic/solidLogicSingletonNew.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAW1D,wBAAgB,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgJlC"}
@@ -0,0 +1,221 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (_) try {
41
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ exports.solidLogicSingleton = void 0;
63
+ var rdf = __importStar(require("rdflib"));
64
+ var SolidAuthnLogic_1 = require("../authn/SolidAuthnLogic");
65
+ var authSession_1 = require("../authSession/authSession");
66
+ var containerLogic_1 = require("../util/containerLogic");
67
+ var typeIndexLogic_1 = require("../typeIndex/typeIndexLogic");
68
+ var debug = __importStar(require("../util/debug"));
69
+ var utilityLogic_1 = require("../util/utilityLogic");
70
+ var profileLogic_1 = require("../profile/profileLogic");
71
+ var inboxLogic_1 = require("../inbox/inboxLogic");
72
+ var chatLogic_1 = require("../chat/chatLogic");
73
+ var aclLogic_1 = require("../acl/aclLogic");
74
+ function solidLogicSingleton() {
75
+ var _this = this;
76
+ var _fetch = function (url, requestInit) { return __awaiter(_this, void 0, void 0, function () {
77
+ var omitCreds;
78
+ return __generator(this, function (_a) {
79
+ omitCreds = requestInit && requestInit.credentials && requestInit.credentials == 'omit';
80
+ if (authSession_1.authSession.info.webId && !omitCreds) { // see https://github.com/solidos/solidos/issues/114
81
+ // In fact fetch should respect credentials omit itself
82
+ return [2 /*return*/, authSession_1.authSession.fetch(url, requestInit)];
83
+ }
84
+ else {
85
+ return [2 /*return*/, window.fetch(url, requestInit)];
86
+ }
87
+ return [2 /*return*/];
88
+ });
89
+ }); };
90
+ debug.log("SolidLogicSingleton: Unique instance created. There should only be one of these.");
91
+ var store = rdf.graph(); // Make a Quad store
92
+ rdf.fetcher(store, { fetch: _fetch }); // Attach a web I/O module, store.fetcher
93
+ store.updater = new rdf.UpdateManager(store); // Add real-time live updates store.updater
94
+ store.features = []; // disable automatic node merging on store load
95
+ debug.log('SolidAuthnLogic initialized');
96
+ var authn = new SolidAuthnLogic_1.SolidAuthnLogic(authSession_1.authSession);
97
+ var aclLogic = (0, aclLogic_1.createAclLogic)(store);
98
+ var findAclDocUrl = aclLogic.findAclDocUrl, setACLUserPublic = aclLogic.setACLUserPublic, genACLText = aclLogic.genACLText;
99
+ var containerLogic = (0, containerLogic_1.createContainerLogic)(store);
100
+ var isContainer = containerLogic.isContainer, createContainer = containerLogic.createContainer, getContainerElements = containerLogic.getContainerElements, getContainerMembers = containerLogic.getContainerMembers;
101
+ var utilityLogic = (0, utilityLogic_1.createUtilityLogic)(store, aclLogic, containerLogic);
102
+ var recursiveDelete = utilityLogic.recursiveDelete, setSinglePeerAccess = utilityLogic.setSinglePeerAccess, createEmptyRdfDoc = utilityLogic.createEmptyRdfDoc, followOrCreateLink = utilityLogic.followOrCreateLink, loadOrCreateIfNotExists = utilityLogic.loadOrCreateIfNotExists;
103
+ var profileLogic = (0, profileLogic_1.createProfileLogic)(store, authn, utilityLogic);
104
+ var ensureLoadedPreferences = profileLogic.ensureLoadedPreferences, loadMe = profileLogic.loadMe, getPodRoot = profileLogic.getPodRoot, getMainInbox = profileLogic.getMainInbox, findStorage = profileLogic.findStorage, loadPreferences = profileLogic.loadPreferences, loadProfile = profileLogic.loadProfile, silencedLoadPreferences = profileLogic.silencedLoadPreferences;
105
+ var chatLogic = (0, chatLogic_1.createChatLogic)(store, profileLogic);
106
+ var setAcl = chatLogic.setAcl, addToPrivateTypeIndex = chatLogic.addToPrivateTypeIndex, findChat = chatLogic.findChat, createChatThing = chatLogic.createChatThing, getChat = chatLogic.getChat, sendInvite = chatLogic.sendInvite, mintNew = chatLogic.mintNew;
107
+ var inboxLogic = (0, inboxLogic_1.createInboxLogic)(store, profileLogic, utilityLogic, containerLogic, aclLogic);
108
+ var createInboxFor = inboxLogic.createInboxFor, getNewMessages = inboxLogic.getNewMessages, markAsRead = inboxLogic.markAsRead;
109
+ var typeIndexLogic = (0, typeIndexLogic_1.createTypeIndexLogic)(store, authn, profileLogic, utilityLogic);
110
+ var registerInTypeIndex = typeIndexLogic.registerInTypeIndex, getRegistrations = typeIndexLogic.getRegistrations, loadTypeIndexesFor = typeIndexLogic.loadTypeIndexesFor, loadCommunityTypeIndexes = typeIndexLogic.loadCommunityTypeIndexes, loadAllTypeIndexes = typeIndexLogic.loadAllTypeIndexes, getScopedAppInstances = typeIndexLogic.getScopedAppInstances, getAppInstances = typeIndexLogic.getAppInstances, suggestPublicTypeIndex = typeIndexLogic.suggestPublicTypeIndex, suggestPrivateTypeIndex = typeIndexLogic.suggestPrivateTypeIndex, deleteTypeIndexRegistration = typeIndexLogic.deleteTypeIndexRegistration, getScopedAppsFromIndex = typeIndexLogic.getScopedAppsFromIndex;
111
+ return {
112
+ store: store,
113
+ authn: authn,
114
+ authSession: authSession_1.authSession,
115
+ //unilityLogic
116
+ recursiveDelete: recursiveDelete,
117
+ setSinglePeerAccess: setSinglePeerAccess,
118
+ createEmptyRdfDoc: createEmptyRdfDoc,
119
+ followOrCreateLink: followOrCreateLink,
120
+ loadOrCreateIfNotExists: loadOrCreateIfNotExists,
121
+ //containerLogic
122
+ isContainer: isContainer,
123
+ createContainer: createContainer,
124
+ getContainerElements: getContainerElements,
125
+ getContainerMembers: getContainerMembers,
126
+ //typeIndexLogic
127
+ registerInTypeIndex: registerInTypeIndex,
128
+ getRegistrations: getRegistrations,
129
+ loadTypeIndexesFor: loadTypeIndexesFor,
130
+ loadCommunityTypeIndexes: loadCommunityTypeIndexes,
131
+ loadAllTypeIndexes: loadAllTypeIndexes,
132
+ getScopedAppInstances: getScopedAppInstances,
133
+ getAppInstances: getAppInstances,
134
+ suggestPublicTypeIndex: suggestPublicTypeIndex,
135
+ suggestPrivateTypeIndex: suggestPrivateTypeIndex,
136
+ deleteTypeIndexRegistration: deleteTypeIndexRegistration,
137
+ getScopedAppsFromIndex: getScopedAppsFromIndex,
138
+ //profileLogic
139
+ ensureLoadedPreferences: ensureLoadedPreferences,
140
+ loadMe: loadMe,
141
+ getPodRoot: getPodRoot,
142
+ getMainInbox: getMainInbox,
143
+ findStorage: findStorage,
144
+ loadPreferences: loadPreferences,
145
+ loadProfile: loadProfile,
146
+ silencedLoadPreferences: silencedLoadPreferences,
147
+ //inboxLogic
148
+ createInboxFor: createInboxFor,
149
+ getNewMessages: getNewMessages,
150
+ markAsRead: markAsRead,
151
+ //chatLogic
152
+ setAcl: setAcl,
153
+ addToPrivateTypeIndex: addToPrivateTypeIndex,
154
+ findChat: findChat,
155
+ createChatThing: createChatThing,
156
+ getChat: getChat,
157
+ sendInvite: sendInvite,
158
+ mintNew: mintNew,
159
+ //aclLogic
160
+ findAclDocUrl: findAclDocUrl,
161
+ setACLUserPublic: setACLUserPublic,
162
+ genACLText: genACLText
163
+ };
164
+ }
165
+ exports.solidLogicSingleton = solidLogicSingleton;
166
+ /*export {
167
+ store,
168
+ authn,
169
+ authSession,
170
+ //unilityLogic
171
+ recursiveDelete,
172
+ setSinglePeerAccess,
173
+ createEmptyRdfDoc,
174
+ followOrCreateLink,
175
+ loadOrCreateIfNotExists,
176
+ //containerLogic
177
+ isContainer,
178
+ createContainer,
179
+ getContainerElements,
180
+ getContainerMembers,
181
+ //typeIndexLogic
182
+ ensureTypeIndexes,
183
+ registerInTypeIndex,
184
+ getRegistrations,
185
+ loadTypeIndexesFor,
186
+ loadCommunityTypeIndexes,
187
+ loadAllTypeIndexes,
188
+ getScopedAppInstances,
189
+ getAppInstances,
190
+ suggestPublicTypeIndex,
191
+ suggestPrivateTypeIndex,
192
+ deleteTypeIndexRegistration,
193
+ getScopedAppsFromIndex,
194
+ //profileLogic
195
+ ensureLoadedPreferences,
196
+ loadMe,
197
+ getPodRoot,
198
+ getMainInbox,
199
+ findStorage,
200
+ loadPreferences,
201
+ loadProfile,
202
+ silencedLoadPreferences,
203
+ //inboxLogic
204
+ createInboxFor,
205
+ getNewMessages,
206
+ markAsRead,
207
+ //chatLogic
208
+ setAcl,
209
+ addToPrivateTypeIndex,
210
+ findChat,
211
+ createChatThing,
212
+ getChat,
213
+ sendInvite,
214
+ mintNew,
215
+ //aclLogic
216
+ findAclDocUrl,
217
+ setACLUserPublic,
218
+ genACLText
219
+ }
220
+ */
221
+ //# sourceMappingURL=solidLogicSingletonNew.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solidLogicSingletonNew.js","sourceRoot":"","sources":["../../src/logic/solidLogicSingletonNew.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import { NamedNode } from "rdflib";
2
+ import { AuthenticationContext } from "../types";
3
+ export declare function createProfileLogic(store: any, authn: any, utilityLogic: any): {
4
+ ensureLoadedPreferences: (context: AuthenticationContext) => Promise<AuthenticationContext>;
5
+ loadMe: () => Promise<NamedNode>;
6
+ getPodRoot: (user: NamedNode) => NamedNode;
7
+ getMainInbox: (user: NamedNode) => Promise<NamedNode>;
8
+ findStorage: (me: NamedNode) => any;
9
+ loadPreferences: (user: NamedNode) => Promise<NamedNode>;
10
+ loadProfile: (user: NamedNode) => Promise<NamedNode>;
11
+ silencedLoadPreferences: (user: NamedNode) => Promise<NamedNode | undefined>;
12
+ };
13
+ //# sourceMappingURL=profileLogic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileLogic.d.ts","sourceRoot":"","sources":["../../src/profile/profileLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAKjD,wBAAgB,kBAAkB,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA,EAAE,YAAY,KAAA;uCAGR,qBAAqB;kBAkF7C,QAAQ,SAAS,CAAC;uBASjB,SAAS,KAAG,SAAS;yBAQb,SAAS,KAAG,QAAQ,SAAS,CAAC;sBASvC,SAAS;4BAjFI,SAAS,KAAG,QAAS,SAAS,CAAC;wBA2CnC,SAAS,KAAE,QAAS,SAAS,CAAC;oCAzDnB,SAAS,KAAG,QAAS,SAAS,GAAG,SAAS,CAAC;EA6G3F"}
@@ -0,0 +1,268 @@
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 __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (_) try {
41
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ exports.createProfileLogic = void 0;
63
+ var CustomError_1 = require("../logic/CustomError");
64
+ var debug = __importStar(require("../util/debug"));
65
+ var utils_1 = require("../util/utils");
66
+ var ns_1 = require("../util/ns");
67
+ function createProfileLogic(store, authn, utilityLogic) {
68
+ var ns = ns_1.ns;
69
+ function ensureLoadedPreferences(context) {
70
+ return __awaiter(this, void 0, void 0, function () {
71
+ var _a, _b;
72
+ return __generator(this, function (_c) {
73
+ switch (_c.label) {
74
+ case 0:
75
+ if (!context.me)
76
+ throw new Error('@@ ensureLoadedPreferences: no user specified');
77
+ _a = context;
78
+ return [4 /*yield*/, loadProfile(context.me)];
79
+ case 1:
80
+ _a.publicProfile = _c.sent();
81
+ _b = context;
82
+ return [4 /*yield*/, silencedLoadPreferences(context.me)];
83
+ case 2:
84
+ _b.preferencesFile = _c.sent();
85
+ return [2 /*return*/, context];
86
+ }
87
+ });
88
+ });
89
+ }
90
+ /**
91
+ * loads the preference without throwing errors - if it can create it it does so.
92
+ * remark: it still throws error if it cannot load profile.
93
+ * @param user
94
+ * @returns undefined if preferenceFile cannot be returned or NamedNode if it can find it or create it
95
+ */
96
+ function silencedLoadPreferences(user) {
97
+ return __awaiter(this, void 0, void 0, function () {
98
+ var err_1;
99
+ return __generator(this, function (_a) {
100
+ switch (_a.label) {
101
+ case 0:
102
+ _a.trys.push([0, 2, , 3]);
103
+ return [4 /*yield*/, loadPreferences(user)];
104
+ case 1: return [2 /*return*/, _a.sent()];
105
+ case 2:
106
+ err_1 = _a.sent();
107
+ return [2 /*return*/, undefined];
108
+ case 3: return [2 /*return*/];
109
+ }
110
+ });
111
+ });
112
+ }
113
+ /**
114
+ * loads the preference without returning different errors if it cannot create or load it.
115
+ * remark: it also throws error if it cannot load profile.
116
+ * @param user
117
+ * @returns undefined if preferenceFile cannot be an Error or NamedNode if it can find it or create it
118
+ */
119
+ function loadPreferences(user) {
120
+ return __awaiter(this, void 0, void 0, function () {
121
+ var possiblePreferencesFile, preferencesFile, err_2, message, response, err_3, msg;
122
+ return __generator(this, function (_a) {
123
+ switch (_a.label) {
124
+ case 0: return [4 /*yield*/, loadProfile(user)];
125
+ case 1:
126
+ _a.sent();
127
+ possiblePreferencesFile = (0, utils_1.suggestPreferencesFile)(user);
128
+ _a.label = 2;
129
+ case 2:
130
+ _a.trys.push([2, 4, , 5]);
131
+ return [4 /*yield*/, utilityLogic.followOrCreateLink(user, ns.space('preferencesFile'), possiblePreferencesFile, user.doc())];
132
+ case 3:
133
+ preferencesFile = _a.sent();
134
+ return [3 /*break*/, 5];
135
+ case 4:
136
+ err_2 = _a.sent();
137
+ message = "User ".concat(user, " has no pointer in profile to preferences file.");
138
+ debug.warn(message);
139
+ // we are listing the possible errors
140
+ if (err_2 instanceof CustomError_1.NotEditableError) {
141
+ throw err_2;
142
+ }
143
+ if (err_2 instanceof CustomError_1.WebOperationError) {
144
+ throw err_2;
145
+ }
146
+ if (err_2 instanceof CustomError_1.UnauthorizedError) {
147
+ throw err_2;
148
+ }
149
+ if (err_2 instanceof CustomError_1.CrossOriginForbiddenError) {
150
+ throw err_2;
151
+ }
152
+ if (err_2 instanceof CustomError_1.SameOriginForbiddenError) {
153
+ throw err_2;
154
+ }
155
+ if (err_2 instanceof CustomError_1.FetchError) {
156
+ throw err_2;
157
+ }
158
+ throw err_2;
159
+ case 5:
160
+ _a.trys.push([5, 7, , 8]);
161
+ return [4 /*yield*/, store.fetcher.load(preferencesFile)];
162
+ case 6:
163
+ response = _a.sent();
164
+ return [3 /*break*/, 8];
165
+ case 7:
166
+ err_3 = _a.sent();
167
+ msg = "Unable to load preference of user ".concat(user, ": ").concat(err_3);
168
+ debug.warn(msg);
169
+ if (err_3.response.status === 401) {
170
+ throw new CustomError_1.UnauthorizedError();
171
+ }
172
+ if (err_3.response.status === 403) {
173
+ if ((0, utils_1.differentOrigin)(preferencesFile)) {
174
+ throw new CustomError_1.CrossOriginForbiddenError();
175
+ }
176
+ throw new CustomError_1.SameOriginForbiddenError();
177
+ }
178
+ /*if (err.response.status === 404) {
179
+ throw new NotFoundError();
180
+ }*/
181
+ throw new Error(msg);
182
+ case 8: return [2 /*return*/, preferencesFile];
183
+ }
184
+ });
185
+ });
186
+ }
187
+ function loadProfile(user) {
188
+ return __awaiter(this, void 0, void 0, function () {
189
+ var err_4;
190
+ return __generator(this, function (_a) {
191
+ switch (_a.label) {
192
+ case 0:
193
+ if (!user) {
194
+ throw new Error("loadProfile: no user given.");
195
+ }
196
+ _a.label = 1;
197
+ case 1:
198
+ _a.trys.push([1, 3, , 4]);
199
+ return [4 /*yield*/, store.fetcher.load(user.doc())];
200
+ case 2:
201
+ _a.sent();
202
+ return [3 /*break*/, 4];
203
+ case 3:
204
+ err_4 = _a.sent();
205
+ throw new Error("Unable to load profile of user ".concat(user, ": ").concat(err_4));
206
+ case 4: return [2 /*return*/, user.doc()];
207
+ }
208
+ });
209
+ });
210
+ }
211
+ function loadMe() {
212
+ return __awaiter(this, void 0, void 0, function () {
213
+ var me;
214
+ return __generator(this, function (_a) {
215
+ switch (_a.label) {
216
+ case 0:
217
+ me = authn.currentUser();
218
+ if (me === null) {
219
+ throw new Error("Current user not found! Not logged in?");
220
+ }
221
+ return [4 /*yield*/, store.fetcher.load(me.doc())];
222
+ case 1:
223
+ _a.sent();
224
+ return [2 /*return*/, me];
225
+ }
226
+ });
227
+ });
228
+ }
229
+ function getPodRoot(user) {
230
+ var podRoot = findStorage(user);
231
+ if (!podRoot) {
232
+ throw new Error("User pod root not found!");
233
+ }
234
+ return podRoot;
235
+ }
236
+ function getMainInbox(user) {
237
+ return __awaiter(this, void 0, void 0, function () {
238
+ var mainInbox;
239
+ return __generator(this, function (_a) {
240
+ switch (_a.label) {
241
+ case 0: return [4 /*yield*/, store.fetcher.load(user)];
242
+ case 1:
243
+ _a.sent();
244
+ mainInbox = store.any(user, ns.ldp("inbox"), undefined, user.doc());
245
+ if (!mainInbox) {
246
+ throw new Error("User main inbox not found!");
247
+ }
248
+ return [2 /*return*/, mainInbox];
249
+ }
250
+ });
251
+ });
252
+ }
253
+ function findStorage(me) {
254
+ return store.any(me, ns.space("storage"), undefined, me.doc());
255
+ }
256
+ return {
257
+ ensureLoadedPreferences: ensureLoadedPreferences,
258
+ loadMe: loadMe,
259
+ getPodRoot: getPodRoot,
260
+ getMainInbox: getMainInbox,
261
+ findStorage: findStorage,
262
+ loadPreferences: loadPreferences,
263
+ loadProfile: loadProfile,
264
+ silencedLoadPreferences: silencedLoadPreferences
265
+ };
266
+ }
267
+ exports.createProfileLogic = createProfileLogic;
268
+ //# sourceMappingURL=profileLogic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profileLogic.js","sourceRoot":"","sources":["../../src/profile/profileLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oDAA+J;AAE/J,mDAAuC;AACvC,uCAAwE;AACxE,iCAA4C;AAE5C,SAAgB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY;IACzD,IAAM,EAAE,GAAG,OAAS,CAAA;IAEpB,SAAe,uBAAuB,CAAE,OAA8B;;;;;;wBAClE,IAAI,CAAC,OAAO,CAAC,EAAE;4BAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;wBACjF,KAAA,OAAO,CAAA;wBAAiB,qBAAM,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAAA;;wBAArD,GAAQ,aAAa,GAAG,SAA6B,CAAA;wBACrD,KAAA,OAAO,CAAA;wBAAmB,qBAAM,uBAAuB,CAAC,OAAO,CAAC,EAAE,CAAC,EAAA;;wBAAnE,GAAQ,eAAe,GAAG,SAAyC,CAAA;wBACnE,sBAAO,OAAO,EAAA;;;;KACjB;IAED;;;;;OAKG;IACH,SAAe,uBAAuB,CAAC,IAAe;;;;;;;wBAEvC,qBAAM,eAAe,CAAC,IAAI,CAAC,EAAA;4BAAlC,sBAAO,SAA2B,EAAA;;;wBAElC,sBAAO,SAAS,EAAA;;;;;KAEvB;IAED;;;;;OAKG;IACH,SAAe,eAAe,CAAE,IAAe;;;;;4BAC3C,qBAAM,WAAW,CAAC,IAAI,CAAC,EAAA;;wBAAvB,SAAuB,CAAA;wBAEjB,uBAAuB,GAAG,IAAA,8BAAsB,EAAC,IAAI,CAAC,CAAA;;;;wBAGtC,qBAAM,YAAY,CAAC,kBAAkB,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAc,EAAE,uBAAuB,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,EAAA;;wBAA5I,eAAe,GAAG,SAA0H,CAAA;;;;wBAEtI,OAAO,GAAG,eAAQ,IAAI,oDAAiD,CAAA;wBAC7E,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;wBACnB,qCAAqC;wBACrC,IAAI,KAAG,YAAY,8BAAgB,EAAE;4BAAE,MAAM,KAAG,CAAA;yBAAE;wBAClD,IAAI,KAAG,YAAY,+BAAiB,EAAE;4BAAE,MAAM,KAAG,CAAA;yBAAE;wBACnD,IAAI,KAAG,YAAY,+BAAiB,EAAE;4BAAE,MAAM,KAAG,CAAA;yBAAE;wBACnD,IAAI,KAAG,YAAY,uCAAyB,EAAE;4BAAE,MAAM,KAAG,CAAA;yBAAE;wBAC3D,IAAI,KAAG,YAAY,sCAAwB,EAAE;4BAAE,MAAM,KAAG,CAAA;yBAAE;wBAC1D,IAAI,KAAG,YAAY,wBAAU,EAAE;4BAAE,MAAM,KAAG,CAAA;yBAAE;wBAC5C,MAAM,KAAG,CAAA;;;wBAKE,qBAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,eAA4B,CAAC,EAAA;;wBAAjE,QAAQ,GAAG,SAAsD,CAAA;;;;wBAE3D,GAAG,GAAG,4CAAqC,IAAI,eAAK,KAAG,CAAE,CAAA;wBAC/D,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;wBACf,IAAI,KAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;4BAC7B,MAAM,IAAI,+BAAiB,EAAE,CAAC;yBACjC;wBACD,IAAI,KAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE;4BAC7B,IAAI,IAAA,uBAAe,EAAC,eAAe,CAAC,EAAE;gCACtC,MAAM,IAAI,uCAAyB,EAAE,CAAC;6BACrC;4BACD,MAAM,IAAI,sCAAwB,EAAE,CAAC;yBACxC;wBACD;;2BAEG;wBACH,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAA;4BAExB,sBAAO,eAA4B,EAAA;;;;KACtC;IAED,SAAe,WAAW,CAAE,IAAe;;;;;;wBACvC,IAAI,CAAC,IAAI,EAAE;4BACP,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAA;yBACjD;;;;wBAEG,qBAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAA;;wBAApC,SAAoC,CAAA;;;;wBAEpC,MAAM,IAAI,KAAK,CAAC,yCAAkC,IAAI,eAAK,KAAG,CAAE,CAAC,CAAA;4BAErE,sBAAO,IAAI,CAAC,GAAG,EAAE,EAAA;;;;KACpB;IAED,SAAe,MAAM;;;;;;wBACX,EAAE,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;wBAC/B,IAAI,EAAE,KAAK,IAAI,EAAE;4BACb,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;yBAC7D;wBACD,qBAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,EAAA;;wBAAlC,SAAkC,CAAC;wBACnC,sBAAO,EAAE,EAAC;;;;KACb;IAED,SAAS,UAAU,CAAC,IAAe;QAC/B,IAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,EAAE;YACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;SAC/C;QACD,OAAO,OAAoB,CAAC;IAChC,CAAC;IAED,SAAe,YAAY,CAAC,IAAe;;;;;4BACvC,qBAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAA;;wBAA9B,SAA8B,CAAC;wBACzB,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;wBAC1E,IAAI,CAAC,SAAS,EAAE;4BACZ,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;yBACjD;wBACD,sBAAO,SAAsB,EAAC;;;;KACjC;IAED,SAAS,WAAW,CAAC,EAAa;QAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO;QACH,uBAAuB,yBAAA;QACvB,MAAM,QAAA;QACN,UAAU,YAAA;QACV,YAAY,cAAA;QACZ,WAAW,aAAA;QACX,eAAe,iBAAA;QACf,WAAW,aAAA;QACX,uBAAuB,yBAAA;KAC1B,CAAA;AACL,CAAC;AA7HD,gDA6HC"}
@@ -1,22 +1,19 @@
1
- import { NamedNode } from "rdflib";
2
- import { AuthenticationContext } from "../types";
3
- export declare const ns: any;
4
- /**
5
- * Resolves with the same context, outputting
6
- * output: index.public, index.private
7
- * @@ This is a very bizare function
8
- * @see https://github.com/solidos/solid/blob/main/proposals/data-discovery.md#discoverability
9
- */
10
- export declare function loadIndex(context: AuthenticationContext, isPublic: boolean): Promise<AuthenticationContext>;
11
- export declare function loadTypeIndexes(context: AuthenticationContext): Promise<AuthenticationContext | undefined>;
12
- /**
13
- * Resolves with the same context, outputting
14
- * @see https://github.com/solidos/solid/blob/main/proposals/data-discovery.md#discoverability
15
- */
16
- export declare function ensureTypeIndexes(context: AuthenticationContext, agent?: NamedNode): Promise<AuthenticationContext>;
17
- /**
18
- * Register a new app in a type index
19
- * used in chat in bookmark.js (solid-ui)
20
- */
21
- export declare function registerInTypeIndex(context: AuthenticationContext, instance: NamedNode, theClass: NamedNode, isPublic: boolean, agent?: NamedNode): Promise<AuthenticationContext>;
1
+ import { NamedNode } from 'rdflib';
2
+ import { ScopedApp, TypeIndexScope } from '../types';
3
+ export declare function createTypeIndexLogic(store: any, authn: any, profileLogic: any, utilityLogic: any): {
4
+ registerInTypeIndex: (instance: NamedNode, index: NamedNode, theClass: NamedNode) => Promise<NamedNode | null>;
5
+ getRegistrations: (instance: any, theClass: any) => any;
6
+ loadTypeIndexesFor: (user: NamedNode) => Promise<Array<TypeIndexScope>>;
7
+ loadCommunityTypeIndexes: (user: NamedNode) => Promise<TypeIndexScope[][]>;
8
+ loadAllTypeIndexes: (user: NamedNode) => Promise<TypeIndexScope[]>;
9
+ getScopedAppInstances: (klass: NamedNode, user: NamedNode) => Promise<ScopedApp[]>;
10
+ getAppInstances: (klass: NamedNode) => Promise<NamedNode[]>;
11
+ suggestPublicTypeIndex: (me: NamedNode) => NamedNode;
12
+ suggestPrivateTypeIndex: (preferencesFile: NamedNode) => NamedNode;
13
+ deleteTypeIndexRegistration: (item: any) => Promise<void>;
14
+ getScopedAppsFromIndex: (scope: any, theClass: NamedNode | null) => Promise<{
15
+ instance: NamedNode;
16
+ scope: any;
17
+ }[]>;
18
+ };
22
19
  //# sourceMappingURL=typeIndexLogic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"typeIndexLogic.d.ts","sourceRoot":"","sources":["../../src/typeIndex/typeIndexLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,MAAM,QAAQ,CAAA;AAK3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAIhD,eAAO,MAAM,EAAE,KAAuB,CAAA;AAWtC;;;;;GAKG;AACH,wBAAsB,SAAS,CAC/B,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,OAAO,GACd,OAAO,CAAC,qBAAqB,CAAC,CAYhC;AAED,wBAAsB,eAAe,CAAE,OAAO,EAAE,qBAAqB,8CAqBpE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAO1H;AAyFD;;;GAGG;AACH,wBAAsB,mBAAmB,CACzC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,OAAO,EACjB,KAAK,CAAC,EAAE,SAAS,GACd,OAAO,CAAC,qBAAqB,CAAC,CAwBhC"}
1
+ {"version":3,"file":"typeIndexLogic.d.ts","sourceRoot":"","sources":["../../src/typeIndex/typeIndexLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,MAAM,QAAQ,CAAA;AAC3C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAKpD,wBAAgB,oBAAoB,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA,EAAE,YAAY,KAAA,EAAE,YAAY,KAAA;oCAwH3D,SAAS,SACZ,SAAS,YACN,SAAS,KAEpB,QAAQ,SAAS,GAAG,IAAI,CAAC;;+BAjHY,SAAS,KAAG,QAAQ,MAAM,cAAc,CAAC,CAAC;qCAiDpC,SAAS,KAAG,QAAQ,cAAc,EAAE,EAAE,CAAC;+BAqB7C,SAAS;mCAIL,SAAS,QAAQ,SAAS,KAAG,QAAQ,SAAS,EAAE,CAAC;6BAavD,SAAS,KAAG,QAAQ,SAAS,EAAE,CAAC;iCAOlC,SAAS;+CAKK,SAAS;;mDAuCJ,SAAS,GAAG,IAAI;;;;EAsC1E"}