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/README.md +2 -1
- package/dist/solid-ui.js +480 -432
- package/dist/solid-ui.js.map +1 -1
- package/dist/solid-ui.min.js +1 -1
- package/dist/solid-ui.min.js.map +1 -1
- package/lib/chat/keys.d.ts +7 -0
- package/lib/chat/keys.d.ts.map +1 -1
- package/lib/chat/keys.js +95 -160
- package/lib/chat/keys.js.map +1 -1
- package/lib/chat/message.js +36 -9
- package/lib/chat/message.js.map +1 -1
- package/lib/utils/keyHelpers/accessData.d.ts +10 -0
- package/lib/utils/keyHelpers/accessData.d.ts.map +1 -0
- package/lib/utils/{cryptoKeyHelpers.js → keyHelpers/accessData.js} +67 -69
- package/lib/utils/keyHelpers/accessData.js.map +1 -0
- package/lib/utils/keyHelpers/acl.d.ts +20 -0
- package/lib/utils/keyHelpers/acl.d.ts.map +1 -0
- package/lib/utils/keyHelpers/acl.js +93 -0
- package/lib/utils/keyHelpers/acl.js.map +1 -0
- package/lib/versionInfo.js +2 -2
- package/lib/versionInfo.js.map +1 -1
- package/package.json +1 -1
- package/lib/utils/cryptoKeyHelpers.d.ts +0 -6
- package/lib/utils/cryptoKeyHelpers.d.ts.map +0 -1
- package/lib/utils/cryptoKeyHelpers.js.map +0 -1
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
|
|
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
|
|
4068
|
+
_getPublicKey = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(webId) {
|
|
4060
4069
|
var publicKeyDoc, key;
|
|
4061
|
-
return _regenerator["default"].wrap(function
|
|
4062
|
-
while (1) switch (
|
|
4070
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
4071
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
4063
4072
|
case 0:
|
|
4064
|
-
|
|
4073
|
+
_context2.next = 2;
|
|
4065
4074
|
return _solidLogic.store.fetcher.load(webId);
|
|
4066
4075
|
case 2:
|
|
4067
|
-
|
|
4068
|
-
return (0,
|
|
4076
|
+
_context2.next = 4;
|
|
4077
|
+
return (0, _accessData.pubKeyUrl)(webId);
|
|
4069
4078
|
case 4:
|
|
4070
|
-
publicKeyDoc =
|
|
4071
|
-
|
|
4072
|
-
|
|
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
|
|
4086
|
+
return _context2.abrupt("return", key === null || key === void 0 ? void 0 : key.value);
|
|
4078
4087
|
case 12:
|
|
4079
|
-
|
|
4080
|
-
|
|
4081
|
-
return
|
|
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
|
|
4093
|
+
return _context2.stop();
|
|
4085
4094
|
}
|
|
4086
|
-
},
|
|
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
|
|
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
|
|
4102
|
-
while (1) switch (
|
|
4105
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
4106
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
4103
4107
|
case 0:
|
|
4104
|
-
|
|
4108
|
+
_context3.next = 2;
|
|
4105
4109
|
return _solidLogic.store.fetcher.load(webId);
|
|
4106
4110
|
case 2:
|
|
4107
|
-
|
|
4108
|
-
return (0,
|
|
4111
|
+
_context3.next = 4;
|
|
4112
|
+
return (0, _accessData.pubKeyUrl)(webId);
|
|
4109
4113
|
case 4:
|
|
4110
|
-
publicKeyDoc =
|
|
4111
|
-
|
|
4112
|
-
return (0,
|
|
4114
|
+
publicKeyDoc = _context3.sent;
|
|
4115
|
+
_context3.next = 7;
|
|
4116
|
+
return (0, _accessData.privKeyUrl)(webId);
|
|
4113
4117
|
case 7:
|
|
4114
|
-
privateKeyDoc =
|
|
4115
|
-
|
|
4116
|
-
return (0,
|
|
4118
|
+
privateKeyDoc = _context3.sent;
|
|
4119
|
+
_context3.next = 10;
|
|
4120
|
+
return (0, _accessData.getExistingPublicKey)(webId, publicKeyDoc);
|
|
4117
4121
|
case 10:
|
|
4118
|
-
publicKey =
|
|
4119
|
-
|
|
4120
|
-
return (0,
|
|
4122
|
+
publicKey = _context3.sent;
|
|
4123
|
+
_context3.next = 13;
|
|
4124
|
+
return (0, _accessData.getExistingPrivateKey)(webId, privateKeyDoc);
|
|
4121
4125
|
case 13:
|
|
4122
|
-
privateKey =
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
4147
|
+
_context3.next = 24;
|
|
4144
4148
|
return saveKey(privateKeyDoc, [], add, webId.uri);
|
|
4145
4149
|
case 24:
|
|
4146
4150
|
if (!(!publicKey || !validPublicKey)) {
|
|
4147
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
4170
|
+
return _context3.abrupt("return", privateKey);
|
|
4167
4171
|
case 35:
|
|
4168
4172
|
case "end":
|
|
4169
|
-
return
|
|
4173
|
+
return _context3.stop();
|
|
4170
4174
|
}
|
|
4171
|
-
},
|
|
4175
|
+
}, _callee3);
|
|
4172
4176
|
}));
|
|
4173
4177
|
return _getPrivateKey.apply(this, arguments);
|
|
4174
4178
|
}
|
|
4175
|
-
var
|
|
4176
|
-
var
|
|
4177
|
-
|
|
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
|
-
|
|
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
|
-
|
|
4189
|
+
if (!keyAclDoc) {
|
|
4190
|
+
_context.next = 16;
|
|
4220
4191
|
break;
|
|
4221
4192
|
}
|
|
4222
|
-
|
|
4223
|
-
|
|
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
|
|
4228
|
-
response =
|
|
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
|
-
|
|
4200
|
+
_context.next = 16;
|
|
4232
4201
|
break;
|
|
4233
|
-
case
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
if (!(
|
|
4237
|
-
|
|
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(
|
|
4241
|
-
case
|
|
4242
|
-
debug.log('delete ' + keyAclDoc.value + ' ' +
|
|
4243
|
-
case
|
|
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
|
|
4214
|
+
return _context.stop();
|
|
4254
4215
|
}
|
|
4255
|
-
},
|
|
4216
|
+
}, _callee, null, [[4, 11]]);
|
|
4256
4217
|
}));
|
|
4257
|
-
return
|
|
4258
|
-
|
|
4259
|
-
|
|
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
|
|
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
|
|
4240
|
+
return deleteKeyAcl(keyDoc);
|
|
4272
4241
|
case 2:
|
|
4273
|
-
_context4.
|
|
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
|
|
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 =
|
|
4307
|
-
return setAcl(keyDoc, aclBody);
|
|
4308
|
-
case
|
|
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
|
|
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
|
|
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(
|
|
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 =
|
|
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 =
|
|
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))
|
|
4468
|
-
|
|
4469
|
-
|
|
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-
|
|
13680
|
-
commit: '
|
|
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
|
-
/******/
|
|
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 */
|