solid-logic 3.1.1-f0ed025 → 3.1.1-f7eee1f

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.
Files changed (164) hide show
  1. package/README.md +108 -2
  2. package/dist/789.solid-logic.js +11 -0
  3. package/dist/789.solid-logic.js.map +1 -0
  4. package/dist/789.solid-logic.min.js +1 -0
  5. package/dist/841.solid-logic.js +12133 -0
  6. package/dist/841.solid-logic.js.map +1 -0
  7. package/dist/841.solid-logic.min.js +73 -0
  8. package/dist/841.solid-logic.min.js.map +1 -0
  9. package/dist/acl/aclLogic.d.ts +5 -0
  10. package/{lib → dist}/acl/aclLogic.d.ts.map +1 -1
  11. package/dist/acl/aclLogic.js +122 -0
  12. package/dist/acl/aclLogic.js.map +1 -0
  13. package/{lib → dist}/authSession/authSession.js +1 -1
  14. package/{lib → dist}/authSession/authSession.js.map +1 -1
  15. package/{lib → dist}/authn/SolidAuthnLogic.d.ts +3 -3
  16. package/{lib → dist}/authn/SolidAuthnLogic.d.ts.map +1 -1
  17. package/dist/authn/SolidAuthnLogic.js +147 -0
  18. package/dist/authn/SolidAuthnLogic.js.map +1 -0
  19. package/{lib → dist}/authn/authUtil.d.ts +1 -1
  20. package/{lib → dist}/authn/authUtil.js +12 -12
  21. package/dist/authn/authUtil.js.map +1 -0
  22. package/{lib → dist}/chat/chatLogic.d.ts +1 -1
  23. package/dist/chat/chatLogic.js +160 -0
  24. package/dist/chat/chatLogic.js.map +1 -0
  25. package/{lib → dist}/inbox/inboxLogic.d.ts +1 -1
  26. package/{lib → dist}/inbox/inboxLogic.d.ts.map +1 -1
  27. package/dist/inbox/inboxLogic.js +55 -0
  28. package/dist/inbox/inboxLogic.js.map +1 -0
  29. package/{lib → dist}/index.d.ts +1 -1
  30. package/{lib → dist}/index.d.ts.map +1 -1
  31. package/{lib → dist}/index.js +4 -4
  32. package/{lib → dist}/index.js.map +1 -1
  33. package/dist/issuer/issuerLogic.js +40 -0
  34. package/dist/issuer/issuerLogic.js.map +1 -0
  35. package/{lib → dist}/logic/CustomError.d.ts.map +1 -1
  36. package/dist/logic/CustomError.js +38 -0
  37. package/dist/logic/CustomError.js.map +1 -0
  38. package/dist/logic/solidLogic.d.ts +6 -0
  39. package/{lib → dist}/logic/solidLogic.d.ts.map +1 -1
  40. package/{lib → dist}/logic/solidLogic.js +32 -33
  41. package/dist/logic/solidLogic.js.map +1 -0
  42. package/dist/logic/solidLogicSingleton.js +54 -0
  43. package/dist/logic/solidLogicSingleton.js.map +1 -0
  44. package/{lib → dist}/profile/profileLogic.d.ts +1 -1
  45. package/dist/profile/profileLogic.js +165 -0
  46. package/dist/profile/profileLogic.js.map +1 -0
  47. package/dist/solid-logic.esm.external.js +12725 -0
  48. package/dist/solid-logic.esm.external.js.map +1 -0
  49. package/dist/solid-logic.esm.external.min.js +32 -0
  50. package/dist/solid-logic.esm.external.min.js.map +1 -0
  51. package/dist/solid-logic.external.js +12802 -0
  52. package/dist/solid-logic.external.js.map +1 -0
  53. package/dist/solid-logic.external.min.js +32 -0
  54. package/dist/solid-logic.external.min.js.map +1 -0
  55. package/dist/solid-logic.js +40921 -0
  56. package/dist/solid-logic.js.map +1 -0
  57. package/dist/solid-logic.min.js +41 -0
  58. package/dist/solid-logic.min.js.map +1 -0
  59. package/dist/typeIndex/typeIndexLogic.js +222 -0
  60. package/dist/typeIndex/typeIndexLogic.js.map +1 -0
  61. package/{lib → dist}/types.d.ts +2 -2
  62. package/{lib → dist}/util/containerLogic.d.ts +1 -1
  63. package/{lib → dist}/util/containerLogic.d.ts.map +1 -1
  64. package/{src/util/containerLogic.ts → dist/util/containerLogic.js} +20 -25
  65. package/dist/util/containerLogic.js.map +1 -0
  66. package/dist/util/debug.d.ts.map +1 -0
  67. package/dist/util/debug.js +20 -0
  68. package/dist/util/debug.js.map +1 -0
  69. package/{lib → dist}/util/ns.js +2 -2
  70. package/{lib → dist}/util/ns.js.map +1 -1
  71. package/{lib → dist}/util/utilityLogic.d.ts +1 -1
  72. package/{lib → dist}/util/utilityLogic.d.ts.map +1 -1
  73. package/dist/util/utilityLogic.js +180 -0
  74. package/dist/util/utilityLogic.js.map +1 -0
  75. package/{lib → dist}/util/utils.d.ts +1 -1
  76. package/{lib → dist}/util/utils.d.ts.map +1 -1
  77. package/dist/util/utils.js +47 -0
  78. package/dist/util/utils.js.map +1 -0
  79. package/dist/versionInfo.js +33 -0
  80. package/dist/versionInfo.js.map +1 -0
  81. package/package.json +58 -20
  82. package/eslint.config.js +0 -29
  83. package/jest.config.js +0 -10
  84. package/lib/acl/aclLogic.d.ts +0 -5
  85. package/lib/acl/aclLogic.js +0 -168
  86. package/lib/acl/aclLogic.js.map +0 -1
  87. package/lib/authn/SolidAuthnLogic.js +0 -193
  88. package/lib/authn/SolidAuthnLogic.js.map +0 -1
  89. package/lib/authn/authUtil.js.map +0 -1
  90. package/lib/chat/chatLogic.js +0 -272
  91. package/lib/chat/chatLogic.js.map +0 -1
  92. package/lib/inbox/inboxLogic.js +0 -139
  93. package/lib/inbox/inboxLogic.js.map +0 -1
  94. package/lib/issuer/issuerLogic.js +0 -52
  95. package/lib/issuer/issuerLogic.js.map +0 -1
  96. package/lib/logic/CustomError.js +0 -89
  97. package/lib/logic/CustomError.js.map +0 -1
  98. package/lib/logic/solidLogic.d.ts +0 -6
  99. package/lib/logic/solidLogic.js.map +0 -1
  100. package/lib/logic/solidLogicSingleton.js +0 -94
  101. package/lib/logic/solidLogicSingleton.js.map +0 -1
  102. package/lib/profile/profileLogic.js +0 -259
  103. package/lib/profile/profileLogic.js.map +0 -1
  104. package/lib/typeIndex/typeIndexLogic.js +0 -399
  105. package/lib/typeIndex/typeIndexLogic.js.map +0 -1
  106. package/lib/util/containerLogic.js +0 -102
  107. package/lib/util/containerLogic.js.map +0 -1
  108. package/lib/util/debug.d.ts.map +0 -1
  109. package/lib/util/debug.js +0 -40
  110. package/lib/util/debug.js.map +0 -1
  111. package/lib/util/utilityLogic.js +0 -284
  112. package/lib/util/utilityLogic.js.map +0 -1
  113. package/lib/util/utils.js +0 -47
  114. package/lib/util/utils.js.map +0 -1
  115. package/src/acl/aclLogic.ts +0 -156
  116. package/src/authSession/authSession.ts +0 -7
  117. package/src/authn/SolidAuthnLogic.ts +0 -127
  118. package/src/authn/authUtil.ts +0 -70
  119. package/src/chat/chatLogic.ts +0 -226
  120. package/src/inbox/inboxLogic.ts +0 -59
  121. package/src/index.ts +0 -22
  122. package/src/issuer/issuerLogic.ts +0 -40
  123. package/src/logic/CustomError.ts +0 -29
  124. package/src/logic/solidLogic.ts +0 -76
  125. package/src/logic/solidLogicSingleton.ts +0 -20
  126. package/src/profile/profileLogic.ts +0 -125
  127. package/src/typeIndex/typeIndexLogic.ts +0 -198
  128. package/src/types.ts +0 -122
  129. package/src/util/debug.ts +0 -20
  130. package/src/util/ns.ts +0 -5
  131. package/src/util/utilityLogic.ts +0 -156
  132. package/src/util/utils.ts +0 -52
  133. package/test/aclLogic.test.ts +0 -24
  134. package/test/authUtil.test.ts +0 -23
  135. package/test/chatLogic.test.ts +0 -316
  136. package/test/container.test.ts +0 -58
  137. package/test/helpers/dataSetup.ts +0 -134
  138. package/test/helpers/setup.ts +0 -17
  139. package/test/inboxLogic.test.ts +0 -218
  140. package/test/logic.test.ts +0 -29
  141. package/test/profileLogic.test.ts +0 -246
  142. package/test/solidAuthLogic.test.ts +0 -49
  143. package/test/typeIndexLogic.test.ts +0 -255
  144. package/test/utilityLogic.test.ts +0 -179
  145. package/test/utils.test.ts +0 -32
  146. package/tsconfig.json +0 -75
  147. /package/{lib → dist}/authSession/authSession.d.ts +0 -0
  148. /package/{lib → dist}/authSession/authSession.d.ts.map +0 -0
  149. /package/{lib → dist}/authn/authUtil.d.ts.map +0 -0
  150. /package/{lib → dist}/chat/chatLogic.d.ts.map +0 -0
  151. /package/{lib → dist}/issuer/issuerLogic.d.ts +0 -0
  152. /package/{lib → dist}/issuer/issuerLogic.d.ts.map +0 -0
  153. /package/{lib → dist}/logic/CustomError.d.ts +0 -0
  154. /package/{lib → dist}/logic/solidLogicSingleton.d.ts +0 -0
  155. /package/{lib → dist}/logic/solidLogicSingleton.d.ts.map +0 -0
  156. /package/{lib → dist}/profile/profileLogic.d.ts.map +0 -0
  157. /package/{lib → dist}/typeIndex/typeIndexLogic.d.ts +0 -0
  158. /package/{lib → dist}/typeIndex/typeIndexLogic.d.ts.map +0 -0
  159. /package/{lib → dist}/types.d.ts.map +0 -0
  160. /package/{lib → dist}/types.js +0 -0
  161. /package/{lib → dist}/types.js.map +0 -0
  162. /package/{lib → dist}/util/debug.d.ts +0 -0
  163. /package/{lib → dist}/util/ns.d.ts +0 -0
  164. /package/{lib → dist}/util/ns.d.ts.map +0 -0
@@ -0,0 +1,5 @@
1
+ import { NamedNode } from 'rdflib';
2
+ import { AclLogic } from '../types';
3
+ export declare const ACL_LINK: NamedNode;
4
+ export declare function createAclLogic(store: any): AclLogic;
5
+ //# sourceMappingURL=aclLogic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aclLogic.d.ts","sourceRoot":"","sources":["../../src/acl/aclLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAA6B,MAAM,QAAQ,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAIpC,eAAO,MAAM,QAAQ,WAEpB,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,KAAA,GAAG,QAAQ,CAkJ9C"}
1
+ {"version":3,"file":"aclLogic.d.ts","sourceRoot":"","sources":["../../src/acl/aclLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,SAAS,EAA6B,MAAM,QAAQ,CAAA;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAInC,eAAO,MAAM,QAAQ,WAEpB,CAAA;AAED,wBAAgB,cAAc,CAAC,KAAK,KAAA,GAAG,QAAQ,CAkJ9C"}
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ACL_LINK = void 0;
4
+ exports.createAclLogic = createAclLogic;
5
+ const rdflib_1 = require("rdflib");
6
+ const ns_1 = require("../util/ns");
7
+ exports.ACL_LINK = (0, rdflib_1.sym)('http://www.iana.org/assignments/link-relations/acl');
8
+ function createAclLogic(store) {
9
+ const ns = ns_1.ns;
10
+ async function findAclDocUrl(url) {
11
+ await store.fetcher.load(url);
12
+ const docNode = store.any(url, exports.ACL_LINK);
13
+ if (!docNode) {
14
+ throw new Error(`No ACL link discovered for ${url}`);
15
+ }
16
+ return docNode.value;
17
+ }
18
+ /**
19
+ * Simple Access Control
20
+ *
21
+ * This function sets up a simple default ACL for a resource, with
22
+ * RWC for the owner, and a specified access (default none) for the public.
23
+ * In all cases owner has read write control.
24
+ * Parameter lists modes allowed to public
25
+ *
26
+ * @param options
27
+ * @param options.public eg ['Read', 'Write']
28
+ *
29
+ * @returns Resolves with aclDoc uri on successful write
30
+ */
31
+ function setACLUserPublic(docURI, me, options) {
32
+ const aclDoc = store.any(store.sym(docURI), exports.ACL_LINK);
33
+ return Promise.resolve()
34
+ .then(() => {
35
+ if (aclDoc) {
36
+ return aclDoc;
37
+ }
38
+ return fetchACLRel(docURI).catch(err => {
39
+ throw new Error(`Error fetching rel=ACL header for ${docURI}: ${err}`);
40
+ });
41
+ })
42
+ .then(aclDoc => {
43
+ const aclText = genACLText(docURI, me, aclDoc.uri, options);
44
+ if (!store.fetcher) {
45
+ throw new Error('Cannot PUT this, store has no fetcher');
46
+ }
47
+ return store.fetcher
48
+ .webOperation('PUT', aclDoc.uri, {
49
+ data: aclText,
50
+ contentType: 'text/turtle'
51
+ })
52
+ .then(result => {
53
+ if (!result.ok) {
54
+ throw new Error('Error writing ACL text: ' + result.error);
55
+ }
56
+ return aclDoc;
57
+ });
58
+ });
59
+ }
60
+ /**
61
+ * @param docURI
62
+ * @returns
63
+ */
64
+ function fetchACLRel(docURI) {
65
+ const fetcher = store.fetcher;
66
+ if (!fetcher) {
67
+ throw new Error('Cannot fetch ACL rel, store has no fetcher');
68
+ }
69
+ return fetcher.load(docURI).then(result => {
70
+ if (!result.ok) {
71
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
72
+ throw new Error('fetchACLRel: While loading:' + result.error);
73
+ }
74
+ const aclDoc = store.any(store.sym(docURI), exports.ACL_LINK);
75
+ if (!aclDoc) {
76
+ throw new Error('fetchACLRel: No Link rel=ACL header for ' + docURI);
77
+ }
78
+ return aclDoc;
79
+ });
80
+ }
81
+ /**
82
+ * @param docURI
83
+ * @param me
84
+ * @param aclURI
85
+ * @param options
86
+ *
87
+ * @returns Serialized ACL
88
+ */
89
+ function genACLText(docURI, me, aclURI, options = {}) {
90
+ const optPublic = options.public || [];
91
+ const g = (0, rdflib_1.graph)();
92
+ const auth = (0, rdflib_1.Namespace)('http://www.w3.org/ns/auth/acl#');
93
+ let a = g.sym(`${aclURI}#a1`);
94
+ const acl = g.sym(aclURI);
95
+ const doc = g.sym(docURI);
96
+ g.add(a, ns.rdf('type'), auth('Authorization'), acl);
97
+ g.add(a, auth('accessTo'), doc, acl);
98
+ if (options.defaultForNew) {
99
+ g.add(a, auth('default'), doc, acl);
100
+ }
101
+ g.add(a, auth('agent'), me, acl);
102
+ g.add(a, auth('mode'), auth('Read'), acl);
103
+ g.add(a, auth('mode'), auth('Write'), acl);
104
+ g.add(a, auth('mode'), auth('Control'), acl);
105
+ if (optPublic.length) {
106
+ a = g.sym(`${aclURI}#a2`);
107
+ g.add(a, ns.rdf('type'), auth('Authorization'), acl);
108
+ g.add(a, auth('accessTo'), doc, acl);
109
+ g.add(a, auth('agentClass'), ns.foaf('Agent'), acl);
110
+ for (let p = 0; p < optPublic.length; p++) {
111
+ g.add(a, auth('mode'), auth(optPublic[p]), acl); // Like 'Read' etc
112
+ }
113
+ }
114
+ return (0, rdflib_1.serialize)(acl, g, aclURI);
115
+ }
116
+ return {
117
+ findAclDocUrl,
118
+ setACLUserPublic,
119
+ genACLText
120
+ };
121
+ }
122
+ //# sourceMappingURL=aclLogic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"aclLogic.js","sourceRoot":"","sources":["../../src/acl/aclLogic.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.authSession = void 0;
4
- var solid_client_authn_browser_1 = require("@inrupt/solid-client-authn-browser");
4
+ const solid_client_authn_browser_1 = require("@inrupt/solid-client-authn-browser");
5
5
  exports.authSession = new solid_client_authn_browser_1.Session();
6
6
  //# sourceMappingURL=authSession.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authSession.js","sourceRoot":"","sources":["../../src/authSession/authSession.ts"],"names":[],"mappings":";;;AAAA,iFAE2C;AAE9B,QAAA,WAAW,GAAG,IAAI,oCAAO,EAAE,CAAA"}
1
+ {"version":3,"file":"authSession.js","sourceRoot":"","sources":["../../src/authSession/authSession.ts"],"names":[],"mappings":";;;AAAA,mFAE2C;AAE9B,QAAA,WAAW,GAAG,IAAI,oCAAO,EAAE,CAAA"}
@@ -1,6 +1,6 @@
1
- import { NamedNode } from "rdflib";
2
- import { Session } from "@inrupt/solid-client-authn-browser";
3
- import { AuthenticationContext, AuthnLogic } from "../types";
1
+ import { NamedNode } from 'rdflib';
2
+ import { Session } from '@inrupt/solid-client-authn-browser';
3
+ import { AuthenticationContext, AuthnLogic } from '../types';
4
4
  export declare class SolidAuthnLogic implements AuthnLogic {
5
5
  private session;
6
6
  constructor(solidAuthSession: Session);
@@ -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,EAAU,OAAO,EAAE,MAAM,oCAAoC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE7D,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;IA2DhC;;;;;;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"}
1
+ {"version":3,"file":"SolidAuthnLogic.d.ts","sourceRoot":"","sources":["../../src/authn/SolidAuthnLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAO,MAAM,QAAQ,CAAA;AAGlD,OAAO,EAAU,OAAO,EAAE,MAAM,oCAAoC,CAAA;AACpE,OAAO,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAE5D,qBAAa,eAAgB,YAAW,UAAU;IAChD,OAAO,CAAC,OAAO,CAAS;gBAEZ,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;IA2DhC;;;;;;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"}
@@ -0,0 +1,147 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.SolidAuthnLogic = void 0;
37
+ const rdflib_1 = require("rdflib");
38
+ const authUtil_1 = require("./authUtil");
39
+ const debug = __importStar(require("../util/debug"));
40
+ const solid_client_authn_browser_1 = require("@inrupt/solid-client-authn-browser");
41
+ class SolidAuthnLogic {
42
+ session;
43
+ constructor(solidAuthSession) {
44
+ this.session = solidAuthSession;
45
+ }
46
+ // we created authSession getter because we want to access it as authn.authSession externally
47
+ get authSession() { return this.session; }
48
+ currentUser() {
49
+ const app = (0, authUtil_1.appContext)();
50
+ if (app.viewingNoAuthPage) {
51
+ return (0, rdflib_1.sym)(app.webId);
52
+ }
53
+ if (this && this.session && this.session.info && this.session.info.webId && this.session.info.isLoggedIn) {
54
+ return (0, rdflib_1.sym)(this.session.info.webId);
55
+ }
56
+ return (0, authUtil_1.offlineTestID)(); // null unless testing
57
+ }
58
+ /**
59
+ * Retrieves currently logged in webId from either
60
+ * defaultTestUser or SolidAuth
61
+ * Also activates a session after login
62
+ * @param [setUserCallback] Optional callback
63
+ * @returns Resolves with webId uri, if no callback provided
64
+ */
65
+ async checkUser(setUserCallback) {
66
+ // Save hash for "restorePreviousSession"
67
+ const preLoginRedirectHash = new URL(window.location.href).hash;
68
+ if (preLoginRedirectHash) {
69
+ window.localStorage.setItem('preLoginRedirectHash', preLoginRedirectHash);
70
+ }
71
+ this.session.events.on(solid_client_authn_browser_1.EVENTS.SESSION_RESTORED, (url) => {
72
+ debug.log(`Session restored to ${url}`);
73
+ if (document.location.toString() !== url)
74
+ history.replaceState(null, '', url);
75
+ });
76
+ /**
77
+ * Handle a successful authentication redirect
78
+ */
79
+ const redirectUrl = new URL(window.location.href);
80
+ redirectUrl.hash = '';
81
+ await this.session
82
+ .handleIncomingRedirect({
83
+ restorePreviousSession: true,
84
+ url: redirectUrl.href
85
+ });
86
+ // Check to see if a hash was stored in local storage
87
+ const postLoginRedirectHash = window.localStorage.getItem('preLoginRedirectHash');
88
+ if (postLoginRedirectHash) {
89
+ const curUrl = new URL(window.location.href);
90
+ if (curUrl.hash !== postLoginRedirectHash) {
91
+ if (history.pushState) {
92
+ // debug.log('Setting window.location.has using pushState')
93
+ history.pushState(null, document.title, postLoginRedirectHash);
94
+ }
95
+ else {
96
+ // debug.warn('Setting window.location.has using location.hash')
97
+ location.hash = postLoginRedirectHash;
98
+ }
99
+ curUrl.hash = postLoginRedirectHash;
100
+ }
101
+ // See https://stackoverflow.com/questions/3870057/how-can-i-update-window-location-hash-without-jumping-the-document
102
+ // window.location.href = curUrl.toString()// @@ See https://developer.mozilla.org/en-US/docs/Web/API/Window/location
103
+ window.localStorage.setItem('preLoginRedirectHash', '');
104
+ }
105
+ // Check to see if already logged in / have the WebID
106
+ let me = (0, authUtil_1.offlineTestID)();
107
+ if (me) {
108
+ return Promise.resolve(setUserCallback ? setUserCallback(me) : me);
109
+ }
110
+ const webId = this.webIdFromSession(this.session.info);
111
+ if (webId) {
112
+ me = this.saveUser(webId);
113
+ }
114
+ if (me) {
115
+ debug.log(`(Logged in as ${me} by authentication)`);
116
+ }
117
+ return Promise.resolve(setUserCallback ? setUserCallback(me) : me);
118
+ }
119
+ /**
120
+ * Saves `webId` in `context.me`
121
+ * @param webId
122
+ * @param context
123
+ *
124
+ * @returns Returns the WebID, after setting it
125
+ */
126
+ saveUser(webId, context) {
127
+ let webIdUri;
128
+ if (webId) {
129
+ webIdUri = (typeof webId === 'string') ? webId : webId.uri;
130
+ const me = (0, rdflib_1.namedNode)(webIdUri);
131
+ if (context) {
132
+ context.me = me;
133
+ }
134
+ return me;
135
+ }
136
+ return null;
137
+ }
138
+ /**
139
+ * @returns {Promise<string|null>} Resolves with WebID URI or null
140
+ */
141
+ webIdFromSession(session) {
142
+ const webId = session?.webId && session.isLoggedIn ? session.webId : null;
143
+ return webId;
144
+ }
145
+ }
146
+ exports.SolidAuthnLogic = SolidAuthnLogic;
147
+ //# sourceMappingURL=SolidAuthnLogic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidAuthnLogic.js","sourceRoot":"","sources":["../../src/authn/SolidAuthnLogic.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { NamedNode } from "rdflib";
1
+ import { NamedNode } from 'rdflib';
2
2
  /**
3
3
  * find a user or app's context as set in window.SolidAppContext
4
4
  * this is a const, not a function, because we have problems to jest mock it otherwise
@@ -35,8 +35,8 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.appContext = void 0;
37
37
  exports.offlineTestID = offlineTestID;
38
- var rdflib_1 = require("rdflib");
39
- var debug = __importStar(require("../util/debug"));
38
+ const rdflib_1 = require("rdflib");
39
+ const debug = __importStar(require("../util/debug"));
40
40
  /**
41
41
  * find a user or app's context as set in window.SolidAppContext
42
42
  * this is a const, not a function, because we have problems to jest mock it otherwise
@@ -44,22 +44,22 @@ var debug = __importStar(require("../util/debug"));
44
44
  * @return {any} - an appContext object
45
45
  */
46
46
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
47
- var appContext = function () {
47
+ const appContext = () => {
48
48
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
49
- var SolidAppContext = window.SolidAppContext;
50
- SolidAppContext || (SolidAppContext = {});
49
+ let { SolidAppContext } = window;
50
+ SolidAppContext ||= {};
51
51
  SolidAppContext.viewingNoAuthPage = false;
52
52
  if (SolidAppContext.noAuth && window.document) {
53
- var currentPage = window.document.location.href;
53
+ const currentPage = window.document.location.href;
54
54
  if (currentPage.startsWith(SolidAppContext.noAuth)) {
55
55
  SolidAppContext.viewingNoAuthPage = true;
56
- var params = new URLSearchParams(window.document.location.search);
56
+ const params = new URLSearchParams(window.document.location.search);
57
57
  if (params) {
58
- var viewedPage = SolidAppContext.viewedPage = params.get('uri') || null;
58
+ let viewedPage = SolidAppContext.viewedPage = params.get('uri') || null;
59
59
  if (viewedPage) {
60
60
  viewedPage = decodeURI(viewedPage);
61
61
  if (!viewedPage.startsWith(SolidAppContext.noAuth)) {
62
- var ary = viewedPage.split(/\//);
62
+ const ary = viewedPage.split(/\//);
63
63
  SolidAppContext.idp = ary[0] + '//' + ary[2];
64
64
  SolidAppContext.viewingNoAuthPage = false;
65
65
  }
@@ -79,7 +79,7 @@ exports.appContext = appContext;
79
79
  */
80
80
  function offlineTestID() {
81
81
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
82
- var $SolidTestEnvironment = window.$SolidTestEnvironment;
82
+ const { $SolidTestEnvironment } = window;
83
83
  if (typeof $SolidTestEnvironment !== 'undefined' &&
84
84
  $SolidTestEnvironment.username) {
85
85
  // Test setup
@@ -91,10 +91,10 @@ function offlineTestID() {
91
91
  if (typeof document !== 'undefined' &&
92
92
  document.location &&
93
93
  ('' + document.location).slice(0, 16) === 'http://localhost') {
94
- var div = document.getElementById('appTarget');
94
+ const div = document.getElementById('appTarget');
95
95
  if (!div)
96
96
  return null;
97
- var id = div.getAttribute('testID');
97
+ const id = div.getAttribute('testID');
98
98
  if (!id)
99
99
  return null;
100
100
  debug.log('Assuming user is ' + id);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authUtil.js","sourceRoot":"","sources":["../../src/authn/authUtil.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,sCA0BC;AArED,mCAAuC;AACvC,qDAAsC;AAEtC;;;;;GAKG;AACH,8DAA8D;AACvD,MAAM,UAAU,GAAG,GAAO,EAAE;IAC/B,8DAA8D;IAC9D,IAAI,EAAE,eAAe,EAAE,GAAQ,MAAM,CAAA;IACrC,eAAe,KAAK,EAAE,CAAA;IACtB,eAAe,CAAC,iBAAiB,GAAG,KAAK,CAAA;IACzC,IAAI,eAAe,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAA;QACjD,IAAI,WAAW,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;YACrD,eAAe,CAAC,iBAAiB,GAAG,IAAI,CAAA;YACxC,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;YACnE,IAAI,MAAM,EAAE,CAAC;gBACT,IAAI,UAAU,GAAG,eAAe,CAAC,UAAU,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAA;gBACvE,IAAI,UAAU,EAAE,CAAC;oBACjB,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,CAAA;oBAClC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC;wBACjD,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;wBAClC,eAAe,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;wBAC5C,eAAe,CAAC,iBAAiB,GAAG,KAAK,CAAA;oBAC7C,CAAC;gBACD,CAAC;YACL,CAAC;QACD,CAAC;IACL,CAAC;IACD,OAAO,eAAe,CAAA;AAC1B,CAAC,CAAA;AAxBY,QAAA,UAAU,cAwBtB;AAED;;;;;;GAMG;AACH,SAAgB,aAAa;IACzB,+DAA+D;IAC/D,MAAM,EAAE,qBAAqB,EAAE,GAAQ,MAAM,CAAA;IAC7C,IACE,OAAO,qBAAqB,KAAK,WAAW;QAC5C,qBAAqB,CAAC,QAAQ,EAC9B,CAAC;QACD,aAAa;QACb,KAAK,CAAC,GAAG,CAAC,uBAAuB,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAA;QACnE,OAAO,IAAA,YAAG,EAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAA;IAC5C,CAAC;IACD,oFAAoF;IACpF,8HAA8H;IAC9H,IACE,OAAO,QAAQ,KAAK,WAAW;QAC/B,QAAQ,CAAC,QAAQ;QACjB,CAAC,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,kBAAkB,EAC5D,CAAC;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;QAChD,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAA;QACrB,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAA;QACrC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAA;QACpB,KAAK,CAAC,GAAG,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAA;QACnC,OAAO,IAAA,YAAG,EAAC,EAAE,CAAC,CAAA;IAChB,CAAC;IACD,OAAO,IAAI,CAAA;AACf,CAAC"}
@@ -1,3 +1,3 @@
1
- import { ChatLogic } from "../types";
1
+ import { ChatLogic } from '../types';
2
2
  export declare function createChatLogic(store: any, profileLogic: any): ChatLogic;
3
3
  //# sourceMappingURL=chatLogic.d.ts.map
@@ -0,0 +1,160 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createChatLogic = createChatLogic;
4
+ const rdflib_1 = require("rdflib");
5
+ const ns_1 = require("../util/ns");
6
+ const utils_1 = require("../util/utils");
7
+ const CHAT_LOCATION_IN_CONTAINER = 'index.ttl#this';
8
+ function createChatLogic(store, profileLogic) {
9
+ const ns = ns_1.ns;
10
+ async function setAcl(chatContainer, me, invitee) {
11
+ // Some servers don't present a Link http response header
12
+ // if the container doesn't exist yet, so refetch the container
13
+ // now that it has been created:
14
+ await store.fetcher.load(chatContainer);
15
+ // FIXME: check the Why value on this quad:
16
+ const chatAclDoc = store.any(chatContainer, new rdflib_1.NamedNode('http://www.iana.org/assignments/link-relations/acl'));
17
+ if (!chatAclDoc) {
18
+ throw new Error('Chat ACL doc not found!');
19
+ }
20
+ const aclBody = `
21
+ @prefix acl: <http://www.w3.org/ns/auth/acl#>.
22
+ <#owner>
23
+ a acl:Authorization;
24
+ acl:agent <${me.value}>;
25
+ acl:accessTo <.>;
26
+ acl:default <.>;
27
+ acl:mode
28
+ acl:Read, acl:Write, acl:Control.
29
+ <#invitee>
30
+ a acl:Authorization;
31
+ acl:agent <${invitee.value}>;
32
+ acl:accessTo <.>;
33
+ acl:default <.>;
34
+ acl:mode
35
+ acl:Read, acl:Append.
36
+ `;
37
+ await store.fetcher.webOperation('PUT', chatAclDoc.value, {
38
+ data: aclBody,
39
+ contentType: 'text/turtle',
40
+ });
41
+ }
42
+ async function addToPrivateTypeIndex(chatThing, me) {
43
+ // Add to private type index
44
+ const privateTypeIndex = store.any(me, ns.solid('privateTypeIndex'));
45
+ if (!privateTypeIndex) {
46
+ throw new Error('Private type index not found!');
47
+ }
48
+ await store.fetcher.load(privateTypeIndex);
49
+ const reg = (0, utils_1.newThing)(privateTypeIndex);
50
+ const ins = [
51
+ (0, rdflib_1.st)(reg, ns.rdf('type'), ns.solid('TypeRegistration'), privateTypeIndex.doc()),
52
+ (0, rdflib_1.st)(reg, ns.solid('forClass'), ns.meeting('LongChat'), privateTypeIndex.doc()),
53
+ (0, rdflib_1.st)(reg, ns.solid('instance'), chatThing, privateTypeIndex.doc()),
54
+ ];
55
+ await new Promise((resolve, reject) => {
56
+ store.updater.update([], ins, function (_uri, ok, errm) {
57
+ if (!ok) {
58
+ reject(new Error(errm));
59
+ }
60
+ else {
61
+ resolve(null);
62
+ }
63
+ });
64
+ });
65
+ }
66
+ async function findChat(invitee) {
67
+ const me = await profileLogic.loadMe();
68
+ const podRoot = await profileLogic.getPodRoot(me);
69
+ const chatContainer = (0, utils_1.determineChatContainer)(invitee, podRoot);
70
+ let exists = true;
71
+ try {
72
+ await store.fetcher.load(new rdflib_1.NamedNode(chatContainer.value + 'index.ttl#this'));
73
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
74
+ }
75
+ catch (e) {
76
+ exists = false;
77
+ }
78
+ return { me, chatContainer, exists };
79
+ }
80
+ async function createChatThing(chatContainer, me) {
81
+ const created = await mintNew({
82
+ me,
83
+ newBase: chatContainer.value,
84
+ });
85
+ return created.newInstance;
86
+ }
87
+ function mintNew(newPaneOptions) {
88
+ const kb = store;
89
+ const updater = kb.updater;
90
+ if (newPaneOptions.me && !newPaneOptions.me.uri) {
91
+ throw new Error('chat mintNew: Invalid userid ' + newPaneOptions.me);
92
+ }
93
+ const newInstance = (newPaneOptions.newInstance =
94
+ newPaneOptions.newInstance ||
95
+ kb.sym(newPaneOptions.newBase + CHAT_LOCATION_IN_CONTAINER));
96
+ const newChatDoc = newInstance.doc();
97
+ kb.add(newInstance, ns.rdf('type'), ns.meeting('LongChat'), newChatDoc);
98
+ kb.add(newInstance, ns.dc('title'), 'Chat channel', newChatDoc);
99
+ kb.add(newInstance, ns.dc('created'), (0, rdflib_1.term)(new Date(Date.now())), newChatDoc);
100
+ if (newPaneOptions.me) {
101
+ kb.add(newInstance, ns.dc('author'), newPaneOptions.me, newChatDoc);
102
+ }
103
+ return new Promise(function (resolve, reject) {
104
+ updater?.put(newChatDoc, kb.statementsMatching(undefined, undefined, undefined, newChatDoc), 'text/turtle', function (uri2, ok, message) {
105
+ if (ok) {
106
+ resolve({
107
+ ...newPaneOptions,
108
+ newInstance,
109
+ });
110
+ }
111
+ else {
112
+ reject(new Error('FAILED to save new chat channel at: ' + uri2 + ' : ' + message));
113
+ }
114
+ });
115
+ });
116
+ }
117
+ /**
118
+ * Find (and optionally create) an individual chat between the current user and the given invitee
119
+ * @param invitee - The person to chat with
120
+ * @param createIfMissing - Whether the chat should be created, if missing
121
+ * @returns null if missing, or a node referring to an already existing chat, or the newly created chat
122
+ */
123
+ async function getChat(invitee, createIfMissing = true) {
124
+ const { me, chatContainer, exists } = await findChat(invitee);
125
+ if (exists) {
126
+ return new rdflib_1.NamedNode(chatContainer.value + CHAT_LOCATION_IN_CONTAINER);
127
+ }
128
+ if (createIfMissing) {
129
+ const chatThing = await createChatThing(chatContainer, me);
130
+ await sendInvite(invitee, chatThing);
131
+ await setAcl(chatContainer, me, invitee);
132
+ await addToPrivateTypeIndex(chatThing, me);
133
+ return chatThing;
134
+ }
135
+ return null;
136
+ }
137
+ async function sendInvite(invitee, chatThing) {
138
+ await store.fetcher.load(invitee.doc());
139
+ const inviteeInbox = store.any(invitee, ns.ldp('inbox'), undefined, invitee.doc());
140
+ if (!inviteeInbox) {
141
+ throw new Error(`Invitee inbox not found! ${invitee.value}`);
142
+ }
143
+ const inviteBody = `
144
+ <> a <http://www.w3.org/ns/pim/meeting#LongChatInvite> ;
145
+ ${ns.rdf('seeAlso')} <${chatThing.value}> .
146
+ `;
147
+ const inviteResponse = await store.fetcher?.webOperation('POST', inviteeInbox.value, {
148
+ data: inviteBody,
149
+ contentType: 'text/turtle',
150
+ });
151
+ const locationStr = inviteResponse?.headers.get('location');
152
+ if (!locationStr) {
153
+ throw new Error(`Invite sending returned a ${inviteResponse?.status}`);
154
+ }
155
+ }
156
+ return {
157
+ setAcl, addToPrivateTypeIndex, findChat, createChatThing, getChat, sendInvite, mintNew
158
+ };
159
+ }
160
+ //# sourceMappingURL=chatLogic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatLogic.js","sourceRoot":"","sources":["../../src/chat/chatLogic.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { InboxLogic } from "../types";
1
+ import { InboxLogic } from '../types';
2
2
  export declare function createInboxLogic(store: any, profileLogic: any, utilityLogic: any, containerLogic: any, aclLogic: any): InboxLogic;
3
3
  //# sourceMappingURL=inboxLogic.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inboxLogic.d.ts","sourceRoot":"","sources":["../../src/inbox/inboxLogic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAItC,wBAAgB,gBAAgB,CAAC,KAAK,KAAA,EAAE,YAAY,KAAA,EAAE,YAAY,KAAA,EAAE,cAAc,KAAA,EAAE,QAAQ,KAAA,GAAG,UAAU,CAqDxG"}
1
+ {"version":3,"file":"inboxLogic.d.ts","sourceRoot":"","sources":["../../src/inbox/inboxLogic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAIrC,wBAAgB,gBAAgB,CAAC,KAAK,KAAA,EAAE,YAAY,KAAA,EAAE,YAAY,KAAA,EAAE,cAAc,KAAA,EAAE,QAAQ,KAAA,GAAG,UAAU,CAqDxG"}