solid-logic 3.1.1-f0ed025 → 3.1.1-f480b7d

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 (153) hide show
  1. package/README.md +105 -2
  2. package/dist/acl/aclLogic.d.ts +5 -0
  3. package/{lib → dist}/acl/aclLogic.d.ts.map +1 -1
  4. package/dist/acl/aclLogic.js +122 -0
  5. package/dist/acl/aclLogic.js.map +1 -0
  6. package/{lib → dist}/authSession/authSession.js +1 -1
  7. package/{lib → dist}/authSession/authSession.js.map +1 -1
  8. package/{lib → dist}/authn/SolidAuthnLogic.d.ts +3 -3
  9. package/{lib → dist}/authn/SolidAuthnLogic.d.ts.map +1 -1
  10. package/dist/authn/SolidAuthnLogic.js +147 -0
  11. package/dist/authn/SolidAuthnLogic.js.map +1 -0
  12. package/{lib → dist}/authn/authUtil.d.ts +1 -1
  13. package/{lib → dist}/authn/authUtil.js +12 -12
  14. package/dist/authn/authUtil.js.map +1 -0
  15. package/{lib → dist}/chat/chatLogic.d.ts +1 -1
  16. package/dist/chat/chatLogic.js +160 -0
  17. package/dist/chat/chatLogic.js.map +1 -0
  18. package/{lib → dist}/inbox/inboxLogic.d.ts +1 -1
  19. package/{lib → dist}/inbox/inboxLogic.d.ts.map +1 -1
  20. package/dist/inbox/inboxLogic.js +55 -0
  21. package/dist/inbox/inboxLogic.js.map +1 -0
  22. package/{lib → dist}/index.d.ts +1 -1
  23. package/{lib → dist}/index.d.ts.map +1 -1
  24. package/{lib → dist}/index.js +4 -4
  25. package/{lib → dist}/index.js.map +1 -1
  26. package/dist/issuer/issuerLogic.js +40 -0
  27. package/dist/issuer/issuerLogic.js.map +1 -0
  28. package/{lib → dist}/logic/CustomError.d.ts.map +1 -1
  29. package/dist/logic/CustomError.js +38 -0
  30. package/dist/logic/CustomError.js.map +1 -0
  31. package/dist/logic/solidLogic.d.ts +6 -0
  32. package/{lib → dist}/logic/solidLogic.d.ts.map +1 -1
  33. package/{lib → dist}/logic/solidLogic.js +32 -33
  34. package/dist/logic/solidLogic.js.map +1 -0
  35. package/dist/logic/solidLogicSingleton.js +54 -0
  36. package/dist/logic/solidLogicSingleton.js.map +1 -0
  37. package/{lib → dist}/profile/profileLogic.d.ts +1 -1
  38. package/dist/profile/profileLogic.js +165 -0
  39. package/dist/profile/profileLogic.js.map +1 -0
  40. package/dist/solid-logic.esm.external.js +12725 -0
  41. package/dist/solid-logic.esm.external.js.map +1 -0
  42. package/dist/solid-logic.esm.external.min.js +32 -0
  43. package/dist/solid-logic.esm.external.min.js.map +1 -0
  44. package/dist/solid-logic.js +12802 -0
  45. package/dist/solid-logic.js.map +1 -0
  46. package/dist/solid-logic.min.js +32 -0
  47. package/dist/solid-logic.min.js.map +1 -0
  48. package/dist/typeIndex/typeIndexLogic.js +222 -0
  49. package/dist/typeIndex/typeIndexLogic.js.map +1 -0
  50. package/{lib → dist}/types.d.ts +2 -2
  51. package/{lib → dist}/util/containerLogic.d.ts +1 -1
  52. package/{lib → dist}/util/containerLogic.d.ts.map +1 -1
  53. package/{src/util/containerLogic.ts → dist/util/containerLogic.js} +20 -25
  54. package/dist/util/containerLogic.js.map +1 -0
  55. package/dist/util/debug.d.ts.map +1 -0
  56. package/dist/util/debug.js +20 -0
  57. package/dist/util/debug.js.map +1 -0
  58. package/{lib → dist}/util/ns.js +2 -2
  59. package/{lib → dist}/util/ns.js.map +1 -1
  60. package/{lib → dist}/util/utilityLogic.d.ts +1 -1
  61. package/{lib → dist}/util/utilityLogic.d.ts.map +1 -1
  62. package/dist/util/utilityLogic.js +180 -0
  63. package/dist/util/utilityLogic.js.map +1 -0
  64. package/{lib → dist}/util/utils.d.ts +1 -1
  65. package/{lib → dist}/util/utils.d.ts.map +1 -1
  66. package/dist/util/utils.js +47 -0
  67. package/dist/util/utils.js.map +1 -0
  68. package/dist/versionInfo.js +33 -0
  69. package/dist/versionInfo.js.map +1 -0
  70. package/package.json +50 -22
  71. package/eslint.config.js +0 -29
  72. package/jest.config.js +0 -10
  73. package/lib/acl/aclLogic.d.ts +0 -5
  74. package/lib/acl/aclLogic.js +0 -168
  75. package/lib/acl/aclLogic.js.map +0 -1
  76. package/lib/authn/SolidAuthnLogic.js +0 -193
  77. package/lib/authn/SolidAuthnLogic.js.map +0 -1
  78. package/lib/authn/authUtil.js.map +0 -1
  79. package/lib/chat/chatLogic.js +0 -272
  80. package/lib/chat/chatLogic.js.map +0 -1
  81. package/lib/inbox/inboxLogic.js +0 -139
  82. package/lib/inbox/inboxLogic.js.map +0 -1
  83. package/lib/issuer/issuerLogic.js +0 -52
  84. package/lib/issuer/issuerLogic.js.map +0 -1
  85. package/lib/logic/CustomError.js +0 -89
  86. package/lib/logic/CustomError.js.map +0 -1
  87. package/lib/logic/solidLogic.d.ts +0 -6
  88. package/lib/logic/solidLogic.js.map +0 -1
  89. package/lib/logic/solidLogicSingleton.js +0 -94
  90. package/lib/logic/solidLogicSingleton.js.map +0 -1
  91. package/lib/profile/profileLogic.js +0 -259
  92. package/lib/profile/profileLogic.js.map +0 -1
  93. package/lib/typeIndex/typeIndexLogic.js +0 -399
  94. package/lib/typeIndex/typeIndexLogic.js.map +0 -1
  95. package/lib/util/containerLogic.js +0 -102
  96. package/lib/util/containerLogic.js.map +0 -1
  97. package/lib/util/debug.d.ts.map +0 -1
  98. package/lib/util/debug.js +0 -40
  99. package/lib/util/debug.js.map +0 -1
  100. package/lib/util/utilityLogic.js +0 -284
  101. package/lib/util/utilityLogic.js.map +0 -1
  102. package/lib/util/utils.js +0 -47
  103. package/lib/util/utils.js.map +0 -1
  104. package/src/acl/aclLogic.ts +0 -156
  105. package/src/authSession/authSession.ts +0 -7
  106. package/src/authn/SolidAuthnLogic.ts +0 -127
  107. package/src/authn/authUtil.ts +0 -70
  108. package/src/chat/chatLogic.ts +0 -226
  109. package/src/inbox/inboxLogic.ts +0 -59
  110. package/src/index.ts +0 -22
  111. package/src/issuer/issuerLogic.ts +0 -40
  112. package/src/logic/CustomError.ts +0 -29
  113. package/src/logic/solidLogic.ts +0 -76
  114. package/src/logic/solidLogicSingleton.ts +0 -20
  115. package/src/profile/profileLogic.ts +0 -125
  116. package/src/typeIndex/typeIndexLogic.ts +0 -198
  117. package/src/types.ts +0 -122
  118. package/src/util/debug.ts +0 -20
  119. package/src/util/ns.ts +0 -5
  120. package/src/util/utilityLogic.ts +0 -156
  121. package/src/util/utils.ts +0 -52
  122. package/test/aclLogic.test.ts +0 -24
  123. package/test/authUtil.test.ts +0 -23
  124. package/test/chatLogic.test.ts +0 -316
  125. package/test/container.test.ts +0 -58
  126. package/test/helpers/dataSetup.ts +0 -134
  127. package/test/helpers/setup.ts +0 -17
  128. package/test/inboxLogic.test.ts +0 -218
  129. package/test/logic.test.ts +0 -29
  130. package/test/profileLogic.test.ts +0 -246
  131. package/test/solidAuthLogic.test.ts +0 -49
  132. package/test/typeIndexLogic.test.ts +0 -255
  133. package/test/utilityLogic.test.ts +0 -179
  134. package/test/utils.test.ts +0 -32
  135. package/tsconfig.json +0 -75
  136. /package/{lib → dist}/authSession/authSession.d.ts +0 -0
  137. /package/{lib → dist}/authSession/authSession.d.ts.map +0 -0
  138. /package/{lib → dist}/authn/authUtil.d.ts.map +0 -0
  139. /package/{lib → dist}/chat/chatLogic.d.ts.map +0 -0
  140. /package/{lib → dist}/issuer/issuerLogic.d.ts +0 -0
  141. /package/{lib → dist}/issuer/issuerLogic.d.ts.map +0 -0
  142. /package/{lib → dist}/logic/CustomError.d.ts +0 -0
  143. /package/{lib → dist}/logic/solidLogicSingleton.d.ts +0 -0
  144. /package/{lib → dist}/logic/solidLogicSingleton.d.ts.map +0 -0
  145. /package/{lib → dist}/profile/profileLogic.d.ts.map +0 -0
  146. /package/{lib → dist}/typeIndex/typeIndexLogic.d.ts +0 -0
  147. /package/{lib → dist}/typeIndex/typeIndexLogic.d.ts.map +0 -0
  148. /package/{lib → dist}/types.d.ts.map +0 -0
  149. /package/{lib → dist}/types.js +0 -0
  150. /package/{lib → dist}/types.js.map +0 -0
  151. /package/{lib → dist}/util/debug.d.ts +0 -0
  152. /package/{lib → dist}/util/ns.d.ts +0 -0
  153. /package/{lib → dist}/util/ns.d.ts.map +0 -0
package/README.md CHANGED
@@ -1,7 +1,110 @@
1
1
  # solid-logic
2
- Core business logic of SolidOS
3
2
 
4
- # Adendum
3
+ <img src="https://raw.githubusercontent.com/solid/community-server/main/templates/images/solid.svg" alt="[Solid logo]" height="150" align="right"/>
4
+
5
+ [![MIT license](https://img.shields.io/github/license/solidos/solidos)](https://github.com/solidos/solidos/blob/main/LICENSE.md)
6
+
7
+
8
+ Core business logic of SolidOS which can be used for any webapp as well.
9
+
10
+
11
+ # Usage
12
+
13
+ ## Install via npm
14
+
15
+ ```sh
16
+ npm install solid-logic
17
+ ```
18
+
19
+ ### Import in your project (ESM/TypeScript)
20
+
21
+ ```js
22
+ import { someFunction } from 'solid-logic';
23
+ ```
24
+
25
+ ## Use directly in a browser
26
+ Both UMD and ESM bundles take rdflib as external, this means you need to install it yourself, separately.
27
+
28
+ ## Files
29
+ - For browser UMD, without rdflib: `dist/solid-logic.js` (global `window.SolidLogic`)
30
+ - For browser ESM, without rdflib: `dist/solid-logic.esm.external.js` (import as module)
31
+ - UMD have also chunked files.
32
+ - both version also containe minified versions.
33
+
34
+
35
+ ### UMD bundle (global variable)
36
+
37
+ ```html
38
+ <!-- Load dependencies first -->
39
+ <script src="https://unpkg.com/rdflib/dist/rdflib.min.js"></script>
40
+ <!-- or -->
41
+ <!-- script src="https://cdn.jsdelivr.net/npm/rdflib/dist/rdflib.min.js"></script -->
42
+ <!-- Load solid-logic UMD bundle -->
43
+ <script src="https://unpkg.com/solid-logic/dist/solid-logic.min.js"></script>
44
+ <!-- or -->
45
+ <!-- script src="https://cdn.jsdelivr.net/npm/solid-logic/dist/solid-logic.min.js"></script -->
46
+ <!-- or -->
47
+ <!-- script src="dist/solid-logic.js"></script -->
48
+ <script>
49
+ // Access via global variable
50
+ const logic = window.$rdf;
51
+ const logic = window.SolidLogic;
52
+ // Example usage
53
+ // logic.someFunction(...)
54
+ </script>
55
+ ```
56
+
57
+
58
+ ### ESM bundle (import as module)
59
+
60
+ ```html
61
+ <script type="module">
62
+ import * as $rdf from 'https://esm.sh/rdflib'
63
+ import { someFunction } from 'https://esm.sh/solid-logic'
64
+
65
+ // Example usage
66
+ // someFunction(...)
67
+ </script>
68
+ ```
69
+
70
+ or
71
+
72
+ ### ESM bundle with import map (bare specifiers)
73
+
74
+ ```html
75
+ <script type="importmap">
76
+ {
77
+ "imports": {
78
+ "rdflib": "https://esm.sh/rdflib",
79
+ "solid-logic": "https://esm.sh/solid-logic"
80
+ }
81
+ }
82
+ </script>
83
+ <script type="module">
84
+ import * as $rdf from 'rdflib'
85
+ import { someFunction } from 'solid-logic'
86
+
87
+ // Example usage
88
+ // someFunction(...)
89
+ </script>
90
+ ```
91
+
92
+ # How to develop
93
+
94
+ Check the scripts in the `package.json` for build, watch, lint and test.
95
+
96
+ # Used stack
97
+
98
+ * TypeScript + Babel
99
+ * Jest
100
+ * ESLint
101
+ * Webpack
102
+
103
+ # How to release
104
+
105
+ Change version and push directly to main. This will trigger the npm release latest script in CI.
106
+
107
+ # History
5
108
 
6
109
  Solid-logic was a move to separate business logic from UI functionality so that people using different UI frameworks could use logic code.
7
110
 
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAkD;AAClD,yCAAsD;AACtD,qDAAsC;AACtC,mFAAoE;AAGpE,MAAa,eAAe;IAClB,OAAO,CAAS;IAExB,YAAY,gBAAyB;QACnC,IAAI,CAAC,OAAO,GAAG,gBAAgB,CAAA;IACjC,CAAC;IAED,6FAA6F;IAC7F,IAAI,WAAW,KAAa,OAAO,IAAI,CAAC,OAAO,CAAA,CAAC,CAAC;IAEjD,WAAW;QACT,MAAM,GAAG,GAAG,IAAA,qBAAU,GAAE,CAAA;QACxB,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC;YAC1B,OAAO,IAAA,YAAG,EAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACvB,CAAC;QACD,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACzG,OAAO,IAAA,YAAG,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACrC,CAAC;QACD,OAAO,IAAA,wBAAa,GAAE,CAAA,CAAC,sBAAsB;IAC/C,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,SAAS,CACb,eAA6C;QAE7C,yCAAyC;QACzC,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAA;QAC/D,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAA;QAC3E,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,mCAAM,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,EAAE;YACtD,KAAK,CAAC,GAAG,CAAC,uBAAuB,GAAG,EAAE,CAAC,CAAA;YACvC,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,GAAG;gBAAE,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAA;QAC/E,CAAC,CAAC,CAAA;QAEF;;WAEG;QACH,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACjD,WAAW,CAAC,IAAI,GAAG,EAAE,CAAA;QACrB,MAAM,IAAI,CAAC,OAAO;aACf,sBAAsB,CAAC;YACtB,sBAAsB,EAAE,IAAI;YAC5B,GAAG,EAAE,WAAW,CAAC,IAAI;SACtB,CAAC,CAAA;QAEJ,qDAAqD;QACrD,MAAM,qBAAqB,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAA;QACjF,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;YAC5C,IAAI,MAAM,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBAC1C,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;oBACtB,2DAA2D;oBAC3D,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,EAAE,qBAAqB,CAAC,CAAA;gBAChE,CAAC;qBAAM,CAAC;oBACN,gEAAgE;oBAChE,QAAQ,CAAC,IAAI,GAAG,qBAAqB,CAAA;gBACvC,CAAC;gBACD,MAAM,CAAC,IAAI,GAAG,qBAAqB,CAAA;YACrC,CAAC;YACD,qHAAqH;YACrH,qHAAqH;YACrH,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAA;QACzD,CAAC;QAED,qDAAqD;QACrD,IAAI,EAAE,GAAG,IAAA,wBAAa,GAAE,CAAA;QACxB,IAAI,EAAE,EAAE,CAAC;YACP,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;QACpE,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACtD,IAAI,KAAK,EAAE,CAAC;YACV,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC;QAED,IAAI,EAAE,EAAE,CAAC;YACP,KAAK,CAAC,GAAG,CAAC,iBAAiB,EAAE,qBAAqB,CAAC,CAAA;QACrD,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACpE,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CACN,KAAgC,EAChC,OAA+B;QAE/B,IAAI,QAAgB,CAAA;QACpB,IAAI,KAAK,EAAE,CAAC;YACV,QAAQ,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAA;YAC1D,MAAM,EAAE,GAAG,IAAA,kBAAS,EAAC,QAAQ,CAAC,CAAA;YAC9B,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,EAAE,GAAG,EAAE,CAAA;YACjB,CAAC;YACD,OAAO,EAAE,CAAA;QACX,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAE,OAAiD;QACjE,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QACzE,OAAO,KAAK,CAAA;IACd,CAAC;CAEF;AAxHD,0CAwHC"}
@@ -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