solid-ui 2.4.27-a6ef5829 → 2.4.27-a8ee341e

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/solid-ui.js CHANGED
@@ -4043,7 +4043,8 @@ var _utils = __webpack_require__(/*! @noble/hashes/utils */ "./node_modules/@nob
4043
4043
  var _signature = __webpack_require__(/*! ./signature */ "./lib/chat/signature.js");
4044
4044
  var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
4045
4045
  var $rdf = _interopRequireWildcard(__webpack_require__(/*! rdflib */ "./node_modules/rdflib/esm/index.js"));
4046
- var _cryptoKeyHelpers = __webpack_require__(/*! ../utils/cryptoKeyHelpers */ "./lib/utils/cryptoKeyHelpers.js");
4046
+ var _accessData = __webpack_require__(/*! ../utils/keyHelpers/accessData */ "./lib/utils/keyHelpers/accessData.js");
4047
+ var _acl = __webpack_require__(/*! ../utils/keyHelpers/acl */ "./lib/utils/keyHelpers/acl.js");
4047
4048
  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); }
4048
4049
  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; }
4049
4050
  function generatePrivateKey() {
@@ -4052,74 +4053,77 @@ function generatePrivateKey() {
4052
4053
  function generatePublicKey(privateKey) {
4053
4054
  return (0, _utils.bytesToHex)(_secp256k.schnorr.getPublicKey(privateKey));
4054
4055
  }
4056
+
4057
+ /**
4058
+ * getPublicKey
4059
+ * used for displaying messages in chat, therefore does not
4060
+ * create a new key if not found
4061
+ * @param webId
4062
+ * @returns string | undefined
4063
+ */
4055
4064
  function getPublicKey(_x) {
4056
4065
  return _getPublicKey.apply(this, arguments);
4057
4066
  }
4058
4067
  function _getPublicKey() {
4059
- _getPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
4068
+ _getPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
4060
4069
  var publicKeyDoc, key;
4061
- return _regenerator["default"].wrap(function _callee$(_context) {
4062
- while (1) switch (_context.prev = _context.next) {
4070
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
4071
+ while (1) switch (_context2.prev = _context2.next) {
4063
4072
  case 0:
4064
- _context.next = 2;
4073
+ _context2.next = 2;
4065
4074
  return _solidLogic.store.fetcher.load(webId);
4066
4075
  case 2:
4067
- _context.next = 4;
4068
- return (0, _cryptoKeyHelpers.pubKeyUrl)(webId);
4076
+ _context2.next = 4;
4077
+ return (0, _accessData.pubKeyUrl)(webId);
4069
4078
  case 4:
4070
- publicKeyDoc = _context.sent;
4071
- _context.prev = 5;
4072
- _context.next = 8;
4079
+ publicKeyDoc = _context2.sent;
4080
+ _context2.prev = 5;
4081
+ _context2.next = 8;
4073
4082
  return _solidLogic.store.fetcher.load(publicKeyDoc);
4074
4083
  case 8:
4075
4084
  // url.href)
4076
4085
  key = _solidLogic.store.any(webId, _solidLogic.store.sym(_signature.CERT + 'PublicKey'));
4077
- return _context.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
4086
+ return _context2.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
4078
4087
  case 12:
4079
- _context.prev = 12;
4080
- _context.t0 = _context["catch"](5);
4081
- return _context.abrupt("return", undefined);
4088
+ _context2.prev = 12;
4089
+ _context2.t0 = _context2["catch"](5);
4090
+ return _context2.abrupt("return", undefined);
4082
4091
  case 15:
4083
4092
  case "end":
4084
- return _context.stop();
4093
+ return _context2.stop();
4085
4094
  }
4086
- }, _callee, null, [[5, 12]]);
4095
+ }, _callee2, null, [[5, 12]]);
4087
4096
  }));
4088
4097
  return _getPublicKey.apply(this, arguments);
4089
4098
  }
4090
4099
  function getPrivateKey(_x2) {
4091
4100
  return _getPrivateKey.apply(this, arguments);
4092
4101
  }
4093
- /**
4094
- * key container ACL
4095
- * @param me
4096
- * @returns aclBody
4097
- */
4098
4102
  function _getPrivateKey() {
4099
- _getPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
4103
+ _getPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId) {
4100
4104
  var publicKeyDoc, privateKeyDoc, publicKey, privateKey, validPublicKey, del, add, newPublicKey, keyContainer;
4101
- return _regenerator["default"].wrap(function _callee2$(_context2) {
4102
- while (1) switch (_context2.prev = _context2.next) {
4105
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
4106
+ while (1) switch (_context3.prev = _context3.next) {
4103
4107
  case 0:
4104
- _context2.next = 2;
4108
+ _context3.next = 2;
4105
4109
  return _solidLogic.store.fetcher.load(webId);
4106
4110
  case 2:
4107
- _context2.next = 4;
4108
- return (0, _cryptoKeyHelpers.pubKeyUrl)(webId);
4111
+ _context3.next = 4;
4112
+ return (0, _accessData.pubKeyUrl)(webId);
4109
4113
  case 4:
4110
- publicKeyDoc = _context2.sent;
4111
- _context2.next = 7;
4112
- return (0, _cryptoKeyHelpers.privKeyUrl)(webId);
4114
+ publicKeyDoc = _context3.sent;
4115
+ _context3.next = 7;
4116
+ return (0, _accessData.privKeyUrl)(webId);
4113
4117
  case 7:
4114
- privateKeyDoc = _context2.sent;
4115
- _context2.next = 10;
4116
- return (0, _cryptoKeyHelpers.publicKeyExists)(webId);
4118
+ privateKeyDoc = _context3.sent;
4119
+ _context3.next = 10;
4120
+ return (0, _accessData.getExistingPublicKey)(webId, publicKeyDoc);
4117
4121
  case 10:
4118
- publicKey = _context2.sent;
4119
- _context2.next = 13;
4120
- return (0, _cryptoKeyHelpers.privateKeyExists)(webId);
4122
+ publicKey = _context3.sent;
4123
+ _context3.next = 13;
4124
+ return (0, _accessData.getExistingPrivateKey)(webId, privateKeyDoc);
4121
4125
  case 13:
4122
- privateKey = _context2.sent;
4126
+ privateKey = _context3.sent;
4123
4127
  // is publicKey valid ?
4124
4128
  validPublicKey = true;
4125
4129
  if (privateKey && publicKey !== generatePublicKey(privateKey)) {
@@ -4128,23 +4132,23 @@ function _getPrivateKey() {
4128
4132
 
4129
4133
  // create key pair or repair publicKey
4130
4134
  if (!(!privateKey || !publicKey || !validPublicKey)) {
4131
- _context2.next = 34;
4135
+ _context3.next = 34;
4132
4136
  break;
4133
4137
  }
4134
4138
  del = [];
4135
4139
  add = []; // if (privateKey) del.push($rdf.st(webId, store.sym(CERT + 'PrivateKey'), $rdf.lit(privateKey), store.sym(privateKeyDoc)))
4136
4140
  if (privateKey) {
4137
- _context2.next = 24;
4141
+ _context3.next = 24;
4138
4142
  break;
4139
4143
  }
4140
4144
  // add = []
4141
4145
  privateKey = generatePrivateKey();
4142
4146
  add = [$rdf.st(webId, _solidLogic.store.sym(_signature.CERT + 'PrivateKey'), $rdf.literal(privateKey), _solidLogic.store.sym(privateKeyDoc))];
4143
- _context2.next = 24;
4147
+ _context3.next = 24;
4144
4148
  return saveKey(privateKeyDoc, [], add, webId.uri);
4145
4149
  case 24:
4146
4150
  if (!(!publicKey || !validPublicKey)) {
4147
- _context2.next = 31;
4151
+ _context3.next = 31;
4148
4152
  break;
4149
4153
  }
4150
4154
  del = [];
@@ -4156,167 +4160,98 @@ function _getPrivateKey() {
4156
4160
  // update new valid key
4157
4161
  newPublicKey = generatePublicKey(privateKey);
4158
4162
  add = [$rdf.st(webId, _solidLogic.store.sym(_signature.CERT + 'PublicKey'), $rdf.literal(newPublicKey), _solidLogic.store.sym(publicKeyDoc))];
4159
- _context2.next = 31;
4163
+ _context3.next = 31;
4160
4164
  return saveKey(publicKeyDoc, del, add);
4161
4165
  case 31:
4162
4166
  keyContainer = privateKeyDoc.substring(0, privateKeyDoc.lastIndexOf('/') + 1);
4163
- _context2.next = 34;
4164
- return setAcl(keyContainer, keyContainerAclBody(webId.uri));
4167
+ _context3.next = 34;
4168
+ return (0, _acl.setAcl)(keyContainer, (0, _acl.keyContainerAclBody)(webId.uri));
4165
4169
  case 34:
4166
- return _context2.abrupt("return", privateKey);
4170
+ return _context3.abrupt("return", privateKey);
4167
4171
  case 35:
4168
4172
  case "end":
4169
- return _context2.stop();
4173
+ return _context3.stop();
4170
4174
  }
4171
- }, _callee2);
4175
+ }, _callee3);
4172
4176
  }));
4173
4177
  return _getPrivateKey.apply(this, arguments);
4174
4178
  }
4175
- var keyContainerAclBody = function keyContainerAclBody(me) {
4176
- 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");
4177
- return aclBody;
4178
- };
4179
-
4180
- /**
4181
- * Read only ACL
4182
- * @param keyDoc
4183
- * @param me
4184
- * @returns aclBody
4185
- */
4186
- var keyAclBody = function keyAclBody(keyDoc, me) {
4187
- var keyAgent = 'acl:agentClass foaf:Agent'; // publicKey
4188
- if (me !== null && me !== void 0 && me.length) keyAgent = "acl:agent <".concat(me, ">"); // privateKey
4189
- 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");
4190
- return aclBody;
4191
- };
4192
-
4193
- /**
4194
- * set ACL
4195
- * @param keyDoc
4196
- * @param aclBody
4197
- */
4198
- function setAcl(_x3, _x4) {
4199
- return _setAcl.apply(this, arguments);
4200
- }
4201
- /**
4202
- * delete acl if keydoc exists
4203
- * create/edit keyDoc
4204
- * set keyDoc acl
4205
- */
4206
- function _setAcl() {
4207
- _setAcl = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(keyDoc, aclBody) {
4208
- var keyAclDoc, response, aclResponse;
4209
- return _regenerator["default"].wrap(function _callee3$(_context3) {
4210
- while (1) switch (_context3.prev = _context3.next) {
4179
+ var deleteKeyAcl = /*#__PURE__*/function () {
4180
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(keyDoc) {
4181
+ var keyAclDoc, response;
4182
+ return _regenerator["default"].wrap(function _callee$(_context) {
4183
+ while (1) switch (_context.prev = _context.next) {
4211
4184
  case 0:
4212
- _context3.next = 2;
4185
+ _context.next = 2;
4213
4186
  return _solidLogic.store.fetcher.load(keyDoc);
4214
4187
  case 2:
4215
- // FIXME: check the Why value on this quad:
4216
- debug.log(_solidLogic.store.statementsMatching(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl')));
4217
4188
  keyAclDoc = _solidLogic.store.any(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl'));
4218
- if (keyAclDoc) {
4219
- _context3.next = 6;
4189
+ if (!keyAclDoc) {
4190
+ _context.next = 16;
4220
4191
  break;
4221
4192
  }
4222
- throw new Error('Key ACL doc not found!');
4223
- case 6:
4224
- _context3.prev = 6;
4225
- _context3.next = 9;
4193
+ _context.prev = 4;
4194
+ _context.next = 7;
4226
4195
  return _solidLogic.store.fetcher.webOperation('DELETE', keyAclDoc.value);
4227
- case 9:
4228
- response = _context3.sent;
4196
+ case 7:
4197
+ response = _context.sent;
4229
4198
  // this may fail if webId is not an owner
4230
4199
  debug.log('delete ' + keyAclDoc.value + ' ' + response.status); // should test 404 and 2xx
4231
- _context3.next = 18;
4200
+ _context.next = 16;
4232
4201
  break;
4233
- case 13:
4234
- _context3.prev = 13;
4235
- _context3.t0 = _context3["catch"](6);
4236
- if (!(_context3.t0.response.status !== 404)) {
4237
- _context3.next = 17;
4202
+ case 11:
4203
+ _context.prev = 11;
4204
+ _context.t0 = _context["catch"](4);
4205
+ if (!(_context.t0.response.status !== 404)) {
4206
+ _context.next = 15;
4238
4207
  break;
4239
4208
  }
4240
- throw new Error(_context3.t0);
4241
- case 17:
4242
- debug.log('delete ' + keyAclDoc.value + ' ' + _context3.t0.response.status); // should test 404 and 2xx
4243
- case 18:
4244
- _context3.next = 20;
4245
- return _solidLogic.store.fetcher.webOperation('PUT', keyAclDoc.value, {
4246
- data: aclBody,
4247
- contentType: 'text/turtle'
4248
- });
4249
- case 20:
4250
- aclResponse = _context3.sent;
4251
- case 21:
4209
+ throw new Error(_context.t0);
4210
+ case 15:
4211
+ debug.log('delete ' + keyAclDoc.value + ' ' + _context.t0.response.status); // should test 404 and 2xx
4212
+ case 16:
4252
4213
  case "end":
4253
- return _context3.stop();
4214
+ return _context.stop();
4254
4215
  }
4255
- }, _callee3, null, [[6, 13]]);
4216
+ }, _callee, null, [[4, 11]]);
4256
4217
  }));
4257
- return _setAcl.apply(this, arguments);
4258
- }
4259
- function saveKey(_x5, _x6, _x7) {
4218
+ return function deleteKeyAcl(_x3) {
4219
+ return _ref.apply(this, arguments);
4220
+ };
4221
+ }();
4222
+
4223
+ /**
4224
+ * delete acl if keydoc exists
4225
+ * create/edit keyDoc
4226
+ * set keyDoc acl
4227
+ */
4228
+ function saveKey(_x4, _x5, _x6) {
4260
4229
  return _saveKey.apply(this, arguments);
4261
4230
  }
4262
4231
  function _saveKey() {
4263
4232
  _saveKey = (0, _asyncToGenerator2["default"])(function (keyDoc, del, add) {
4264
4233
  var me = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '';
4265
4234
  return /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
4266
- var keyAclDoc, response, aclBody;
4235
+ var aclBody;
4267
4236
  return _regenerator["default"].wrap(function _callee4$(_context4) {
4268
4237
  while (1) switch (_context4.prev = _context4.next) {
4269
4238
  case 0:
4270
4239
  _context4.next = 2;
4271
- return _solidLogic.store.fetcher.load(keyDoc);
4240
+ return deleteKeyAcl(keyDoc);
4272
4241
  case 2:
4273
- _context4.prev = 2;
4274
- // get keyAcldoc
4275
- keyAclDoc = _solidLogic.store.any(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl'));
4276
- if (!keyAclDoc) {
4277
- _context4.next = 17;
4278
- break;
4279
- }
4280
- _context4.prev = 5;
4281
- _context4.next = 8;
4282
- return _solidLogic.store.fetcher.webOperation('DELETE', keyAclDoc.value);
4283
- case 8:
4284
- response = _context4.sent;
4285
- // this may fail if webId is not an owner
4286
- debug.log('delete ' + keyAclDoc.value + ' ' + response.status); // should test 404 and 2xx
4287
- _context4.next = 17;
4288
- break;
4289
- case 12:
4290
- _context4.prev = 12;
4291
- _context4.t0 = _context4["catch"](5);
4292
- if (!(_context4.t0.response.status !== 404)) {
4293
- _context4.next = 16;
4294
- break;
4295
- }
4296
- throw new Error(_context4.t0);
4297
- case 16:
4298
- debug.log('delete ' + keyAclDoc.value + ' ' + _context4.t0.response.status); // should test 404 and 2xx
4299
- case 17:
4300
- _context4.next = 19;
4242
+ _context4.next = 4;
4301
4243
  return _solidLogic.store.updater.updateMany(del, add);
4302
- case 19:
4244
+ case 4:
4303
4245
  // or a promise store.updater.update ?
4304
4246
  // create READ only ACL
4305
- aclBody = keyAclBody(keyDoc, me);
4306
- _context4.next = 22;
4307
- return setAcl(keyDoc, aclBody);
4308
- case 22:
4309
- _context4.next = 27;
4310
- break;
4311
- case 24:
4312
- _context4.prev = 24;
4313
- _context4.t1 = _context4["catch"](2);
4314
- throw new Error(_context4.t1);
4315
- case 27:
4247
+ aclBody = (0, _acl.keyAclBody)(keyDoc, me);
4248
+ _context4.next = 7;
4249
+ return (0, _acl.setAcl)(keyDoc, aclBody);
4250
+ case 7:
4316
4251
  case "end":
4317
4252
  return _context4.stop();
4318
4253
  }
4319
- }, _callee4, null, [[2, 24], [5, 12]]);
4254
+ }, _callee4);
4320
4255
  })();
4321
4256
  });
4322
4257
  return _saveKey.apply(this, arguments);
@@ -4373,7 +4308,11 @@ var messageBodyStyle = style.messageBodyStyle;
4373
4308
  var label = utils.label;
4374
4309
 
4375
4310
  /**
4311
+ * elementForImageURI
4376
4312
  * HTML component for an image
4313
+ * @param imageUri
4314
+ * @param options { inlineImageHeightEms }
4315
+ * @returns HTMLAnchorElement For Image
4377
4316
  */
4378
4317
  function elementForImageURI(imageUri, options) {
4379
4318
  var img = dom.createElement('img');
@@ -4403,21 +4342,27 @@ var anchor = function anchor(text, term) {
4403
4342
  a.textContent = text;
4404
4343
  return a;
4405
4344
  };
4406
- function nick(person) {
4345
+ function nickname(person) {
4407
4346
  var s = _solidLogic.store.any(person, ns.foaf('nick'));
4408
4347
  if (s) return '' + s.value;
4409
4348
  return '' + label(person);
4410
4349
  }
4411
4350
 
4412
4351
  /**
4352
+ * creatorAndDate
4413
4353
  * Displays creator and date for a chat message
4414
4354
  * inside the `td1` element
4355
+ * @param td1
4356
+ * @param creator
4357
+ * @param date
4358
+ * @param message
4359
+ * @returns HTMLAnchorElement For Image
4415
4360
  */
4416
4361
  function creatorAndDate(td1, creator, date, message) {
4417
- var nickAnchor = td1.appendChild(anchor(nick(creator), creator));
4362
+ var nickAnchor = td1.appendChild(anchor(nickname(creator), creator));
4418
4363
  if (creator.uri) {
4419
4364
  _solidLogic.store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (_ok, _body) {
4420
- nickAnchor.textContent = nick(creator);
4365
+ nickAnchor.textContent = nickname(creator);
4421
4366
  });
4422
4367
  }
4423
4368
  td1.appendChild(dom.createElement('br'));
@@ -4425,14 +4370,20 @@ function creatorAndDate(td1, creator, date, message) {
4425
4370
  }
4426
4371
 
4427
4372
  /**
4373
+ * creatorAndDateHorizontal
4428
4374
  * Horizontally displays creator and date for a chat message
4429
4375
  * inside the `td1` element
4376
+ * @param td1
4377
+ * @param creator
4378
+ * @param date
4379
+ * @param message
4380
+ * @returns HTMLAnchorElement For Image
4430
4381
  */
4431
4382
  function creatorAndDateHorizontal(td1, creator, date, message) {
4432
4383
  var nickAnchor = td1.appendChild(anchor(label(creator), creator));
4433
4384
  if (creator.uri) {
4434
4385
  _solidLogic.store.fetcher.nowOrWhenFetched(creator.doc(), undefined, function (_ok, _body) {
4435
- nickAnchor.textContent = nick(creator);
4386
+ nickAnchor.textContent = nickname(creator);
4436
4387
  });
4437
4388
  }
4438
4389
  var dateBit = td1.appendChild(anchor(date, message));
@@ -4442,9 +4393,17 @@ function creatorAndDateHorizontal(td1, creator, date, message) {
4442
4393
  }
4443
4394
 
4444
4395
  /**
4396
+ * renderMessageRow
4445
4397
  * Renders a chat message, read-only mode
4398
+ * @param channelObject
4399
+ * @param message
4400
+ * @param fresh
4401
+ * @param options
4402
+ * @param userContext
4403
+ * @returns Message Row HTML Table Element
4446
4404
  */
4447
4405
  function renderMessageRow(channelObject, message, fresh, options, userContext) {
4406
+ var unsignedMessage = false;
4448
4407
  var colorizeByAuthor = options.colorizeByAuthor === '1' || options.colorizeByAuthor === true;
4449
4408
  var creator = _solidLogic.store.any(message, ns.foaf('maker'));
4450
4409
  var date = _solidLogic.store.any(message, ns.dct('created'));
@@ -4464,10 +4423,11 @@ function renderMessageRow(channelObject, message, fresh, options, userContext) {
4464
4423
  msg.maker = creator.uri;
4465
4424
 
4466
4425
  // unsigned message
4467
- if (!(signature !== null && signature !== void 0 && signature.value)) debug.warn(msgId.uri + ' is unsigned'); // TODO replace with UI (colored message ?)
4468
-
4469
- // signed message, get public key and check signature
4470
- else {
4426
+ if (!(signature !== null && signature !== void 0 && signature.value)) {
4427
+ unsignedMessage = true;
4428
+ debug.warn(msgId.uri + ' is unsigned'); // TODO replace with UI (colored message ?)
4429
+ } else {
4430
+ // signed message, get public key and check signature
4471
4431
  (0, _keys.getPublicKey)(creator).then(function (publicKey) {
4472
4432
  debug.log(creator.uri + '\n' + msg.created + '\n' + msg.id + '\n' + publicKey);
4473
4433
  if (!publicKey) {
@@ -4487,6 +4447,7 @@ function renderMessageRow(channelObject, message, fresh, options, userContext) {
4487
4447
  var sortDate = _solidLogic.store.the(originalMessage, ns.dct('created'), null, originalMessage.doc()); // In message
4488
4448
 
4489
4449
  var messageRow = dom.createElement('tr');
4450
+ if (unsignedMessage) messageRow.setAttribute('style', 'background-color: red');
4490
4451
  messageRow.AJAR_date = sortDate.value;
4491
4452
  messageRow.AJAR_subject = message;
4492
4453
  var td1 = dom.createElement('td');
@@ -4575,7 +4536,8 @@ function renderMessageRow(channelObject, message, fresh, options, userContext) {
4575
4536
  toolsTD.appendChild(tools);
4576
4537
  });
4577
4538
  return messageRow;
4578
- }
4539
+ } // END OF RENDERMESSAGE
4540
+
4579
4541
  function switchToEditor(messageRow, message, channelObject, userContext) {
4580
4542
  var messageTable = messageRow.parentNode;
4581
4543
  var editRow = renderMessageEditor(channelObject, messageTable, userContext, channelObject.options, (0, _chatLogic.mostRecentVersion)(message));
@@ -12585,251 +12547,6 @@ function isLight(x) {
12585
12547
 
12586
12548
  /***/ }),
12587
12549
 
12588
- /***/ "./lib/utils/cryptoKeyHelpers.js":
12589
- /*!***************************************!*\
12590
- !*** ./lib/utils/cryptoKeyHelpers.js ***!
12591
- \***************************************/
12592
- /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
12593
-
12594
- "use strict";
12595
-
12596
-
12597
- var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
12598
- var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
12599
- Object.defineProperty(exports, "__esModule", ({
12600
- value: true
12601
- }));
12602
- exports.privKeyUrl = void 0;
12603
- exports.privateKeyExists = privateKeyExists;
12604
- exports.pubKeyUrl = void 0;
12605
- exports.publicKeyExists = publicKeyExists;
12606
- var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
12607
- var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
12608
- var debug = _interopRequireWildcard(__webpack_require__(/*! ../debug */ "./lib/debug.js"));
12609
- var _signature = __webpack_require__(/*! ../chat/signature */ "./lib/chat/signature.js");
12610
- var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
12611
- var ns = _interopRequireWildcard(__webpack_require__(/*! ../ns */ "./lib/ns.js"));
12612
- 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); }
12613
- 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; }
12614
- var getPodRoot = /*#__PURE__*/function () {
12615
- var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
12616
- var _podRoot;
12617
- var webIdURL, storages, podRoot, path, _res$headers$get, res;
12618
- return _regenerator["default"].wrap(function _callee$(_context) {
12619
- while (1) switch (_context.prev = _context.next) {
12620
- case 0:
12621
- webIdURL = new URL(webId.uri); // find storages in webId document
12622
- _context.next = 3;
12623
- return _solidLogic.store.fetcher.load(webId.uri);
12624
- case 3:
12625
- storages = _solidLogic.store.each(webId, ns.space('storage'), null, webId.doc());
12626
- if (storages !== null && storages !== void 0 && storages.length) {
12627
- _context.next = 19;
12628
- break;
12629
- }
12630
- // find storage recursively in webId URL
12631
- path = webIdURL.pathname;
12632
- case 6:
12633
- if (!path.length) {
12634
- _context.next = 17;
12635
- break;
12636
- }
12637
- path = path.substring(0, path.lastIndexOf('/'));
12638
- podRoot = _solidLogic.store.sym(webIdURL.origin + path + '/');
12639
- _context.next = 11;
12640
- return _solidLogic.store.fetcher.webOperation('HEAD', podRoot.uri);
12641
- case 11:
12642
- res = _context.sent;
12643
- if (!((_res$headers$get = res.headers.get('link')) !== null && _res$headers$get !== void 0 && _res$headers$get.includes(ns.space('Storage').value))) {
12644
- _context.next = 14;
12645
- break;
12646
- }
12647
- return _context.abrupt("break", 17);
12648
- case 14:
12649
- if (!path) debug.warn("Current user storage not found for\n".concat(webId));
12650
- _context.next = 6;
12651
- break;
12652
- case 17:
12653
- _context.next = 21;
12654
- break;
12655
- case 19:
12656
- // give preference to storage in webId root
12657
- podRoot = storages.find(function (storage) {
12658
- return webIdURL.origin === new URL(storage.value).origin;
12659
- });
12660
- if (!podRoot) podRoot = storages[0];
12661
- case 21:
12662
- return _context.abrupt("return", (_podRoot = podRoot) === null || _podRoot === void 0 ? void 0 : _podRoot.value);
12663
- case 22:
12664
- case "end":
12665
- return _context.stop();
12666
- }
12667
- }, _callee);
12668
- }));
12669
- return function getPodRoot(_x) {
12670
- return _ref.apply(this, arguments);
12671
- };
12672
- }();
12673
- var pubKeyUrl = /*#__PURE__*/function () {
12674
- var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
12675
- return _regenerator["default"].wrap(function _callee2$(_context2) {
12676
- while (1) switch (_context2.prev = _context2.next) {
12677
- case 0:
12678
- _context2.prev = 0;
12679
- _context2.next = 3;
12680
- return getPodRoot(webId);
12681
- case 3:
12682
- _context2.t0 = _context2.sent;
12683
- return _context2.abrupt("return", _context2.t0 + 'profile/keys/publicKey.ttl');
12684
- case 7:
12685
- _context2.prev = 7;
12686
- _context2.t1 = _context2["catch"](0);
12687
- throw new Error(_context2.t1);
12688
- case 10:
12689
- case "end":
12690
- return _context2.stop();
12691
- }
12692
- }, _callee2, null, [[0, 7]]);
12693
- }));
12694
- return function pubKeyUrl(_x2) {
12695
- return _ref2.apply(this, arguments);
12696
- };
12697
- }();
12698
- exports.pubKeyUrl = pubKeyUrl;
12699
- function publicKeyExists(_x3) {
12700
- return _publicKeyExists.apply(this, arguments);
12701
- }
12702
- function _publicKeyExists() {
12703
- _publicKeyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(webId) {
12704
- var publicKeyUrl;
12705
- return _regenerator["default"].wrap(function _callee4$(_context4) {
12706
- while (1) switch (_context4.prev = _context4.next) {
12707
- case 0:
12708
- _context4.next = 2;
12709
- return pubKeyUrl(webId);
12710
- case 2:
12711
- publicKeyUrl = _context4.sent;
12712
- _context4.next = 5;
12713
- return keyExists(webId, publicKeyUrl, 'PublicKey');
12714
- case 5:
12715
- return _context4.abrupt("return", _context4.sent);
12716
- case 6:
12717
- case "end":
12718
- return _context4.stop();
12719
- }
12720
- }, _callee4);
12721
- }));
12722
- return _publicKeyExists.apply(this, arguments);
12723
- }
12724
- var privKeyUrl = /*#__PURE__*/function () {
12725
- var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId) {
12726
- return _regenerator["default"].wrap(function _callee3$(_context3) {
12727
- while (1) switch (_context3.prev = _context3.next) {
12728
- case 0:
12729
- _context3.prev = 0;
12730
- _context3.next = 3;
12731
- return getPodRoot(webId);
12732
- case 3:
12733
- _context3.t0 = _context3.sent;
12734
- return _context3.abrupt("return", _context3.t0 + 'profile/keys/privateKey.ttl');
12735
- case 7:
12736
- _context3.prev = 7;
12737
- _context3.t1 = _context3["catch"](0);
12738
- throw new Error(_context3.t1);
12739
- case 10:
12740
- case "end":
12741
- return _context3.stop();
12742
- }
12743
- }, _callee3, null, [[0, 7]]);
12744
- }));
12745
- return function privKeyUrl(_x4) {
12746
- return _ref3.apply(this, arguments);
12747
- };
12748
- }();
12749
- exports.privKeyUrl = privKeyUrl;
12750
- function privateKeyExists(_x5) {
12751
- return _privateKeyExists.apply(this, arguments);
12752
- }
12753
- function _privateKeyExists() {
12754
- _privateKeyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(webId) {
12755
- var privateKeyUrl;
12756
- return _regenerator["default"].wrap(function _callee5$(_context5) {
12757
- while (1) switch (_context5.prev = _context5.next) {
12758
- case 0:
12759
- _context5.next = 2;
12760
- return privKeyUrl(webId);
12761
- case 2:
12762
- privateKeyUrl = _context5.sent;
12763
- _context5.next = 5;
12764
- return keyExists(webId, privateKeyUrl, 'PrivateKey');
12765
- case 5:
12766
- return _context5.abrupt("return", _context5.sent);
12767
- case 6:
12768
- case "end":
12769
- return _context5.stop();
12770
- }
12771
- }, _callee5);
12772
- }));
12773
- return _privateKeyExists.apply(this, arguments);
12774
- }
12775
- function keyExists(_x6, _x7, _x8) {
12776
- return _keyExists.apply(this, arguments);
12777
- }
12778
- function _keyExists() {
12779
- _keyExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(webId, keyUrl, keyType) {
12780
- var key, _err$response, data, contentType, response;
12781
- return _regenerator["default"].wrap(function _callee6$(_context6) {
12782
- while (1) switch (_context6.prev = _context6.next) {
12783
- case 0:
12784
- _context6.prev = 0;
12785
- _context6.next = 3;
12786
- return _solidLogic.store.fetcher.load(keyUrl);
12787
- case 3:
12788
- key = _solidLogic.store.any(webId, _solidLogic.store.sym(_signature.CERT + keyType));
12789
- return _context6.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
12790
- case 7:
12791
- _context6.prev = 7;
12792
- _context6.t0 = _context6["catch"](0);
12793
- 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)) {
12794
- _context6.next = 24;
12795
- break;
12796
- }
12797
- _context6.prev = 10;
12798
- // create privateKey resource
12799
- data = '';
12800
- contentType = 'text/turtle';
12801
- _context6.next = 15;
12802
- return _solidLogic.store.fetcher.webOperation('PUT', keyUrl, {
12803
- data: data,
12804
- contentType: contentType
12805
- });
12806
- case 15:
12807
- response = _context6.sent;
12808
- _context6.next = 22;
12809
- break;
12810
- case 18:
12811
- _context6.prev = 18;
12812
- _context6.t1 = _context6["catch"](10);
12813
- debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context6.t1);
12814
- throw _context6.t1;
12815
- case 22:
12816
- delete _solidLogic.store.fetcher.requested[keyUrl]; // delete cached 404 error
12817
- return _context6.abrupt("return", undefined);
12818
- case 24:
12819
- debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context6.t0);
12820
- throw _context6.t0;
12821
- case 26:
12822
- case "end":
12823
- return _context6.stop();
12824
- }
12825
- }, _callee6, null, [[0, 7], [10, 18]]);
12826
- }));
12827
- return _keyExists.apply(this, arguments);
12828
- }
12829
- //# sourceMappingURL=cryptoKeyHelpers.js.map
12830
-
12831
- /***/ }),
12832
-
12833
12550
  /***/ "./lib/utils/headerFooterHelpers.js":
12834
12551
  /*!******************************************!*\
12835
12552
  !*** ./lib/utils/headerFooterHelpers.js ***!
@@ -13548,6 +13265,352 @@ function predParentOf(node) {
13548
13265
 
13549
13266
  /***/ }),
13550
13267
 
13268
+ /***/ "./lib/utils/keyHelpers/accessData.js":
13269
+ /*!********************************************!*\
13270
+ !*** ./lib/utils/keyHelpers/accessData.js ***!
13271
+ \********************************************/
13272
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
13273
+
13274
+ "use strict";
13275
+
13276
+
13277
+ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
13278
+ var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
13279
+ Object.defineProperty(exports, "__esModule", ({
13280
+ value: true
13281
+ }));
13282
+ exports.getExistingPrivateKey = getExistingPrivateKey;
13283
+ exports.getExistingPublicKey = getExistingPublicKey;
13284
+ exports.getKeyIfExists = getKeyIfExists;
13285
+ exports.pubKeyUrl = exports.privKeyUrl = exports.getPodRoot = void 0;
13286
+ var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
13287
+ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
13288
+ var debug = _interopRequireWildcard(__webpack_require__(/*! ../../debug */ "./lib/debug.js"));
13289
+ var _signature = __webpack_require__(/*! ../../chat/signature */ "./lib/chat/signature.js");
13290
+ var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
13291
+ var ns = _interopRequireWildcard(__webpack_require__(/*! ../../ns */ "./lib/ns.js"));
13292
+ 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); }
13293
+ 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; }
13294
+ var getPodRoot = /*#__PURE__*/function () {
13295
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(webId) {
13296
+ var webIdURL, storages, podRoot, path, _res$headers$get, res;
13297
+ return _regenerator["default"].wrap(function _callee$(_context) {
13298
+ while (1) switch (_context.prev = _context.next) {
13299
+ case 0:
13300
+ webIdURL = new URL(webId.uri); // find storages in webId document
13301
+ _context.next = 3;
13302
+ return _solidLogic.store.fetcher.load(webId.uri);
13303
+ case 3:
13304
+ storages = _solidLogic.store.each(webId, ns.space('storage'), null, webId.doc());
13305
+ if (storages !== null && storages !== void 0 && storages.length) {
13306
+ _context.next = 19;
13307
+ break;
13308
+ }
13309
+ // find storage recursively in webId URL
13310
+ path = webIdURL.pathname;
13311
+ case 6:
13312
+ if (!path.length) {
13313
+ _context.next = 17;
13314
+ break;
13315
+ }
13316
+ path = path.substring(0, path.lastIndexOf('/'));
13317
+ podRoot = _solidLogic.store.sym(webIdURL.origin + path + '/');
13318
+ _context.next = 11;
13319
+ return _solidLogic.store.fetcher.webOperation('HEAD', podRoot.uri);
13320
+ case 11:
13321
+ res = _context.sent;
13322
+ if (!((_res$headers$get = res.headers.get('link')) !== null && _res$headers$get !== void 0 && _res$headers$get.includes(ns.space('Storage').value))) {
13323
+ _context.next = 14;
13324
+ break;
13325
+ }
13326
+ return _context.abrupt("break", 17);
13327
+ case 14:
13328
+ if (!path) debug.warn("Current user storage not found for\n".concat(webId));
13329
+ _context.next = 6;
13330
+ break;
13331
+ case 17:
13332
+ _context.next = 21;
13333
+ break;
13334
+ case 19:
13335
+ // give preference to storage in webId root
13336
+ podRoot = storages.find(function (storage) {
13337
+ return webIdURL.origin === new URL(storage.value).origin;
13338
+ });
13339
+ if (!podRoot) podRoot = storages[0];
13340
+ case 21:
13341
+ return _context.abrupt("return", podRoot);
13342
+ case 22:
13343
+ case "end":
13344
+ return _context.stop();
13345
+ }
13346
+ }, _callee);
13347
+ }));
13348
+ return function getPodRoot(_x) {
13349
+ return _ref.apply(this, arguments);
13350
+ };
13351
+ }();
13352
+ exports.getPodRoot = getPodRoot;
13353
+ var pubKeyUrl = /*#__PURE__*/function () {
13354
+ var _ref2 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
13355
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
13356
+ while (1) switch (_context2.prev = _context2.next) {
13357
+ case 0:
13358
+ _context2.prev = 0;
13359
+ _context2.next = 3;
13360
+ return getPodRoot(webId);
13361
+ case 3:
13362
+ _context2.t0 = _context2.sent.value;
13363
+ return _context2.abrupt("return", _context2.t0 + 'profile/keys/publicKey.ttl');
13364
+ case 7:
13365
+ _context2.prev = 7;
13366
+ _context2.t1 = _context2["catch"](0);
13367
+ throw new Error(_context2.t1);
13368
+ case 10:
13369
+ case "end":
13370
+ return _context2.stop();
13371
+ }
13372
+ }, _callee2, null, [[0, 7]]);
13373
+ }));
13374
+ return function pubKeyUrl(_x2) {
13375
+ return _ref2.apply(this, arguments);
13376
+ };
13377
+ }();
13378
+ exports.pubKeyUrl = pubKeyUrl;
13379
+ function getExistingPublicKey(_x3, _x4) {
13380
+ return _getExistingPublicKey.apply(this, arguments);
13381
+ }
13382
+ function _getExistingPublicKey() {
13383
+ _getExistingPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(webId, publicKeyUrl) {
13384
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
13385
+ while (1) switch (_context4.prev = _context4.next) {
13386
+ case 0:
13387
+ _context4.next = 2;
13388
+ return getKeyIfExists(webId, publicKeyUrl, 'PublicKey');
13389
+ case 2:
13390
+ return _context4.abrupt("return", _context4.sent);
13391
+ case 3:
13392
+ case "end":
13393
+ return _context4.stop();
13394
+ }
13395
+ }, _callee4);
13396
+ }));
13397
+ return _getExistingPublicKey.apply(this, arguments);
13398
+ }
13399
+ var privKeyUrl = /*#__PURE__*/function () {
13400
+ var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(webId) {
13401
+ var _store$any, _settings;
13402
+ var settings, _settings2, podRoot;
13403
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
13404
+ while (1) switch (_context3.prev = _context3.next) {
13405
+ case 0:
13406
+ settings = (_store$any = _solidLogic.store.any(webId, ns.space('preferencesFile'), null, webId.doc())) === null || _store$any === void 0 ? void 0 : _store$any.value;
13407
+ settings = (_settings = settings) === null || _settings === void 0 ? void 0 : _settings.split('/').slice(0, -1).join('/');
13408
+ _context3.prev = 2;
13409
+ _context3.next = 5;
13410
+ return getPodRoot(webId);
13411
+ case 5:
13412
+ podRoot = _context3.sent;
13413
+ if ((_settings2 = settings) !== null && _settings2 !== void 0 && _settings2.startsWith(podRoot.value)) {
13414
+ _context3.next = 8;
13415
+ break;
13416
+ }
13417
+ throw new Error("/settings/ is expected to be in ".concat(podRoot.value));
13418
+ case 8:
13419
+ return _context3.abrupt("return", "".concat(settings, "/keys/privateKey.ttl"));
13420
+ case 11:
13421
+ _context3.prev = 11;
13422
+ _context3.t0 = _context3["catch"](2);
13423
+ throw new Error(_context3.t0);
13424
+ case 14:
13425
+ case "end":
13426
+ return _context3.stop();
13427
+ }
13428
+ }, _callee3, null, [[2, 11]]);
13429
+ }));
13430
+ return function privKeyUrl(_x5) {
13431
+ return _ref3.apply(this, arguments);
13432
+ };
13433
+ }();
13434
+ exports.privKeyUrl = privKeyUrl;
13435
+ function getExistingPrivateKey(_x6, _x7) {
13436
+ return _getExistingPrivateKey.apply(this, arguments);
13437
+ }
13438
+ function _getExistingPrivateKey() {
13439
+ _getExistingPrivateKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(webId, privateKeyUrl) {
13440
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
13441
+ while (1) switch (_context5.prev = _context5.next) {
13442
+ case 0:
13443
+ _context5.next = 2;
13444
+ return getKeyIfExists(webId, privateKeyUrl, 'PrivateKey');
13445
+ case 2:
13446
+ return _context5.abrupt("return", _context5.sent);
13447
+ case 3:
13448
+ case "end":
13449
+ return _context5.stop();
13450
+ }
13451
+ }, _callee5);
13452
+ }));
13453
+ return _getExistingPrivateKey.apply(this, arguments);
13454
+ }
13455
+ function getKeyIfExists(_x8, _x9, _x10) {
13456
+ return _getKeyIfExists.apply(this, arguments);
13457
+ }
13458
+ function _getKeyIfExists() {
13459
+ _getKeyIfExists = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(webId, keyUrl, keyType) {
13460
+ var key;
13461
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
13462
+ while (1) switch (_context6.prev = _context6.next) {
13463
+ case 0:
13464
+ _context6.prev = 0;
13465
+ _context6.next = 3;
13466
+ return _solidLogic.store.fetcher.load(keyUrl);
13467
+ case 3:
13468
+ key = _solidLogic.store.any(webId, _solidLogic.store.sym(_signature.CERT + keyType));
13469
+ return _context6.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
13470
+ case 7:
13471
+ _context6.prev = 7;
13472
+ _context6.t0 = _context6["catch"](0);
13473
+ if (!(_context6.t0.response.status === 404)) {
13474
+ _context6.next = 24;
13475
+ break;
13476
+ }
13477
+ debug.log('createIfNotExists: doc does NOT exist, will create... ' + keyUrl);
13478
+ _context6.prev = 11;
13479
+ _context6.next = 14;
13480
+ return _solidLogic.store.fetcher.webOperation('PUT', keyUrl, {
13481
+ data: '',
13482
+ contentType: 'text/turtle'
13483
+ });
13484
+ case 14:
13485
+ _context6.next = 20;
13486
+ break;
13487
+ case 16:
13488
+ _context6.prev = 16;
13489
+ _context6.t1 = _context6["catch"](11);
13490
+ debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context6.t1);
13491
+ throw _context6.t1;
13492
+ case 20:
13493
+ delete _solidLogic.store.fetcher.requested[keyUrl]; // delete cached 404 error
13494
+ // debug.log('createIfNotExists doc created ok ' + doc)
13495
+ return _context6.abrupt("return", undefined);
13496
+ case 24:
13497
+ debug.log('createIfNotExists doc FAILED: ' + keyUrl + ': ' + _context6.t0);
13498
+ throw _context6.t0;
13499
+ case 26:
13500
+ case "end":
13501
+ return _context6.stop();
13502
+ }
13503
+ }, _callee6, null, [[0, 7], [11, 16]]);
13504
+ }));
13505
+ return _getKeyIfExists.apply(this, arguments);
13506
+ }
13507
+ //# sourceMappingURL=accessData.js.map
13508
+
13509
+ /***/ }),
13510
+
13511
+ /***/ "./lib/utils/keyHelpers/acl.js":
13512
+ /*!*************************************!*\
13513
+ !*** ./lib/utils/keyHelpers/acl.js ***!
13514
+ \*************************************/
13515
+ /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
13516
+
13517
+ "use strict";
13518
+
13519
+
13520
+ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
13521
+ var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "./node_modules/@babel/runtime/helpers/typeof.js");
13522
+ Object.defineProperty(exports, "__esModule", ({
13523
+ value: true
13524
+ }));
13525
+ exports.keyContainerAclBody = exports.keyAclBody = void 0;
13526
+ exports.setAcl = setAcl;
13527
+ var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ "./node_modules/@babel/runtime/regenerator/index.js"));
13528
+ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ "./node_modules/@babel/runtime/helpers/asyncToGenerator.js"));
13529
+ var debug = _interopRequireWildcard(__webpack_require__(/*! ../../debug */ "./lib/debug.js"));
13530
+ var _solidLogic = __webpack_require__(/*! solid-logic */ "./node_modules/solid-logic/lib/index.js");
13531
+ 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); }
13532
+ 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; }
13533
+ /**
13534
+ * set ACL
13535
+ * @param keyDoc
13536
+ * @param aclBody
13537
+ */
13538
+ function setAcl(_x, _x2) {
13539
+ return _setAcl.apply(this, arguments);
13540
+ }
13541
+ /**
13542
+ * key container ACL
13543
+ * @param me
13544
+ * @returns aclBody
13545
+ */
13546
+ function _setAcl() {
13547
+ _setAcl = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(keyDoc, aclBody) {
13548
+ var keyAclDoc, _err$response;
13549
+ return _regenerator["default"].wrap(function _callee$(_context) {
13550
+ while (1) switch (_context.prev = _context.next) {
13551
+ case 0:
13552
+ _context.next = 2;
13553
+ return _solidLogic.store.fetcher.load(keyDoc);
13554
+ case 2:
13555
+ // FIXME: check the Why value on this quad:
13556
+ debug.log(_solidLogic.store.statementsMatching(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl')));
13557
+ keyAclDoc = _solidLogic.store.any(_solidLogic.store.sym(keyDoc), _solidLogic.store.sym('http://www.iana.org/assignments/link-relations/acl'));
13558
+ if (keyAclDoc) {
13559
+ _context.next = 6;
13560
+ break;
13561
+ }
13562
+ throw new Error('Key ACL doc not found!');
13563
+ case 6:
13564
+ _context.prev = 6;
13565
+ _context.next = 9;
13566
+ return _solidLogic.store.fetcher.webOperation('PUT', keyAclDoc.value, {
13567
+ data: aclBody,
13568
+ contentType: 'text/turtle'
13569
+ });
13570
+ case 9:
13571
+ _context.next = 16;
13572
+ break;
13573
+ case 11:
13574
+ _context.prev = 11;
13575
+ _context.t0 = _context["catch"](6);
13576
+ 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)) {
13577
+ _context.next = 15;
13578
+ break;
13579
+ }
13580
+ throw new Error(_context.t0);
13581
+ case 15:
13582
+ debug.log('delete ' + keyAclDoc.value + ' ' + _context.t0.response.status); // should test 404 and 2xx
13583
+ case 16:
13584
+ case "end":
13585
+ return _context.stop();
13586
+ }
13587
+ }, _callee, null, [[6, 11]]);
13588
+ }));
13589
+ return _setAcl.apply(this, arguments);
13590
+ }
13591
+ var keyContainerAclBody = function keyContainerAclBody(me) {
13592
+ 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");
13593
+ return aclBody;
13594
+ };
13595
+
13596
+ /**
13597
+ * Read only ACL
13598
+ * @param keyDoc
13599
+ * @param me
13600
+ * @returns aclBody
13601
+ */
13602
+ exports.keyContainerAclBody = keyContainerAclBody;
13603
+ var keyAclBody = function keyAclBody(keyDoc, me) {
13604
+ var keyAgent = 'acl:agentClass foaf:Agent'; // publicKey
13605
+ if (me !== null && me !== void 0 && me.length) keyAgent = "acl:agent <".concat(me, ">"); // privateKey
13606
+ 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");
13607
+ return aclBody;
13608
+ };
13609
+ exports.keyAclBody = keyAclBody;
13610
+ //# sourceMappingURL=acl.js.map
13611
+
13612
+ /***/ }),
13613
+
13551
13614
  /***/ "./lib/utils/label.js":
13552
13615
  /*!****************************!*\
13553
13616
  !*** ./lib/utils/label.js ***!
@@ -13676,8 +13739,8 @@ Object.defineProperty(exports, "__esModule", ({
13676
13739
  }));
13677
13740
  exports.versionInfo = void 0;
13678
13741
  var versionInfo = {
13679
- buildTime: '2023-05-07T21:57:02Z',
13680
- commit: 'a6ef5829342bf6cf9edc192a9493be0812c08dbf',
13742
+ buildTime: '2023-05-24T15:05:06Z',
13743
+ commit: 'a8ee341e5ee4f6dcca639e29a8bf3d6a93b0b0e2',
13681
13744
  npmInfo: {
13682
13745
  'solid-ui': '2.4.27',
13683
13746
  npm: '8.19.4',
@@ -66493,22 +66556,7 @@ module.exports = JSON.parse('{"application/1d-interleaved-parityfec":{"source":"
66493
66556
  /******/
66494
66557
  /******/ /* webpack/runtime/publicPath */
66495
66558
  /******/ (() => {
66496
- /******/ var scriptUrl;
66497
- /******/ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
66498
- /******/ var document = __webpack_require__.g.document;
66499
- /******/ if (!scriptUrl && document) {
66500
- /******/ if (document.currentScript)
66501
- /******/ scriptUrl = document.currentScript.src;
66502
- /******/ if (!scriptUrl) {
66503
- /******/ var scripts = document.getElementsByTagName("script");
66504
- /******/ if(scripts.length) scriptUrl = scripts[scripts.length - 1].src
66505
- /******/ }
66506
- /******/ }
66507
- /******/ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration
66508
- /******/ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.
66509
- /******/ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
66510
- /******/ scriptUrl = scriptUrl.replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
66511
- /******/ __webpack_require__.p = scriptUrl;
66559
+ /******/ __webpack_require__.p = "";
66512
66560
  /******/ })();
66513
66561
  /******/
66514
66562
  /******/ /* webpack/runtime/jsonp chunk loading */