solid-logic 3.1.1-5f98c0c → 3.1.1-6b04155

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 (154) hide show
  1. package/README.md +103 -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.d.ts +4 -0
  36. package/{lib → dist}/logic/solidLogicSingleton.d.ts.map +1 -1
  37. package/dist/logic/solidLogicSingleton.js +67 -0
  38. package/dist/logic/solidLogicSingleton.js.map +1 -0
  39. package/{lib → dist}/profile/profileLogic.d.ts +1 -1
  40. package/dist/profile/profileLogic.js +165 -0
  41. package/dist/profile/profileLogic.js.map +1 -0
  42. package/dist/solid-logic.esm.js +12750 -0
  43. package/dist/solid-logic.esm.js.map +1 -0
  44. package/dist/solid-logic.esm.min.js +32 -0
  45. package/dist/solid-logic.esm.min.js.map +1 -0
  46. package/dist/solid-logic.js +12827 -0
  47. package/dist/solid-logic.js.map +1 -0
  48. package/dist/solid-logic.min.js +32 -0
  49. package/dist/solid-logic.min.js.map +1 -0
  50. package/dist/typeIndex/typeIndexLogic.js +222 -0
  51. package/dist/typeIndex/typeIndexLogic.js.map +1 -0
  52. package/{lib → dist}/types.d.ts +2 -2
  53. package/{lib → dist}/util/containerLogic.d.ts +1 -1
  54. package/{lib → dist}/util/containerLogic.d.ts.map +1 -1
  55. package/{src/util/containerLogic.ts → dist/util/containerLogic.js} +20 -25
  56. package/dist/util/containerLogic.js.map +1 -0
  57. package/dist/util/debug.d.ts.map +1 -0
  58. package/dist/util/debug.js +20 -0
  59. package/dist/util/debug.js.map +1 -0
  60. package/{lib → dist}/util/ns.js +2 -2
  61. package/{lib → dist}/util/ns.js.map +1 -1
  62. package/{lib → dist}/util/utilityLogic.d.ts +1 -1
  63. package/{lib → dist}/util/utilityLogic.d.ts.map +1 -1
  64. package/dist/util/utilityLogic.js +180 -0
  65. package/dist/util/utilityLogic.js.map +1 -0
  66. package/{lib → dist}/util/utils.d.ts +1 -1
  67. package/{lib → dist}/util/utils.d.ts.map +1 -1
  68. package/dist/util/utils.js +47 -0
  69. package/dist/util/utils.js.map +1 -0
  70. package/dist/versionInfo.js +33 -0
  71. package/dist/versionInfo.js.map +1 -0
  72. package/package.json +50 -22
  73. package/eslint.config.js +0 -29
  74. package/jest.config.js +0 -10
  75. package/lib/acl/aclLogic.d.ts +0 -5
  76. package/lib/acl/aclLogic.js +0 -168
  77. package/lib/acl/aclLogic.js.map +0 -1
  78. package/lib/authn/SolidAuthnLogic.js +0 -193
  79. package/lib/authn/SolidAuthnLogic.js.map +0 -1
  80. package/lib/authn/authUtil.js.map +0 -1
  81. package/lib/chat/chatLogic.js +0 -272
  82. package/lib/chat/chatLogic.js.map +0 -1
  83. package/lib/inbox/inboxLogic.js +0 -139
  84. package/lib/inbox/inboxLogic.js.map +0 -1
  85. package/lib/issuer/issuerLogic.js +0 -52
  86. package/lib/issuer/issuerLogic.js.map +0 -1
  87. package/lib/logic/CustomError.js +0 -89
  88. package/lib/logic/CustomError.js.map +0 -1
  89. package/lib/logic/solidLogic.d.ts +0 -6
  90. package/lib/logic/solidLogic.js.map +0 -1
  91. package/lib/logic/solidLogicSingleton.d.ts +0 -3
  92. package/lib/logic/solidLogicSingleton.js +0 -94
  93. package/lib/logic/solidLogicSingleton.js.map +0 -1
  94. package/lib/profile/profileLogic.js +0 -259
  95. package/lib/profile/profileLogic.js.map +0 -1
  96. package/lib/typeIndex/typeIndexLogic.js +0 -399
  97. package/lib/typeIndex/typeIndexLogic.js.map +0 -1
  98. package/lib/util/containerLogic.js +0 -102
  99. package/lib/util/containerLogic.js.map +0 -1
  100. package/lib/util/debug.d.ts.map +0 -1
  101. package/lib/util/debug.js +0 -40
  102. package/lib/util/debug.js.map +0 -1
  103. package/lib/util/utilityLogic.js +0 -284
  104. package/lib/util/utilityLogic.js.map +0 -1
  105. package/lib/util/utils.js +0 -47
  106. package/lib/util/utils.js.map +0 -1
  107. package/src/acl/aclLogic.ts +0 -156
  108. package/src/authSession/authSession.ts +0 -7
  109. package/src/authn/SolidAuthnLogic.ts +0 -127
  110. package/src/authn/authUtil.ts +0 -70
  111. package/src/chat/chatLogic.ts +0 -226
  112. package/src/inbox/inboxLogic.ts +0 -59
  113. package/src/index.ts +0 -22
  114. package/src/issuer/issuerLogic.ts +0 -40
  115. package/src/logic/CustomError.ts +0 -29
  116. package/src/logic/solidLogic.ts +0 -76
  117. package/src/logic/solidLogicSingleton.ts +0 -20
  118. package/src/profile/profileLogic.ts +0 -125
  119. package/src/typeIndex/typeIndexLogic.ts +0 -198
  120. package/src/types.ts +0 -122
  121. package/src/util/debug.ts +0 -20
  122. package/src/util/ns.ts +0 -5
  123. package/src/util/utilityLogic.ts +0 -156
  124. package/src/util/utils.ts +0 -52
  125. package/test/aclLogic.test.ts +0 -24
  126. package/test/authUtil.test.ts +0 -23
  127. package/test/chatLogic.test.ts +0 -316
  128. package/test/container.test.ts +0 -58
  129. package/test/helpers/dataSetup.ts +0 -134
  130. package/test/helpers/setup.ts +0 -17
  131. package/test/inboxLogic.test.ts +0 -218
  132. package/test/logic.test.ts +0 -29
  133. package/test/profileLogic.test.ts +0 -246
  134. package/test/solidAuthLogic.test.ts +0 -49
  135. package/test/typeIndexLogic.test.ts +0 -255
  136. package/test/utilityLogic.test.ts +0 -179
  137. package/test/utils.test.ts +0 -32
  138. package/tsconfig.json +0 -75
  139. /package/{lib → dist}/authSession/authSession.d.ts +0 -0
  140. /package/{lib → dist}/authSession/authSession.d.ts.map +0 -0
  141. /package/{lib → dist}/authn/authUtil.d.ts.map +0 -0
  142. /package/{lib → dist}/chat/chatLogic.d.ts.map +0 -0
  143. /package/{lib → dist}/issuer/issuerLogic.d.ts +0 -0
  144. /package/{lib → dist}/issuer/issuerLogic.d.ts.map +0 -0
  145. /package/{lib → dist}/logic/CustomError.d.ts +0 -0
  146. /package/{lib → dist}/profile/profileLogic.d.ts.map +0 -0
  147. /package/{lib → dist}/typeIndex/typeIndexLogic.d.ts +0 -0
  148. /package/{lib → dist}/typeIndex/typeIndexLogic.d.ts.map +0 -0
  149. /package/{lib → dist}/types.d.ts.map +0 -0
  150. /package/{lib → dist}/types.js +0 -0
  151. /package/{lib → dist}/types.js.map +0 -0
  152. /package/{lib → dist}/util/debug.d.ts +0 -0
  153. /package/{lib → dist}/util/ns.d.ts +0 -0
  154. /package/{lib → dist}/util/ns.d.ts.map +0 -0
package/README.md CHANGED
@@ -1,7 +1,108 @@
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 has also chunked files.
32
+ - both versions also contain minified versions.
33
+
34
+
35
+ ### UMD bundle (global variable)
36
+
37
+ ```html
38
+ <!-- Load dependencies first -->
39
+ <script src="https://cdn.jsdelivr.net/npm/rdflib/dist/rdflib.min.js"></script>
40
+ <!-- Load solid-logic UMD bundle -->
41
+ <script src="https://unpkg.com/solid-logic/dist/solid-logic.min.js"></script>
42
+ <!-- or -->
43
+ <!-- script src="https://cdn.jsdelivr.net/npm/solid-logic/dist/solid-logic.min.js"></script -->
44
+ <!-- or -->
45
+ <!-- script src="dist/solid-logic.js"></script -->
46
+ <script>
47
+ // Access via global variable
48
+ const rdflib = window.$rdf;
49
+ const logic = window.SolidLogic;
50
+ // Example usage
51
+ // logic.someFunction(...)
52
+ </script>
53
+ ```
54
+
55
+
56
+ ### ESM bundle (import as module)
57
+
58
+ ```html
59
+ <script type="module">
60
+ import * as $rdf from 'https://esm.sh/rdflib'
61
+ import { someFunction } from 'https://esm.sh/solid-logic'
62
+
63
+ // Example usage
64
+ // someFunction(...)
65
+ </script>
66
+ ```
67
+
68
+ or
69
+
70
+ ### ESM bundle with import map (bare specifiers)
71
+
72
+ ```html
73
+ <script type="importmap">
74
+ {
75
+ "imports": {
76
+ "rdflib": "https://esm.sh/rdflib",
77
+ "solid-logic": "https://esm.sh/solid-logic"
78
+ }
79
+ }
80
+ </script>
81
+ <script type="module">
82
+ import * as $rdf from 'rdflib'
83
+ import { someFunction } from 'solid-logic'
84
+
85
+ // Example usage
86
+ // someFunction(...)
87
+ </script>
88
+ ```
89
+
90
+ # How to develop
91
+
92
+ Check the scripts in the `package.json` for build, watch, lint and test.
93
+
94
+ # Used stack
95
+
96
+ * TypeScript + Babel
97
+ * Jest
98
+ * ESLint
99
+ * Webpack
100
+
101
+ # How to release
102
+
103
+ Change version and push directly to main. This will trigger the npm release latest script in CI.
104
+
105
+ # History
5
106
 
6
107
  Solid-logic was a move to separate business logic from UI functionality so that people using different UI frameworks could use logic code.
7
108
 
@@ -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