solid-logic 1.3.13-fe8dd267 → 1.3.14-3629edd5
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 +1 -2
- package/jest.config.js +1 -1
- package/lib/authSession/authSession.d.ts +1 -2
- package/lib/authSession/authSession.d.ts.map +1 -1
- package/lib/authSession/authSession.js +4 -14
- package/lib/authSession/authSession.js.map +1 -1
- package/lib/authn/SolidAuthnLogic.d.ts +3 -2
- package/lib/authn/SolidAuthnLogic.d.ts.map +1 -1
- package/lib/authn/SolidAuthnLogic.js +6 -0
- package/lib/authn/SolidAuthnLogic.js.map +1 -1
- package/lib/chat/ChatLogic.js +1 -1
- package/lib/chat/ChatLogic.js.map +1 -1
- package/lib/contacts/ContactsLogic.d.ts +30 -0
- package/lib/contacts/ContactsLogic.d.ts.map +1 -0
- package/lib/contacts/ContactsLogic.js +132 -0
- package/lib/contacts/ContactsLogic.js.map +1 -0
- package/lib/contacts/unit.test.d.ts +2 -0
- package/lib/contacts/unit.test.d.ts.map +1 -0
- package/lib/contacts/unit.test.js +166 -0
- package/lib/contacts/unit.test.js.map +1 -0
- package/lib/index.d.ts +8 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +17 -12
- package/lib/index.js.map +1 -1
- package/lib/logic/SolidLogic.d.ts.map +1 -1
- package/lib/logic/SolidLogic.js +1 -0
- package/lib/logic/SolidLogic.js.map +1 -1
- package/lib/logic/solidLogicSingleton.d.ts +1 -5
- package/lib/logic/solidLogicSingleton.d.ts.map +1 -1
- package/lib/logic/solidLogicSingleton.js +10 -18
- package/lib/logic/solidLogicSingleton.js.map +1 -1
- package/lib/types.d.ts +2 -0
- package/lib/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/authSession/authSession.ts +2 -11
- package/src/authn/SolidAuthnLogic.ts +6 -3
- package/src/chat/ChatLogic.ts +1 -1
- package/src/contacts/ContactsLogic.ts +68 -0
- package/src/contacts/unit.test.ts +102 -0
- package/src/index.ts +14 -3
- package/src/logic/SolidLogic.ts +1 -0
- package/src/logic/solidLogicSingleton.ts +8 -12
- package/src/types.ts +2 -0
- package/test/authUtil.test.ts +4 -0
- package/test/chatLogic.test.ts +3 -4
- package/test/solidAuthLogic.test.ts +5 -1
package/.github/workflows/ci.yml
CHANGED
|
@@ -31,8 +31,7 @@ jobs:
|
|
|
31
31
|
with:
|
|
32
32
|
node-version: ${{ matrix.node-version }}
|
|
33
33
|
- run: npm ci
|
|
34
|
-
|
|
35
|
-
# - run: npm run lint --if-present
|
|
34
|
+
- run: npm run lint --if-present
|
|
36
35
|
- run: npm test
|
|
37
36
|
- run: npm run build --if-present
|
|
38
37
|
- name: Save build
|
package/jest.config.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authSession.d.ts","sourceRoot":"","sources":["../../src/authSession/authSession.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAER,MAAM,oCAAoC,CAAA;AAE3C,
|
|
1
|
+
{"version":3,"file":"authSession.d.ts","sourceRoot":"","sources":["../../src/authSession/authSession.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,EAER,MAAM,oCAAoC,CAAA;AAE3C,eAAO,MAAM,WAAW,SAKrB,CAAA"}
|
|
@@ -1,18 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.authSession = void 0;
|
|
3
4
|
var solid_client_authn_browser_1 = require("@inrupt/solid-client-authn-browser");
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
authSession = new solid_client_authn_browser_1.Session({
|
|
8
|
-
clientAuthentication: (0, solid_client_authn_browser_1.getClientAuthenticationWithDependencies)({})
|
|
9
|
-
}, 'mySession');
|
|
10
|
-
// @ts-ignore
|
|
11
|
-
window.authSession = authSession;
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
// @ts-ignore
|
|
15
|
-
authSession = window.authSession;
|
|
16
|
-
}
|
|
17
|
-
exports.default = authSession;
|
|
5
|
+
exports.authSession = new solid_client_authn_browser_1.Session({
|
|
6
|
+
clientAuthentication: (0, solid_client_authn_browser_1.getClientAuthenticationWithDependencies)({})
|
|
7
|
+
}, 'mySession');
|
|
18
8
|
//# sourceMappingURL=authSession.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authSession.js","sourceRoot":"","sources":["../../src/authSession/authSession.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authSession.js","sourceRoot":"","sources":["../../src/authSession/authSession.ts"],"names":[],"mappings":";;;AAAA,iFAG2C;AAE9B,QAAA,WAAW,GAAG,IAAI,oCAAO,CAClC;IACE,oBAAoB,EAAE,IAAA,oEAAuC,EAAC,EAAE,CAAC;CAClE,EACD,WAAW,CACZ,CAAA"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { NamedNode } from "rdflib";
|
|
2
2
|
import { Session } from "@inrupt/solid-client-authn-browser";
|
|
3
|
-
import { AuthenticationContext } from "../types";
|
|
4
|
-
export declare class SolidAuthnLogic {
|
|
3
|
+
import { AuthenticationContext, AuthnLogic } from "../types";
|
|
4
|
+
export declare class SolidAuthnLogic implements AuthnLogic {
|
|
5
5
|
private session;
|
|
6
6
|
constructor(solidAuthSession: Session);
|
|
7
|
+
get authSession(): Session;
|
|
7
8
|
currentUser(): NamedNode | null;
|
|
8
9
|
/**
|
|
9
10
|
* Retrieves currently logged in webId from either
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidAuthnLogic.d.ts","sourceRoot":"","sources":["../../src/authn/SolidAuthnLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAO,MAAM,QAAQ,CAAC;AAGnD,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"SolidAuthnLogic.d.ts","sourceRoot":"","sources":["../../src/authn/SolidAuthnLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAO,MAAM,QAAQ,CAAC;AAGnD,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAC7D,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,OAAO,CAAU;gBAEb,gBAAgB,EAAE,OAAO;IAKrC,IAAI,WAAW,IAAG,OAAO,CAAwB;IAEjD,WAAW,IAAI,SAAS,GAAG,IAAI;IAW/B;;;;;;OAMG;IACG,SAAS,CAAC,CAAC,EACf,eAAe,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,GAAG,IAAI,KAAK,CAAC,GAC5C,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC;IAwDhC;;;;;;OAMG;IACH,QAAQ,CACN,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,EAChC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,SAAS,GAAG,IAAI;IAanB;;OAEG;IACH,gBAAgB,CAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,GAAG,MAAM,GAAG,IAAI;CAKpF"}
|
|
@@ -63,6 +63,12 @@ var SolidAuthnLogic = /** @class */ (function () {
|
|
|
63
63
|
function SolidAuthnLogic(solidAuthSession) {
|
|
64
64
|
this.session = solidAuthSession;
|
|
65
65
|
}
|
|
66
|
+
Object.defineProperty(SolidAuthnLogic.prototype, "authSession", {
|
|
67
|
+
// we created authSession getter because we want to access it as authn.authSession externally
|
|
68
|
+
get: function () { return this.session; },
|
|
69
|
+
enumerable: false,
|
|
70
|
+
configurable: true
|
|
71
|
+
});
|
|
66
72
|
SolidAuthnLogic.prototype.currentUser = function () {
|
|
67
73
|
var app = (0, authUtil_1.appContext)();
|
|
68
74
|
if (app.viewingNoAuthPage) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidAuthnLogic.js","sourceRoot":"","sources":["../../src/authn/SolidAuthnLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAmD;AACnD,uCAAuD;AACvD,mDAAsC;AAGtC;IAGE,yBAAY,gBAAyB;QACnC,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAC;IAClC,CAAC;
|
|
1
|
+
{"version":3,"file":"SolidAuthnLogic.js","sourceRoot":"","sources":["../../src/authn/SolidAuthnLogic.ts"],"names":[],"mappings":"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"}
|
package/lib/chat/ChatLogic.js
CHANGED
|
@@ -255,7 +255,7 @@ var ChatLogic = /** @class */ (function () {
|
|
|
255
255
|
if (!inviteeInbox) {
|
|
256
256
|
throw new Error("Invitee inbox not found! ".concat(invitee.value));
|
|
257
257
|
}
|
|
258
|
-
inviteBody = "\n<> a <http://www.w3.org/ns/pim/meeting#LongChatInvite> ;\n".concat(this.ns.rdf("seeAlso"), " <").concat(chatThing.value, ">
|
|
258
|
+
inviteBody = "\n<> a <http://www.w3.org/ns/pim/meeting#LongChatInvite> ;\n".concat(this.ns.rdf("seeAlso"), " <").concat(chatThing.value, "> .\n ");
|
|
259
259
|
return [4 /*yield*/, ((_b = this.store.fetcher) === null || _b === void 0 ? void 0 : _b.webOperation("POST", inviteeInbox.value, {
|
|
260
260
|
data: inviteBody,
|
|
261
261
|
contentType: "text/turtle",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatLogic.js","sourceRoot":"","sources":["../../src/chat/ChatLogic.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ChatLogic.js","sourceRoot":"","sources":["../../src/chat/ChatLogic.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { NamedNode } from "rdflib";
|
|
2
|
+
import { SolidNamespace } from "../types";
|
|
3
|
+
import { LiveStore } from "rdflib";
|
|
4
|
+
import { ProfileLogic } from "../profile/ProfileLogic";
|
|
5
|
+
import { UtilityLogic } from "../util/UtilityLogic";
|
|
6
|
+
export declare class Contact {
|
|
7
|
+
uri: NamedNode;
|
|
8
|
+
store: LiveStore;
|
|
9
|
+
constructor(uri: NamedNode, store: LiveStore);
|
|
10
|
+
getFullName(): string | null;
|
|
11
|
+
}
|
|
12
|
+
export declare class Addressbook {
|
|
13
|
+
uri: NamedNode;
|
|
14
|
+
store: LiveStore;
|
|
15
|
+
constructor(uri: NamedNode, store: LiveStore);
|
|
16
|
+
fetch(): Promise<void>;
|
|
17
|
+
getMembers(): Contact[];
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Contacts-related logic
|
|
21
|
+
*/
|
|
22
|
+
export declare class ContactsLogic {
|
|
23
|
+
store: LiveStore;
|
|
24
|
+
ns: SolidNamespace;
|
|
25
|
+
profile: ProfileLogic;
|
|
26
|
+
util: UtilityLogic;
|
|
27
|
+
constructor(store: LiveStore, ns: SolidNamespace, profile: ProfileLogic, util: UtilityLogic);
|
|
28
|
+
getAddressbook(uri: NamedNode): Promise<Addressbook>;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=ContactsLogic.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContactsLogic.d.ts","sourceRoot":"","sources":["../../src/contacts/ContactsLogic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAQ,MAAM,QAAQ,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAGpD,qBAAa,OAAO;IAClB,GAAG,EAAE,SAAS,CAAA;IACd,KAAK,EAAE,SAAS,CAAA;gBAEJ,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS;IAK5C,WAAW,IAAI,MAAM,GAAG,IAAI;CAI7B;AAED,qBAAa,WAAW;IACtB,GAAG,EAAE,SAAS,CAAA;IACd,KAAK,EAAE,SAAS,CAAA;gBAEJ,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS;IAKtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,UAAU,IAAI,OAAO,EAAE;CAKxB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,cAAc,CAAC;IACnB,OAAO,EAAE,YAAY,CAAC;IACtB,IAAI,EAAE,YAAY,CAAC;gBAEP,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY;IAOrF,cAAc,CAClB,GAAG,EAAE,SAAS,GACb,OAAO,CAAC,WAAW,CAAC;CAKxB"}
|
|
@@ -0,0 +1,132 @@
|
|
|
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.ContactsLogic = exports.Addressbook = exports.Contact = void 0;
|
|
62
|
+
var rdf = __importStar(require("rdflib"));
|
|
63
|
+
var solid_namespace_1 = __importDefault(require("solid-namespace"));
|
|
64
|
+
var ns = (0, solid_namespace_1.default)(rdf);
|
|
65
|
+
var Contact = /** @class */ (function () {
|
|
66
|
+
function Contact(uri, store) {
|
|
67
|
+
this.uri = uri;
|
|
68
|
+
this.store = store;
|
|
69
|
+
}
|
|
70
|
+
Contact.prototype.getFullName = function () {
|
|
71
|
+
var node = this.store.any(this.uri, ns.vcard('fn'));
|
|
72
|
+
return (node ? node.value : null);
|
|
73
|
+
};
|
|
74
|
+
return Contact;
|
|
75
|
+
}());
|
|
76
|
+
exports.Contact = Contact;
|
|
77
|
+
var Addressbook = /** @class */ (function () {
|
|
78
|
+
function Addressbook(uri, store) {
|
|
79
|
+
this.uri = uri;
|
|
80
|
+
this.store = store;
|
|
81
|
+
}
|
|
82
|
+
Addressbook.prototype.fetch = function () {
|
|
83
|
+
var _a;
|
|
84
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
85
|
+
return __generator(this, function (_b) {
|
|
86
|
+
switch (_b.label) {
|
|
87
|
+
case 0: return [4 /*yield*/, ((_a = this.store.fetcher) === null || _a === void 0 ? void 0 : _a.load(this.uri.doc().value))];
|
|
88
|
+
case 1:
|
|
89
|
+
_b.sent();
|
|
90
|
+
return [2 /*return*/];
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
};
|
|
95
|
+
Addressbook.prototype.getMembers = function () {
|
|
96
|
+
var _this = this;
|
|
97
|
+
// FIXME: https://gitter.im/solid/solidos?at=603659fb4821572018f9d82d
|
|
98
|
+
var members = this.store.each(null, ns.vcard('inAddressBook'), this.uri, this.uri.doc());
|
|
99
|
+
return members.map(function (node) { return new Contact(node, _this.store); });
|
|
100
|
+
};
|
|
101
|
+
return Addressbook;
|
|
102
|
+
}());
|
|
103
|
+
exports.Addressbook = Addressbook;
|
|
104
|
+
/**
|
|
105
|
+
* Contacts-related logic
|
|
106
|
+
*/
|
|
107
|
+
var ContactsLogic = /** @class */ (function () {
|
|
108
|
+
function ContactsLogic(store, ns, profile, util) {
|
|
109
|
+
this.store = store;
|
|
110
|
+
this.ns = ns;
|
|
111
|
+
this.profile = profile;
|
|
112
|
+
this.util = util;
|
|
113
|
+
}
|
|
114
|
+
ContactsLogic.prototype.getAddressbook = function (uri) {
|
|
115
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
116
|
+
var addressbook;
|
|
117
|
+
return __generator(this, function (_a) {
|
|
118
|
+
switch (_a.label) {
|
|
119
|
+
case 0:
|
|
120
|
+
addressbook = new Addressbook(uri, this.store);
|
|
121
|
+
return [4 /*yield*/, addressbook.fetch()];
|
|
122
|
+
case 1:
|
|
123
|
+
_a.sent();
|
|
124
|
+
return [2 /*return*/, addressbook];
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
});
|
|
128
|
+
};
|
|
129
|
+
return ContactsLogic;
|
|
130
|
+
}());
|
|
131
|
+
exports.ContactsLogic = ContactsLogic;
|
|
132
|
+
//# sourceMappingURL=ContactsLogic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContactsLogic.js","sourceRoot":"","sources":["../../src/contacts/ContactsLogic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA6B;AAI7B,oEAA6C;AAG7C,IAAM,EAAE,GAAmB,IAAA,yBAAc,EAAC,GAAG,CAAC,CAAC;AAE/C;IAIE,iBAAY,GAAc,EAAE,KAAgB;QAC1C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,6BAAW,GAAX;QACE,IAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IACH,cAAC;AAAD,CAAC,AAbD,IAaC;AAbY,0BAAO;AAepB;IAIE,qBAAY,GAAc,EAAE,KAAgB;QAC1C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAEK,2BAAK,GAAX;;;;;4BACE,qBAAM,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,0CAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAA,EAAA;;wBAApD,SAAoD,CAAC;;;;;KACtD;IAED,gCAAU,GAAV;QAAA,iBAIC;QAHC,qEAAqE;QACrE,IAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACnG,OAAO,OAAO,CAAC,GAAG,CAAC,UAAC,IAAU,IAAK,OAAA,IAAI,OAAO,CAAC,IAAiB,EAAE,KAAI,CAAC,KAAK,CAAC,EAA1C,CAA0C,CAAC,CAAC;IACjF,CAAC;IACH,kBAAC;AAAD,CAAC,AAlBD,IAkBC;AAlBY,kCAAW;AAoBxB;;GAEG;AACH;IAME,uBAAY,KAAgB,EAAE,EAAkB,EAAE,OAAqB,EAAE,IAAkB;QACzF,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEK,sCAAc,GAApB,UACE,GAAc;;;;;;wBAER,WAAW,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;wBACrD,qBAAM,WAAW,CAAC,KAAK,EAAE,EAAA;;wBAAzB,SAAyB,CAAC;wBAC1B,sBAAO,WAAW,EAAC;;;;KACpB;IACH,oBAAC;AAAD,CAAC,AApBD,IAoBC;AApBY,sCAAa"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unit.test.d.ts","sourceRoot":"","sources":["../../src/contacts/unit.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,166 @@
|
|
|
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
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
62
|
+
var UtilityLogic_1 = require("../util/UtilityLogic");
|
|
63
|
+
var solid_namespace_1 = __importDefault(require("solid-namespace"));
|
|
64
|
+
var rdf = __importStar(require("rdflib"));
|
|
65
|
+
var ProfileLogic_1 = require("../profile/ProfileLogic");
|
|
66
|
+
var jest_fetch_mock_1 = __importDefault(require("jest-fetch-mock"));
|
|
67
|
+
var rdflib_1 = require("rdflib");
|
|
68
|
+
var ContactsLogic_1 = require("./ContactsLogic");
|
|
69
|
+
var authSession_1 = require("../authSession/authSession");
|
|
70
|
+
var ns = (0, solid_namespace_1.default)(rdf);
|
|
71
|
+
var alice = rdf.sym("https://alice.example/profile/card#me");
|
|
72
|
+
var addressbook = rdf.sym("https://alice.example/addressbook.ttl#this");
|
|
73
|
+
var bob = rdf.sym("https://bob.example/profile/card#me");
|
|
74
|
+
describe("Addressbook", function () {
|
|
75
|
+
var contacts;
|
|
76
|
+
var store;
|
|
77
|
+
beforeEach(function () {
|
|
78
|
+
jest_fetch_mock_1.default.resetMocks();
|
|
79
|
+
jest_fetch_mock_1.default.mockResponse("Not Found", {
|
|
80
|
+
status: 404,
|
|
81
|
+
});
|
|
82
|
+
var fetcher = { fetch: jest_fetch_mock_1.default };
|
|
83
|
+
store = rdf.graph();
|
|
84
|
+
store.fetcher = rdf.fetcher(store, fetcher);
|
|
85
|
+
store.updater = new rdflib_1.UpdateManager(store);
|
|
86
|
+
var authn = {
|
|
87
|
+
authSession: authSession_1.authSession,
|
|
88
|
+
currentUser: function () {
|
|
89
|
+
return alice;
|
|
90
|
+
},
|
|
91
|
+
checkUser: function (alice) {
|
|
92
|
+
return alice;
|
|
93
|
+
},
|
|
94
|
+
saveUser: function () {
|
|
95
|
+
return alice;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
var profile = new ProfileLogic_1.ProfileLogic(store, ns, authn);
|
|
99
|
+
var util = new UtilityLogic_1.UtilityLogic(store, ns, fetcher);
|
|
100
|
+
contacts = new ContactsLogic_1.ContactsLogic(store, ns, profile, util);
|
|
101
|
+
});
|
|
102
|
+
describe("getMembers", function () {
|
|
103
|
+
describe("When Addressbook is empty", function () {
|
|
104
|
+
var result;
|
|
105
|
+
beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
106
|
+
var addressbookObj;
|
|
107
|
+
return __generator(this, function (_a) {
|
|
108
|
+
switch (_a.label) {
|
|
109
|
+
case 0:
|
|
110
|
+
addressbookIsEmpty();
|
|
111
|
+
return [4 /*yield*/, contacts.getAddressbook(addressbook)];
|
|
112
|
+
case 1:
|
|
113
|
+
addressbookObj = _a.sent();
|
|
114
|
+
result = addressbookObj.getMembers();
|
|
115
|
+
return [2 /*return*/];
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}); });
|
|
119
|
+
it("Resolves to an empty array", function () {
|
|
120
|
+
expect(result).toEqual([]);
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
describe("When Addressbook contains Bob", function () {
|
|
124
|
+
var result;
|
|
125
|
+
beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
126
|
+
var addressbookObj;
|
|
127
|
+
return __generator(this, function (_a) {
|
|
128
|
+
switch (_a.label) {
|
|
129
|
+
case 0:
|
|
130
|
+
addressbookContainsBob();
|
|
131
|
+
return [4 /*yield*/, contacts.getAddressbook(addressbook)];
|
|
132
|
+
case 1:
|
|
133
|
+
addressbookObj = _a.sent();
|
|
134
|
+
result = addressbookObj.getMembers();
|
|
135
|
+
return [2 /*return*/];
|
|
136
|
+
}
|
|
137
|
+
});
|
|
138
|
+
}); });
|
|
139
|
+
it("Resolves to an array containing Bob", function () {
|
|
140
|
+
expect(result.length).toEqual(1);
|
|
141
|
+
expect(result[0].getFullName()).toEqual("Bob the Builder");
|
|
142
|
+
});
|
|
143
|
+
});
|
|
144
|
+
});
|
|
145
|
+
function addressbookIsEmpty() {
|
|
146
|
+
jest_fetch_mock_1.default.mockOnceIf(addressbook.doc().value, " ", {
|
|
147
|
+
headers: { "Content-Type": "text/turtle" },
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
function addressbookContainsBob() {
|
|
151
|
+
jest_fetch_mock_1.default.mockOnceIf(addressbook.doc().value, "@prefix acl: <http://www.w3.org/ns/auth/acl#> .\n" +
|
|
152
|
+
"@prefix dc: <http://purl.org/dc/elements/1.1/> .\n" +
|
|
153
|
+
"@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .\n" +
|
|
154
|
+
"<#this> a vcard:AddressBook ;\n" +
|
|
155
|
+
" dc:title \"New address Book\" ;\n" +
|
|
156
|
+
" acl:owner </profile/card#me> .\n" +
|
|
157
|
+
"<#bob> a vcard:Individual ;\n" +
|
|
158
|
+
" vcard:inAddressBook <#this> ;\n" +
|
|
159
|
+
" vcard:fn \"Bob the Builder\" ;\n" +
|
|
160
|
+
" vcard:url [ a vcard:WebID ; vcard:value <https://bob.example/profile/card#me> ] ;\n" +
|
|
161
|
+
" vcard:url [ a vcard:WebID ; vcard:value <https://bob.alternative/profile/card#me> ] .\n", {
|
|
162
|
+
headers: { "Content-Type": "text/turtle" },
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
//# sourceMappingURL=unit.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unit.test.js","sourceRoot":"","sources":["../../src/contacts/unit.test.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,11 +1,16 @@
|
|
|
1
|
+
declare const authn: import("./types").AuthnLogic;
|
|
2
|
+
declare const authSession: import("@inrupt/solid-client-authn-browser").Session;
|
|
3
|
+
declare const store: import("rdflib").LiveStore;
|
|
4
|
+
declare const chat: import("./chat/ChatLogic").ChatLogic;
|
|
5
|
+
declare const profile: import("./profile/ProfileLogic").ProfileLogic;
|
|
1
6
|
export { setACLUserPublic, genACLText } from './acl/aclLogic';
|
|
2
7
|
export { ensureTypeIndexes, loadTypeIndexes, registerInTypeIndex, loadIndex } from './typeIndex/typeIndexLogic';
|
|
3
|
-
export {
|
|
4
|
-
export { SolidLogic } from "./logic/SolidLogic";
|
|
8
|
+
export { SolidLogic } from './logic/SolidLogic';
|
|
5
9
|
export { offlineTestID, appContext } from './authn/authUtil';
|
|
6
10
|
export { ACL_LINK } from './util/UtilityLogic';
|
|
7
11
|
export { getSuggestedIssuers } from './issuer/issuerLogic';
|
|
8
12
|
export { AppDetails, SolidNamespace, AuthenticationContext } from './types';
|
|
9
|
-
export { solidLogicSingleton
|
|
13
|
+
export { solidLogicSingleton } from './logic/solidLogicSingleton';
|
|
10
14
|
export { UnauthorizedError, CrossOriginForbiddenError, SameOriginForbiddenError, NotFoundError, FetchError } from './logic/CustomError';
|
|
15
|
+
export { authn, authSession, store, chat, profile };
|
|
11
16
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,QAAA,MAAM,KAAK,8BAA4B,CAAA;AACvC,QAAA,MAAM,WAAW,sDAAwC,CAAA;AACzD,QAAA,MAAM,KAAK,4BAA4B,CAAA;AAEvC,QAAA,MAAM,IAAI,sCAA2B,CAAA;AACrC,QAAA,MAAM,OAAO,+CAA8B,CAAA;AAE3C,OAAO,EACL,gBAAgB,EAChB,UAAU,EACX,MAAM,gBAAgB,CAAA;AACvB,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,SAAS,EACV,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAA;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAA;AACjE,OAAO,EAAE,iBAAiB,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AACvI,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAA"}
|
package/lib/index.js
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
3
|
+
exports.profile = exports.chat = exports.store = exports.authSession = exports.authn = exports.FetchError = exports.NotFoundError = exports.SameOriginForbiddenError = exports.CrossOriginForbiddenError = exports.UnauthorizedError = exports.solidLogicSingleton = exports.getSuggestedIssuers = exports.ACL_LINK = exports.appContext = exports.offlineTestID = exports.SolidLogic = exports.loadIndex = exports.registerInTypeIndex = exports.loadTypeIndexes = exports.ensureTypeIndexes = exports.genACLText = exports.setACLUserPublic = void 0;
|
|
4
|
+
// Make these variables directly accessible as it is what you need most of the time
|
|
5
|
+
// This also makes these variable globaly accesible in mashlib
|
|
6
|
+
var solidLogicSingleton_1 = require("./logic/solidLogicSingleton");
|
|
7
|
+
var authn = solidLogicSingleton_1.solidLogicSingleton.authn;
|
|
8
|
+
exports.authn = authn;
|
|
9
|
+
var authSession = solidLogicSingleton_1.solidLogicSingleton.authn.authSession;
|
|
10
|
+
exports.authSession = authSession;
|
|
11
|
+
var store = solidLogicSingleton_1.solidLogicSingleton.store;
|
|
12
|
+
exports.store = store;
|
|
13
|
+
var chat = solidLogicSingleton_1.solidLogicSingleton.chat;
|
|
14
|
+
exports.chat = chat;
|
|
15
|
+
var profile = solidLogicSingleton_1.solidLogicSingleton.profile;
|
|
16
|
+
exports.profile = profile;
|
|
7
17
|
var aclLogic_1 = require("./acl/aclLogic");
|
|
8
18
|
Object.defineProperty(exports, "setACLUserPublic", { enumerable: true, get: function () { return aclLogic_1.setACLUserPublic; } });
|
|
9
19
|
Object.defineProperty(exports, "genACLText", { enumerable: true, get: function () { return aclLogic_1.genACLText; } });
|
|
@@ -12,8 +22,6 @@ Object.defineProperty(exports, "ensureTypeIndexes", { enumerable: true, get: fun
|
|
|
12
22
|
Object.defineProperty(exports, "loadTypeIndexes", { enumerable: true, get: function () { return typeIndexLogic_1.loadTypeIndexes; } });
|
|
13
23
|
Object.defineProperty(exports, "registerInTypeIndex", { enumerable: true, get: function () { return typeIndexLogic_1.registerInTypeIndex; } });
|
|
14
24
|
Object.defineProperty(exports, "loadIndex", { enumerable: true, get: function () { return typeIndexLogic_1.loadIndex; } });
|
|
15
|
-
var authSession_1 = require("./authSession/authSession");
|
|
16
|
-
Object.defineProperty(exports, "authSession", { enumerable: true, get: function () { return __importDefault(authSession_1).default; } });
|
|
17
25
|
var SolidLogic_1 = require("./logic/SolidLogic");
|
|
18
26
|
Object.defineProperty(exports, "SolidLogic", { enumerable: true, get: function () { return SolidLogic_1.SolidLogic; } });
|
|
19
27
|
var authUtil_1 = require("./authn/authUtil");
|
|
@@ -23,12 +31,9 @@ var UtilityLogic_1 = require("./util/UtilityLogic");
|
|
|
23
31
|
Object.defineProperty(exports, "ACL_LINK", { enumerable: true, get: function () { return UtilityLogic_1.ACL_LINK; } });
|
|
24
32
|
var issuerLogic_1 = require("./issuer/issuerLogic");
|
|
25
33
|
Object.defineProperty(exports, "getSuggestedIssuers", { enumerable: true, get: function () { return issuerLogic_1.getSuggestedIssuers; } });
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
Object.defineProperty(exports, "
|
|
29
|
-
Object.defineProperty(exports, "store", { enumerable: true, get: function () { return solidLogicSingleton_1.store; } });
|
|
30
|
-
Object.defineProperty(exports, "chat", { enumerable: true, get: function () { return solidLogicSingleton_1.chat; } });
|
|
31
|
-
Object.defineProperty(exports, "profile", { enumerable: true, get: function () { return solidLogicSingleton_1.profile; } });
|
|
34
|
+
// solidLogicSingleton is exported entirely because it is used in solid-panes
|
|
35
|
+
var solidLogicSingleton_2 = require("./logic/solidLogicSingleton");
|
|
36
|
+
Object.defineProperty(exports, "solidLogicSingleton", { enumerable: true, get: function () { return solidLogicSingleton_2.solidLogicSingleton; } });
|
|
32
37
|
var CustomError_1 = require("./logic/CustomError");
|
|
33
38
|
Object.defineProperty(exports, "UnauthorizedError", { enumerable: true, get: function () { return CustomError_1.UnauthorizedError; } });
|
|
34
39
|
Object.defineProperty(exports, "CrossOriginForbiddenError", { enumerable: true, get: function () { return CustomError_1.CrossOriginForbiddenError; } });
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,mFAAmF;AACnF,8DAA8D;AAC9D,mEAAiE;AACjE,IAAM,KAAK,GAAG,yCAAmB,CAAC,KAAK,CAAA;AAyB9B,sBAAK;AAxBd,IAAM,WAAW,GAAG,yCAAmB,CAAC,KAAK,CAAC,WAAW,CAAA;AAwBzC,kCAAW;AAvB3B,IAAM,KAAK,GAAG,yCAAmB,CAAC,KAAK,CAAA;AAuBV,sBAAK;AArBlC,IAAM,IAAI,GAAG,yCAAmB,CAAC,IAAI,CAAA;AAqBD,oBAAI;AApBxC,IAAM,OAAO,GAAG,yCAAmB,CAAC,OAAO,CAAA;AAoBD,0BAAO;AAlBjD,2CAGuB;AAFrB,4GAAA,gBAAgB,OAAA;AAChB,sGAAA,UAAU,OAAA;AAEZ,6DAKmC;AAJjC,mHAAA,iBAAiB,OAAA;AACjB,iHAAA,eAAe,OAAA;AACf,qHAAA,mBAAmB,OAAA;AACnB,2GAAA,SAAS,OAAA;AAEX,iDAA+C;AAAtC,wGAAA,UAAU,OAAA;AACnB,6CAA4D;AAAnD,yGAAA,aAAa,OAAA;AAAE,sGAAA,UAAU,OAAA;AAClC,oDAA8C;AAArC,wGAAA,QAAQ,OAAA;AACjB,oDAA0D;AAAjD,kHAAA,mBAAmB,OAAA;AAE5B,6EAA6E;AAC7E,mEAAiE;AAAxD,0HAAA,mBAAmB,OAAA;AAC5B,mDAAuI;AAA9H,gHAAA,iBAAiB,OAAA;AAAE,wHAAA,yBAAyB,OAAA;AAAE,uHAAA,wBAAwB,OAAA;AAAE,4GAAA,aAAa,OAAA;AAAE,yGAAA,UAAU,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidLogic.d.ts","sourceRoot":"","sources":["../../src/logic/SolidLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGzD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAkB,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAMpD,qBAAa,UAAU;IACnB,KAAK,EAAE;QACH,eAAe,EAAE;YACjB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;SAC1B,CAAC;QACF,eAAe,EAAE;YACjB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;SAC1B,CAAC;KACL,CAAC;IAEF,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,CAAC;IAExD,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC;gBAEP,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,EAAE,OAAO,EAAE,OAAO;
|
|
1
|
+
{"version":3,"file":"SolidLogic.d.ts","sourceRoot":"","sources":["../../src/logic/SolidLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,KAAK,GAAG,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGzD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAkB,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAMpD,qBAAa,UAAU;IACnB,KAAK,EAAE;QACH,eAAe,EAAE;YACjB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;SAC1B,CAAC;QACF,eAAe,EAAE;YACjB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;SAC1B,CAAC;KACL,CAAC;IAEF,KAAK,EAAE,SAAS,CAAC;IACjB,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,CAAC;IAExD,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,UAAU,CAAC;IAClB,IAAI,EAAE,YAAY,CAAC;gBAEP,OAAO,EAAE;QAAE,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,KAAK,GAAG,CAAA;KAAE,EAAE,OAAO,EAAE,OAAO;IAiBrF,aAAa,CAAC,GAAG,EAAE,MAAM;IAIzB,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhC,WAAW,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAgB9C,eAAe,CAAC,EAAE,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAwDxD,YAAY,CACR,EAAE,EAAE,SAAS,GAAG,MAAM,EACtB,eAAe,EAAE,SAAS,GAAG,MAAM,EACnC,QAAQ,EAAE,OAAO,GAClB,SAAS,EAAE;IAUd,gBAAgB,CAAC,QAAQ,KAAA,EAAE,QAAQ,KAAA;IAQnC,IAAI,CAAC,GAAG,EAAE,SAAS,GAAG,SAAS,EAAE,GAAG,MAAM;IAOpC,WAAW,CACb,EAAE,EAAE,SAAS,GAAG,MAAM,EACtB,aAAa,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,EACxC,eAAe,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,EAC1C,SAAS,UAAgB,KAAK,uBAE7B,GACF,OAAO,CAAC;QACP,OAAO,EAAE,GAAG,CAAC;QACb,MAAM,EAAE,GAAG,CAAC;KACf,CAAC;IAyCI,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;IAYvD,aAAa,CACT,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,EACrB,GAAG,GAAE,KAAK,CAAC,SAAS,CAAM,GAC3B,OAAO,CAAC,IAAI,CAAC;IAehB,WAAW,CAAC,GAAG,EAAE,MAAM;IAIvB,oBAAoB,CAAC,aAAa,EAAE,SAAS,GAAG,SAAS,EAAE;IAI3D,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAItD,eAAe,CAAC,GAAG,EAAE,MAAM;IAIjC,UAAU;IAIJ,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAGzC"}
|
package/lib/logic/SolidLogic.js
CHANGED
|
@@ -73,6 +73,7 @@ var SolidLogic = /** @class */ (function () {
|
|
|
73
73
|
this.store = rdf.graph(); // Make a Quad store
|
|
74
74
|
rdf.fetcher(this.store, fetcher); // Attach a web I/O module, store.fetcher
|
|
75
75
|
this.store.updater = new rdf.UpdateManager(this.store); // Add real-time live updates store.updater
|
|
76
|
+
this.store.features = []; // disable automatic node merging on store load
|
|
76
77
|
this.cache = {
|
|
77
78
|
profileDocument: {},
|
|
78
79
|
preferencesFile: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidLogic.js","sourceRoot":"","sources":["../../src/logic/SolidLogic.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SolidLogic.js","sourceRoot":"","sources":["../../src/logic/SolidLogic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import { SolidLogic } from "./SolidLogic";
|
|
2
2
|
declare const solidLogicSingleton: SolidLogic;
|
|
3
|
-
|
|
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 };
|
|
3
|
+
export { solidLogicSingleton };
|
|
8
4
|
//# sourceMappingURL=solidLogicSingleton.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solidLogicSingleton.d.ts","sourceRoot":"","sources":["../../src/logic/solidLogicSingleton.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"solidLogicSingleton.d.ts","sourceRoot":"","sources":["../../src/logic/solidLogicSingleton.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAazC,QAAA,MAAM,mBAAmB,YAAiD,CAAA;AAI1E,OAAO,EAAE,mBAAmB,EAAE,CAAA"}
|
|
@@ -54,18 +54,18 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
54
54
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
55
55
|
}
|
|
56
56
|
};
|
|
57
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
58
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
59
|
-
};
|
|
60
57
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
61
|
-
exports.
|
|
58
|
+
exports.solidLogicSingleton = void 0;
|
|
62
59
|
var debug = __importStar(require("../util/debug"));
|
|
63
|
-
var authSession_1 =
|
|
60
|
+
var authSession_1 = require("../authSession/authSession");
|
|
64
61
|
var SolidLogic_1 = require("./SolidLogic");
|
|
65
|
-
var
|
|
62
|
+
var _fetch = function (url, requestInit) { return __awaiter(void 0, void 0, void 0, function () {
|
|
63
|
+
var omitCreds;
|
|
66
64
|
return __generator(this, function (_a) {
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
omitCreds = requestInit && requestInit.credentials && requestInit.credentials == 'omit';
|
|
66
|
+
if (authSession_1.authSession.info.webId && !omitCreds) { // see https://github.com/solid/solidos/issues/114
|
|
67
|
+
// In fact ftech should respect crentials omit itself
|
|
68
|
+
return [2 /*return*/, authSession_1.authSession.fetch(url, requestInit)];
|
|
69
69
|
}
|
|
70
70
|
else {
|
|
71
71
|
return [2 /*return*/, window.fetch(url, requestInit)];
|
|
@@ -73,16 +73,8 @@ var fetcher = function (url, requestInit) { return __awaiter(void 0, void 0, voi
|
|
|
73
73
|
return [2 /*return*/];
|
|
74
74
|
});
|
|
75
75
|
}); };
|
|
76
|
-
|
|
76
|
+
//this const makes solidLogicSingleton global accessible in mashlib
|
|
77
|
+
var solidLogicSingleton = new SolidLogic_1.SolidLogic({ fetch: _fetch }, authSession_1.authSession);
|
|
77
78
|
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
79
|
debug.log('Unique quadstore initialized.');
|
|
88
80
|
//# sourceMappingURL=solidLogicSingleton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solidLogicSingleton.js","sourceRoot":"","sources":["../../src/logic/solidLogicSingleton.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"solidLogicSingleton.js","sourceRoot":"","sources":["../../src/logic/solidLogicSingleton.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAsC;AACtC,0DAAwD;AACxD,2CAAyC;AAEzC,IAAM,MAAM,GAAG,UAAO,GAAG,EAAE,WAAW;;;QAC5B,SAAS,GAAG,WAAW,IAAI,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,IAAI,MAAM,CAAA;QAC7F,IAAI,yBAAW,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,SAAS,EAAE,EAAE,kDAAkD;YAC1F,qDAAqD;YACrD,sBAAO,yBAAW,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,EAAA;SAC7C;aAAM;YACH,sBAAO,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,EAAA;SACxC;;;KACJ,CAAA;AAED,mEAAmE;AACnE,IAAM,mBAAmB,GAAG,IAAI,uBAAU,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,yBAAW,CAAC,CAAA;AAIjE,kDAAmB;AAF5B,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Session } from "@inrupt/solid-client-authn-browser";
|
|
1
2
|
import { NamedNode } from "rdflib";
|
|
2
3
|
export declare type AppDetails = {
|
|
3
4
|
noun: string;
|
|
@@ -19,6 +20,7 @@ export declare type AuthenticationContext = {
|
|
|
19
20
|
statusArea?: HTMLElement;
|
|
20
21
|
};
|
|
21
22
|
export interface AuthnLogic {
|
|
23
|
+
authSession: Session;
|
|
22
24
|
currentUser: () => NamedNode | null;
|
|
23
25
|
checkUser: <T>(setUserCallback?: (me: NamedNode | null) => T) => Promise<NamedNode | T | null>;
|
|
24
26
|
saveUser: (webId: NamedNode | string | null, context?: AuthenticationContext) => NamedNode | null;
|
package/lib/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAA;AAC5D,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,OAAO,CAAA;IACpB,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/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solid-logic",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.14-3629edd5",
|
|
4
4
|
"description": "Core business logic of Solid OS",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"build": "tsc",
|
|
7
|
+
"build": "npm run clean && tsc",
|
|
8
8
|
"clean": "rm -rf lib",
|
|
9
9
|
"lint": "eslint ./src",
|
|
10
10
|
"test": "jest",
|
|
@@ -30,7 +30,6 @@
|
|
|
30
30
|
"@babel/plugin-transform-runtime": "7.16.5",
|
|
31
31
|
"@babel/preset-env": "7.16.5",
|
|
32
32
|
"@babel/preset-typescript": "7.16.5",
|
|
33
|
-
"@inrupt/solid-client-authn-browser": "^1.11.3",
|
|
34
33
|
"@types/jest": "^27.0.3",
|
|
35
34
|
"@typescript-eslint/eslint-plugin": "^5.8.0",
|
|
36
35
|
"@typescript-eslint/parser": "^5.8.0",
|
|
@@ -43,6 +42,7 @@
|
|
|
43
42
|
"typescript": "4.5.4"
|
|
44
43
|
},
|
|
45
44
|
"dependencies": {
|
|
45
|
+
"@inrupt/solid-client-authn-browser": "^1.11.5",
|
|
46
46
|
"rdflib": "^2.2.17",
|
|
47
47
|
"solid-namespace": "^0.5.2"
|
|
48
48
|
}
|
|
@@ -3,20 +3,11 @@ import {
|
|
|
3
3
|
getClientAuthenticationWithDependencies
|
|
4
4
|
} from '@inrupt/solid-client-authn-browser'
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
// @ts-ignore
|
|
8
|
-
if (!window.authSession) {
|
|
9
|
-
authSession = new Session(
|
|
6
|
+
export const authSession = new Session(
|
|
10
7
|
{
|
|
11
8
|
clientAuthentication: getClientAuthenticationWithDependencies({})
|
|
12
9
|
},
|
|
13
10
|
'mySession'
|
|
14
11
|
)
|
|
15
|
-
// @ts-ignore
|
|
16
|
-
window.authSession = authSession
|
|
17
|
-
} else {
|
|
18
|
-
// @ts-ignore
|
|
19
|
-
authSession = window.authSession
|
|
20
|
-
}
|
|
21
12
|
|
|
22
|
-
|
|
13
|
+
|
|
@@ -2,13 +2,16 @@ import { namedNode, NamedNode, sym } from "rdflib";
|
|
|
2
2
|
import { appContext, offlineTestID } from "./authUtil";
|
|
3
3
|
import * as debug from '../util/debug'
|
|
4
4
|
import { Session } from "@inrupt/solid-client-authn-browser";
|
|
5
|
-
import { AuthenticationContext } from "../types";
|
|
6
|
-
export class SolidAuthnLogic {
|
|
7
|
-
private session: Session;
|
|
5
|
+
import { AuthenticationContext, AuthnLogic } from "../types";
|
|
6
|
+
export class SolidAuthnLogic implements AuthnLogic {
|
|
7
|
+
private session: Session;
|
|
8
8
|
|
|
9
9
|
constructor(solidAuthSession: Session) {
|
|
10
10
|
this.session = solidAuthSession;
|
|
11
11
|
}
|
|
12
|
+
|
|
13
|
+
// we created authSession getter because we want to access it as authn.authSession externally
|
|
14
|
+
get authSession():Session { return this.session }
|
|
12
15
|
|
|
13
16
|
currentUser(): NamedNode | null {
|
|
14
17
|
const app = appContext()
|
package/src/chat/ChatLogic.ts
CHANGED
|
@@ -225,7 +225,7 @@ export class ChatLogic {
|
|
|
225
225
|
}
|
|
226
226
|
const inviteBody = `
|
|
227
227
|
<> a <http://www.w3.org/ns/pim/meeting#LongChatInvite> ;
|
|
228
|
-
${this.ns.rdf("seeAlso")} <${chatThing.value}> .
|
|
228
|
+
${this.ns.rdf("seeAlso")} <${chatThing.value}> .
|
|
229
229
|
`;
|
|
230
230
|
|
|
231
231
|
const inviteResponse = await this.store.fetcher?.webOperation(
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import * as rdf from "rdflib"
|
|
2
|
+
import { NamedNode, Node } from "rdflib";
|
|
3
|
+
import { SolidNamespace } from "../types";
|
|
4
|
+
import { LiveStore } from "rdflib";
|
|
5
|
+
import solidNamespace from "solid-namespace";
|
|
6
|
+
import { ProfileLogic } from "../profile/ProfileLogic";
|
|
7
|
+
import { UtilityLogic } from "../util/UtilityLogic";
|
|
8
|
+
const ns: SolidNamespace = solidNamespace(rdf);
|
|
9
|
+
|
|
10
|
+
export class Contact {
|
|
11
|
+
uri: NamedNode
|
|
12
|
+
store: LiveStore
|
|
13
|
+
|
|
14
|
+
constructor(uri: NamedNode, store: LiveStore) {
|
|
15
|
+
this.uri = uri;
|
|
16
|
+
this.store = store;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
getFullName(): string | null {
|
|
20
|
+
const node = this.store.any(this.uri, ns.vcard('fn'));
|
|
21
|
+
return (node ? node.value : null);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export class Addressbook {
|
|
26
|
+
uri: NamedNode
|
|
27
|
+
store: LiveStore
|
|
28
|
+
|
|
29
|
+
constructor(uri: NamedNode, store: LiveStore) {
|
|
30
|
+
this.uri = uri;
|
|
31
|
+
this.store = store;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
async fetch(): Promise<void> {
|
|
35
|
+
await this.store.fetcher?.load(this.uri.doc().value);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
getMembers(): Contact[] {
|
|
39
|
+
// FIXME: https://gitter.im/solid/solidos?at=603659fb4821572018f9d82d
|
|
40
|
+
const members: Node[] = this.store.each(null, ns.vcard('inAddressBook'), this.uri, this.uri.doc());
|
|
41
|
+
return members.map((node: Node) => new Contact(node as NamedNode, this.store));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Contacts-related logic
|
|
47
|
+
*/
|
|
48
|
+
export class ContactsLogic {
|
|
49
|
+
store: LiveStore;
|
|
50
|
+
ns: SolidNamespace;
|
|
51
|
+
profile: ProfileLogic;
|
|
52
|
+
util: UtilityLogic;
|
|
53
|
+
|
|
54
|
+
constructor(store: LiveStore, ns: SolidNamespace, profile: ProfileLogic, util: UtilityLogic) {
|
|
55
|
+
this.store = store;
|
|
56
|
+
this.ns = ns;
|
|
57
|
+
this.profile = profile;
|
|
58
|
+
this.util = util;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
async getAddressbook(
|
|
62
|
+
uri: NamedNode
|
|
63
|
+
): Promise<Addressbook> {
|
|
64
|
+
const addressbook = new Addressbook(uri, this.store);
|
|
65
|
+
await addressbook.fetch();
|
|
66
|
+
return addressbook;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
2
|
+
import { UtilityLogic } from "../util/UtilityLogic";
|
|
3
|
+
import solidNamespace from "solid-namespace";
|
|
4
|
+
|
|
5
|
+
import * as rdf from "rdflib";
|
|
6
|
+
import { ProfileLogic } from "../profile/ProfileLogic";
|
|
7
|
+
import fetchMock from "jest-fetch-mock";
|
|
8
|
+
import { UpdateManager } from "rdflib";
|
|
9
|
+
import { ContactsLogic } from "./ContactsLogic";
|
|
10
|
+
import { authSession } from "../authSession/authSession";
|
|
11
|
+
|
|
12
|
+
const ns = solidNamespace(rdf);
|
|
13
|
+
|
|
14
|
+
const alice = rdf.sym("https://alice.example/profile/card#me");
|
|
15
|
+
const addressbook = rdf.sym("https://alice.example/addressbook.ttl#this");
|
|
16
|
+
const bob = rdf.sym("https://bob.example/profile/card#me");
|
|
17
|
+
|
|
18
|
+
describe("Addressbook", () => {
|
|
19
|
+
let contacts;
|
|
20
|
+
let store;
|
|
21
|
+
beforeEach(() => {
|
|
22
|
+
fetchMock.resetMocks();
|
|
23
|
+
fetchMock.mockResponse("Not Found", {
|
|
24
|
+
status: 404,
|
|
25
|
+
});
|
|
26
|
+
const fetcher = { fetch: fetchMock };
|
|
27
|
+
store = rdf.graph();
|
|
28
|
+
store.fetcher = rdf.fetcher(store, fetcher);
|
|
29
|
+
store.updater = new UpdateManager(store);
|
|
30
|
+
const authn = {
|
|
31
|
+
authSession: authSession,
|
|
32
|
+
currentUser: () => {
|
|
33
|
+
return alice;
|
|
34
|
+
},
|
|
35
|
+
checkUser: (alice) => {
|
|
36
|
+
return alice;
|
|
37
|
+
},
|
|
38
|
+
saveUser: () => {
|
|
39
|
+
return alice;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
const profile = new ProfileLogic(store, ns, authn);
|
|
43
|
+
const util = new UtilityLogic(store, ns, fetcher);
|
|
44
|
+
contacts = new ContactsLogic(store, ns, profile, util);
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
describe("getMembers", () => {
|
|
48
|
+
describe("When Addressbook is empty", () => {
|
|
49
|
+
let result;
|
|
50
|
+
beforeEach(async () => {
|
|
51
|
+
addressbookIsEmpty();
|
|
52
|
+
const addressbookObj = await contacts.getAddressbook(addressbook);
|
|
53
|
+
result = addressbookObj.getMembers();
|
|
54
|
+
});
|
|
55
|
+
it("Resolves to an empty array", () => {
|
|
56
|
+
expect(result).toEqual([]);
|
|
57
|
+
});
|
|
58
|
+
});
|
|
59
|
+
describe("When Addressbook contains Bob", () => {
|
|
60
|
+
let result;
|
|
61
|
+
beforeEach(async () => {
|
|
62
|
+
addressbookContainsBob();
|
|
63
|
+
const addressbookObj = await contacts.getAddressbook(addressbook);
|
|
64
|
+
result = addressbookObj.getMembers();
|
|
65
|
+
});
|
|
66
|
+
it("Resolves to an array containing Bob", () => {
|
|
67
|
+
expect(result.length).toEqual(1);
|
|
68
|
+
expect(result[0].getFullName()).toEqual("Bob the Builder");
|
|
69
|
+
});
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
function addressbookIsEmpty() {
|
|
74
|
+
fetchMock.mockOnceIf(
|
|
75
|
+
addressbook.doc().value,
|
|
76
|
+
" ",
|
|
77
|
+
{
|
|
78
|
+
headers: { "Content-Type": "text/turtle" },
|
|
79
|
+
}
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
function addressbookContainsBob() {
|
|
84
|
+
fetchMock.mockOnceIf(
|
|
85
|
+
addressbook.doc().value,
|
|
86
|
+
"@prefix acl: <http://www.w3.org/ns/auth/acl#> .\n" +
|
|
87
|
+
"@prefix dc: <http://purl.org/dc/elements/1.1/> .\n" +
|
|
88
|
+
"@prefix vcard: <http://www.w3.org/2006/vcard/ns#> .\n" +
|
|
89
|
+
"<#this> a vcard:AddressBook ;\n" +
|
|
90
|
+
" dc:title \"New address Book\" ;\n" +
|
|
91
|
+
" acl:owner </profile/card#me> .\n" +
|
|
92
|
+
"<#bob> a vcard:Individual ;\n" +
|
|
93
|
+
" vcard:inAddressBook <#this> ;\n" +
|
|
94
|
+
" vcard:fn \"Bob the Builder\" ;\n" +
|
|
95
|
+
" vcard:url [ a vcard:WebID ; vcard:value <https://bob.example/profile/card#me> ] ;\n" +
|
|
96
|
+
" vcard:url [ a vcard:WebID ; vcard:value <https://bob.alternative/profile/card#me> ] .\n",
|
|
97
|
+
{
|
|
98
|
+
headers: { "Content-Type": "text/turtle" },
|
|
99
|
+
}
|
|
100
|
+
);
|
|
101
|
+
}
|
|
102
|
+
});
|
package/src/index.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
// Make these variables directly accessible as it is what you need most of the time
|
|
2
|
+
// This also makes these variable globaly accesible in mashlib
|
|
3
|
+
import { solidLogicSingleton } from './logic/solidLogicSingleton'
|
|
4
|
+
const authn = solidLogicSingleton.authn
|
|
5
|
+
const authSession = solidLogicSingleton.authn.authSession
|
|
6
|
+
const store = solidLogicSingleton.store
|
|
7
|
+
|
|
8
|
+
const chat = solidLogicSingleton.chat
|
|
9
|
+
const profile = solidLogicSingleton.profile
|
|
10
|
+
|
|
1
11
|
export {
|
|
2
12
|
setACLUserPublic,
|
|
3
13
|
genACLText
|
|
@@ -8,11 +18,12 @@ export {
|
|
|
8
18
|
registerInTypeIndex,
|
|
9
19
|
loadIndex
|
|
10
20
|
} from './typeIndex/typeIndexLogic'
|
|
11
|
-
export {
|
|
12
|
-
export { SolidLogic } from "./logic/SolidLogic"
|
|
21
|
+
export { SolidLogic } from './logic/SolidLogic'
|
|
13
22
|
export { offlineTestID, appContext } from './authn/authUtil'
|
|
14
23
|
export { ACL_LINK } from './util/UtilityLogic'
|
|
15
24
|
export { getSuggestedIssuers } from './issuer/issuerLogic'
|
|
16
25
|
export { AppDetails, SolidNamespace, AuthenticationContext } from './types'
|
|
17
|
-
|
|
26
|
+
// solidLogicSingleton is exported entirely because it is used in solid-panes
|
|
27
|
+
export { solidLogicSingleton } from './logic/solidLogicSingleton'
|
|
18
28
|
export { UnauthorizedError, CrossOriginForbiddenError, SameOriginForbiddenError, NotFoundError, FetchError } from './logic/CustomError'
|
|
29
|
+
export { authn, authSession, store, chat, profile }
|
package/src/logic/SolidLogic.ts
CHANGED
|
@@ -36,6 +36,7 @@ export class SolidLogic {
|
|
|
36
36
|
this.store = rdf.graph() as LiveStore; // Make a Quad store
|
|
37
37
|
rdf.fetcher(this.store, fetcher); // Attach a web I/O module, store.fetcher
|
|
38
38
|
this.store.updater = new rdf.UpdateManager(this.store); // Add real-time live updates store.updater
|
|
39
|
+
this.store.features = [] // disable automatic node merging on store load
|
|
39
40
|
this.cache = {
|
|
40
41
|
profileDocument: {},
|
|
41
42
|
preferencesFile: {},
|
|
@@ -1,24 +1,20 @@
|
|
|
1
1
|
import * as debug from "../util/debug"
|
|
2
|
-
import authSession from "../authSession/authSession"
|
|
2
|
+
import { authSession } from "../authSession/authSession"
|
|
3
3
|
import { SolidLogic } from "./SolidLogic"
|
|
4
4
|
|
|
5
|
-
const
|
|
6
|
-
|
|
5
|
+
const _fetch = async (url, requestInit) => {
|
|
6
|
+
const omitCreds = requestInit && requestInit.credentials && requestInit.credentials == 'omit'
|
|
7
|
+
if (authSession.info.webId && !omitCreds) { // see https://github.com/solid/solidos/issues/114
|
|
8
|
+
// In fact ftech should respect crentials omit itself
|
|
7
9
|
return authSession.fetch(url, requestInit)
|
|
8
10
|
} else {
|
|
9
11
|
return window.fetch(url, requestInit)
|
|
10
12
|
}
|
|
11
13
|
}
|
|
12
14
|
|
|
13
|
-
const solidLogicSingleton
|
|
14
|
-
|
|
15
|
-
// Make this directly accessible as it is what you need most of the time
|
|
16
|
-
const authn = solidLogicSingleton.authn
|
|
17
|
-
const store = solidLogicSingleton.store
|
|
18
|
-
|
|
19
|
-
const chat = solidLogicSingleton.chat
|
|
20
|
-
const profile = solidLogicSingleton.profile
|
|
15
|
+
//this const makes solidLogicSingleton global accessible in mashlib
|
|
16
|
+
const solidLogicSingleton = new SolidLogic({ fetch: _fetch }, authSession)
|
|
21
17
|
|
|
22
18
|
debug.log('Unique quadstore initialized.')
|
|
23
19
|
|
|
24
|
-
export { solidLogicSingleton
|
|
20
|
+
export { solidLogicSingleton }
|
package/src/types.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Session } from "@inrupt/solid-client-authn-browser"
|
|
1
2
|
import { NamedNode } from "rdflib"
|
|
2
3
|
|
|
3
4
|
export type AppDetails = {
|
|
@@ -20,6 +21,7 @@ export type AuthenticationContext = {
|
|
|
20
21
|
}
|
|
21
22
|
|
|
22
23
|
export interface AuthnLogic {
|
|
24
|
+
authSession: Session //this needs to be deprecated in the future. Is only here to allow imports like panes.UI.authn.authSession prior to moving authn from ui to logic
|
|
23
25
|
currentUser: () => NamedNode | null
|
|
24
26
|
checkUser: <T>(setUserCallback?: (me: NamedNode | null) => T) => Promise<NamedNode | T | null>
|
|
25
27
|
saveUser: (webId: NamedNode | string | null,
|
package/test/authUtil.test.ts
CHANGED
package/test/chatLogic.test.ts
CHANGED
|
@@ -124,11 +124,10 @@ describe("Chat logic", () => {
|
|
|
124
124
|
});
|
|
125
125
|
it("sent an invitation to invitee inbox", () => {
|
|
126
126
|
const request = getRequestTo("POST", "https://bob.example/inbox");
|
|
127
|
-
expect(request.body).
|
|
127
|
+
expect(request.body).toContain(`
|
|
128
128
|
<> a <http://www.w3.org/ns/pim/meeting#LongChatInvite> ;
|
|
129
|
-
<http://www.w3.org/1999/02/22-rdf-syntax-ns#seeAlso> <https://alice.example/IndividualChats/bob.example/index.ttl#this> .
|
|
130
|
-
`);
|
|
131
|
-
});
|
|
129
|
+
<http://www.w3.org/1999/02/22-rdf-syntax-ns#seeAlso> <https://alice.example/IndividualChats/bob.example/index.ttl#this> .
|
|
130
|
+
`);});
|
|
132
131
|
it("added the new chat to private type index", () => {
|
|
133
132
|
const request = getRequestTo(
|
|
134
133
|
"PATCH",
|
|
@@ -1,6 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @jest-environment jsdom
|
|
3
|
+
*
|
|
4
|
+
*/
|
|
1
5
|
import { SolidAuthnLogic } from '../src/authn/SolidAuthnLogic'
|
|
2
6
|
import { silenceDebugMessages } from './helpers/setup'
|
|
3
|
-
import {
|
|
7
|
+
import { authSession } from '../src/authSession/authSession'
|
|
4
8
|
import { AuthenticationContext } from '../src/types'
|
|
5
9
|
|
|
6
10
|
silenceDebugMessages()
|