solid-ui 2.4.27-fd0d1bf4 → 2.4.27-fd5a7172

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.
@@ -0,0 +1,226 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.getExistingPrivateKey = getExistingPrivateKey;
9
+ exports.getExistingPublicKey = getExistingPublicKey;
10
+ exports.getKeyIfExists = getKeyIfExists;
11
+ exports.pubKeyUrl = exports.privKeyUrl = exports.getPodRoot = void 0;
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
14
+ var debug = _interopRequireWildcard(require("../../debug"));
15
+ var _signature = require("../../chat/signature");
16
+ var _solidLogic = require("solid-logic");
17
+ var ns = _interopRequireWildcard(require("../../ns"));
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
+ var getPodRoot = /*#__PURE__*/function () {
21
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
22
+ var _podRoot;
23
+ var webIdURL, storages, podRoot, path, _res$headers$get, res;
24
+ return _regenerator["default"].wrap(function _callee$(_context) {
25
+ while (1) switch (_context.prev = _context.next) {
26
+ case 0:
27
+ webIdURL = new URL(webId.uri); // find storages in webId document
28
+ _context.next = 3;
29
+ return _solidLogic.store.fetcher.load(webId.uri);
30
+ case 3:
31
+ storages = _solidLogic.store.each(webId, ns.space('storage'), null, webId.doc());
32
+ if (storages !== null && storages !== void 0 && storages.length) {
33
+ _context.next = 19;
34
+ break;
35
+ }
36
+ // find storage recursively in webId URL
37
+ path = webIdURL.pathname;
38
+ case 6:
39
+ if (!path.length) {
40
+ _context.next = 17;
41
+ break;
42
+ }
43
+ path = path.substring(0, path.lastIndexOf('/'));
44
+ podRoot = _solidLogic.store.sym(webIdURL.origin + path + '/');
45
+ _context.next = 11;
46
+ return _solidLogic.store.fetcher.webOperation('HEAD', podRoot.uri);
47
+ case 11:
48
+ res = _context.sent;
49
+ if (!((_res$headers$get = res.headers.get('link')) !== null && _res$headers$get !== void 0 && _res$headers$get.includes(ns.space('Storage').value))) {
50
+ _context.next = 14;
51
+ break;
52
+ }
53
+ return _context.abrupt("break", 17);
54
+ case 14:
55
+ if (!path) debug.warn("Current user storage not found for\n".concat(webId));
56
+ _context.next = 6;
57
+ break;
58
+ case 17:
59
+ _context.next = 21;
60
+ break;
61
+ case 19:
62
+ // give preference to storage in webId root
63
+ podRoot = storages.find(function (storage) {
64
+ return webIdURL.origin === new URL(storage.value).origin;
65
+ });
66
+ if (!podRoot) podRoot = storages[0];
67
+ case 21:
68
+ return _context.abrupt("return", (_podRoot = podRoot) === null || _podRoot === void 0 ? void 0 : _podRoot.value);
69
+ case 22:
70
+ case "end":
71
+ return _context.stop();
72
+ }
73
+ }, _callee);
74
+ }));
75
+ return function getPodRoot(_x) {
76
+ return _ref.apply(this, arguments);
77
+ };
78
+ }();
79
+ exports.getPodRoot = getPodRoot;
80
+ var pubKeyUrl = /*#__PURE__*/function () {
81
+ var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
82
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
83
+ while (1) switch (_context2.prev = _context2.next) {
84
+ case 0:
85
+ _context2.prev = 0;
86
+ _context2.next = 3;
87
+ return getPodRoot(webId);
88
+ case 3:
89
+ _context2.t0 = _context2.sent;
90
+ return _context2.abrupt("return", _context2.t0 + 'profile/keys/publicKey.ttl');
91
+ case 7:
92
+ _context2.prev = 7;
93
+ _context2.t1 = _context2["catch"](0);
94
+ throw new Error(_context2.t1);
95
+ case 10:
96
+ case "end":
97
+ return _context2.stop();
98
+ }
99
+ }, _callee2, null, [[0, 7]]);
100
+ }));
101
+ return function pubKeyUrl(_x2) {
102
+ return _ref2.apply(this, arguments);
103
+ };
104
+ }();
105
+ exports.pubKeyUrl = pubKeyUrl;
106
+ function getExistingPublicKey(_x3, _x4) {
107
+ return _getExistingPublicKey.apply(this, arguments);
108
+ }
109
+ function _getExistingPublicKey() {
110
+ _getExistingPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(webId, publicKeyUrl) {
111
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
112
+ while (1) switch (_context4.prev = _context4.next) {
113
+ case 0:
114
+ _context4.next = 2;
115
+ return getKeyIfExists(webId, publicKeyUrl, 'PublicKey');
116
+ case 2:
117
+ return _context4.abrupt("return", _context4.sent);
118
+ case 3:
119
+ case "end":
120
+ return _context4.stop();
121
+ }
122
+ }, _callee4);
123
+ }));
124
+ return _getExistingPublicKey.apply(this, arguments);
125
+ }
126
+ var privKeyUrl = /*#__PURE__*/function () {
127
+ var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId) {
128
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
129
+ while (1) switch (_context3.prev = _context3.next) {
130
+ case 0:
131
+ _context3.prev = 0;
132
+ _context3.next = 3;
133
+ return getPodRoot(webId);
134
+ case 3:
135
+ _context3.t0 = _context3.sent;
136
+ return _context3.abrupt("return", _context3.t0 + 'profile/keys/privateKey.ttl');
137
+ case 7:
138
+ _context3.prev = 7;
139
+ _context3.t1 = _context3["catch"](0);
140
+ throw new Error(_context3.t1);
141
+ case 10:
142
+ case "end":
143
+ return _context3.stop();
144
+ }
145
+ }, _callee3, null, [[0, 7]]);
146
+ }));
147
+ return function privKeyUrl(_x5) {
148
+ return _ref3.apply(this, arguments);
149
+ };
150
+ }();
151
+ exports.privKeyUrl = privKeyUrl;
152
+ function getExistingPrivateKey(_x6, _x7) {
153
+ return _getExistingPrivateKey.apply(this, arguments);
154
+ }
155
+ function _getExistingPrivateKey() {
156
+ _getExistingPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(webId, privateKeyUrl) {
157
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
158
+ while (1) switch (_context5.prev = _context5.next) {
159
+ case 0:
160
+ _context5.next = 2;
161
+ return getKeyIfExists(webId, privateKeyUrl, 'PrivateKey');
162
+ case 2:
163
+ return _context5.abrupt("return", _context5.sent);
164
+ case 3:
165
+ case "end":
166
+ return _context5.stop();
167
+ }
168
+ }, _callee5);
169
+ }));
170
+ return _getExistingPrivateKey.apply(this, arguments);
171
+ }
172
+ function getKeyIfExists(_x8, _x9, _x10) {
173
+ return _getKeyIfExists.apply(this, arguments);
174
+ }
175
+ function _getKeyIfExists() {
176
+ _getKeyIfExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(webId, keyUrl, keyType) {
177
+ var key, _err$response, data, contentType, response;
178
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
179
+ while (1) switch (_context6.prev = _context6.next) {
180
+ case 0:
181
+ _context6.prev = 0;
182
+ _context6.next = 3;
183
+ return _solidLogic.store.fetcher.load(keyUrl);
184
+ case 3:
185
+ key = _solidLogic.store.any(webId, _solidLogic.store.sym(_signature.CERT + keyType));
186
+ return _context6.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
187
+ case 7:
188
+ _context6.prev = 7;
189
+ _context6.t0 = _context6["catch"](0);
190
+ if (!((_context6.t0 === null || _context6.t0 === void 0 ? void 0 : (_err$response = _context6.t0.response) === null || _err$response === void 0 ? void 0 : _err$response.status) === 404)) {
191
+ _context6.next = 24;
192
+ break;
193
+ }
194
+ _context6.prev = 10;
195
+ // create resource
196
+ data = '';
197
+ contentType = 'text/turtle';
198
+ _context6.next = 15;
199
+ return _solidLogic.store.fetcher.webOperation('PUT', keyUrl, {
200
+ data: data,
201
+ contentType: contentType
202
+ });
203
+ case 15:
204
+ response = _context6.sent;
205
+ _context6.next = 22;
206
+ break;
207
+ case 18:
208
+ _context6.prev = 18;
209
+ _context6.t1 = _context6["catch"](10);
210
+ debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context6.t1);
211
+ throw _context6.t1;
212
+ case 22:
213
+ delete _solidLogic.store.fetcher.requested[keyUrl]; // delete cached 404 error
214
+ return _context6.abrupt("return", undefined);
215
+ case 24:
216
+ debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context6.t0);
217
+ throw _context6.t0;
218
+ case 26:
219
+ case "end":
220
+ return _context6.stop();
221
+ }
222
+ }, _callee6, null, [[0, 7], [10, 18]]);
223
+ }));
224
+ return _getKeyIfExists.apply(this, arguments);
225
+ }
226
+ //# sourceMappingURL=accessData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessData.js","names":["debug","_interopRequireWildcard","require","_signature","_solidLogic","ns","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","getPodRoot","_ref","_asyncToGenerator2","_regenerator","mark","_callee","webId","_podRoot","webIdURL","storages","podRoot","path","_res$headers$get","res","wrap","_callee$","_context","prev","next","URL","uri","store","fetcher","load","each","space","doc","length","pathname","substring","lastIndexOf","sym","origin","webOperation","sent","headers","includes","value","abrupt","warn","concat","find","storage","stop","_x","apply","arguments","exports","pubKeyUrl","_ref2","_callee2","_callee2$","_context2","t0","t1","Error","_x2","getExistingPublicKey","_x3","_x4","_getExistingPublicKey","_callee4","publicKeyUrl","_callee4$","_context4","getKeyIfExists","privKeyUrl","_ref3","_callee3","_callee3$","_context3","_x5","getExistingPrivateKey","_x6","_x7","_getExistingPrivateKey","_callee5","privateKeyUrl","_callee5$","_context5","_x8","_x9","_x10","_getKeyIfExists","_callee6","keyUrl","keyType","_err$response","data","contentType","response","_callee6$","_context6","any","CERT","status","log","requested","undefined"],"sources":["../../../src/utils/keyHelpers/accessData.ts"],"sourcesContent":["import * as debug from '../../debug'\nimport { CERT } from '../../chat/signature'\nimport { store } from 'solid-logic'\nimport * as ns from '../../ns'\nimport { NamedNode } from 'rdflib'\n\nexport const getPodRoot = async (webId: NamedNode) => {\n const webIdURL = new URL(webId.uri)\n // find storages in webId document\n await store.fetcher.load(webId.uri)\n const storages = store.each(webId, ns.space('storage'), null, webId.doc())\n var podRoot: NamedNode | undefined\n if (!storages?.length) {\n // find storage recursively in webId URL\n let path = webIdURL.pathname\n while (path.length) {\n path = path.substring(0, path.lastIndexOf('/'))\n podRoot = store.sym(webIdURL.origin + path + '/')\n const res = await store.fetcher.webOperation('HEAD', podRoot.uri)\n if (res.headers.get('link')?.includes(ns.space('Storage').value)) break\n if (!path) debug.warn(`Current user storage not found for\\n${webId}`)\n }\n } else {\n // give preference to storage in webId root\n podRoot = storages.find((storage) => webIdURL.origin === new URL(storage.value).origin) as NamedNode\n if (!podRoot) podRoot = storages[0] as NamedNode\n }\n return podRoot?.value\n}\n\nexport const pubKeyUrl = async (webId: NamedNode) => {\n try {\n return await getPodRoot(webId) + 'profile/keys/publicKey.ttl'\n } catch (err) { throw new Error(err) }\n}\n\nexport async function getExistingPublicKey (webId: NamedNode, publicKeyUrl: string) {\n // find publickey\n return await getKeyIfExists(webId, publicKeyUrl, 'PublicKey')\n}\n\nexport const privKeyUrl = async (webId: NamedNode) => {\n try {\n return await getPodRoot(webId) + 'profile/keys/privateKey.ttl'\n } catch (err) { throw new Error(err) }\n}\n\nexport async function getExistingPrivateKey (webId: NamedNode, privateKeyUrl: string) {\n // find privateKey\n return await getKeyIfExists(webId, privateKeyUrl, 'PrivateKey')\n}\n\ntype KeyType = 'PublicKey' | 'PrivateKey'\n\nexport async function getKeyIfExists (webId: NamedNode, keyUrl: string, keyType: KeyType) {\n try {\n await store.fetcher.load(keyUrl)\n const key = store.any(webId, store.sym(CERT + keyType))\n return key?.value // as NamedNode\n } catch (err) {\n if (err?.response?.status === 404) { // If PATCH on some server do not all create intermediate containers\n try {\n // create resource\n const data = ''\n const contentType = 'text/turtle'\n const response = await store.fetcher.webOperation('PUT', keyUrl, {\n data,\n contentType\n })\n } catch (err) {\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n delete store.fetcher.requested[keyUrl] // delete cached 404 error\n return undefined\n }\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * set ACL
3
+ * @param keyDoc
4
+ * @param aclBody
5
+ */
6
+ export declare function setAcl(keyDoc: string, aclBody: string): Promise<void>;
7
+ /**
8
+ * key container ACL
9
+ * @param me
10
+ * @returns aclBody
11
+ */
12
+ export declare const keyContainerAclBody: (me: string) => string;
13
+ /**
14
+ * Read only ACL
15
+ * @param keyDoc
16
+ * @param me
17
+ * @returns aclBody
18
+ */
19
+ export declare const keyAclBody: (keyDoc: any, me: any) => string;
20
+ //# sourceMappingURL=acl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acl.d.ts","sourceRoot":"","sources":["../../../src/utils/keyHelpers/acl.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,MAAM,CAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,iBAsB5D;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,OAAQ,MAAM,WAe7C,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,kCAatB,CAAA"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.keyContainerAclBody = exports.keyAclBody = void 0;
9
+ exports.setAcl = setAcl;
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var debug = _interopRequireWildcard(require("../../debug"));
13
+ var _solidLogic = require("solid-logic");
14
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
16
+ /**
17
+ * set ACL
18
+ * @param keyDoc
19
+ * @param aclBody
20
+ */
21
+ function setAcl(_x, _x2) {
22
+ return _setAcl.apply(this, arguments);
23
+ }
24
+ /**
25
+ * key container ACL
26
+ * @param me
27
+ * @returns aclBody
28
+ */
29
+ function _setAcl() {
30
+ _setAcl = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(keyDoc, aclBody) {
31
+ var keyAclDoc, _err$response;
32
+ return _regenerator["default"].wrap(function _callee$(_context) {
33
+ while (1) switch (_context.prev = _context.next) {
34
+ case 0:
35
+ _context.next = 2;
36
+ return _solidLogic.store.fetcher.load(keyDoc);
37
+ case 2:
38
+ // FIXME: check the Why value on this quad:
39
+ debug.log(_solidLogic.store.statementsMatching(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl')));
40
+ keyAclDoc = _solidLogic.store.any(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl'));
41
+ if (keyAclDoc) {
42
+ _context.next = 6;
43
+ break;
44
+ }
45
+ throw new Error('Key ACL doc not found!');
46
+ case 6:
47
+ _context.prev = 6;
48
+ _context.next = 9;
49
+ return _solidLogic.store.fetcher.webOperation('PUT', keyAclDoc.value, {
50
+ data: aclBody,
51
+ contentType: 'text/turtle'
52
+ });
53
+ case 9:
54
+ _context.next = 16;
55
+ break;
56
+ case 11:
57
+ _context.prev = 11;
58
+ _context.t0 = _context["catch"](6);
59
+ if (!((_context.t0 === null || _context.t0 === void 0 ? void 0 : (_err$response = _context.t0.response) === null || _err$response === void 0 ? void 0 : _err$response.status) !== 404)) {
60
+ _context.next = 15;
61
+ break;
62
+ }
63
+ throw new Error(_context.t0);
64
+ case 15:
65
+ debug.log('delete ' + keyAclDoc.value + ' ' + _context.t0.response.status); // should test 404 and 2xx
66
+ case 16:
67
+ case "end":
68
+ return _context.stop();
69
+ }
70
+ }, _callee, null, [[6, 11]]);
71
+ }));
72
+ return _setAcl.apply(this, arguments);
73
+ }
74
+ var keyContainerAclBody = function keyContainerAclBody(me) {
75
+ var aclBody = "\n@prefix : <#>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix key: <./>.\n\n:ReadWrite\n a acl:Authorization;\n acl:accessTo key:;\n acl:default key:;\n acl:agent <".concat(me, ">;\n acl:mode acl:Read, acl:Write.\n");
76
+ return aclBody;
77
+ };
78
+
79
+ /**
80
+ * Read only ACL
81
+ * @param keyDoc
82
+ * @param me
83
+ * @returns aclBody
84
+ */
85
+ exports.keyContainerAclBody = keyContainerAclBody;
86
+ var keyAclBody = function keyAclBody(keyDoc, me) {
87
+ var keyAgent = 'acl:agentClass foaf:Agent'; // publicKey
88
+ if (me !== null && me !== void 0 && me.length) keyAgent = "acl:agent <".concat(me, ">"); // privateKey
89
+ var aclBody = "\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n<#Read>\n a acl:Authorization;\n ".concat(keyAgent, ";\n acl:accessTo <").concat(keyDoc.split('/').pop(), ">;\n acl:mode acl:Read.\n");
90
+ return aclBody;
91
+ };
92
+ exports.keyAclBody = keyAclBody;
93
+ //# sourceMappingURL=acl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"acl.js","names":["debug","_interopRequireWildcard","require","_solidLogic","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","setAcl","_x","_x2","_setAcl","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","keyDoc","aclBody","keyAclDoc","_err$response","wrap","_callee$","_context","prev","next","store","fetcher","load","log","statementsMatching","sym","any","Error","webOperation","value","data","contentType","t0","response","status","stop","keyContainerAclBody","me","concat","exports","keyAclBody","keyAgent","length","split","pop"],"sources":["../../../src/utils/keyHelpers/acl.ts"],"sourcesContent":["import * as debug from '../../debug'\nimport { store } from 'solid-logic'\n\n/**\n * set ACL\n * @param keyDoc\n * @param aclBody\n */\nexport async function setAcl (keyDoc: string, aclBody: string) {\n // Some servers don't present a Link http response header\n // if the container doesn't exist yet, refetch the resource\n\n await store.fetcher.load(keyDoc)\n\n // FIXME: check the Why value on this quad:\n debug.log(store.statementsMatching(store.sym(keyDoc), store.sym('http://www.iana.org/assignments/link-relations/acl')))\n const keyAclDoc = store.any(store.sym(keyDoc), store.sym('http://www.iana.org/assignments/link-relations/acl'))\n if (!keyAclDoc) {\n throw new Error('Key ACL doc not found!')\n }\n\n try {\n await store.fetcher.webOperation('PUT', keyAclDoc.value, {\n data: aclBody,\n contentType: 'text/turtle'\n })\n } catch (err) {\n if (err?.response?.status !== 404) { throw new Error(err) }\n debug.log('delete ' + keyAclDoc.value + ' ' + err.response.status) // should test 404 and 2xx\n }\n}\n\n/**\n * key container ACL\n * @param me\n * @returns aclBody\n */\nexport const keyContainerAclBody = (me: string) => {\n const aclBody = `\n@prefix : <#>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix key: <./>.\n\n:ReadWrite\n a acl:Authorization;\n acl:accessTo key:;\n acl:default key:;\n acl:agent <${me}>;\n acl:mode acl:Read, acl:Write.\n`\n return aclBody\n}\n\n/**\n * Read only ACL\n * @param keyDoc\n * @param me\n * @returns aclBody\n */\nexport const keyAclBody = (keyDoc, me) => {\n let keyAgent = 'acl:agentClass foaf:Agent' // publicKey\n if (me?.length) keyAgent = `acl:agent <${me}>` // privateKey\n const aclBody = `\n@prefix foaf: <http://xmlns.com/foaf/0.1/>.\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n<#Read>\n a acl:Authorization;\n ${keyAgent};\n acl:accessTo <${keyDoc.split('/').pop()}>;\n acl:mode acl:Read.\n`\n return aclBody\n}\n"],"mappings":"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"}
@@ -5,8 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.versionInfo = void 0;
7
7
  var versionInfo = {
8
- buildTime: '2023-05-01T20:03:38Z',
9
- commit: 'fd0d1bf4759c488f6aca406446337baf12f009f3',
8
+ buildTime: '2023-05-17T23:36:37Z',
9
+ commit: 'fd5a7172c8e5cef746d9812d555a274590b70866',
10
10
  npmInfo: {
11
11
  'solid-ui': '2.4.27',
12
12
  npm: '8.19.4',
@@ -1 +1 @@
1
- {"version":3,"file":"versionInfo.js","names":["versionInfo","buildTime","commit","npmInfo","npm","node","v8","uv","zlib","brotli","ares","modules","nghttp2","napi","llhttp","openssl","cldr","icu","tz","unicode","ngtcp2","nghttp3","exports"],"sources":["../src/versionInfo.ts"],"sourcesContent":["export const versionInfo = {\n buildTime: '2023-05-01T20:03:38Z',\n commit: 'fd0d1bf4759c488f6aca406446337baf12f009f3',\n npmInfo:\n{\n 'solid-ui': '2.4.27',\n npm: '8.19.4',\n node: '16.20.0',\n v8: '9.4.146.26-node.26',\n uv: '1.43.0',\n zlib: '1.2.11',\n brotli: '1.0.9',\n ares: '1.19.0',\n modules: '93',\n nghttp2: '1.47.0',\n napi: '8',\n llhttp: '6.0.10',\n openssl: '1.1.1t+quic',\n cldr: '41.0',\n icu: '71.1',\n tz: '2022f',\n unicode: '14.0',\n ngtcp2: '0.8.1',\n nghttp3: '0.7.0'\n}\n}\n"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAG;EACzBC,SAAS,EAAE,sBAAsB;EACjCC,MAAM,EAAE,0CAA0C;EAClDC,OAAO,EACT;IACE,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,QAAQ;IACbC,IAAI,EAAE,SAAS;IACfC,EAAE,EAAE,oBAAoB;IACxBC,EAAE,EAAE,QAAQ;IACZC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,OAAO;IACfC,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAE,IAAI;IACbC,OAAO,EAAE,QAAQ;IACjBC,IAAI,EAAE,GAAG;IACTC,MAAM,EAAE,QAAQ;IAChBC,OAAO,EAAE,aAAa;IACtBC,IAAI,EAAE,MAAM;IACZC,GAAG,EAAE,MAAM;IACXC,EAAE,EAAE,OAAO;IACXC,OAAO,EAAE,MAAM;IACfC,MAAM,EAAE,OAAO;IACfC,OAAO,EAAE;EACX;AACA,CAAC;AAAAC,OAAA,CAAAtB,WAAA,GAAAA,WAAA"}
1
+ {"version":3,"file":"versionInfo.js","names":["versionInfo","buildTime","commit","npmInfo","npm","node","v8","uv","zlib","brotli","ares","modules","nghttp2","napi","llhttp","openssl","cldr","icu","tz","unicode","ngtcp2","nghttp3","exports"],"sources":["../src/versionInfo.ts"],"sourcesContent":["export const versionInfo = {\n buildTime: '2023-05-17T23:36:37Z',\n commit: 'fd5a7172c8e5cef746d9812d555a274590b70866',\n npmInfo:\n{\n 'solid-ui': '2.4.27',\n npm: '8.19.4',\n node: '16.20.0',\n v8: '9.4.146.26-node.26',\n uv: '1.43.0',\n zlib: '1.2.11',\n brotli: '1.0.9',\n ares: '1.19.0',\n modules: '93',\n nghttp2: '1.47.0',\n napi: '8',\n llhttp: '6.0.10',\n openssl: '1.1.1t+quic',\n cldr: '41.0',\n icu: '71.1',\n tz: '2022f',\n unicode: '14.0',\n ngtcp2: '0.8.1',\n nghttp3: '0.7.0'\n}\n}\n"],"mappings":";;;;;;AAAO,IAAMA,WAAW,GAAG;EACzBC,SAAS,EAAE,sBAAsB;EACjCC,MAAM,EAAE,0CAA0C;EAClDC,OAAO,EACT;IACE,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAE,QAAQ;IACbC,IAAI,EAAE,SAAS;IACfC,EAAE,EAAE,oBAAoB;IACxBC,EAAE,EAAE,QAAQ;IACZC,IAAI,EAAE,QAAQ;IACdC,MAAM,EAAE,OAAO;IACfC,IAAI,EAAE,QAAQ;IACdC,OAAO,EAAE,IAAI;IACbC,OAAO,EAAE,QAAQ;IACjBC,IAAI,EAAE,GAAG;IACTC,MAAM,EAAE,QAAQ;IAChBC,OAAO,EAAE,aAAa;IACtBC,IAAI,EAAE,MAAM;IACZC,GAAG,EAAE,MAAM;IACXC,EAAE,EAAE,OAAO;IACXC,OAAO,EAAE,MAAM;IACfC,MAAM,EAAE,OAAO;IACfC,OAAO,EAAE;EACX;AACA,CAAC;AAAAC,OAAA,CAAAtB,WAAA,GAAAA,WAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-ui",
3
- "version": "2.4.27-fd0d1bf4",
3
+ "version": "2.4.27-fd5a7172",
4
4
  "description": "UI library for writing Solid read-write-web applications",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -1,5 +0,0 @@
1
- export declare const pubKeyUrl: (webId: string) => string;
2
- export declare function publicKeyExists(webId: string): Promise<string | undefined>;
3
- export declare const privKeyUrl: (webId: string) => string;
4
- export declare function privateKeyExists(webId: string): Promise<string | undefined>;
5
- //# sourceMappingURL=cryptoKeyHelpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cryptoKeyHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/cryptoKeyHelpers.ts"],"names":[],"mappings":"AAgBA,eAAO,MAAM,SAAS,UAAW,MAAM,WAStC,CAAA;AAED,wBAAsB,eAAe,CAAE,KAAK,EAAE,MAAM,+BAInD;AAED,eAAO,MAAM,UAAU,UAAW,MAAM,WASvC,CAAA;AAED,wBAAsB,gBAAgB,CAAE,KAAK,EAAE,MAAM,+BAIpD"}
@@ -1,157 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _typeof = require("@babel/runtime/helpers/typeof");
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.privKeyUrl = void 0;
9
- exports.privateKeyExists = privateKeyExists;
10
- exports.pubKeyUrl = void 0;
11
- exports.publicKeyExists = publicKeyExists;
12
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
14
- var debug = _interopRequireWildcard(require("../debug"));
15
- var _signature = require("../chat/signature");
16
- var _solidLogic = require("solid-logic");
17
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
- // find podRoot from space:storage for subdomain/suffix podServers
20
- /* export const podRoot = (webId: string) => {
21
- await store.fetcher.load(webId)
22
- const url = new URL(webId)
23
- // find storage in webId
24
- const storage = store.each(store.sym(webId), store.sym('http://www.w3.org/ns/pim/space#storage'))
25
- const pod = storage.length === 1 ? storage : storage.find(node => url.origin === new URL(node.value).origin)
26
- const podRoot = Array.isArray(pod) ? pod[0] : pod
27
- if (!podRoot?.value) throw Error('No space:storage in ' + webId)
28
- return podRoot.value
29
- } */
30
-
31
- var pubKeyUrl = function pubKeyUrl(webId) {
32
- var url = new URL(webId);
33
- // find storage in webId
34
- var storage = _solidLogic.store.each(_solidLogic.store.sym(webId), _solidLogic.store.sym('http://www.w3.org/ns/pim/space#storage'));
35
- var pod = storage.length === 1 ? storage : storage.find(function (node) {
36
- return url.origin === new URL(node.value).origin;
37
- });
38
- var podUrl = Array.isArray(pod) ? pod[0] : pod;
39
- if (!(podUrl !== null && podUrl !== void 0 && podUrl.value)) throw Error('No space:storage in ' + webId);
40
- var publicKeyUrl = (podUrl === null || podUrl === void 0 ? void 0 : podUrl.value) + 'profile/keys/publicKey.ttl';
41
- return publicKeyUrl;
42
- };
43
- exports.pubKeyUrl = pubKeyUrl;
44
- function publicKeyExists(_x) {
45
- return _publicKeyExists.apply(this, arguments);
46
- }
47
- function _publicKeyExists() {
48
- _publicKeyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
49
- var publicKeyUrl;
50
- return _regenerator["default"].wrap(function _callee$(_context) {
51
- while (1) switch (_context.prev = _context.next) {
52
- case 0:
53
- // find publickey
54
- publicKeyUrl = pubKeyUrl(webId);
55
- _context.next = 3;
56
- return keyExists(webId, publicKeyUrl, 'PublicKey');
57
- case 3:
58
- return _context.abrupt("return", _context.sent);
59
- case 4:
60
- case "end":
61
- return _context.stop();
62
- }
63
- }, _callee);
64
- }));
65
- return _publicKeyExists.apply(this, arguments);
66
- }
67
- var privKeyUrl = function privKeyUrl(webId) {
68
- var url = new URL(webId);
69
- // find storage in webId
70
- var storage = _solidLogic.store.each(_solidLogic.store.sym(webId), _solidLogic.store.sym('http://www.w3.org/ns/pim/space#storage'));
71
- var pod = storage.length === 1 ? storage : storage.find(function (node) {
72
- return url.origin === new URL(node.value).origin;
73
- });
74
- var podUrl = Array.isArray(pod) ? pod[0] : pod;
75
- if (!(podUrl !== null && podUrl !== void 0 && podUrl.value)) throw Error('Expected space:storage in ' + webId);
76
- var privateKeyUrl = (podUrl === null || podUrl === void 0 ? void 0 : podUrl.value) + 'profile/keys/privateKey.ttl';
77
- return privateKeyUrl;
78
- };
79
- exports.privKeyUrl = privKeyUrl;
80
- function privateKeyExists(_x2) {
81
- return _privateKeyExists.apply(this, arguments);
82
- }
83
- function _privateKeyExists() {
84
- _privateKeyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
85
- var privateKeyUrl;
86
- return _regenerator["default"].wrap(function _callee2$(_context2) {
87
- while (1) switch (_context2.prev = _context2.next) {
88
- case 0:
89
- // find privateKey
90
- privateKeyUrl = privKeyUrl(webId);
91
- _context2.next = 3;
92
- return keyExists(webId, privateKeyUrl, 'PrivateKey');
93
- case 3:
94
- return _context2.abrupt("return", _context2.sent);
95
- case 4:
96
- case "end":
97
- return _context2.stop();
98
- }
99
- }, _callee2);
100
- }));
101
- return _privateKeyExists.apply(this, arguments);
102
- }
103
- function keyExists(_x3, _x4, _x5) {
104
- return _keyExists.apply(this, arguments);
105
- }
106
- function _keyExists() {
107
- _keyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId, keyUrl, keyType) {
108
- var key, _err$response, data, contentType, response;
109
- return _regenerator["default"].wrap(function _callee3$(_context3) {
110
- while (1) switch (_context3.prev = _context3.next) {
111
- case 0:
112
- _context3.prev = 0;
113
- _context3.next = 3;
114
- return _solidLogic.store.fetcher.load(keyUrl);
115
- case 3:
116
- key = _solidLogic.store.any(_solidLogic.store.sym(webId), _solidLogic.store.sym(_signature.CERT + keyType));
117
- return _context3.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
118
- case 7:
119
- _context3.prev = 7;
120
- _context3.t0 = _context3["catch"](0);
121
- if (!((_context3.t0 === null || _context3.t0 === void 0 ? void 0 : (_err$response = _context3.t0.response) === null || _err$response === void 0 ? void 0 : _err$response.status) === 404)) {
122
- _context3.next = 24;
123
- break;
124
- }
125
- _context3.prev = 10;
126
- // create privateKey resource
127
- data = '';
128
- contentType = 'text/turtle';
129
- _context3.next = 15;
130
- return _solidLogic.store.fetcher.webOperation('PUT', keyUrl, {
131
- data: data,
132
- contentType: contentType
133
- });
134
- case 15:
135
- response = _context3.sent;
136
- _context3.next = 22;
137
- break;
138
- case 18:
139
- _context3.prev = 18;
140
- _context3.t1 = _context3["catch"](10);
141
- debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context3.t1);
142
- throw _context3.t1;
143
- case 22:
144
- delete _solidLogic.store.fetcher.requested[keyUrl]; // delete cached 404 error
145
- return _context3.abrupt("return", undefined);
146
- case 24:
147
- debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context3.t0);
148
- throw _context3.t0;
149
- case 26:
150
- case "end":
151
- return _context3.stop();
152
- }
153
- }, _callee3, null, [[0, 7], [10, 18]]);
154
- }));
155
- return _keyExists.apply(this, arguments);
156
- }
157
- //# sourceMappingURL=cryptoKeyHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cryptoKeyHelpers.js","names":["debug","_interopRequireWildcard","require","_signature","_solidLogic","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","pubKeyUrl","webId","url","URL","storage","store","each","sym","pod","length","find","node","origin","value","podUrl","Array","isArray","Error","publicKeyUrl","exports","publicKeyExists","_x","_publicKeyExists","apply","arguments","_asyncToGenerator2","_regenerator","mark","_callee","wrap","_callee$","_context","prev","next","keyExists","abrupt","sent","stop","privKeyUrl","privateKeyUrl","privateKeyExists","_x2","_privateKeyExists","_callee2","_callee2$","_context2","_x3","_x4","_x5","_keyExists","_callee3","keyUrl","keyType","_err$response","data","contentType","response","_callee3$","_context3","fetcher","load","any","CERT","t0","status","webOperation","t1","log","requested","undefined"],"sources":["../../src/utils/cryptoKeyHelpers.ts"],"sourcesContent":["import * as debug from '../debug'\nimport { CERT } from '../chat/signature'\nimport { store } from 'solid-logic'\n\n// find podRoot from space:storage for subdomain/suffix podServers\n/* export const podRoot = (webId: string) => {\n await store.fetcher.load(webId)\n const url = new URL(webId)\n // find storage in webId\n const storage = store.each(store.sym(webId), store.sym('http://www.w3.org/ns/pim/space#storage'))\n const pod = storage.length === 1 ? storage : storage.find(node => url.origin === new URL(node.value).origin)\n const podRoot = Array.isArray(pod) ? pod[0] : pod\n if (!podRoot?.value) throw Error('No space:storage in ' + webId)\n return podRoot.value\n} */\n\nexport const pubKeyUrl = (webId: string) => {\n const url = new URL(webId)\n // find storage in webId\n const storage = store.each(store.sym(webId), store.sym('http://www.w3.org/ns/pim/space#storage'))\n const pod = storage.length === 1 ? storage : storage.find(node => url.origin === new URL(node.value).origin)\n const podUrl = Array.isArray(pod) ? pod[0] : pod\n if (!podUrl?.value) throw Error('No space:storage in ' + webId)\n const publicKeyUrl = podUrl?.value + 'profile/keys/publicKey.ttl'\n return publicKeyUrl\n}\n\nexport async function publicKeyExists (webId: string) {\n // find publickey\n const publicKeyUrl = pubKeyUrl(webId)\n return await keyExists(webId, publicKeyUrl, 'PublicKey')\n}\n\nexport const privKeyUrl = (webId: string) => {\n const url = new URL(webId)\n // find storage in webId\n const storage = store.each(store.sym(webId), store.sym('http://www.w3.org/ns/pim/space#storage'))\n const pod = storage.length === 1 ? storage : storage.find(node => url.origin === new URL(node.value).origin)\n const podUrl = Array.isArray(pod) ? pod[0] : pod\n if (!podUrl?.value) throw Error('Expected space:storage in ' + webId)\n const privateKeyUrl = podUrl?.value + 'profile/keys/privateKey.ttl'\n return privateKeyUrl\n}\n\nexport async function privateKeyExists (webId: string) {\n // find privateKey\n const privateKeyUrl = privKeyUrl(webId)\n return await keyExists(webId, privateKeyUrl, 'PrivateKey')\n}\n\ntype KeyType = 'PublicKey' | 'PrivateKey'\n\nasync function keyExists (webId, keyUrl, keyType: KeyType) {\n try {\n await store.fetcher.load(keyUrl)\n const key = store.any(store.sym(webId), store.sym(CERT + keyType))\n return key?.value // as NamedNode\n } catch (err) {\n if (err?.response?.status === 404) { // If PATCH on some server do not all create intermediate containers\n try {\n // create privateKey resource\n const data = ''\n const contentType = 'text/turtle'\n const response = await store.fetcher.webOperation('PUT', keyUrl, {\n data,\n contentType\n })\n } catch (err) {\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n delete store.fetcher.requested[keyUrl] // delete cached 404 error\n return undefined\n }\n debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + err)\n throw err\n }\n}\n"],"mappings":"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"}