solid-logic 1.3.17-1274f5aa → 1.3.17-1aa535b3

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 (115) hide show
  1. package/jest.config.js +1 -1
  2. package/lib/acl/aclLogic.d.ts +12 -30
  3. package/lib/acl/aclLogic.d.ts.map +1 -1
  4. package/lib/acl/aclLogic.js +151 -116
  5. package/lib/acl/aclLogic.js.map +1 -1
  6. package/lib/authn/SolidAuthnLogic.d.ts.map +1 -1
  7. package/lib/authn/SolidAuthnLogic.js +2 -2
  8. package/lib/authn/SolidAuthnLogic.js.map +1 -1
  9. package/lib/chat/chatLogic.d.ts +16 -0
  10. package/lib/chat/chatLogic.d.ts.map +1 -0
  11. package/lib/chat/{ChatLogic.js → chatLogic.js} +82 -87
  12. package/lib/chat/chatLogic.js.map +1 -0
  13. package/lib/discovery/discoveryLogic.d.ts +4 -8
  14. package/lib/discovery/discoveryLogic.d.ts.map +1 -1
  15. package/lib/discovery/discoveryLogic.js +37 -22
  16. package/lib/discovery/discoveryLogic.js.map +1 -1
  17. package/lib/inbox/inboxLogic.d.ts +7 -0
  18. package/lib/inbox/inboxLogic.d.ts.map +1 -0
  19. package/lib/inbox/{InboxLogic.js → inboxLogic.js} +58 -64
  20. package/lib/inbox/inboxLogic.js.map +1 -0
  21. package/lib/index.d.ts +10 -13
  22. package/lib/index.d.ts.map +1 -1
  23. package/lib/index.js +76 -45
  24. package/lib/index.js.map +1 -1
  25. package/lib/logic/CustomError.d.ts +4 -0
  26. package/lib/logic/CustomError.d.ts.map +1 -1
  27. package/lib/logic/CustomError.js +17 -1
  28. package/lib/logic/CustomError.js.map +1 -1
  29. package/lib/logic/solidLogicSingleton.d.ts +35 -3
  30. package/lib/logic/solidLogicSingleton.d.ts.map +1 -1
  31. package/lib/logic/solidLogicSingleton.js +87 -8
  32. package/lib/logic/solidLogicSingleton.js.map +1 -1
  33. package/lib/profile/profileLogic.d.ts +13 -0
  34. package/lib/profile/profileLogic.d.ts.map +1 -0
  35. package/lib/profile/profileLogic.js +268 -0
  36. package/lib/profile/profileLogic.js.map +1 -0
  37. package/lib/typeIndex/typeIndexLogic.d.ts +31 -21
  38. package/lib/typeIndex/typeIndexLogic.d.ts.map +1 -1
  39. package/lib/typeIndex/typeIndexLogic.js +650 -295
  40. package/lib/typeIndex/typeIndexLogic.js.map +1 -1
  41. package/lib/types.d.ts +17 -0
  42. package/lib/types.d.ts.map +1 -1
  43. package/lib/util/containerLogic.d.ts +11 -0
  44. package/lib/util/containerLogic.d.ts.map +1 -0
  45. package/lib/{profile/ProfileLogic.js → util/containerLogic.js} +53 -44
  46. package/lib/util/containerLogic.js.map +1 -0
  47. package/lib/util/utilityLogic.d.ts +15 -0
  48. package/lib/util/utilityLogic.d.ts.map +1 -0
  49. package/lib/util/utilityLogic.js +272 -0
  50. package/lib/util/utilityLogic.js.map +1 -0
  51. package/lib/util/utils.d.ts +8 -0
  52. package/lib/util/utils.d.ts.map +1 -0
  53. package/lib/util/utils.js +48 -0
  54. package/lib/util/utils.js.map +1 -0
  55. package/package.json +1 -1
  56. package/src/acl/aclLogic.ts +135 -119
  57. package/src/authn/SolidAuthnLogic.ts +3 -2
  58. package/src/chat/chatLogic.ts +225 -0
  59. package/src/discovery/discoveryLogic.ts +19 -32
  60. package/src/inbox/inboxLogic.ts +57 -0
  61. package/src/index.ts +71 -31
  62. package/src/logic/CustomError.ts +5 -1
  63. package/src/logic/solidLogicSingleton.ts +160 -7
  64. package/src/profile/profileLogic.ts +134 -0
  65. package/src/typeIndex/typeIndexLogic.ts +417 -153
  66. package/src/types.ts +7 -3
  67. package/src/util/containerLogic.ts +54 -0
  68. package/src/util/ns.js +5 -0
  69. package/src/util/utilityLogic.ts +155 -0
  70. package/src/util/utils.ts +52 -0
  71. package/test/aclLogic.test.ts +13 -4
  72. package/test/chatLogic.test.ts +70 -71
  73. package/test/container.test.ts +56 -0
  74. package/test/discoveryLogic.test.ts +502 -530
  75. package/test/helpers/dataSetup.ts +134 -0
  76. package/test/helpers/setup.ts +1 -0
  77. package/test/inboxLogic.test.ts +39 -38
  78. package/test/logic.test.ts +11 -9
  79. package/test/profileLogic.test.ts +246 -0
  80. package/test/typeIndexLogic.test.ts +49 -22
  81. package/test/typeIndexLogicPart2.test.ts +485 -0
  82. package/test/utilityLogic.test.ts +172 -126
  83. package/test/utils.test.ts +32 -0
  84. package/lib/chat/ChatLogic.d.ts +0 -26
  85. package/lib/chat/ChatLogic.d.ts.map +0 -1
  86. package/lib/chat/ChatLogic.js.map +0 -1
  87. package/lib/chat/determineChatContainer.d.ts +0 -3
  88. package/lib/chat/determineChatContainer.d.ts.map +0 -1
  89. package/lib/chat/determineChatContainer.js +0 -12
  90. package/lib/chat/determineChatContainer.js.map +0 -1
  91. package/lib/inbox/InboxLogic.d.ts +0 -18
  92. package/lib/inbox/InboxLogic.d.ts.map +0 -1
  93. package/lib/inbox/InboxLogic.js.map +0 -1
  94. package/lib/logic/SolidLogic.d.ts +0 -48
  95. package/lib/logic/SolidLogic.d.ts.map +0 -1
  96. package/lib/logic/SolidLogic.js +0 -321
  97. package/lib/logic/SolidLogic.js.map +0 -1
  98. package/lib/profile/ProfileLogic.d.ts +0 -13
  99. package/lib/profile/ProfileLogic.d.ts.map +0 -1
  100. package/lib/profile/ProfileLogic.js.map +0 -1
  101. package/lib/util/UtilityLogic.d.ts +0 -33
  102. package/lib/util/UtilityLogic.d.ts.map +0 -1
  103. package/lib/util/UtilityLogic.js +0 -240
  104. package/lib/util/UtilityLogic.js.map +0 -1
  105. package/lib/util/uri.d.ts +0 -3
  106. package/lib/util/uri.d.ts.map +0 -1
  107. package/lib/util/uri.js +0 -9
  108. package/lib/util/uri.js.map +0 -1
  109. package/src/chat/ChatLogic.ts +0 -244
  110. package/src/chat/determineChatContainer.ts +0 -14
  111. package/src/inbox/InboxLogic.ts +0 -66
  112. package/src/logic/SolidLogic.ts +0 -262
  113. package/src/profile/ProfileLogic.ts +0 -44
  114. package/src/util/UtilityLogic.ts +0 -161
  115. package/src/util/uri.ts +0 -5
@@ -59,16 +59,26 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
59
59
  }
60
60
  };
61
61
  Object.defineProperty(exports, "__esModule", { value: true });
62
- exports.solidLogicSingleton = void 0;
63
- var debug = __importStar(require("../util/debug"));
62
+ exports.mintNew = exports.sendInvite = exports.getChat = exports.createChatThing = exports.findChat = exports.addToPrivateTypeIndex = exports.setAcl = exports.markAsRead = exports.getNewMessages = exports.createInboxFor = exports.silencedLoadPreferences = exports.loadProfile = exports.loadPreferences = exports.findStorage = exports.getMainInbox = exports.getPodRoot = exports.loadMe = exports.ensureLoadedPreferences = exports.getScopedAppsFromIndex = exports.deleteTypeIndexRegistration = exports.registerInstanceInTypeIndex = exports.suggestPrivateTypeIndex = exports.suggestPublicTypeIndex = exports.getAppInstances = exports.getScopedAppInstances = exports.loadAllTypeIndexes = exports.loadCommunityTypeIndexes = exports.loadTypeIndexesFor = exports.getRegistrations = exports.getTypeIndex = exports.loadIndexes = exports.makeIndexIfNecessary = exports.putIndex = exports.ensureOneTypeIndex = exports.loadIndex = exports.registerInTypeIndex = exports.loadTypeIndexes = exports.ensureTypeIndexes = exports.getContainerMembers = exports.getContainerElements = exports.createContainer = exports.isContainer = exports.loadOrCreateIfNotExists = exports.followOrCreateLink = exports.createEmptyRdfDoc = exports.setSinglePeerAccess = exports.recursiveDelete = exports.authSession = exports.authn = exports.store = void 0;
63
+ exports.genACLText = exports.setACLUserPublic = exports.findAclDocUrl = void 0;
64
+ var rdf = __importStar(require("rdflib"));
65
+ var SolidAuthnLogic_1 = require("../authn/SolidAuthnLogic");
64
66
  var authSession_1 = require("../authSession/authSession");
65
- var SolidLogic_1 = require("./SolidLogic");
67
+ Object.defineProperty(exports, "authSession", { enumerable: true, get: function () { return authSession_1.authSession; } });
68
+ var containerLogic_1 = require("../util/containerLogic");
69
+ var typeIndexLogic_1 = require("../typeIndex/typeIndexLogic");
70
+ var debug = __importStar(require("../util/debug"));
71
+ var utilityLogic_1 = require("../util/utilityLogic");
72
+ var profileLogic_1 = require("../profile/profileLogic");
73
+ var inboxLogic_1 = require("../inbox/inboxLogic");
74
+ var chatLogic_1 = require("../chat/chatLogic");
75
+ var aclLogic_1 = require("../acl/aclLogic");
66
76
  var _fetch = function (url, requestInit) { return __awaiter(void 0, void 0, void 0, function () {
67
77
  var omitCreds;
68
78
  return __generator(this, function (_a) {
69
79
  omitCreds = requestInit && requestInit.credentials && requestInit.credentials == 'omit';
70
80
  if (authSession_1.authSession.info.webId && !omitCreds) { // see https://github.com/solidos/solidos/issues/114
71
- // In fact ftech should respect crentials omit itself
81
+ // In fact fetch should respect credentials omit itself
72
82
  return [2 /*return*/, authSession_1.authSession.fetch(url, requestInit)];
73
83
  }
74
84
  else {
@@ -77,8 +87,77 @@ var _fetch = function (url, requestInit) { return __awaiter(void 0, void 0, void
77
87
  return [2 /*return*/];
78
88
  });
79
89
  }); };
80
- //this const makes solidLogicSingleton global accessible in mashlib
81
- var solidLogicSingleton = new SolidLogic_1.SolidLogic({ fetch: _fetch }, authSession_1.authSession);
82
- exports.solidLogicSingleton = solidLogicSingleton;
83
- debug.log('Unique quadstore initialized.');
90
+ debug.log("SolidLogicSingleton: Unique instance created. There should only be one of these.");
91
+ var store = rdf.graph(); // Make a Quad store
92
+ exports.store = store;
93
+ rdf.fetcher(store, { fetch: _fetch }); // Attach a web I/O module, store.fetcher
94
+ store.updater = new rdf.UpdateManager(store); // Add real-time live updates store.updater
95
+ store.features = []; // disable automatic node merging on store load
96
+ debug.log('SolidAuthnLogic initialized');
97
+ var authn = new SolidAuthnLogic_1.SolidAuthnLogic(authSession_1.authSession);
98
+ exports.authn = authn;
99
+ var aclLogic = (0, aclLogic_1.createAclLogic)(store);
100
+ var findAclDocUrl = aclLogic.findAclDocUrl, setACLUserPublic = aclLogic.setACLUserPublic, genACLText = aclLogic.genACLText;
101
+ exports.findAclDocUrl = findAclDocUrl;
102
+ exports.setACLUserPublic = setACLUserPublic;
103
+ exports.genACLText = genACLText;
104
+ var containerLogic = (0, containerLogic_1.createContainerLogic)(store);
105
+ var isContainer = containerLogic.isContainer, createContainer = containerLogic.createContainer, getContainerElements = containerLogic.getContainerElements, getContainerMembers = containerLogic.getContainerMembers;
106
+ exports.isContainer = isContainer;
107
+ exports.createContainer = createContainer;
108
+ exports.getContainerElements = getContainerElements;
109
+ exports.getContainerMembers = getContainerMembers;
110
+ var utilityLogic = (0, utilityLogic_1.createUtilityLogic)(store, aclLogic, containerLogic);
111
+ var recursiveDelete = utilityLogic.recursiveDelete, setSinglePeerAccess = utilityLogic.setSinglePeerAccess, createEmptyRdfDoc = utilityLogic.createEmptyRdfDoc, followOrCreateLink = utilityLogic.followOrCreateLink, loadOrCreateIfNotExists = utilityLogic.loadOrCreateIfNotExists;
112
+ exports.recursiveDelete = recursiveDelete;
113
+ exports.setSinglePeerAccess = setSinglePeerAccess;
114
+ exports.createEmptyRdfDoc = createEmptyRdfDoc;
115
+ exports.followOrCreateLink = followOrCreateLink;
116
+ exports.loadOrCreateIfNotExists = loadOrCreateIfNotExists;
117
+ var profileLogic = (0, profileLogic_1.createProfileLogic)(store, authn, utilityLogic);
118
+ 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;
119
+ exports.ensureLoadedPreferences = ensureLoadedPreferences;
120
+ exports.loadMe = loadMe;
121
+ exports.getPodRoot = getPodRoot;
122
+ exports.getMainInbox = getMainInbox;
123
+ exports.findStorage = findStorage;
124
+ exports.loadPreferences = loadPreferences;
125
+ exports.loadProfile = loadProfile;
126
+ exports.silencedLoadPreferences = silencedLoadPreferences;
127
+ var chatLogic = (0, chatLogic_1.createChatLogic)(store, profileLogic);
128
+ var setAcl = chatLogic.setAcl, addToPrivateTypeIndex = chatLogic.addToPrivateTypeIndex, findChat = chatLogic.findChat, createChatThing = chatLogic.createChatThing, getChat = chatLogic.getChat, sendInvite = chatLogic.sendInvite, mintNew = chatLogic.mintNew;
129
+ exports.setAcl = setAcl;
130
+ exports.addToPrivateTypeIndex = addToPrivateTypeIndex;
131
+ exports.findChat = findChat;
132
+ exports.createChatThing = createChatThing;
133
+ exports.getChat = getChat;
134
+ exports.sendInvite = sendInvite;
135
+ exports.mintNew = mintNew;
136
+ var inboxLogic = (0, inboxLogic_1.createInboxLogic)(store, profileLogic, utilityLogic, containerLogic, aclLogic);
137
+ var createInboxFor = inboxLogic.createInboxFor, getNewMessages = inboxLogic.getNewMessages, markAsRead = inboxLogic.markAsRead;
138
+ exports.createInboxFor = createInboxFor;
139
+ exports.getNewMessages = getNewMessages;
140
+ exports.markAsRead = markAsRead;
141
+ var typeIndexLogic = (0, typeIndexLogic_1.createTypeIndexLogic)(store, authn, profileLogic, utilityLogic);
142
+ var ensureTypeIndexes = typeIndexLogic.ensureTypeIndexes, loadTypeIndexes = typeIndexLogic.loadTypeIndexes, registerInTypeIndex = typeIndexLogic.registerInTypeIndex, loadIndex = typeIndexLogic.loadIndex, ensureOneTypeIndex = typeIndexLogic.ensureOneTypeIndex, putIndex = typeIndexLogic.putIndex, makeIndexIfNecessary = typeIndexLogic.makeIndexIfNecessary, loadIndexes = typeIndexLogic.loadIndexes, getTypeIndex = typeIndexLogic.getTypeIndex, getRegistrations = typeIndexLogic.getRegistrations, loadTypeIndexesFor = typeIndexLogic.loadTypeIndexesFor, loadCommunityTypeIndexes = typeIndexLogic.loadCommunityTypeIndexes, loadAllTypeIndexes = typeIndexLogic.loadAllTypeIndexes, getScopedAppInstances = typeIndexLogic.getScopedAppInstances, getAppInstances = typeIndexLogic.getAppInstances, suggestPublicTypeIndex = typeIndexLogic.suggestPublicTypeIndex, suggestPrivateTypeIndex = typeIndexLogic.suggestPrivateTypeIndex, registerInstanceInTypeIndex = typeIndexLogic.registerInstanceInTypeIndex, deleteTypeIndexRegistration = typeIndexLogic.deleteTypeIndexRegistration, getScopedAppsFromIndex = typeIndexLogic.getScopedAppsFromIndex;
143
+ exports.ensureTypeIndexes = ensureTypeIndexes;
144
+ exports.loadTypeIndexes = loadTypeIndexes;
145
+ exports.registerInTypeIndex = registerInTypeIndex;
146
+ exports.loadIndex = loadIndex;
147
+ exports.ensureOneTypeIndex = ensureOneTypeIndex;
148
+ exports.putIndex = putIndex;
149
+ exports.makeIndexIfNecessary = makeIndexIfNecessary;
150
+ exports.loadIndexes = loadIndexes;
151
+ exports.getTypeIndex = getTypeIndex;
152
+ exports.getRegistrations = getRegistrations;
153
+ exports.loadTypeIndexesFor = loadTypeIndexesFor;
154
+ exports.loadCommunityTypeIndexes = loadCommunityTypeIndexes;
155
+ exports.loadAllTypeIndexes = loadAllTypeIndexes;
156
+ exports.getScopedAppInstances = getScopedAppInstances;
157
+ exports.getAppInstances = getAppInstances;
158
+ exports.suggestPublicTypeIndex = suggestPublicTypeIndex;
159
+ exports.suggestPrivateTypeIndex = suggestPrivateTypeIndex;
160
+ exports.registerInstanceInTypeIndex = registerInstanceInTypeIndex;
161
+ exports.deleteTypeIndexRegistration = deleteTypeIndexRegistration;
162
+ exports.getScopedAppsFromIndex = getScopedAppsFromIndex;
84
163
  //# sourceMappingURL=solidLogicSingleton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"solidLogicSingleton.js","sourceRoot":"","sources":["../../src/logic/solidLogicSingleton.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAsC;AACtC,0DAAwD;AACxD,2CAAyC;AAEzC,IAAM,MAAM,GAAG,UAAO,GAAG,EAAE,WAAW;;;QAC5B,SAAS,GAAG,WAAW,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,IAAI,MAAM,CAAA;QAC7F,IAAI,yBAAW,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,EAAE,oDAAoD;YAC5F,qDAAqD;YACrD,sBAAO,yBAAW,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,EAAA;SAC7C;aAAM;YACH,sBAAO,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,EAAA;SACxC;;;KACJ,CAAA;AAED,mEAAmE;AACnE,IAAM,mBAAmB,GAAG,IAAI,uBAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,yBAAW,CAAC,CAAA;AAIjE,kDAAmB;AAF5B,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA"}
1
+ {"version":3,"file":"solidLogicSingleton.js","sourceRoot":"","sources":["../../src/logic/solidLogicSingleton.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":"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"}
@@ -1,22 +1,32 @@
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 * as rdf from "rdflib";
2
+ import { NamedNode } from 'rdflib';
3
+ import { AuthenticationContext, ScopedApp, TypeIndexScope } from '../types';
4
+ export declare function createTypeIndexLogic(store: any, authn: any, profileLogic: any, utilityLogic: any): {
5
+ ensureTypeIndexes: (context: AuthenticationContext, agent?: rdf.NamedNode | undefined) => Promise<AuthenticationContext>;
6
+ loadTypeIndexes: (context: AuthenticationContext) => Promise<AuthenticationContext | undefined>;
7
+ registerInTypeIndex: (context: AuthenticationContext, instance: NamedNode, theClass: NamedNode, isPublic: boolean, agent?: rdf.NamedNode | undefined) => Promise<AuthenticationContext>;
8
+ loadIndex: (context: AuthenticationContext, isPublic: boolean) => Promise<AuthenticationContext>;
9
+ ensureOneTypeIndex: (context: AuthenticationContext, isPublic: boolean, agent?: rdf.NamedNode | undefined) => Promise<AuthenticationContext | void>;
10
+ putIndex: (newIndex: any, context: any) => Promise<any>;
11
+ makeIndexIfNecessary: (context: any, isPublic: any, store: any, ns: any) => Promise<any>;
12
+ loadIndexes: (me: NamedNode | string, publicProfile: NamedNode | string | null, preferencesFile: NamedNode | string | null, onWarning?: (_err: Error) => Promise<undefined>) => Promise<{
13
+ private: any;
14
+ public: any;
15
+ }>;
16
+ getTypeIndex: (me: NamedNode | string, preferencesFile: NamedNode | string, isPublic: boolean) => NamedNode[];
17
+ getRegistrations: (instance: any, theClass: any) => any;
18
+ loadTypeIndexesFor: (user: NamedNode) => Promise<Array<TypeIndexScope>>;
19
+ loadCommunityTypeIndexes: (user: NamedNode) => Promise<TypeIndexScope[][]>;
20
+ loadAllTypeIndexes: (user: NamedNode) => Promise<TypeIndexScope[]>;
21
+ getScopedAppInstances: (klass: NamedNode, user: NamedNode) => Promise<ScopedApp[]>;
22
+ getAppInstances: (klass: NamedNode) => Promise<NamedNode[]>;
23
+ suggestPublicTypeIndex: (me: NamedNode) => rdf.NamedNode;
24
+ suggestPrivateTypeIndex: (preferencesFile: NamedNode) => rdf.NamedNode;
25
+ registerInstanceInTypeIndex: (instance: NamedNode, index: NamedNode, theClass: NamedNode) => Promise<NamedNode | null>;
26
+ deleteTypeIndexRegistration: (item: any) => Promise<void>;
27
+ getScopedAppsFromIndex: (scope: any, theClass: NamedNode | null) => Promise<{
28
+ instance: rdf.NamedNode;
29
+ scope: any;
30
+ }[]>;
31
+ };
22
32
  //# 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,KAAK,GAAG,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,SAAS,EAAsB,MAAM,QAAQ,CAAA;AACtD,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAK3E,wBAAgB,oBAAoB,CAAC,KAAK,KAAA,EAAE,KAAK,KAAA,EAAE,YAAY,KAAA,EAAE,YAAY,KAAA;iCAqB/B,qBAAqB,wCAAsB,QAAQ,qBAAqB,CAAC;+BAS3E,qBAAqB;mCA4BhD,qBAAqB,YACpB,SAAS,YACT,SAAS,YACT,OAAO,wCAElB,QAAQ,qBAAqB,CAAC;yBAiCpB,qBAAqB,YACpB,OAAO,KAClB,QAAQ,qBAAqB,CAAC;kCAsBU,qBAAqB,YAAY,OAAO,wCAAsB,QAAQ,qBAAqB,GAAG,IAAI,CAAC;;;sBAgFtI,SAAS,GAAG,MAAM,iBACP,SAAS,GAAG,MAAM,GAAG,IAAI,mBACvB,SAAS,GAAG,MAAM,GAAG,IAAI,qBACjB,KAAK,4BAG/B,QAAQ;QACP,OAAO,EAAE,GAAG,CAAC;QACb,MAAM,EAAE,GAAG,CAAC;KACf,CAAC;uBA0CM,SAAS,GAAG,MAAM,mBACL,SAAS,GAAG,MAAM,YACzB,OAAO,KAClB,SAAS,EAAE;;+BAkB0B,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;4CAU7C,SAAS,SACZ,SAAS,YACN,SAAS,KAEpB,QAAQ,SAAS,GAAG,IAAI,CAAC;;mDAyB2B,SAAS,GAAG,IAAI;;;;EA+C1E"}