solid-logic 1.3.13-b3d1620b → 1.3.13-c448e6a9
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/.github/workflows/ci.yml +19 -21
- package/jest.config.js +1 -4
- package/jest.setup.ts +2 -0
- package/lib/authn/NoAuthnLogic.d.ts +9 -0
- package/lib/authn/NoAuthnLogic.d.ts.map +1 -0
- package/lib/authn/NoAuthnLogic.js +17 -0
- package/lib/authn/NoAuthnLogic.js.map +1 -0
- package/lib/authn/SolidAuthnLogic.d.ts +6 -26
- package/lib/authn/SolidAuthnLogic.d.ts.map +1 -1
- package/lib/authn/SolidAuthnLogic.js +5 -161
- package/lib/authn/SolidAuthnLogic.js.map +1 -1
- package/lib/authn/index.d.ts +5 -0
- package/lib/authn/index.d.ts.map +1 -0
- package/lib/{types.js → authn/index.js} +1 -1
- package/lib/authn/index.js.map +1 -0
- package/lib/chat/ChatLogic.d.ts +2 -2
- package/lib/chat/ChatLogic.d.ts.map +1 -1
- package/lib/chat/ChatLogic.js +2 -2
- package/lib/chat/ChatLogic.js.map +1 -1
- package/lib/chat/integration.test.d.ts +2 -0
- package/lib/chat/integration.test.d.ts.map +1 -0
- package/lib/chat/integration.test.js +318 -0
- package/lib/chat/integration.test.js.map +1 -0
- package/lib/{util/debug.d.ts → debug.d.ts} +0 -0
- package/lib/debug.d.ts.map +1 -0
- package/lib/{util/debug.js → debug.js} +0 -0
- package/lib/debug.js.map +1 -0
- package/lib/inbox/InboxLogic.d.ts +2 -2
- package/lib/inbox/InboxLogic.d.ts.map +1 -1
- package/lib/inbox/InboxLogic.js.map +1 -1
- package/lib/inbox/unit.test.d.ts +2 -0
- package/lib/inbox/unit.test.d.ts.map +1 -0
- package/lib/inbox/unit.test.js +264 -0
- package/lib/inbox/unit.test.js.map +1 -0
- package/lib/index.d.ts +67 -9
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +385 -31
- package/lib/index.js.map +1 -1
- package/lib/profile/ProfileLogic.d.ts +3 -2
- package/lib/profile/ProfileLogic.d.ts.map +1 -1
- package/lib/profile/ProfileLogic.js.map +1 -1
- package/lib/{util/uri.d.ts → uri.d.ts} +0 -0
- package/lib/uri.d.ts.map +1 -0
- package/lib/{util/uri.js → uri.js} +0 -0
- package/lib/uri.js.map +1 -0
- package/lib/util/UtilityLogic.d.ts +2 -2
- package/lib/util/UtilityLogic.d.ts.map +1 -1
- package/lib/util/UtilityLogic.js.map +1 -1
- package/lib/util/unit.test.d.ts +2 -0
- package/lib/util/unit.test.d.ts.map +1 -0
- package/lib/util/unit.test.js +200 -0
- package/lib/util/unit.test.js.map +1 -0
- package/package.json +2 -4
- package/src/authn/NoAuthnLogic.ts +16 -0
- package/src/authn/SolidAuthnLogic.ts +10 -112
- package/src/authn/index.ts +5 -0
- package/src/chat/ChatLogic.ts +4 -4
- package/{test/chatLogic.test.ts → src/chat/integration.test.ts} +8 -8
- package/src/{util/debug.ts → debug.ts} +0 -0
- package/src/inbox/InboxLogic.ts +14 -2
- package/{test/inboxLogic.test.ts → src/inbox/unit.test.ts} +6 -5
- package/src/index.ts +310 -18
- package/src/profile/ProfileLogic.ts +3 -2
- package/src/{util/uri.ts → uri.ts} +0 -0
- package/src/util/UtilityLogic.ts +14 -2
- package/{test/utilityLogic.test.ts → src/util/unit.test.ts} +4 -3
- package/lib/acl/aclLogic.d.ts +0 -32
- package/lib/acl/aclLogic.d.ts.map +0 -1
- package/lib/acl/aclLogic.js +0 -132
- package/lib/acl/aclLogic.js.map +0 -1
- package/lib/authSession/authSession.d.ts +0 -4
- package/lib/authSession/authSession.d.ts.map +0 -1
- package/lib/authSession/authSession.js +0 -18
- package/lib/authSession/authSession.js.map +0 -1
- package/lib/authn/authUtil.d.ts +0 -17
- package/lib/authn/authUtil.d.ts.map +0 -1
- package/lib/authn/authUtil.js +0 -88
- package/lib/authn/authUtil.js.map +0 -1
- package/lib/issuer/issuerLogic.d.ts +0 -8
- package/lib/issuer/issuerLogic.d.ts.map +0 -1
- package/lib/issuer/issuerLogic.js +0 -53
- package/lib/issuer/issuerLogic.js.map +0 -1
- package/lib/logic/CustomError.d.ts +0 -17
- package/lib/logic/CustomError.d.ts.map +0 -1
- package/lib/logic/CustomError.js +0 -73
- package/lib/logic/CustomError.js.map +0 -1
- package/lib/logic/SolidLogic.d.ts +0 -49
- package/lib/logic/SolidLogic.d.ts.map +0 -1
- package/lib/logic/SolidLogic.js +0 -316
- package/lib/logic/SolidLogic.js.map +0 -1
- package/lib/logic/solidLogicSingleton.d.ts +0 -8
- package/lib/logic/solidLogicSingleton.d.ts.map +0 -1
- package/lib/logic/solidLogicSingleton.js +0 -88
- package/lib/logic/solidLogicSingleton.js.map +0 -1
- package/lib/typeIndex/typeIndexLogic.d.ts +0 -22
- package/lib/typeIndex/typeIndexLogic.d.ts.map +0 -1
- package/lib/typeIndex/typeIndexLogic.js +0 -302
- package/lib/typeIndex/typeIndexLogic.js.map +0 -1
- package/lib/types.d.ts +0 -29
- package/lib/types.d.ts.map +0 -1
- package/lib/types.js.map +0 -1
- package/lib/util/debug.d.ts.map +0 -1
- package/lib/util/debug.js.map +0 -1
- package/lib/util/uri.d.ts.map +0 -1
- package/lib/util/uri.js.map +0 -1
- package/src/acl/aclLogic.ts +0 -137
- package/src/authSession/authSession.ts +0 -22
- package/src/authn/authUtil.ts +0 -67
- package/src/issuer/issuerLogic.ts +0 -40
- package/src/logic/CustomError.ts +0 -25
- package/src/logic/SolidLogic.ts +0 -264
- package/src/logic/solidLogicSingleton.ts +0 -24
- package/src/typeIndex/typeIndexLogic.ts +0 -170
- package/src/types.ts +0 -41
- package/test/aclLogic.test.ts +0 -15
- package/test/authUtil.test.ts +0 -19
- package/test/helpers/setup.ts +0 -13
- package/test/logic.test.ts +0 -28
- package/test/solidAuthLogic.test.ts +0 -45
- package/test/typeIndexLogic.test.ts +0 -26
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { SolidLogic } from "./SolidLogic";
|
|
2
|
-
declare const solidLogicSingleton: SolidLogic;
|
|
3
|
-
declare const authn: import("../types").AuthnLogic;
|
|
4
|
-
declare const store: import("rdflib").LiveStore;
|
|
5
|
-
declare const chat: import("../chat/ChatLogic").ChatLogic;
|
|
6
|
-
declare const profile: import("../profile/ProfileLogic").ProfileLogic;
|
|
7
|
-
export { solidLogicSingleton, authn, store, chat, profile };
|
|
8
|
-
//# sourceMappingURL=solidLogicSingleton.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"solidLogicSingleton.d.ts","sourceRoot":"","sources":["../../src/logic/solidLogicSingleton.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAUzC,QAAA,MAAM,mBAAmB,YAAkD,CAAA;AAG3E,QAAA,MAAM,KAAK,+BAA4B,CAAA;AACvC,QAAA,MAAM,KAAK,4BAA4B,CAAA;AAEvC,QAAA,MAAM,IAAI,uCAA2B,CAAA;AACrC,QAAA,MAAM,OAAO,gDAA8B,CAAA;AAI3C,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
31
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
32
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
33
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
34
|
-
function step(op) {
|
|
35
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
36
|
-
while (_) try {
|
|
37
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
38
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
39
|
-
switch (op[0]) {
|
|
40
|
-
case 0: case 1: t = op; break;
|
|
41
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
42
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
43
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
44
|
-
default:
|
|
45
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
46
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
47
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
48
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
49
|
-
if (t[2]) _.ops.pop();
|
|
50
|
-
_.trys.pop(); continue;
|
|
51
|
-
}
|
|
52
|
-
op = body.call(thisArg, _);
|
|
53
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
54
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
58
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
59
|
-
};
|
|
60
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
61
|
-
exports.profile = exports.chat = exports.store = exports.authn = exports.solidLogicSingleton = void 0;
|
|
62
|
-
var debug = __importStar(require("../util/debug"));
|
|
63
|
-
var authSession_1 = __importDefault(require("../authSession/authSession"));
|
|
64
|
-
var SolidLogic_1 = require("./SolidLogic");
|
|
65
|
-
var fetcher = function (url, requestInit) { return __awaiter(void 0, void 0, void 0, function () {
|
|
66
|
-
return __generator(this, function (_a) {
|
|
67
|
-
if (authSession_1.default.info.webId) {
|
|
68
|
-
return [2 /*return*/, authSession_1.default.fetch(url, requestInit)];
|
|
69
|
-
}
|
|
70
|
-
else {
|
|
71
|
-
return [2 /*return*/, window.fetch(url, requestInit)];
|
|
72
|
-
}
|
|
73
|
-
return [2 /*return*/];
|
|
74
|
-
});
|
|
75
|
-
}); };
|
|
76
|
-
var solidLogicSingleton = new SolidLogic_1.SolidLogic({ fetch: fetcher }, authSession_1.default);
|
|
77
|
-
exports.solidLogicSingleton = solidLogicSingleton;
|
|
78
|
-
// Make this directly accessible as it is what you need most of the time
|
|
79
|
-
var authn = solidLogicSingleton.authn;
|
|
80
|
-
exports.authn = authn;
|
|
81
|
-
var store = solidLogicSingleton.store;
|
|
82
|
-
exports.store = store;
|
|
83
|
-
var chat = solidLogicSingleton.chat;
|
|
84
|
-
exports.chat = chat;
|
|
85
|
-
var profile = solidLogicSingleton.profile;
|
|
86
|
-
exports.profile = profile;
|
|
87
|
-
debug.log('Unique quadstore initialized.');
|
|
88
|
-
//# sourceMappingURL=solidLogicSingleton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"solidLogicSingleton.js","sourceRoot":"","sources":["../../src/logic/solidLogicSingleton.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAsC;AACtC,2EAAoD;AACpD,2CAAyC;AAEzC,IAAM,OAAO,GAAG,UAAO,GAAG,EAAE,WAAW;;QACnC,IAAI,qBAAW,CAAC,IAAI,CAAC,KAAK,EAAE;YACxB,sBAAO,qBAAW,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,EAAA;SAC7C;aAAM;YACH,sBAAO,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,EAAA;SACxC;;;KACJ,CAAA;AAED,IAAM,mBAAmB,GAAG,IAAI,uBAAU,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,qBAAW,CAAC,CAAA;AAWlE,kDAAmB;AAT5B,wEAAwE;AACxE,IAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAA;AAQT,sBAAK;AAPnC,IAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,CAAA;AAOF,sBAAK;AAL1C,IAAM,IAAI,GAAG,mBAAmB,CAAC,IAAI,CAAA;AAKO,oBAAI;AAJhD,IAAM,OAAO,GAAG,mBAAmB,CAAC,OAAO,CAAA;AAIO,0BAAO;AAFzD,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { NamedNode } from "rdflib";
|
|
2
|
-
import { AuthenticationContext } from "../types";
|
|
3
|
-
export declare const ns: any;
|
|
4
|
-
/**
|
|
5
|
-
* Resolves with the same context, outputting
|
|
6
|
-
* output: index.public, index.private
|
|
7
|
-
*
|
|
8
|
-
* @see https://github.com/solid/solid/blob/main/proposals/data-discovery.md#discoverability
|
|
9
|
-
*/
|
|
10
|
-
export declare function loadIndex(context: AuthenticationContext, isPublic: boolean): Promise<AuthenticationContext>;
|
|
11
|
-
export declare function loadTypeIndexes(context: AuthenticationContext): Promise<AuthenticationContext>;
|
|
12
|
-
/**
|
|
13
|
-
* Resolves with the same context, outputting
|
|
14
|
-
* @see https://github.com/solid/solid/blob/main/proposals/data-discovery.md#discoverability
|
|
15
|
-
*/
|
|
16
|
-
export declare function ensureTypeIndexes(context: AuthenticationContext): Promise<AuthenticationContext>;
|
|
17
|
-
/**
|
|
18
|
-
* Register a new app in a type index
|
|
19
|
-
* used in chat in bookmark.js (solid-ui)
|
|
20
|
-
*/
|
|
21
|
-
export declare function registerInTypeIndex(context: AuthenticationContext, instance: NamedNode, theClass: NamedNode, isPublic: boolean): Promise<AuthenticationContext>;
|
|
22
|
-
//# sourceMappingURL=typeIndexLogic.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typeIndexLogic.d.ts","sourceRoot":"","sources":["../../src/typeIndex/typeIndexLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAW,MAAM,QAAQ,CAAA;AAK3C,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAGhD,eAAO,MAAM,EAAE,KAAuB,CAAA;AAEtC;;;;;GAKG;AACH,wBAAsB,SAAS,CAC/B,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,OAAO,GACd,OAAO,CAAC,qBAAqB,CAAC,CAYhC;AAED,wBAAsB,eAAe,CAAE,OAAO,EAAE,qBAAqB,kCAYpE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAIvG;AAiFD;;;GAGG;AACH,wBAAsB,mBAAmB,CACzC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,SAAS,EACnB,QAAQ,EAAE,OAAO,GACd,OAAO,CAAC,qBAAqB,CAAC,CAwBhC"}
|
|
@@ -1,302 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
22
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
23
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
24
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
25
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
26
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
27
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
28
|
-
});
|
|
29
|
-
};
|
|
30
|
-
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
31
|
-
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
32
|
-
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
33
|
-
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
34
|
-
function step(op) {
|
|
35
|
-
if (f) throw new TypeError("Generator is already executing.");
|
|
36
|
-
while (_) try {
|
|
37
|
-
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
38
|
-
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
39
|
-
switch (op[0]) {
|
|
40
|
-
case 0: case 1: t = op; break;
|
|
41
|
-
case 4: _.label++; return { value: op[1], done: false };
|
|
42
|
-
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
43
|
-
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
44
|
-
default:
|
|
45
|
-
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
46
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
47
|
-
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
48
|
-
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
49
|
-
if (t[2]) _.ops.pop();
|
|
50
|
-
_.trys.pop(); continue;
|
|
51
|
-
}
|
|
52
|
-
op = body.call(thisArg, _);
|
|
53
|
-
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
54
|
-
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
58
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
59
|
-
};
|
|
60
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
61
|
-
exports.registerInTypeIndex = exports.ensureTypeIndexes = exports.loadTypeIndexes = exports.loadIndex = exports.ns = void 0;
|
|
62
|
-
var rdflib_1 = require("rdflib");
|
|
63
|
-
var debug = __importStar(require("../util/debug"));
|
|
64
|
-
var solid_namespace_1 = __importDefault(require("solid-namespace"));
|
|
65
|
-
var $rdf = __importStar(require("rdflib"));
|
|
66
|
-
var uri_1 = require("../util/uri");
|
|
67
|
-
var solidLogicSingleton_1 = require("../logic/solidLogicSingleton");
|
|
68
|
-
exports.ns = (0, solid_namespace_1.default)($rdf);
|
|
69
|
-
/**
|
|
70
|
-
* Resolves with the same context, outputting
|
|
71
|
-
* output: index.public, index.private
|
|
72
|
-
*
|
|
73
|
-
* @see https://github.com/solid/solid/blob/main/proposals/data-discovery.md#discoverability
|
|
74
|
-
*/
|
|
75
|
-
function loadIndex(context, isPublic) {
|
|
76
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
77
|
-
var indexes;
|
|
78
|
-
var _this = this;
|
|
79
|
-
return __generator(this, function (_a) {
|
|
80
|
-
switch (_a.label) {
|
|
81
|
-
case 0: return [4 /*yield*/, solidLogicSingleton_1.solidLogicSingleton.loadIndexes(context.me, (isPublic ? context.publicProfile || null : null), (isPublic ? null : context.preferencesFile || null),
|
|
82
|
-
// async (err: Error) => widgets.complain(context, err.message)
|
|
83
|
-
function (err) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
84
|
-
return [2 /*return*/, debug.error(err.message)];
|
|
85
|
-
}); }); })];
|
|
86
|
-
case 1:
|
|
87
|
-
indexes = _a.sent();
|
|
88
|
-
context.index = context.index || {};
|
|
89
|
-
context.index.private = indexes.private || context.index.private;
|
|
90
|
-
context.index.public = indexes.public || context.index.public;
|
|
91
|
-
return [2 /*return*/, context];
|
|
92
|
-
}
|
|
93
|
-
});
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
exports.loadIndex = loadIndex;
|
|
97
|
-
function loadTypeIndexes(context) {
|
|
98
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
99
|
-
var indexes;
|
|
100
|
-
var _this = this;
|
|
101
|
-
return __generator(this, function (_a) {
|
|
102
|
-
switch (_a.label) {
|
|
103
|
-
case 0: return [4 /*yield*/, solidLogicSingleton_1.solidLogicSingleton.loadIndexes(context.me, context.publicProfile || null, context.preferencesFile || null,
|
|
104
|
-
// async (err: Error) => widgets.complain(context, err.message)
|
|
105
|
-
function (err) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
|
|
106
|
-
return [2 /*return*/, debug.warn(err.message)];
|
|
107
|
-
}); }); })];
|
|
108
|
-
case 1:
|
|
109
|
-
indexes = _a.sent();
|
|
110
|
-
context.index = context.index || {};
|
|
111
|
-
context.index.private = indexes.private || context.index.private;
|
|
112
|
-
context.index.public = indexes.public || context.index.public;
|
|
113
|
-
return [2 /*return*/, context];
|
|
114
|
-
}
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
exports.loadTypeIndexes = loadTypeIndexes;
|
|
119
|
-
/**
|
|
120
|
-
* Resolves with the same context, outputting
|
|
121
|
-
* @see https://github.com/solid/solid/blob/main/proposals/data-discovery.md#discoverability
|
|
122
|
-
*/
|
|
123
|
-
function ensureTypeIndexes(context) {
|
|
124
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
125
|
-
return __generator(this, function (_a) {
|
|
126
|
-
switch (_a.label) {
|
|
127
|
-
case 0: return [4 /*yield*/, ensureOneTypeIndex(context, true)];
|
|
128
|
-
case 1:
|
|
129
|
-
_a.sent();
|
|
130
|
-
return [4 /*yield*/, ensureOneTypeIndex(context, false)];
|
|
131
|
-
case 2:
|
|
132
|
-
_a.sent();
|
|
133
|
-
return [2 /*return*/, context];
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
exports.ensureTypeIndexes = ensureTypeIndexes;
|
|
139
|
-
/**
|
|
140
|
-
* Load or create ONE type index
|
|
141
|
-
* Find one or make one or fail
|
|
142
|
-
* Many reasons for failing including script not having permission etc
|
|
143
|
-
*
|
|
144
|
-
* Adds its output to the context
|
|
145
|
-
* @see https://github.com/solid/solid/blob/main/proposals/data-discovery.md#discoverability
|
|
146
|
-
*/
|
|
147
|
-
function ensureOneTypeIndex(context, isPublic) {
|
|
148
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
149
|
-
function makeIndexIfNecessary(context, isPublic) {
|
|
150
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
151
|
-
function putIndex(newIndex) {
|
|
152
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
153
|
-
var e_1, msg;
|
|
154
|
-
return __generator(this, function (_a) {
|
|
155
|
-
switch (_a.label) {
|
|
156
|
-
case 0:
|
|
157
|
-
_a.trys.push([0, 2, , 3]);
|
|
158
|
-
return [4 /*yield*/, solidLogicSingleton_1.solidLogicSingleton.createEmptyRdfDoc(newIndex, 'Blank initial Type index')];
|
|
159
|
-
case 1:
|
|
160
|
-
_a.sent();
|
|
161
|
-
return [2 /*return*/, context];
|
|
162
|
-
case 2:
|
|
163
|
-
e_1 = _a.sent();
|
|
164
|
-
msg = "Error creating new index ".concat(e_1);
|
|
165
|
-
// widgets.complain(context, msg)
|
|
166
|
-
debug.warn(msg);
|
|
167
|
-
return [3 /*break*/, 3];
|
|
168
|
-
case 3: return [2 /*return*/];
|
|
169
|
-
}
|
|
170
|
-
});
|
|
171
|
-
});
|
|
172
|
-
} // putIndex
|
|
173
|
-
var relevant, visibility, newIndex, addMe, err_1, msg, ixs, err_2, msg;
|
|
174
|
-
return __generator(this, function (_a) {
|
|
175
|
-
switch (_a.label) {
|
|
176
|
-
case 0:
|
|
177
|
-
relevant = isPublic ? context.publicProfile : context.preferencesFile;
|
|
178
|
-
visibility = isPublic ? 'public' : 'private';
|
|
179
|
-
context.index = context.index || {};
|
|
180
|
-
context.index[visibility] = context.index[visibility] || [];
|
|
181
|
-
if (!(context.index[visibility].length === 0)) return [3 /*break*/, 6];
|
|
182
|
-
newIndex = (0, rdflib_1.sym)("".concat(relevant.dir().uri + visibility, "TypeIndex.ttl"));
|
|
183
|
-
debug.log("Linking to new fresh type index ".concat(newIndex));
|
|
184
|
-
if (!confirm("OK to create a new empty index file at ".concat(newIndex, ", overwriting anything that is now there?"))) {
|
|
185
|
-
throw new Error('cancelled by user');
|
|
186
|
-
}
|
|
187
|
-
debug.log("Linking to new fresh type index ".concat(newIndex));
|
|
188
|
-
addMe = [
|
|
189
|
-
(0, rdflib_1.st)(context.me, exports.ns.solid("".concat(visibility, "TypeIndex")), newIndex, relevant)
|
|
190
|
-
];
|
|
191
|
-
_a.label = 1;
|
|
192
|
-
case 1:
|
|
193
|
-
_a.trys.push([1, 3, , 4]);
|
|
194
|
-
return [4 /*yield*/, solidLogicSingleton_1.solidLogicSingleton.updatePromise([], addMe)];
|
|
195
|
-
case 2:
|
|
196
|
-
_a.sent();
|
|
197
|
-
return [3 /*break*/, 4];
|
|
198
|
-
case 3:
|
|
199
|
-
err_1 = _a.sent();
|
|
200
|
-
msg = "Error saving type index link saving back ".concat(newIndex, ": ").concat(err_1);
|
|
201
|
-
//widgets.complain(context, msg)
|
|
202
|
-
debug.warn(msg);
|
|
203
|
-
return [2 /*return*/, context];
|
|
204
|
-
case 4:
|
|
205
|
-
debug.log("Creating new fresh type index file".concat(newIndex));
|
|
206
|
-
return [4 /*yield*/, putIndex(newIndex)];
|
|
207
|
-
case 5:
|
|
208
|
-
_a.sent();
|
|
209
|
-
context.index[visibility].push(newIndex); // @@ wait
|
|
210
|
-
return [3 /*break*/, 10];
|
|
211
|
-
case 6:
|
|
212
|
-
ixs = context.index[visibility];
|
|
213
|
-
_a.label = 7;
|
|
214
|
-
case 7:
|
|
215
|
-
_a.trys.push([7, 9, , 10]);
|
|
216
|
-
return [4 /*yield*/, solidLogicSingleton_1.solidLogicSingleton.load(ixs)];
|
|
217
|
-
case 8:
|
|
218
|
-
_a.sent();
|
|
219
|
-
return [3 /*break*/, 10];
|
|
220
|
-
case 9:
|
|
221
|
-
err_2 = _a.sent();
|
|
222
|
-
msg = "ensureOneTypeIndex: loading indexes ".concat(err_2);
|
|
223
|
-
debug.warn(msg);
|
|
224
|
-
return [3 /*break*/, 10];
|
|
225
|
-
case 10: return [2 /*return*/];
|
|
226
|
-
}
|
|
227
|
-
});
|
|
228
|
-
});
|
|
229
|
-
} // makeIndexIfNecessary
|
|
230
|
-
var error_1;
|
|
231
|
-
return __generator(this, function (_a) {
|
|
232
|
-
switch (_a.label) {
|
|
233
|
-
case 0:
|
|
234
|
-
_a.trys.push([0, 2, , 4]);
|
|
235
|
-
return [4 /*yield*/, loadIndex(context, isPublic)];
|
|
236
|
-
case 1:
|
|
237
|
-
_a.sent();
|
|
238
|
-
if (context.index) {
|
|
239
|
-
debug.log("ensureOneTypeIndex: Type index exists already ".concat(isPublic
|
|
240
|
-
? context.index.public[0]
|
|
241
|
-
: context.index.private[0]));
|
|
242
|
-
}
|
|
243
|
-
return [2 /*return*/, context];
|
|
244
|
-
case 2:
|
|
245
|
-
error_1 = _a.sent();
|
|
246
|
-
return [4 /*yield*/, makeIndexIfNecessary(context, isPublic)
|
|
247
|
-
// widgets.complain(context, 'calling loadIndex:' + error)
|
|
248
|
-
];
|
|
249
|
-
case 3:
|
|
250
|
-
_a.sent();
|
|
251
|
-
return [3 /*break*/, 4];
|
|
252
|
-
case 4: return [2 /*return*/];
|
|
253
|
-
}
|
|
254
|
-
});
|
|
255
|
-
});
|
|
256
|
-
}
|
|
257
|
-
/**
|
|
258
|
-
* Register a new app in a type index
|
|
259
|
-
* used in chat in bookmark.js (solid-ui)
|
|
260
|
-
*/
|
|
261
|
-
function registerInTypeIndex(context, instance, theClass, isPublic) {
|
|
262
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
263
|
-
var indexes, index, registration, ins, e_2;
|
|
264
|
-
return __generator(this, function (_a) {
|
|
265
|
-
switch (_a.label) {
|
|
266
|
-
case 0: return [4 /*yield*/, ensureOneTypeIndex(context, isPublic)];
|
|
267
|
-
case 1:
|
|
268
|
-
_a.sent();
|
|
269
|
-
if (!context.index) {
|
|
270
|
-
throw new Error('registerInTypeIndex: No type index found');
|
|
271
|
-
}
|
|
272
|
-
indexes = isPublic ? context.index.public : context.index.private;
|
|
273
|
-
if (!indexes.length) {
|
|
274
|
-
throw new Error('registerInTypeIndex: What no type index?');
|
|
275
|
-
}
|
|
276
|
-
index = indexes[0];
|
|
277
|
-
registration = (0, uri_1.newThing)(index);
|
|
278
|
-
ins = [
|
|
279
|
-
// See https://github.com/solid/solid/blob/main/proposals/data-discovery.md
|
|
280
|
-
(0, rdflib_1.st)(registration, exports.ns.rdf('type'), exports.ns.solid('TypeRegistration'), index),
|
|
281
|
-
(0, rdflib_1.st)(registration, exports.ns.solid('forClass'), theClass, index),
|
|
282
|
-
(0, rdflib_1.st)(registration, exports.ns.solid('instance'), instance, index)
|
|
283
|
-
];
|
|
284
|
-
_a.label = 2;
|
|
285
|
-
case 2:
|
|
286
|
-
_a.trys.push([2, 4, , 5]);
|
|
287
|
-
return [4 /*yield*/, solidLogicSingleton_1.solidLogicSingleton.updatePromise([], ins)];
|
|
288
|
-
case 3:
|
|
289
|
-
_a.sent();
|
|
290
|
-
return [3 /*break*/, 5];
|
|
291
|
-
case 4:
|
|
292
|
-
e_2 = _a.sent();
|
|
293
|
-
debug.log(e_2);
|
|
294
|
-
alert(e_2);
|
|
295
|
-
return [3 /*break*/, 5];
|
|
296
|
-
case 5: return [2 /*return*/, context];
|
|
297
|
-
}
|
|
298
|
-
});
|
|
299
|
-
});
|
|
300
|
-
}
|
|
301
|
-
exports.registerInTypeIndex = registerInTypeIndex;
|
|
302
|
-
//# sourceMappingURL=typeIndexLogic.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"typeIndexLogic.js","sourceRoot":"","sources":["../../src/typeIndex/typeIndexLogic.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { NamedNode } from "rdflib";
|
|
2
|
-
export declare type AppDetails = {
|
|
3
|
-
noun: string;
|
|
4
|
-
appPathSegment: string;
|
|
5
|
-
};
|
|
6
|
-
export declare type AuthenticationContext = {
|
|
7
|
-
containers?: Array<NamedNode>;
|
|
8
|
-
div?: HTMLElement;
|
|
9
|
-
dom?: HTMLDocument;
|
|
10
|
-
index?: {
|
|
11
|
-
[key: string]: Array<NamedNode>;
|
|
12
|
-
};
|
|
13
|
-
instances?: Array<NamedNode>;
|
|
14
|
-
me?: NamedNode | null;
|
|
15
|
-
noun?: string;
|
|
16
|
-
preferencesFile?: NamedNode;
|
|
17
|
-
preferencesFileError?: string;
|
|
18
|
-
publicProfile?: NamedNode;
|
|
19
|
-
statusArea?: HTMLElement;
|
|
20
|
-
};
|
|
21
|
-
export interface AuthnLogic {
|
|
22
|
-
currentUser: () => NamedNode | null;
|
|
23
|
-
checkUser: <T>(setUserCallback?: (me: NamedNode | null) => T) => Promise<NamedNode | T | null>;
|
|
24
|
-
saveUser: (webId: NamedNode | string | null, context?: AuthenticationContext) => NamedNode | null;
|
|
25
|
-
}
|
|
26
|
-
export interface SolidNamespace {
|
|
27
|
-
[key: string]: (term: string) => NamedNode;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=types.d.ts.map
|
package/lib/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAElC,oBAAY,UAAU,GAAG;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,oBAAY,qBAAqB,GAAG;IAChC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC7B,GAAG,CAAC,EAAE,WAAW,CAAA;IACjB,GAAG,CAAC,EAAE,YAAY,CAAA;IAClB,KAAK,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAA;KAAE,CAAA;IAC3C,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,CAAA;IAC5B,EAAE,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,SAAS,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,UAAU,CAAC,EAAE,WAAW,CAAA;CAC3B,CAAA;AAED,MAAM,WAAW,UAAU;IACvB,WAAW,EAAE,MAAM,SAAS,GAAG,IAAI,CAAA;IACnC,SAAS,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,KAAK,CAAC,KAAK,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IAC9F,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,EACvC,OAAO,CAAC,EAAE,qBAAqB,KAAK,SAAS,GAAG,IAAI,CAAA;CAC3D;AAED,MAAM,WAAW,cAAc;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,CAAA;CAC7C"}
|
package/lib/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
package/lib/util/debug.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../src/util/debug.ts"],"names":[],"mappings":"AACA,wBAAgB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAGxC;AAED,wBAAgB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAGzC;AAED,wBAAgB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAG1C;AAED,wBAAgB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAG1C"}
|
package/lib/util/debug.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../src/util/debug.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,SAAgB,GAAG;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IAChC,sCAAsC;IACtC,OAAO,CAAC,GAAG,OAAX,OAAO,EAAQ,IAAI,EAAE;AACvB,CAAC;AAHD,kBAGC;AAED,SAAgB,IAAI;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IACjC,sCAAsC;IACtC,OAAO,CAAC,IAAI,OAAZ,OAAO,EAAS,IAAI,EAAE;AACxB,CAAC;AAHD,oBAGC;AAED,SAAgB,KAAK;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IAClC,sCAAsC;IACtC,OAAO,CAAC,KAAK,OAAb,OAAO,EAAU,IAAI,EAAE;AACzB,CAAC;AAHD,sBAGC;AAED,SAAgB,KAAK;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IAClC,sCAAsC;IACtC,OAAO,CAAC,KAAK,OAAb,OAAO,EAAU,IAAI,EAAE;AACzB,CAAC;AAHD,sBAGC"}
|
package/lib/util/uri.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"uri.d.ts","sourceRoot":"","sources":["../../src/util/uri.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAO,MAAM,QAAQ,CAAC;AAExC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,CAElD"}
|
package/lib/util/uri.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/util/uri.ts"],"names":[],"mappings":";;;AAAA,iCAAwC;AAExC,SAAgB,QAAQ,CAAC,GAAc;IACrC,OAAO,IAAA,YAAG,EAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC;AAFD,4BAEC"}
|
package/src/acl/aclLogic.ts
DELETED
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Simple Access Control
|
|
3
|
-
*
|
|
4
|
-
* This function sets up a simple default ACL for a resource, with
|
|
5
|
-
* RWC for the owner, and a specified access (default none) for the public.
|
|
6
|
-
* In all cases owner has read write control.
|
|
7
|
-
* Parameter lists modes allowed to public
|
|
8
|
-
*
|
|
9
|
-
* @param options
|
|
10
|
-
* @param options.public eg ['Read', 'Write']
|
|
11
|
-
*
|
|
12
|
-
* @returns Resolves with aclDoc uri on successful write
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
import { graph, NamedNode, Namespace, serialize } from "rdflib"
|
|
16
|
-
import solidNamespace from 'solid-namespace'
|
|
17
|
-
import * as $rdf from 'rdflib'
|
|
18
|
-
import { solidLogicSingleton } from "../logic/solidLogicSingleton"
|
|
19
|
-
import { ACL_LINK } from "../util/UtilityLogic"
|
|
20
|
-
|
|
21
|
-
export const ns = solidNamespace($rdf)
|
|
22
|
-
|
|
23
|
-
export function setACLUserPublic (
|
|
24
|
-
docURI: string,
|
|
25
|
-
me: NamedNode,
|
|
26
|
-
options: {
|
|
27
|
-
defaultForNew?: boolean,
|
|
28
|
-
public?: []
|
|
29
|
-
}
|
|
30
|
-
): Promise<NamedNode> {
|
|
31
|
-
const aclDoc = solidLogicSingleton.store.any(
|
|
32
|
-
solidLogicSingleton.store.sym(docURI),
|
|
33
|
-
ACL_LINK
|
|
34
|
-
)
|
|
35
|
-
|
|
36
|
-
return Promise.resolve()
|
|
37
|
-
.then(() => {
|
|
38
|
-
if (aclDoc) {
|
|
39
|
-
return aclDoc as NamedNode
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
return fetchACLRel(docURI).catch(err => {
|
|
43
|
-
throw new Error(`Error fetching rel=ACL header for ${docURI}: ${err}`)
|
|
44
|
-
})
|
|
45
|
-
})
|
|
46
|
-
.then(aclDoc => {
|
|
47
|
-
const aclText = genACLText(docURI, me, aclDoc.uri, options)
|
|
48
|
-
if (!solidLogicSingleton.store.fetcher) {
|
|
49
|
-
throw new Error('Cannot PUT this, store has no fetcher')
|
|
50
|
-
}
|
|
51
|
-
return solidLogicSingleton.store.fetcher
|
|
52
|
-
.webOperation('PUT', aclDoc.uri, {
|
|
53
|
-
data: aclText,
|
|
54
|
-
contentType: 'text/turtle'
|
|
55
|
-
})
|
|
56
|
-
.then(result => {
|
|
57
|
-
if (!result.ok) {
|
|
58
|
-
throw new Error('Error writing ACL text: ' + result.error)
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
return aclDoc
|
|
62
|
-
})
|
|
63
|
-
})
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* @param docURI
|
|
68
|
-
* @returns
|
|
69
|
-
*/
|
|
70
|
-
function fetchACLRel (docURI: string): Promise<NamedNode> {
|
|
71
|
-
const fetcher = solidLogicSingleton.store.fetcher
|
|
72
|
-
if (!fetcher) {
|
|
73
|
-
throw new Error('Cannot fetch ACL rel, store has no fetcher')
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return fetcher.load(docURI).then(result => {
|
|
77
|
-
if (!result.ok) {
|
|
78
|
-
throw new Error('fetchACLRel: While loading:' + (result as any).error)
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
const aclDoc = solidLogicSingleton.store.any(
|
|
82
|
-
solidLogicSingleton.store.sym(docURI),
|
|
83
|
-
ACL_LINK
|
|
84
|
-
)
|
|
85
|
-
|
|
86
|
-
if (!aclDoc) {
|
|
87
|
-
throw new Error('fetchACLRel: No Link rel=ACL header for ' + docURI)
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
return aclDoc as NamedNode
|
|
91
|
-
})
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
/**
|
|
95
|
-
* @param docURI
|
|
96
|
-
* @param me
|
|
97
|
-
* @param aclURI
|
|
98
|
-
* @param options
|
|
99
|
-
*
|
|
100
|
-
* @returns Serialized ACL
|
|
101
|
-
*/
|
|
102
|
-
export function genACLText (
|
|
103
|
-
docURI: string,
|
|
104
|
-
me: NamedNode,
|
|
105
|
-
aclURI: string,
|
|
106
|
-
options: {
|
|
107
|
-
defaultForNew?: boolean,
|
|
108
|
-
public?: []
|
|
109
|
-
} = {}
|
|
110
|
-
): string | undefined {
|
|
111
|
-
const optPublic = options.public || []
|
|
112
|
-
const g = graph()
|
|
113
|
-
const auth = Namespace('http://www.w3.org/ns/auth/acl#')
|
|
114
|
-
let a = g.sym(`${aclURI}#a1`)
|
|
115
|
-
const acl = g.sym(aclURI)
|
|
116
|
-
const doc = g.sym(docURI)
|
|
117
|
-
g.add(a, ns.rdf('type'), auth('Authorization'), acl)
|
|
118
|
-
g.add(a, auth('accessTo'), doc, acl)
|
|
119
|
-
if (options.defaultForNew) {
|
|
120
|
-
g.add(a, auth('default'), doc, acl)
|
|
121
|
-
}
|
|
122
|
-
g.add(a, auth('agent'), me, acl)
|
|
123
|
-
g.add(a, auth('mode'), auth('Read'), acl)
|
|
124
|
-
g.add(a, auth('mode'), auth('Write'), acl)
|
|
125
|
-
g.add(a, auth('mode'), auth('Control'), acl)
|
|
126
|
-
|
|
127
|
-
if (optPublic.length) {
|
|
128
|
-
a = g.sym(`${aclURI}#a2`)
|
|
129
|
-
g.add(a, ns.rdf('type'), auth('Authorization'), acl)
|
|
130
|
-
g.add(a, auth('accessTo'), doc, acl)
|
|
131
|
-
g.add(a, auth('agentClass'), ns.foaf('Agent'), acl)
|
|
132
|
-
for (let p = 0; p < optPublic.length; p++) {
|
|
133
|
-
g.add(a, auth('mode'), auth(optPublic[p]), acl) // Like 'Read' etc
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
return serialize(acl, g, aclURI)
|
|
137
|
-
}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Session,
|
|
3
|
-
getClientAuthenticationWithDependencies
|
|
4
|
-
} from '@inrupt/solid-client-authn-browser'
|
|
5
|
-
|
|
6
|
-
let authSession: Session
|
|
7
|
-
// @ts-ignore
|
|
8
|
-
if (!window.authSession) {
|
|
9
|
-
authSession = new Session(
|
|
10
|
-
{
|
|
11
|
-
clientAuthentication: getClientAuthenticationWithDependencies({})
|
|
12
|
-
},
|
|
13
|
-
'mySession'
|
|
14
|
-
)
|
|
15
|
-
// @ts-ignore
|
|
16
|
-
window.authSession = authSession
|
|
17
|
-
} else {
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
authSession = window.authSession
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
export default authSession
|