@webda/core 2.0.0-beta.1 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/application.d.ts +9 -21
- package/lib/application.js +71 -84
- package/lib/application.js.map +1 -1
- package/lib/application.spec.js +121 -140
- package/lib/application.spec.js.map +1 -1
- package/lib/core.d.ts +86 -46
- package/lib/core.js +254 -316
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +326 -391
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +49 -45
- package/lib/index.js +54 -67
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.d.ts +2 -2
- package/lib/models/aclmodel.js +63 -90
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/aclmodel.spec.js +127 -151
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +84 -11
- package/lib/models/coremodel.js +104 -103
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +91 -91
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/deployment.js +1 -2
- package/lib/models/ident.d.ts +5 -3
- package/lib/models/ident.js +4 -9
- package/lib/models/ident.js.map +1 -1
- package/lib/models/ident.spec.js +9 -11
- package/lib/models/ident.spec.js.map +1 -1
- package/lib/models/ownermodel.d.ts +12 -2
- package/lib/models/ownermodel.js +54 -62
- package/lib/models/ownermodel.js.map +1 -1
- package/lib/models/ownermodel.spec.js +129 -152
- package/lib/models/ownermodel.spec.js.map +1 -1
- package/lib/models/rolemodel.d.ts +2 -2
- package/lib/models/rolemodel.js +24 -40
- package/lib/models/rolemodel.js.map +1 -1
- package/lib/models/rolemodel.spec.js +44 -61
- package/lib/models/rolemodel.spec.js.map +1 -1
- package/lib/models/user.d.ts +5 -5
- package/lib/models/user.js +3 -8
- package/lib/models/user.js.map +1 -1
- package/lib/models/user.spec.js +14 -16
- package/lib/models/user.spec.js.map +1 -1
- package/lib/queues/filequeue.d.ts +2 -2
- package/lib/queues/filequeue.js +72 -93
- package/lib/queues/filequeue.js.map +1 -1
- package/lib/queues/filequeue.spec.js +53 -70
- package/lib/queues/filequeue.spec.js.map +1 -1
- package/lib/queues/memoryqueue.d.ts +2 -2
- package/lib/queues/memoryqueue.js +37 -61
- package/lib/queues/memoryqueue.js.map +1 -1
- package/lib/queues/memoryqueue.spec.js +142 -165
- package/lib/queues/memoryqueue.spec.js.map +1 -1
- package/lib/queues/pubsubservice.d.ts +2 -2
- package/lib/queues/pubsubservice.js +3 -7
- package/lib/queues/pubsubservice.js.map +1 -1
- package/lib/queues/queue.spec.d.ts +1 -1
- package/lib/queues/queue.spec.js +42 -56
- package/lib/queues/queue.spec.js.map +1 -1
- package/lib/queues/queueservice.d.ts +4 -4
- package/lib/queues/queueservice.js +52 -67
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/router.d.ts +7 -3
- package/lib/router.js +49 -48
- package/lib/router.js.map +1 -1
- package/lib/router.spec.js +64 -61
- package/lib/router.spec.js.map +1 -1
- package/lib/services/asyncevents.d.ts +2 -2
- package/lib/services/asyncevents.js +44 -64
- package/lib/services/asyncevents.js.map +1 -1
- package/lib/services/asyncevents.spec.js +81 -98
- package/lib/services/asyncevents.spec.js.map +1 -1
- package/lib/services/authentication.d.ts +28 -19
- package/lib/services/authentication.js +539 -571
- package/lib/services/authentication.js.map +1 -1
- package/lib/services/authentication.spec.js +411 -447
- package/lib/services/authentication.spec.js.map +1 -1
- package/lib/services/binary.d.ts +8 -6
- package/lib/services/binary.js +212 -244
- package/lib/services/binary.js.map +1 -1
- package/lib/services/binary.spec.d.ts +3 -3
- package/lib/services/binary.spec.js +390 -443
- package/lib/services/binary.spec.js.map +1 -1
- package/lib/services/cloudbinary.d.ts +3 -3
- package/lib/services/cloudbinary.js +46 -71
- package/lib/services/cloudbinary.js.map +1 -1
- package/lib/services/cloudbinary.spec.d.ts +3 -3
- package/lib/services/cloudbinary.spec.js +133 -162
- package/lib/services/cloudbinary.spec.js.map +1 -1
- package/lib/services/configuration.d.ts +6 -3
- package/lib/services/configuration.js +78 -103
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/configuration.spec.js +63 -83
- package/lib/services/configuration.spec.js.map +1 -1
- package/lib/services/cron.d.ts +3 -2
- package/lib/services/cron.js +9 -13
- package/lib/services/cron.js.map +1 -1
- package/lib/services/cron.spec.js +18 -21
- package/lib/services/cron.spec.js.map +1 -1
- package/lib/services/cryptoservice.d.ts +258 -0
- package/lib/services/cryptoservice.js +312 -0
- package/lib/services/cryptoservice.js.map +1 -0
- package/lib/services/cryptoservice.spec.d.ts +1 -0
- package/lib/services/cryptoservice.spec.js +137 -0
- package/lib/services/cryptoservice.spec.js.map +1 -0
- package/lib/services/debugmailer.d.ts +1 -1
- package/lib/services/debugmailer.js +13 -34
- package/lib/services/debugmailer.js.map +1 -1
- package/lib/services/debugmailer.spec.js +16 -29
- package/lib/services/debugmailer.spec.js.map +1 -1
- package/lib/services/echo.d.ts +2 -2
- package/lib/services/echo.js +15 -31
- package/lib/services/echo.js.map +1 -1
- package/lib/services/echo.spec.js +27 -40
- package/lib/services/echo.spec.js.map +1 -1
- package/lib/services/filebinary.d.ts +15 -5
- package/lib/services/filebinary.js +171 -200
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.d.ts +2 -1
- package/lib/services/filebinary.spec.js +106 -117
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/fileconfiguration.d.ts +2 -2
- package/lib/services/fileconfiguration.js +25 -43
- package/lib/services/fileconfiguration.js.map +1 -1
- package/lib/services/fileconfiguration.spec.js +79 -109
- package/lib/services/fileconfiguration.spec.js.map +1 -1
- package/lib/services/invitationservice.d.ts +9 -9
- package/lib/services/invitationservice.js +275 -313
- package/lib/services/invitationservice.js.map +1 -1
- package/lib/services/invitationservice.spec.js +442 -448
- package/lib/services/invitationservice.spec.js.map +1 -1
- package/lib/services/kubernetesconfiguration.d.ts +2 -2
- package/lib/services/kubernetesconfiguration.js +41 -59
- package/lib/services/kubernetesconfiguration.js.map +1 -1
- package/lib/services/kubernetesconfiguration.spec.js +80 -98
- package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
- package/lib/services/mailer.d.ts +4 -4
- package/lib/services/mailer.js +62 -86
- package/lib/services/mailer.js.map +1 -1
- package/lib/services/mailer.spec.js +86 -127
- package/lib/services/mailer.spec.js.map +1 -1
- package/lib/services/notificationservice.d.ts +4 -4
- package/lib/services/notificationservice.js +23 -42
- package/lib/services/notificationservice.js.map +1 -1
- package/lib/services/notificationservice.spec.js +47 -73
- package/lib/services/notificationservice.spec.js.map +1 -1
- package/lib/services/oauth.d.ts +32 -6
- package/lib/services/oauth.js +73 -78
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/oauth.spec.js +128 -147
- package/lib/services/oauth.spec.js.map +1 -1
- package/lib/services/proxy.d.ts +74 -0
- package/lib/services/proxy.js +126 -0
- package/lib/services/proxy.js.map +1 -0
- package/lib/services/proxy.spec.d.ts +1 -0
- package/lib/services/proxy.spec.js +59 -0
- package/lib/services/proxy.spec.js.map +1 -0
- package/lib/services/resource.d.ts +2 -2
- package/lib/services/resource.js +12 -18
- package/lib/services/resource.js.map +1 -1
- package/lib/services/resource.spec.js +67 -99
- package/lib/services/resource.spec.js.map +1 -1
- package/lib/services/service.d.ts +33 -7
- package/lib/services/service.js +74 -42
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.js +62 -67
- package/lib/services/service.spec.js.map +1 -1
- package/lib/services/version.d.ts +1 -1
- package/lib/services/version.js +3 -8
- package/lib/services/version.js.map +1 -1
- package/lib/services/version.spec.js +11 -24
- package/lib/services/version.spec.js.map +1 -1
- package/lib/stores/aggregator.d.ts +3 -3
- package/lib/stores/aggregator.js +37 -57
- package/lib/stores/aggregator.js.map +1 -1
- package/lib/stores/file.d.ts +3 -3
- package/lib/stores/file.js +93 -131
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.d.ts +2 -2
- package/lib/stores/file.spec.js +261 -289
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +4 -4
- package/lib/stores/mapper.js +112 -137
- package/lib/stores/mapper.js.map +1 -1
- package/lib/stores/mapper.spec.js +131 -150
- package/lib/stores/mapper.spec.js.map +1 -1
- package/lib/stores/memory.d.ts +67 -6
- package/lib/stores/memory.js +155 -117
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +3 -2
- package/lib/stores/memory.spec.js +127 -105
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/store.d.ts +35 -15
- package/lib/stores/store.js +839 -821
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +6 -4
- package/lib/stores/store.spec.js +627 -647
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLLexer.d.ts +4 -4
- package/lib/stores/webdaql/WebdaQLLexer.js +9 -13
- package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +4 -4
- package/lib/stores/webdaql/WebdaQLParserLexer.js +9 -13
- package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserListener.d.ts +2 -2
- package/lib/stores/webdaql/WebdaQLParserListener.js +1 -2
- package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserParser.d.ts +10 -10
- package/lib/stores/webdaql/WebdaQLParserParser.js +62 -91
- package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +2 -2
- package/lib/stores/webdaql/WebdaQLParserVisitor.js +1 -2
- package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -1
- package/lib/stores/webdaql/query.d.ts +4 -5
- package/lib/stores/webdaql/query.js +16 -19
- package/lib/stores/webdaql/query.js.map +1 -1
- package/lib/stores/webdaql/query.spec.js +30 -32
- package/lib/stores/webdaql/query.spec.js.map +1 -1
- package/lib/test.d.ts +3 -3
- package/lib/test.js +74 -94
- package/lib/test.js.map +1 -1
- package/lib/unpackedapplication.d.ts +1 -1
- package/lib/unpackedapplication.js +25 -31
- package/lib/unpackedapplication.js.map +1 -1
- package/lib/utils/abstractdeployer.js +1 -5
- package/lib/utils/abstractdeployer.js.map +1 -1
- package/lib/utils/abstractdeployer.spec.js +6 -8
- package/lib/utils/abstractdeployer.spec.js.map +1 -1
- package/lib/utils/context.d.ts +61 -29
- package/lib/utils/context.js +133 -127
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/context.spec.js +147 -153
- package/lib/utils/context.spec.js.map +1 -1
- package/lib/utils/cookie.d.ts +66 -45
- package/lib/utils/cookie.js +69 -158
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/cookie.spec.js +220 -238
- package/lib/utils/cookie.spec.js.map +1 -1
- package/lib/utils/esm.d.ts +4 -0
- package/lib/utils/esm.js +10 -0
- package/lib/utils/esm.js.map +1 -0
- package/lib/utils/httpcontext.d.ts +37 -9
- package/lib/utils/httpcontext.js +86 -57
- package/lib/utils/httpcontext.js.map +1 -1
- package/lib/utils/httpcontext.spec.js +37 -48
- package/lib/utils/httpcontext.spec.js.map +1 -1
- package/lib/utils/logger.d.ts +2 -2
- package/lib/utils/logger.js +15 -28
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/logger.spec.js +9 -11
- package/lib/utils/logger.spec.js.map +1 -1
- package/lib/utils/serializers.js +17 -20
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/serializers.spec.js +43 -44
- package/lib/utils/serializers.spec.js.map +1 -1
- package/lib/utils/session.d.ts +120 -0
- package/lib/utils/session.js +155 -0
- package/lib/utils/session.js.map +1 -0
- package/lib/utils/session.spec.d.ts +1 -0
- package/lib/utils/session.spec.js +66 -0
- package/lib/utils/session.spec.js.map +1 -0
- package/lib/utils/waiter.d.ts +1 -1
- package/lib/utils/waiter.js +32 -52
- package/lib/utils/waiter.js.map +1 -1
- package/lib/utils/waiter.spec.js +75 -92
- package/lib/utils/waiter.spec.js.map +1 -1
- package/package.json +22 -14
- package/test/config-invitation.json +1 -3
- package/test/config.json +3 -3
- package/test/config.old.json +1 -2
- package/test/moddas/annotatedservice.js +5 -5
- package/test/moddas/debugmailer.js +2 -3
- package/test/moddas/fakeservice.js +2 -3
- package/test/moddas/voidstore.js +6 -4
- package/test/models/ident.js +2 -6
- package/test/models/task.js +3 -7
- package/test/package.json +2 -1
- package/webda.module.json +956 -188
|
@@ -1,79 +1,66 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
2
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
3
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
6
|
};
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
var priorityQueue = this.webda.getService("PriorityEventQueue");
|
|
31
|
-
var eventService = this.webda.getService("AsyncEvents");
|
|
32
|
-
users.onAsync("Store.Saved", () => {
|
|
33
|
-
eventsCount++;
|
|
34
|
-
});
|
|
35
|
-
users.onAsync("Store.Deleted", () => {
|
|
36
|
-
priorityEventsCount++;
|
|
37
|
-
}, "priority");
|
|
38
|
-
yield users.save({
|
|
39
|
-
uuid: "test",
|
|
40
|
-
type: 1
|
|
41
|
-
});
|
|
42
|
-
let size = yield defaultQueue.size();
|
|
43
|
-
assert.strictEqual(size, 1);
|
|
44
|
-
size = yield priorityQueue.size();
|
|
45
|
-
assert.strictEqual(size, 0);
|
|
46
|
-
yield users.delete("test");
|
|
47
|
-
size = yield priorityQueue.size();
|
|
48
|
-
assert.strictEqual(size, 1);
|
|
49
|
-
size = yield defaultQueue.size();
|
|
50
|
-
assert.strictEqual(size, 1);
|
|
51
|
-
// Now that we have queued all messages see if they unqueue correctly
|
|
52
|
-
// We need to emulate the worker as it wont stop pulling from the queue
|
|
53
|
-
assert.strictEqual(eventsCount, 0);
|
|
54
|
-
assert.strictEqual(priorityEventsCount, 0);
|
|
55
|
-
let evts = yield defaultQueue.receiveMessage();
|
|
56
|
-
// @ts-ignore
|
|
57
|
-
yield eventService.handleRawEvent(evts[0].Message);
|
|
58
|
-
assert.strictEqual(eventsCount, 1);
|
|
59
|
-
assert.strictEqual(priorityEventsCount, 0);
|
|
60
|
-
evts = yield priorityQueue.receiveMessage();
|
|
61
|
-
// @ts-ignore
|
|
62
|
-
yield eventService.handleRawEvent(evts[0].Message);
|
|
63
|
-
assert.strictEqual(eventsCount, 1);
|
|
64
|
-
assert.strictEqual(priorityEventsCount, 1);
|
|
65
|
-
// Disable async and verify that it directly update now
|
|
66
|
-
eventService._async = false;
|
|
67
|
-
yield users.save({
|
|
68
|
-
uuid: "test",
|
|
69
|
-
type: 1
|
|
70
|
-
});
|
|
71
|
-
assert.strictEqual(eventsCount, 2);
|
|
72
|
-
assert.strictEqual(priorityEventsCount, 1);
|
|
73
|
-
yield users.delete("test");
|
|
74
|
-
assert.strictEqual(eventsCount, 2);
|
|
75
|
-
assert.strictEqual(priorityEventsCount, 2);
|
|
7
|
+
import { suite, test } from "@testdeck/mocha";
|
|
8
|
+
import * as assert from "assert";
|
|
9
|
+
import * as sinon from "sinon";
|
|
10
|
+
import { WebdaTest } from "../test.js";
|
|
11
|
+
import { EventService } from "./asyncevents.js";
|
|
12
|
+
let AsyncEventsTest = class AsyncEventsTest extends WebdaTest {
|
|
13
|
+
async simple() {
|
|
14
|
+
var users = this.webda.getService("users");
|
|
15
|
+
var eventsCount = 0;
|
|
16
|
+
var priorityEventsCount = 0;
|
|
17
|
+
var defaultQueue = this.webda.getService("EventQueue");
|
|
18
|
+
var priorityQueue = this.webda.getService("PriorityEventQueue");
|
|
19
|
+
var eventService = this.webda.getService("AsyncEvents");
|
|
20
|
+
users.onAsync("Store.Saved", () => {
|
|
21
|
+
eventsCount++;
|
|
22
|
+
});
|
|
23
|
+
users.onAsync("Store.Deleted", () => {
|
|
24
|
+
priorityEventsCount++;
|
|
25
|
+
}, "priority");
|
|
26
|
+
await users.save({
|
|
27
|
+
uuid: "test",
|
|
28
|
+
type: 1
|
|
76
29
|
});
|
|
30
|
+
let size = await defaultQueue.size();
|
|
31
|
+
assert.strictEqual(size, 1);
|
|
32
|
+
size = await priorityQueue.size();
|
|
33
|
+
assert.strictEqual(size, 0);
|
|
34
|
+
await users.delete("test");
|
|
35
|
+
size = await priorityQueue.size();
|
|
36
|
+
assert.strictEqual(size, 1);
|
|
37
|
+
size = await defaultQueue.size();
|
|
38
|
+
assert.strictEqual(size, 1);
|
|
39
|
+
// Now that we have queued all messages see if they unqueue correctly
|
|
40
|
+
// We need to emulate the worker as it wont stop pulling from the queue
|
|
41
|
+
assert.strictEqual(eventsCount, 0);
|
|
42
|
+
assert.strictEqual(priorityEventsCount, 0);
|
|
43
|
+
let evts = await defaultQueue.receiveMessage();
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
await eventService.handleRawEvent(evts[0].Message);
|
|
46
|
+
assert.strictEqual(eventsCount, 1);
|
|
47
|
+
assert.strictEqual(priorityEventsCount, 0);
|
|
48
|
+
evts = await priorityQueue.receiveMessage();
|
|
49
|
+
// @ts-ignore
|
|
50
|
+
await eventService.handleRawEvent(evts[0].Message);
|
|
51
|
+
assert.strictEqual(eventsCount, 1);
|
|
52
|
+
assert.strictEqual(priorityEventsCount, 1);
|
|
53
|
+
// Disable async and verify that it directly update now
|
|
54
|
+
eventService._async = false;
|
|
55
|
+
await users.save({
|
|
56
|
+
uuid: "test",
|
|
57
|
+
type: 1
|
|
58
|
+
});
|
|
59
|
+
assert.strictEqual(eventsCount, 2);
|
|
60
|
+
assert.strictEqual(priorityEventsCount, 1);
|
|
61
|
+
await users.delete("test");
|
|
62
|
+
assert.strictEqual(eventsCount, 2);
|
|
63
|
+
assert.strictEqual(priorityEventsCount, 2);
|
|
77
64
|
}
|
|
78
65
|
worker() {
|
|
79
66
|
let eventService = this.webda.getService("AsyncEvents");
|
|
@@ -90,46 +77,42 @@ let AsyncEventsTest = class AsyncEventsTest extends test_1.WebdaTest {
|
|
|
90
77
|
assert.strictEqual(eventService.worker("plop"), "ploper");
|
|
91
78
|
assert.strictEqual(eventService.worker(), "default");
|
|
92
79
|
}
|
|
93
|
-
computeParameters() {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
yield assert.rejects(() => evt.computeParameters(), /Need at least one queue for async to be ready/);
|
|
97
|
-
});
|
|
80
|
+
async computeParameters() {
|
|
81
|
+
let evt = new EventService(this.webda, "none", { sync: false });
|
|
82
|
+
await assert.rejects(() => evt.computeParameters(), /Need at least one queue for async to be ready/);
|
|
98
83
|
}
|
|
99
|
-
cov() {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
});
|
|
84
|
+
async cov() {
|
|
85
|
+
let evt = new EventService(this.webda, "none", { sync: true });
|
|
86
|
+
assert.throws(() => evt.bindAsyncListener(evt, "plop", undefined, "plop"), /EventService is not configured for asynchronous/);
|
|
87
|
+
await assert.rejects(
|
|
88
|
+
// @ts-ignore
|
|
89
|
+
() => evt.handleEvent({ getMapper: () => "plop" }), /Callbacks should not be empty, possible application version mismatch between emitter and worker/);
|
|
90
|
+
evt._async = true;
|
|
91
|
+
let stub = sinon.spy(this.webda.getService("users"), "on");
|
|
92
|
+
try {
|
|
93
|
+
evt.bindAsyncListener(this.webda.getService("users"), "plop", () => { }, "priority");
|
|
94
|
+
evt.bindAsyncListener(this.webda.getService("users"), "plop", () => { }, "priority");
|
|
95
|
+
// Should call 'on' only once
|
|
96
|
+
assert.strictEqual(stub.callCount, 1);
|
|
97
|
+
}
|
|
98
|
+
finally {
|
|
99
|
+
stub.restore();
|
|
100
|
+
}
|
|
118
101
|
}
|
|
119
102
|
};
|
|
120
103
|
__decorate([
|
|
121
|
-
|
|
104
|
+
test
|
|
122
105
|
], AsyncEventsTest.prototype, "simple", null);
|
|
123
106
|
__decorate([
|
|
124
|
-
|
|
107
|
+
test
|
|
125
108
|
], AsyncEventsTest.prototype, "worker", null);
|
|
126
109
|
__decorate([
|
|
127
|
-
|
|
110
|
+
test
|
|
128
111
|
], AsyncEventsTest.prototype, "computeParameters", null);
|
|
129
112
|
__decorate([
|
|
130
|
-
|
|
113
|
+
test
|
|
131
114
|
], AsyncEventsTest.prototype, "cov", null);
|
|
132
115
|
AsyncEventsTest = __decorate([
|
|
133
|
-
|
|
116
|
+
suite
|
|
134
117
|
], AsyncEventsTest);
|
|
135
118
|
//# sourceMappingURL=asyncevents.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"asyncevents.spec.js","sourceRoot":"","sources":["../../src/services/asyncevents.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"asyncevents.spec.js","sourceRoot":"","sources":["../../src/services/asyncevents.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { EventWithContext } from "../core";
|
|
2
|
-
import { Ident } from "../models/ident";
|
|
3
|
-
import { User } from "../models/user";
|
|
4
|
-
import { Service, ServiceParameters } from "../services/service";
|
|
5
|
-
import { Store } from "../stores/store";
|
|
6
|
-
import { Context } from "../utils/context";
|
|
7
|
-
import {
|
|
1
|
+
import { EventWithContext } from "../core.js";
|
|
2
|
+
import { Ident } from "../models/ident.js";
|
|
3
|
+
import { User } from "../models/user.js";
|
|
4
|
+
import { Service, ServiceParameters } from "../services/service.js";
|
|
5
|
+
import { Store } from "../stores/store.js";
|
|
6
|
+
import { Context } from "../utils/context.js";
|
|
7
|
+
import { HttpMethodType } from "../utils/httpcontext.js";
|
|
8
|
+
import CryptoService from "./cryptoservice.js";
|
|
9
|
+
import { Mailer } from "./mailer.js";
|
|
8
10
|
/**
|
|
9
11
|
* Emitted when the /me route is called
|
|
10
12
|
*/
|
|
@@ -204,6 +206,10 @@ export declare type AuthenticationEvents = {
|
|
|
204
206
|
declare class Authentication<T extends AuthenticationParameters = AuthenticationParameters, E extends AuthenticationEvents = AuthenticationEvents> extends Service<T, E> {
|
|
205
207
|
_identsStore: Store<Ident>;
|
|
206
208
|
_usersStore: Store<User>;
|
|
209
|
+
/**
|
|
210
|
+
* Used for hmac
|
|
211
|
+
*/
|
|
212
|
+
cryptoService: CryptoService;
|
|
207
213
|
_passwordVerifier: PasswordVerifier;
|
|
208
214
|
providers: Set<string>;
|
|
209
215
|
/**
|
|
@@ -220,11 +226,6 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
|
|
|
220
226
|
* @returns
|
|
221
227
|
*/
|
|
222
228
|
getIdentStore<K extends Ident = Ident>(): Store<K>;
|
|
223
|
-
/**
|
|
224
|
-
* @override
|
|
225
|
-
*/
|
|
226
|
-
initRoutes(): void;
|
|
227
|
-
getUrl(): string;
|
|
228
229
|
setIdents(identStore: any): void;
|
|
229
230
|
setUsers(userStore: any): void;
|
|
230
231
|
/**
|
|
@@ -237,6 +238,11 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
|
|
|
237
238
|
* @param name
|
|
238
239
|
*/
|
|
239
240
|
addProvider(name: string): void;
|
|
241
|
+
/**
|
|
242
|
+
* Ensure email is enabled for all emails routes
|
|
243
|
+
* @override
|
|
244
|
+
*/
|
|
245
|
+
getUrl(url: string, methods: HttpMethodType[]): string;
|
|
240
246
|
/**
|
|
241
247
|
* Send or resend an email to validate the email address
|
|
242
248
|
*
|
|
@@ -267,9 +273,18 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
|
|
|
267
273
|
createUserWithIdent(provider: string, identId: string, profile?: any): Promise<void>;
|
|
268
274
|
registerUser(ctx: Context, data: any, identId: string, user?: any): Promise<any>;
|
|
269
275
|
getPasswordRecoveryInfos(uuid: string | User, interval?: number): Promise<PasswordRecoveryInfos>;
|
|
276
|
+
/**
|
|
277
|
+
* Manage password recovery
|
|
278
|
+
* @param ctx
|
|
279
|
+
*/
|
|
270
280
|
_passwordRecoveryEmail(ctx: Context): Promise<void>;
|
|
271
281
|
_verifyPassword(password: string, user?: User): Promise<void>;
|
|
272
282
|
_passwordRecovery(ctx: Context<PasswordRecoveryBody>): Promise<void>;
|
|
283
|
+
/**
|
|
284
|
+
* Callback to validate an email address
|
|
285
|
+
* @param ctx
|
|
286
|
+
* @returns
|
|
287
|
+
*/
|
|
273
288
|
_handleEmailCallback(ctx: Context): Promise<void>;
|
|
274
289
|
/**
|
|
275
290
|
* Send an email to recover the user password
|
|
@@ -289,12 +304,6 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
|
|
|
289
304
|
* @returns
|
|
290
305
|
*/
|
|
291
306
|
sendValidationEmail(ctx: Context, email: string): Promise<any>;
|
|
292
|
-
/**
|
|
293
|
-
* Create a SHA256 of the info
|
|
294
|
-
*
|
|
295
|
-
* @param info to hash
|
|
296
|
-
*/
|
|
297
|
-
hashInfo(info: string): string;
|
|
298
307
|
/**
|
|
299
308
|
* Check the password match the stored hash
|
|
300
309
|
* @param hash generate prior by hashPassword
|
|
@@ -335,6 +344,6 @@ declare class Authentication<T extends AuthenticationParameters = Authentication
|
|
|
335
344
|
* @returns
|
|
336
345
|
*/
|
|
337
346
|
_handleEmail(ctx: Context<LoginBody>): Promise<any>;
|
|
338
|
-
generateEmailValidationToken(user: string, email: string): string
|
|
347
|
+
generateEmailValidationToken(user: string, email: string): Promise<string>;
|
|
339
348
|
}
|
|
340
349
|
export { Authentication };
|