solid-logic 1.3.12 → 1.3.13-050e3359

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 (143) hide show
  1. package/.babelrc +0 -0
  2. package/.eslintrc.js +0 -0
  3. package/.github/workflows/ci.yml +39 -5
  4. package/.github/workflows/release.yml +0 -0
  5. package/LICENSE +0 -0
  6. package/README.md +0 -0
  7. package/jest.config.js +4 -1
  8. package/lib/acl/aclLogic.d.ts +32 -0
  9. package/lib/acl/aclLogic.d.ts.map +1 -0
  10. package/lib/acl/aclLogic.js +132 -0
  11. package/lib/acl/aclLogic.js.map +1 -0
  12. package/lib/authSession/authSession.d.ts +3 -0
  13. package/lib/authSession/authSession.d.ts.map +1 -0
  14. package/lib/authSession/authSession.js +8 -0
  15. package/lib/authSession/authSession.js.map +1 -0
  16. package/lib/authn/SolidAuthnLogic.d.ts +26 -5
  17. package/lib/authn/SolidAuthnLogic.d.ts.map +1 -1
  18. package/lib/authn/SolidAuthnLogic.js +167 -5
  19. package/lib/authn/SolidAuthnLogic.js.map +1 -1
  20. package/lib/authn/authUtil.d.ts +17 -0
  21. package/lib/authn/authUtil.d.ts.map +1 -0
  22. package/lib/authn/authUtil.js +88 -0
  23. package/lib/authn/authUtil.js.map +1 -0
  24. package/lib/chat/ChatLogic.d.ts +2 -2
  25. package/lib/chat/ChatLogic.d.ts.map +1 -1
  26. package/lib/chat/ChatLogic.js +39 -34
  27. package/lib/chat/ChatLogic.js.map +1 -1
  28. package/lib/chat/determineChatContainer.d.ts +0 -0
  29. package/lib/chat/determineChatContainer.d.ts.map +0 -0
  30. package/lib/chat/determineChatContainer.js +0 -0
  31. package/lib/chat/determineChatContainer.js.map +0 -0
  32. package/lib/inbox/InboxLogic.d.ts +2 -2
  33. package/lib/inbox/InboxLogic.d.ts.map +1 -1
  34. package/lib/inbox/InboxLogic.js +14 -13
  35. package/lib/inbox/InboxLogic.js.map +1 -1
  36. package/lib/index.d.ts +14 -72
  37. package/lib/index.d.ts.map +1 -1
  38. package/lib/index.js +39 -387
  39. package/lib/index.js.map +1 -1
  40. package/lib/issuer/issuerLogic.d.ts +8 -0
  41. package/lib/issuer/issuerLogic.d.ts.map +1 -0
  42. package/lib/issuer/issuerLogic.js +53 -0
  43. package/lib/issuer/issuerLogic.js.map +1 -0
  44. package/lib/logic/CustomError.d.ts +17 -0
  45. package/lib/logic/CustomError.d.ts.map +1 -0
  46. package/lib/logic/CustomError.js +73 -0
  47. package/lib/logic/CustomError.js.map +1 -0
  48. package/lib/{index-alain.d.ts → logic/SolidLogic.d.ts} +7 -33
  49. package/lib/logic/SolidLogic.d.ts.map +1 -0
  50. package/lib/{index-alain.js → logic/SolidLogic.js} +18 -99
  51. package/lib/logic/SolidLogic.js.map +1 -0
  52. package/lib/logic/solidLogicSingleton.d.ts +4 -0
  53. package/lib/logic/solidLogicSingleton.d.ts.map +1 -0
  54. package/lib/logic/solidLogicSingleton.js +77 -0
  55. package/lib/logic/solidLogicSingleton.js.map +1 -0
  56. package/lib/profile/ProfileLogic.d.ts +2 -3
  57. package/lib/profile/ProfileLogic.d.ts.map +1 -1
  58. package/lib/profile/ProfileLogic.js +10 -8
  59. package/lib/profile/ProfileLogic.js.map +1 -1
  60. package/lib/typeIndex/typeIndexLogic.d.ts +22 -0
  61. package/lib/typeIndex/typeIndexLogic.d.ts.map +1 -0
  62. package/lib/typeIndex/typeIndexLogic.js +302 -0
  63. package/lib/typeIndex/typeIndexLogic.js.map +1 -0
  64. package/lib/types.d.ts +31 -0
  65. package/lib/types.d.ts.map +1 -0
  66. package/lib/{authn/index.js → types.js} +1 -1
  67. package/lib/types.js.map +1 -0
  68. package/lib/util/UtilityLogic.d.ts +2 -2
  69. package/lib/util/UtilityLogic.d.ts.map +1 -1
  70. package/lib/util/UtilityLogic.js +10 -8
  71. package/lib/util/UtilityLogic.js.map +1 -1
  72. package/lib/{debug.d.ts → util/debug.d.ts} +0 -0
  73. package/lib/util/debug.d.ts.map +1 -0
  74. package/lib/{debug.js → util/debug.js} +0 -0
  75. package/lib/util/debug.js.map +1 -0
  76. package/lib/{uri.d.ts → util/uri.d.ts} +0 -0
  77. package/lib/util/uri.d.ts.map +1 -0
  78. package/lib/{uri.js → util/uri.js} +0 -0
  79. package/lib/util/uri.js.map +1 -0
  80. package/package.json +7 -5
  81. package/renovate.json +0 -0
  82. package/src/acl/aclLogic.ts +137 -0
  83. package/src/authSession/authSession.ts +13 -0
  84. package/src/authn/SolidAuthnLogic.ts +114 -9
  85. package/src/authn/authUtil.ts +67 -0
  86. package/src/chat/ChatLogic.ts +14 -14
  87. package/src/chat/determineChatContainer.ts +0 -0
  88. package/src/inbox/InboxLogic.ts +3 -15
  89. package/src/index.ts +29 -307
  90. package/src/issuer/issuerLogic.ts +40 -0
  91. package/src/logic/CustomError.ts +25 -0
  92. package/src/logic/SolidLogic.ts +265 -0
  93. package/src/logic/solidLogicSingleton.ts +18 -0
  94. package/src/profile/ProfileLogic.ts +4 -5
  95. package/src/typeIndex/typeIndexLogic.ts +170 -0
  96. package/src/types.ts +43 -0
  97. package/src/util/UtilityLogic.ts +4 -16
  98. package/src/{debug.ts → util/debug.ts} +0 -0
  99. package/src/{uri.ts → util/uri.ts} +0 -0
  100. package/test/aclLogic.test.ts +15 -0
  101. package/test/authUtil.test.ts +23 -0
  102. package/{src/chat/integration.test.ts → test/chatLogic.test.ts} +7 -9
  103. package/test/helpers/setup.ts +13 -0
  104. package/{src/inbox/unit.test.ts → test/inboxLogic.test.ts} +5 -6
  105. package/test/logic.test.ts +28 -0
  106. package/test/solidAuthLogic.test.ts +49 -0
  107. package/test/typeIndexLogic.test.ts +26 -0
  108. package/{src/util/unit.test.ts → test/utilityLogic.test.ts} +3 -4
  109. package/tsconfig.json +0 -0
  110. package/jest.setup.ts +0 -2
  111. package/lib/authn/NoAuthnLogic.d.ts +0 -9
  112. package/lib/authn/NoAuthnLogic.d.ts.map +0 -1
  113. package/lib/authn/NoAuthnLogic.js +0 -17
  114. package/lib/authn/NoAuthnLogic.js.map +0 -1
  115. package/lib/authn/index.d.ts +0 -5
  116. package/lib/authn/index.d.ts.map +0 -1
  117. package/lib/authn/index.js.map +0 -1
  118. package/lib/chat/integration.test.d.ts +0 -2
  119. package/lib/chat/integration.test.d.ts.map +0 -1
  120. package/lib/chat/integration.test.js +0 -318
  121. package/lib/chat/integration.test.js.map +0 -1
  122. package/lib/debug.d.ts.map +0 -1
  123. package/lib/debug.js.map +0 -1
  124. package/lib/inbox/unit.test.d.ts +0 -2
  125. package/lib/inbox/unit.test.d.ts.map +0 -1
  126. package/lib/inbox/unit.test.js +0 -264
  127. package/lib/inbox/unit.test.js.map +0 -1
  128. package/lib/index-alain.d.ts.map +0 -1
  129. package/lib/index-alain.js.map +0 -1
  130. package/lib/uri.d.ts.map +0 -1
  131. package/lib/uri.js.map +0 -1
  132. package/lib/util/UtilityLogic-alain.d.ts +0 -32
  133. package/lib/util/UtilityLogic-alain.d.ts.map +0 -1
  134. package/lib/util/UtilityLogic-alain.js +0 -248
  135. package/lib/util/UtilityLogic-alain.js.map +0 -1
  136. package/lib/util/unit.test.d.ts +0 -2
  137. package/lib/util/unit.test.d.ts.map +0 -1
  138. package/lib/util/unit.test.js +0 -200
  139. package/lib/util/unit.test.js.map +0 -1
  140. package/src/authn/NoAuthnLogic.ts +0 -16
  141. package/src/authn/index.ts +0 -5
  142. package/src/index-alain.txt +0 -316
  143. package/src/util/UtilityLogic-alain.txt +0 -181
@@ -1,13 +1,12 @@
1
1
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
2
- import { ChatLogic } from "./ChatLogic";
2
+ import { ChatLogic } from "../src/chat/ChatLogic";
3
3
  import solidNamespace from "solid-namespace";
4
-
5
4
  import * as rdf from "rdflib";
6
- import { ProfileLogic } from "../profile/ProfileLogic";
7
- import fetchMock from "jest-fetch-mock";
5
+ import { ProfileLogic } from "../src/profile/ProfileLogic";
8
6
  import { UpdateManager } from "rdflib";
7
+ import { SolidNamespace } from "../src/types";
9
8
 
10
- const ns = solidNamespace(rdf);
9
+ const ns: SolidNamespace = solidNamespace(rdf);
11
10
 
12
11
  const alice = rdf.sym("https://alice.example/profile/card#me");
13
12
  const bob = rdf.sym("https://bob.example/profile/card#me");
@@ -125,11 +124,10 @@ describe("Chat logic", () => {
125
124
  });
126
125
  it("sent an invitation to invitee inbox", () => {
127
126
  const request = getRequestTo("POST", "https://bob.example/inbox");
128
- expect(request.body).toBe(`
127
+ expect(request.body).toContain(`
129
128
  <> a <http://www.w3.org/ns/pim/meeting#LongChatInvite> ;
130
- <http://www.w3.org/1999/02/22-rdf-syntax-ns#seeAlso> <https://alice.example/IndividualChats/bob.example/index.ttl#this> .
131
- `);
132
- });
129
+ <http://www.w3.org/1999/02/22-rdf-syntax-ns#seeAlso> <https://alice.example/IndividualChats/bob.example/index.ttl#this> .
130
+ `);});
133
131
  it("added the new chat to private type index", () => {
134
132
  const request = getRequestTo(
135
133
  "PATCH",
@@ -0,0 +1,13 @@
1
+ import { error, log, trace, warn } from '../../src/util/debug'
2
+ import fetchMock from "jest-fetch-mock";
3
+
4
+ fetchMock.enableMocks();
5
+ // We don't want to output debug messages to console as part of the tests
6
+ jest.mock('../../src/util/debug')
7
+
8
+ export function silenceDebugMessages () {
9
+ (log as any).mockImplementation(() => null)
10
+ ;(warn as any).mockImplementation(() => null)
11
+ ;(error as any).mockImplementation(() => null)
12
+ ;(trace as any).mockImplementation(() => null)
13
+ }
@@ -1,14 +1,13 @@
1
1
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
2
- import { UtilityLogic } from "../util/UtilityLogic";
3
2
  import solidNamespace from "solid-namespace";
4
-
5
3
  import * as rdf from "rdflib";
6
- import { ProfileLogic } from "../profile/ProfileLogic";
7
- import fetchMock from "jest-fetch-mock";
8
4
  import { UpdateManager } from "rdflib";
9
- import { InboxLogic } from "./InboxLogic";
5
+ import { ProfileLogic } from "../src/profile/ProfileLogic";
6
+ import { UtilityLogic } from "../src/util/UtilityLogic";
7
+ import { InboxLogic } from "../src/inbox/InboxLogic";
8
+ import { SolidNamespace } from "../src/types";
10
9
 
11
- const ns = solidNamespace(rdf);
10
+ const ns: SolidNamespace = solidNamespace(rdf);
12
11
 
13
12
  const alice = rdf.sym("https://alice.example/profile/card#me");
14
13
  const bob = rdf.sym("https://bob.example/profile/card#me");
@@ -0,0 +1,28 @@
1
+ import { solidLogicSingleton } from "../src/index"
2
+ import { silenceDebugMessages } from "./helpers/setup"
3
+
4
+ silenceDebugMessages()
5
+
6
+ describe('solidLogicSingleton (main global SolidLogic instance)', () => {
7
+ it('exists', () => {
8
+ expect(solidLogicSingleton).toBeInstanceOf(Object)
9
+ })
10
+ })
11
+
12
+ describe('solidLogicSingleton.store', () => {
13
+ it('exists', () => {
14
+ expect(solidLogicSingleton.store).toBeInstanceOf(Object)
15
+ })
16
+ })
17
+
18
+ describe('solidLogicSingleton.store.fetcher', () => {
19
+ it('exists', () => {
20
+ expect(solidLogicSingleton.store.fetcher).toBeInstanceOf(Object)
21
+ })
22
+ })
23
+
24
+ describe('solidLogicSingleton.store.updater', () => {
25
+ it('exists', () => {
26
+ expect(solidLogicSingleton.store.updater).toBeInstanceOf(Object)
27
+ })
28
+ })
@@ -0,0 +1,49 @@
1
+ /**
2
+ * @jest-environment jsdom
3
+ *
4
+ */
5
+ import { SolidAuthnLogic } from '../src/authn/SolidAuthnLogic'
6
+ import { silenceDebugMessages } from './helpers/setup'
7
+ import { authSession } from '../src/authSession/authSession'
8
+ import { AuthenticationContext } from '../src/types'
9
+
10
+ silenceDebugMessages()
11
+ let solidAuthnLogic
12
+
13
+ describe("SolidAuthnLogic", () => {
14
+
15
+ beforeEach(() => {
16
+ solidAuthnLogic = new SolidAuthnLogic(authSession)
17
+ })
18
+
19
+ describe('checkUser', () => {
20
+ it('exists', () => {
21
+ expect(solidAuthnLogic.checkUser).toBeInstanceOf(Function)
22
+ })
23
+ it('runs', async () => {
24
+ expect(await solidAuthnLogic.checkUser()).toEqual(null)
25
+ })
26
+ })
27
+
28
+ describe('currentUser', () => {
29
+ it('exists', () => {
30
+ expect(solidAuthnLogic.currentUser).toBeInstanceOf(Function)
31
+ })
32
+ it('runs', async () => {
33
+ expect(await solidAuthnLogic.currentUser()).toEqual(null)
34
+ })
35
+ })
36
+
37
+ describe('saveUser', () => {
38
+ it('exists', () => {
39
+ expect(solidAuthnLogic.saveUser).toBeInstanceOf(Function)
40
+ })
41
+ it('runs', () => {
42
+ expect(solidAuthnLogic.saveUser(
43
+ '',
44
+ {} as AuthenticationContext
45
+ )).toEqual(null)
46
+ })
47
+ })
48
+
49
+ })
@@ -0,0 +1,26 @@
1
+ import { sym } from 'rdflib'
2
+ import { AuthenticationContext } from '../src/types'
3
+ import * as typeIndexLogic from '../src/typeIndex/typeIndexLogic'
4
+
5
+ describe('loadTypeIndexes', () => {
6
+ it('exists', () => {
7
+ expect(typeIndexLogic.loadTypeIndexes).toBeInstanceOf(Function)
8
+ })
9
+ it('runs', () => {
10
+ expect(typeIndexLogic.loadTypeIndexes({})).toBeInstanceOf(Object)
11
+ })
12
+ })
13
+
14
+ describe('registerInTypeIndex', () => {
15
+ it('exists', () => {
16
+ expect(typeIndexLogic.registerInTypeIndex).toBeInstanceOf(Function)
17
+ })
18
+ it.skip('runs', async () => {
19
+ expect(await typeIndexLogic.registerInTypeIndex(
20
+ {} as AuthenticationContext,
21
+ sym('https://test.test#'),
22
+ sym('https://test.test#'),
23
+ false
24
+ )).toEqual(undefined)
25
+ })
26
+ })
@@ -1,13 +1,12 @@
1
1
  /* eslint-disable @typescript-eslint/no-non-null-assertion */
2
- import { UtilityLogic } from "./UtilityLogic";
2
+ import { UtilityLogic } from "../src/util/UtilityLogic";
3
3
  import solidNamespace from "solid-namespace";
4
-
5
4
  import * as rdf from "rdflib";
6
- import { ProfileLogic } from "../profile/ProfileLogic";
7
5
  import fetchMock from "jest-fetch-mock";
8
6
  import { UpdateManager } from "rdflib";
7
+ import { SolidNamespace } from "../src/types";
9
8
 
10
- const ns = solidNamespace(rdf);
9
+ const ns: SolidNamespace = solidNamespace(rdf);
11
10
 
12
11
  const alice = rdf.sym("https://alice.example/profile/card#me");
13
12
  const bob = rdf.sym("https://bob.example/profile/card#me");
package/tsconfig.json CHANGED
File without changes
package/jest.setup.ts DELETED
@@ -1,2 +0,0 @@
1
- import fetchMock from "jest-fetch-mock";
2
- fetchMock.enableMocks();
@@ -1,9 +0,0 @@
1
- import { AuthnLogic } from "./index";
2
- /**
3
- * Fallback, if no auth client has been provided to solid-logic
4
- */
5
- export declare class NoAuthnLogic implements AuthnLogic {
6
- constructor();
7
- currentUser(): null;
8
- }
9
- //# sourceMappingURL=NoAuthnLogic.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NoAuthnLogic.d.ts","sourceRoot":"","sources":["../../src/authn/NoAuthnLogic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC;;GAEG;AACH,qBAAa,YAAa,YAAW,UAAU;;IAO7C,WAAW,IAAI,IAAI;CAGpB"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.NoAuthnLogic = void 0;
4
- /**
5
- * Fallback, if no auth client has been provided to solid-logic
6
- */
7
- var NoAuthnLogic = /** @class */ (function () {
8
- function NoAuthnLogic() {
9
- console.warn("no auth client passed to solid-logic, logic that relies on auth is not available");
10
- }
11
- NoAuthnLogic.prototype.currentUser = function () {
12
- return null;
13
- };
14
- return NoAuthnLogic;
15
- }());
16
- exports.NoAuthnLogic = NoAuthnLogic;
17
- //# sourceMappingURL=NoAuthnLogic.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NoAuthnLogic.js","sourceRoot":"","sources":["../../src/authn/NoAuthnLogic.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACH;IACE;QACE,OAAO,CAAC,IAAI,CACV,kFAAkF,CACnF,CAAC;IACJ,CAAC;IAED,kCAAW,GAAX;QACE,OAAO,IAAI,CAAC;IACd,CAAC;IACH,mBAAC;AAAD,CAAC,AAVD,IAUC;AAVY,oCAAY"}
@@ -1,5 +0,0 @@
1
- import { NamedNode } from "rdflib";
2
- export interface AuthnLogic {
3
- currentUser: () => NamedNode | null;
4
- }
5
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/authn/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAEnC,MAAM,WAAW,UAAU;IACzB,WAAW,EAAE,MAAM,SAAS,GAAG,IAAI,CAAC;CACrC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/authn/index.ts"],"names":[],"mappings":""}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=integration.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integration.test.d.ts","sourceRoot":"","sources":["../../src/chat/integration.test.ts"],"names":[],"mappings":""}
@@ -1,318 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
- Object.defineProperty(o, "default", { enumerable: true, value: v });
11
- }) : function(o, v) {
12
- o["default"] = v;
13
- });
14
- var __importStar = (this && this.__importStar) || function (mod) {
15
- if (mod && mod.__esModule) return mod;
16
- var result = {};
17
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
- __setModuleDefault(result, mod);
19
- return result;
20
- };
21
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
- return new (P || (P = Promise))(function (resolve, reject) {
24
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
- step((generator = generator.apply(thisArg, _arguments || [])).next());
28
- });
29
- };
30
- var __generator = (this && this.__generator) || function (thisArg, body) {
31
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
32
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
33
- function verb(n) { return function (v) { return step([n, v]); }; }
34
- function step(op) {
35
- if (f) throw new TypeError("Generator is already executing.");
36
- while (_) try {
37
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
38
- if (y = 0, t) op = [op[0] & 2, t.value];
39
- switch (op[0]) {
40
- case 0: case 1: t = op; break;
41
- case 4: _.label++; return { value: op[1], done: false };
42
- case 5: _.label++; y = op[1]; op = [0]; continue;
43
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
44
- default:
45
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
46
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
47
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
48
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
49
- if (t[2]) _.ops.pop();
50
- _.trys.pop(); continue;
51
- }
52
- op = body.call(thisArg, _);
53
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
54
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
- }
56
- };
57
- var __importDefault = (this && this.__importDefault) || function (mod) {
58
- return (mod && mod.__esModule) ? mod : { "default": mod };
59
- };
60
- Object.defineProperty(exports, "__esModule", { value: true });
61
- /* eslint-disable @typescript-eslint/no-non-null-assertion */
62
- var ChatLogic_1 = require("./ChatLogic");
63
- var solid_namespace_1 = __importDefault(require("solid-namespace"));
64
- var rdf = __importStar(require("rdflib"));
65
- var ProfileLogic_1 = require("../profile/ProfileLogic");
66
- var jest_fetch_mock_1 = __importDefault(require("jest-fetch-mock"));
67
- var rdflib_1 = require("rdflib");
68
- var ns = (0, solid_namespace_1.default)(rdf);
69
- var alice = rdf.sym("https://alice.example/profile/card#me");
70
- var bob = rdf.sym("https://bob.example/profile/card#me");
71
- describe("Chat logic", function () {
72
- var chat;
73
- var store;
74
- beforeEach(function () {
75
- jest_fetch_mock_1.default.resetMocks();
76
- jest_fetch_mock_1.default.mockResponse("Not Found", {
77
- status: 404,
78
- });
79
- store = rdf.graph();
80
- store.fetcher = rdf.fetcher(store, { fetch: jest_fetch_mock_1.default });
81
- store.updater = new rdflib_1.UpdateManager(store);
82
- var authn = {
83
- currentUser: function () {
84
- return alice;
85
- },
86
- };
87
- var profile = new ProfileLogic_1.ProfileLogic(store, ns, authn);
88
- chat = new ChatLogic_1.ChatLogic(store, ns, profile);
89
- });
90
- describe("get chat, without creating", function () {
91
- describe("when no chat exists yet", function () {
92
- var result;
93
- beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
94
- return __generator(this, function (_a) {
95
- switch (_a.label) {
96
- case 0:
97
- aliceHasValidProfile();
98
- noChatWithBobExists();
99
- return [4 /*yield*/, chat.getChat(bob, false)];
100
- case 1:
101
- result = _a.sent();
102
- return [2 /*return*/];
103
- }
104
- });
105
- }); });
106
- it("does not return a chat", function () { return __awaiter(void 0, void 0, void 0, function () {
107
- return __generator(this, function (_a) {
108
- expect(result).toBeNull();
109
- return [2 /*return*/];
110
- });
111
- }); });
112
- it("loaded the current user profile", function () {
113
- expect(jest_fetch_mock_1.default.mock.calls[0][0]).toBe("https://alice.example/profile/card");
114
- });
115
- it("tried to load the chat document", function () {
116
- expect(jest_fetch_mock_1.default.mock.calls[1][0]).toBe("https://alice.example/IndividualChats/bob.example/index.ttl");
117
- });
118
- it("has no additional fetch requests", function () {
119
- expect(jest_fetch_mock_1.default.mock.calls.length).toBe(2);
120
- });
121
- });
122
- });
123
- describe("get chat, create if missing", function () {
124
- describe("when no chat exists yet", function () {
125
- var result;
126
- beforeEach(function () { return __awaiter(void 0, void 0, void 0, function () {
127
- return __generator(this, function (_a) {
128
- switch (_a.label) {
129
- case 0:
130
- Date.now = jest.fn(function () {
131
- return new Date(Date.UTC(2021, 1, 6, 10, 11, 12)).valueOf();
132
- });
133
- aliceHasValidProfile();
134
- noChatWithBobExists();
135
- chatWithBobCanBeCreated();
136
- bobHasAnInbox();
137
- invitationCanBeSent();
138
- chatContainerIsFound();
139
- chatContainerAclCanBeSet();
140
- editablePrivateTypeIndexIsFound();
141
- privateTypeIndexIsUpdated();
142
- return [4 /*yield*/, chat.getChat(bob, true)];
143
- case 1:
144
- result = _a.sent();
145
- return [2 /*return*/];
146
- }
147
- });
148
- }); });
149
- it("returns the chat URI based on the invitee's WebID", function () { return __awaiter(void 0, void 0, void 0, function () {
150
- return __generator(this, function (_a) {
151
- expect(result.uri).toBe("https://alice.example/IndividualChats/bob.example/index.ttl#this");
152
- return [2 /*return*/];
153
- });
154
- }); });
155
- it("created a chat document", function () {
156
- var request = getRequestTo("PUT", "https://alice.example/IndividualChats/bob.example/index.ttl");
157
- expect(request.body).toBe("@prefix : <#>.\n@prefix dc: <http://purl.org/dc/elements/1.1/>.\n@prefix meeting: <http://www.w3.org/ns/pim/meeting#>.\n@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.\n@prefix c: </profile/card#>.\n\n:this\n a meeting:LongChat;\n dc:author c:me;\n dc:created \"2021-02-06T10:11:12Z\"^^xsd:dateTime;\n dc:title \"Chat channel\".\n");
158
- });
159
- it("allowed Bob to participate in the chat by adding an ACL", function () {
160
- var request = getRequestTo("PUT", "https://alice.example/IndividualChats/bob.example/.acl");
161
- expect(request.body).toBe("\n@prefix acl: <http://www.w3.org/ns/auth/acl#>.\n<#owner>\n a acl:Authorization;\n acl:agent <https://alice.example/profile/card#me>;\n acl:accessTo <.>;\n acl:default <.>;\n acl:mode\n acl:Read, acl:Write, acl:Control.\n<#invitee>\n a acl:Authorization;\n acl:agent <https://bob.example/profile/card#me>;\n acl:accessTo <.>;\n acl:default <.>;\n acl:mode\n acl:Read, acl:Append.\n");
162
- });
163
- it("sent an invitation to invitee inbox", function () {
164
- var request = getRequestTo("POST", "https://bob.example/inbox");
165
- expect(request.body).toBe("\n<> a <http://www.w3.org/ns/pim/meeting#LongChatInvite> ;\n<http://www.w3.org/1999/02/22-rdf-syntax-ns#seeAlso> <https://alice.example/IndividualChats/bob.example/index.ttl#this> . \n ");
166
- });
167
- it("added the new chat to private type index", function () {
168
- var request = getRequestTo("PATCH", "https://alice.example/settings/privateTypeIndex.ttl");
169
- expect(request.body)
170
- .toBe("INSERT DATA { <https://alice.example/settings/privateTypeIndex.ttl#id1612606272000> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> <http://www.w3.org/ns/solid/terms#TypeRegistration> .\n<https://alice.example/settings/privateTypeIndex.ttl#id1612606272000> <http://www.w3.org/ns/solid/terms#forClass> <http://www.w3.org/ns/pim/meeting#LongChat> .\n<https://alice.example/settings/privateTypeIndex.ttl#id1612606272000> <http://www.w3.org/ns/solid/terms#instance> <https://alice.example/IndividualChats/bob.example/index.ttl#this> .\n }\n");
171
- });
172
- it("has no additional fetch requests", function () {
173
- expect(jest_fetch_mock_1.default.mock.calls.length).toBe(9);
174
- });
175
- });
176
- });
177
- describe("possible errors", function () {
178
- it("profile does not link to storage", function () { return __awaiter(void 0, void 0, void 0, function () {
179
- var expectedError;
180
- return __generator(this, function (_a) {
181
- switch (_a.label) {
182
- case 0:
183
- jest_fetch_mock_1.default.mockOnceIf("https://alice.example/profile/card", "<><><>.", {
184
- headers: {
185
- "Content-Type": "text/turtle",
186
- },
187
- });
188
- expectedError = new Error("User pod root not found!");
189
- return [4 /*yield*/, expect(chat.getChat(bob, false)).rejects.toEqual(expectedError)];
190
- case 1:
191
- _a.sent();
192
- return [2 /*return*/];
193
- }
194
- });
195
- }); });
196
- it("invitee inbox not found", function () { return __awaiter(void 0, void 0, void 0, function () {
197
- var expectedError;
198
- return __generator(this, function (_a) {
199
- switch (_a.label) {
200
- case 0:
201
- aliceHasValidProfile();
202
- noChatWithBobExists();
203
- chatWithBobCanBeCreated();
204
- bobDoesNotHaveAnInbox();
205
- expectedError = new Error("Invitee inbox not found! https://bob.example/profile/card#me");
206
- return [4 /*yield*/, expect(chat.getChat(bob, true)).rejects.toEqual(expectedError)];
207
- case 1:
208
- _a.sent();
209
- return [2 /*return*/];
210
- }
211
- });
212
- }); });
213
- });
214
- function aliceHasValidProfile() {
215
- jest_fetch_mock_1.default.mockOnceIf("https://alice.example/profile/card", "\n <https://alice.example/profile/card#me>\n <http://www.w3.org/ns/pim/space#storage> <https://alice.example/> ;\n <http://www.w3.org/ns/solid/terms#privateTypeIndex> <https://alice.example/settings/privateTypeIndex.ttl> ;\n .", {
216
- headers: {
217
- "Content-Type": "text/turtle",
218
- },
219
- });
220
- }
221
- function noChatWithBobExists() {
222
- return jest_fetch_mock_1.default.mockOnceIf(function (_a) {
223
- var url = _a.url, method = _a.method;
224
- return url === "https://alice.example/IndividualChats/bob.example/index.ttl" &&
225
- method === "GET";
226
- }, "Not found", {
227
- status: 404,
228
- });
229
- }
230
- function chatWithBobCanBeCreated() {
231
- return jest_fetch_mock_1.default.mockOnceIf(function (_a) {
232
- var url = _a.url, method = _a.method;
233
- return url === "https://alice.example/IndividualChats/bob.example/index.ttl" &&
234
- method === "PUT";
235
- }, "Created", {
236
- status: 201,
237
- });
238
- }
239
- function bobHasAnInbox() {
240
- jest_fetch_mock_1.default.mockOnceIf("https://bob.example/profile/card", "<https://bob.example/profile/card#me><http://www.w3.org/ns/ldp#inbox><https://bob.example/inbox>.", {
241
- headers: { "Content-Type": "text/turtle" },
242
- });
243
- }
244
- function bobDoesNotHaveAnInbox() {
245
- jest_fetch_mock_1.default.mockOnceIf("https://bob.example/profile/card", "<><><>.", {
246
- headers: {
247
- "Content-Type": "text/turtle",
248
- },
249
- });
250
- }
251
- function invitationCanBeSent() {
252
- return jest_fetch_mock_1.default.mockOnceIf(function (_a) {
253
- var url = _a.url, method = _a.method;
254
- return url === "https://bob.example/inbox" && method === "POST";
255
- }, "Created", {
256
- status: 201,
257
- headers: {
258
- location: "https://bob.example/inbox/22373339-6cc0-49fc-b69e-0402edda6e4e.ttl",
259
- },
260
- });
261
- }
262
- function chatContainerIsFound() {
263
- return jest_fetch_mock_1.default.mockOnceIf(function (_a) {
264
- var url = _a.url, method = _a.method;
265
- return url === "https://alice.example/IndividualChats/bob.example/" &&
266
- method === "GET";
267
- }, "<><><>.", {
268
- status: 200,
269
- headers: {
270
- "Content-Type": "text/turtle",
271
- Link: '<.acl>; rel="acl"',
272
- },
273
- });
274
- }
275
- function chatContainerAclCanBeSet() {
276
- return jest_fetch_mock_1.default.mockOnceIf(function (_a) {
277
- var url = _a.url, method = _a.method;
278
- return url === "https://alice.example/IndividualChats/bob.example/.acl" &&
279
- method === "PUT";
280
- }, "Created", {
281
- status: 201,
282
- });
283
- }
284
- function editablePrivateTypeIndexIsFound() {
285
- return jest_fetch_mock_1.default.mockOnceIf(function (_a) {
286
- var url = _a.url, method = _a.method;
287
- return url === "https://alice.example/settings/privateTypeIndex.ttl" &&
288
- method === "GET";
289
- }, "<><><>.", {
290
- status: 200,
291
- headers: {
292
- "Content-Type": "text/turtle",
293
- "wac-allow": 'user="read write append control",public=""',
294
- "ms-author-via": "SPARQL",
295
- },
296
- });
297
- }
298
- function privateTypeIndexIsUpdated() {
299
- return jest_fetch_mock_1.default.mockOnceIf(function (_a) {
300
- var url = _a.url, method = _a.method;
301
- return url === "https://alice.example/settings/privateTypeIndex.ttl" &&
302
- method === "PATCH";
303
- }, "OK", {
304
- status: 200,
305
- });
306
- }
307
- /*
308
-
309
- */
310
- function getRequestTo(method, url) {
311
- var call = jest_fetch_mock_1.default.mock.calls.find(function (it) { var _a; return it[0] === url && method === ((_a = it[1]) === null || _a === void 0 ? void 0 : _a.method); });
312
- expect(call).not.toBeNull();
313
- var request = call === null || call === void 0 ? void 0 : call[1];
314
- expect(request).not.toBeNull();
315
- return request;
316
- }
317
- });
318
- //# sourceMappingURL=integration.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integration.test.js","sourceRoot":"","sources":["../../src/chat/integration.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":"AACA,wBAAgB,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAGxC;AAED,wBAAgB,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAGzC;AAED,wBAAgB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAG1C;AAED,wBAAgB,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAG1C"}
package/lib/debug.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"debug.js","sourceRoot":"","sources":["../src/debug.ts"],"names":[],"mappings":";;;AAAA,uDAAuD;AACvD,SAAgB,GAAG;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IAChC,sCAAsC;IACtC,OAAO,CAAC,GAAG,OAAX,OAAO,EAAQ,IAAI,EAAE;AACvB,CAAC;AAHD,kBAGC;AAED,SAAgB,IAAI;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IACjC,sCAAsC;IACtC,OAAO,CAAC,IAAI,OAAZ,OAAO,EAAS,IAAI,EAAE;AACxB,CAAC;AAHD,oBAGC;AAED,SAAgB,KAAK;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IAClC,sCAAsC;IACtC,OAAO,CAAC,KAAK,OAAb,OAAO,EAAU,IAAI,EAAE;AACzB,CAAC;AAHD,sBAGC;AAED,SAAgB,KAAK;IAAC,cAAc;SAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;QAAd,yBAAc;;IAClC,sCAAsC;IACtC,OAAO,CAAC,KAAK,OAAb,OAAO,EAAU,IAAI,EAAE;AACzB,CAAC;AAHD,sBAGC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=unit.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"unit.test.d.ts","sourceRoot":"","sources":["../../src/inbox/unit.test.ts"],"names":[],"mappings":""}