@webda/core 2.0.0-beta.2 → 2.0.1
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 +5 -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 +44 -45
- package/lib/core.js +239 -320
- 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 +128 -151
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +39 -17
- package/lib/models/coremodel.js +160 -117
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +143 -107
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/deployment.js +1 -2
- package/lib/models/ident.d.ts +3 -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 +2 -2
- package/lib/models/ownermodel.js +39 -62
- package/lib/models/ownermodel.js.map +1 -1
- package/lib/models/ownermodel.spec.js +126 -166
- 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 +9 -9
- 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 +3 -3
- package/lib/router.js +46 -47
- 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 +542 -574
- 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 +9 -7
- package/lib/services/binary.js +213 -245
- 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 +45 -70
- 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 +10 -5
- package/lib/services/filebinary.js +171 -205
- 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 +10 -10
- package/lib/services/invitationservice.js +275 -313
- package/lib/services/invitationservice.js.map +1 -1
- package/lib/services/invitationservice.spec.js +443 -449
- 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 -148
- 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 +29 -6
- package/lib/services/service.js +69 -39
- 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 +262 -289
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +4 -4
- package/lib/stores/mapper.js +111 -137
- package/lib/stores/mapper.js.map +1 -1
- package/lib/stores/mapper.spec.js +133 -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 +40 -16
- package/lib/stores/store.js +847 -830
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +6 -4
- package/lib/stores/store.spec.js +628 -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 +44 -38
- 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 +144 -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 +3 -0
- package/lib/utils/httpcontext.js +48 -65
- package/lib/utils/httpcontext.js.map +1 -1
- package/lib/utils/httpcontext.spec.js +37 -56
- 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 +895 -189
|
@@ -1,102 +1,87 @@
|
|
|
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
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.MemoryStoreTest = void 0;
|
|
19
|
-
const mocha_1 = require("@testdeck/mocha");
|
|
20
|
-
const assert = require("assert");
|
|
21
|
-
const httpcontext_1 = require("../utils/httpcontext");
|
|
22
|
-
const store_1 = require("./store");
|
|
23
|
-
const store_spec_1 = require("./store.spec");
|
|
24
|
-
const query_1 = require("./webdaql/query");
|
|
25
|
-
let MemoryStoreTest = class MemoryStoreTest extends store_spec_1.StoreTest {
|
|
7
|
+
import { suite, test } from "@testdeck/mocha";
|
|
8
|
+
import * as assert from "assert";
|
|
9
|
+
import { existsSync, unlinkSync } from "fs";
|
|
10
|
+
import { HttpContext } from "../utils/httpcontext.js";
|
|
11
|
+
import { JSONUtils } from "../utils/serializers.js";
|
|
12
|
+
import { StoreNotFoundError } from "./store.js";
|
|
13
|
+
import { PermissionModel, StoreTest } from "./store.spec.js";
|
|
14
|
+
import { WebdaQL } from "./webdaql/query.js";
|
|
15
|
+
let MemoryStoreTest = class MemoryStoreTest extends StoreTest {
|
|
26
16
|
getIdentStore() {
|
|
27
17
|
// Need to slow down the _get
|
|
28
18
|
let store = this.getService("MemoryIdents");
|
|
29
19
|
let original = store._get.bind(store);
|
|
30
|
-
store._get = (...args) =>
|
|
31
|
-
|
|
20
|
+
store._get = async (...args) => {
|
|
21
|
+
await this.sleep(1);
|
|
32
22
|
return original(...args);
|
|
33
|
-
}
|
|
23
|
+
};
|
|
34
24
|
return store;
|
|
35
25
|
}
|
|
36
26
|
getUserStore() {
|
|
37
27
|
return this.getService("MemoryUsers");
|
|
38
28
|
}
|
|
39
|
-
getIndex() {
|
|
40
|
-
return
|
|
41
|
-
return this.getService("memoryaggregators").get("index");
|
|
42
|
-
});
|
|
29
|
+
async getIndex() {
|
|
30
|
+
return this.getService("memoryaggregators").get("index");
|
|
43
31
|
}
|
|
44
|
-
recreateIndex() {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
yield this.getService("memoryidentsindexer").createAggregate();
|
|
49
|
-
});
|
|
32
|
+
async recreateIndex() {
|
|
33
|
+
let store = this.getService("memoryaggregators");
|
|
34
|
+
await store.__clean();
|
|
35
|
+
await this.getService("memoryidentsindexer").createAggregate();
|
|
50
36
|
}
|
|
51
|
-
deleteAsyncHttp() {
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
test: "ok"
|
|
59
|
-
});
|
|
60
|
-
yield identStore.delete("toDelete");
|
|
61
|
-
executor = this.getExecutor(ctx, "test.webda.io", "GET", "/memory/idents/toDelete");
|
|
62
|
-
assert.notStrictEqual(executor, undefined);
|
|
63
|
-
yield assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
64
|
-
executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/memory/idents/toDelete");
|
|
65
|
-
assert.notStrictEqual(executor, undefined);
|
|
66
|
-
yield assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
67
|
-
executor = this.getExecutor(ctx, "test.webda.io", "DELETE", "/memory/idents/toDelete");
|
|
68
|
-
assert.notStrictEqual(executor, undefined);
|
|
69
|
-
yield assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
70
|
-
assert.strictEqual(identStore._getSync("notFound"), null);
|
|
37
|
+
async deleteAsyncHttp() {
|
|
38
|
+
let executor, ctx;
|
|
39
|
+
ctx = await this.webda.newContext(new HttpContext("test.webda.io", "GET", "/memory/idents/ToDelete"));
|
|
40
|
+
let identStore = this.getIdentStore();
|
|
41
|
+
await identStore.save({
|
|
42
|
+
uuid: "toDelete",
|
|
43
|
+
test: "ok"
|
|
71
44
|
});
|
|
45
|
+
await identStore.delete("toDelete");
|
|
46
|
+
executor = this.getExecutor(ctx, "test.webda.io", "GET", "/memory/idents/toDelete");
|
|
47
|
+
assert.notStrictEqual(executor, undefined);
|
|
48
|
+
await assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
49
|
+
executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/memory/idents/toDelete");
|
|
50
|
+
assert.notStrictEqual(executor, undefined);
|
|
51
|
+
await assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
52
|
+
executor = this.getExecutor(ctx, "test.webda.io", "DELETE", "/memory/idents/toDelete");
|
|
53
|
+
assert.notStrictEqual(executor, undefined);
|
|
54
|
+
await assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
55
|
+
assert.strictEqual(identStore._getSync("notFound"), null);
|
|
72
56
|
}
|
|
73
|
-
queryAdditional() {
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
limit: query.limit
|
|
85
|
-
});
|
|
86
|
-
return Object.assign(Object.assign({}, res), { filter: undefined });
|
|
57
|
+
async queryAdditional() {
|
|
58
|
+
let userStore = await this.fillForQuery();
|
|
59
|
+
// Verify permission issue and half pagination
|
|
60
|
+
userStore.setModel(PermissionModel);
|
|
61
|
+
// Return undefined as filter to trigger the warning
|
|
62
|
+
let find = userStore.find;
|
|
63
|
+
userStore.find = async (query) => {
|
|
64
|
+
let res = await find.bind(userStore)({
|
|
65
|
+
filter: new WebdaQL.AndExpression([]),
|
|
66
|
+
continuationToken: query.continuationToken,
|
|
67
|
+
limit: query.limit
|
|
87
68
|
});
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
69
|
+
return {
|
|
70
|
+
...res,
|
|
71
|
+
filter: undefined
|
|
72
|
+
};
|
|
73
|
+
};
|
|
74
|
+
let context = await this.newContext();
|
|
75
|
+
// Verify pagination system
|
|
76
|
+
let res, offset;
|
|
77
|
+
let total = 0;
|
|
78
|
+
do {
|
|
79
|
+
res = await userStore.query(`state = 'CA' LIMIT 100 ${offset ? 'OFFSET "' + offset + '"' : ""}`, context);
|
|
80
|
+
offset = res.continuationToken;
|
|
81
|
+
total += res.results.length;
|
|
82
|
+
} while (offset);
|
|
83
|
+
assert.strictEqual(total, 100);
|
|
84
|
+
return userStore;
|
|
100
85
|
}
|
|
101
86
|
initRoutes() {
|
|
102
87
|
// cov
|
|
@@ -106,47 +91,84 @@ let MemoryStoreTest = class MemoryStoreTest extends store_spec_1.StoreTest {
|
|
|
106
91
|
}
|
|
107
92
|
getSync() {
|
|
108
93
|
let identStore = this.getIdentStore();
|
|
109
|
-
assert.throws(() => identStore._getSync("plop", true),
|
|
94
|
+
assert.throws(() => identStore._getSync("plop", true), StoreNotFoundError);
|
|
110
95
|
}
|
|
111
|
-
badActions() {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
96
|
+
async badActions() {
|
|
97
|
+
let identStore = this.getIdentStore();
|
|
98
|
+
// @ts-ignore
|
|
99
|
+
identStore._model = {
|
|
100
|
+
getActions: () => {
|
|
101
|
+
return { test: { global: true } };
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
await assert.throws(() => identStore.initRoutes(), /Action static method _test does not exist/);
|
|
105
|
+
// @ts-ignore
|
|
106
|
+
identStore._model = {
|
|
121
107
|
// @ts-ignore
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
108
|
+
prototype: {},
|
|
109
|
+
getActions: () => {
|
|
110
|
+
return { test: { global: false } };
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
await assert.throws(() => identStore.initRoutes(), /Action method _test does not exist/);
|
|
114
|
+
}
|
|
115
|
+
async persistence() {
|
|
116
|
+
// Remove the path if exists
|
|
117
|
+
if (existsSync(".test.json")) {
|
|
118
|
+
unlinkSync(".test.json");
|
|
119
|
+
}
|
|
120
|
+
let identStore = this.getIdentStore();
|
|
121
|
+
identStore.getParameters().persistence = {
|
|
122
|
+
path: ".test.json",
|
|
123
|
+
delay: 10
|
|
124
|
+
};
|
|
125
|
+
await identStore.init();
|
|
126
|
+
await identStore.put("test", {});
|
|
127
|
+
await this.sleep(10);
|
|
128
|
+
// Check basic persistence
|
|
129
|
+
assert.ok(existsSync(".test.json"));
|
|
130
|
+
assert.notStrictEqual(JSONUtils.loadFile(".test.json").test, undefined);
|
|
131
|
+
identStore.storage = {};
|
|
132
|
+
// Check basic load of persistence
|
|
133
|
+
await identStore.init();
|
|
134
|
+
assert.notStrictEqual(identStore.storage.test, undefined);
|
|
135
|
+
// Check encryption
|
|
136
|
+
identStore.getParameters().persistence = {
|
|
137
|
+
path: ".test.json",
|
|
138
|
+
delay: 10,
|
|
139
|
+
key: "test",
|
|
140
|
+
cipher: "aes-256-ctr"
|
|
141
|
+
};
|
|
142
|
+
// Should silently ignore not encrypted file
|
|
143
|
+
await identStore.init();
|
|
144
|
+
await identStore.put("test", {});
|
|
145
|
+
await this.sleep(10);
|
|
146
|
+
identStore.storage = {};
|
|
147
|
+
// Check basic load of persistence
|
|
148
|
+
await identStore.init();
|
|
149
|
+
assert.notStrictEqual(identStore.storage.test, undefined);
|
|
131
150
|
}
|
|
132
151
|
};
|
|
133
152
|
__decorate([
|
|
134
|
-
|
|
153
|
+
test
|
|
135
154
|
], MemoryStoreTest.prototype, "deleteAsyncHttp", null);
|
|
136
155
|
__decorate([
|
|
137
|
-
|
|
156
|
+
test
|
|
138
157
|
], MemoryStoreTest.prototype, "queryAdditional", null);
|
|
139
158
|
__decorate([
|
|
140
|
-
|
|
159
|
+
test
|
|
141
160
|
], MemoryStoreTest.prototype, "initRoutes", null);
|
|
142
161
|
__decorate([
|
|
143
|
-
|
|
162
|
+
test
|
|
144
163
|
], MemoryStoreTest.prototype, "getSync", null);
|
|
145
164
|
__decorate([
|
|
146
|
-
|
|
165
|
+
test
|
|
147
166
|
], MemoryStoreTest.prototype, "badActions", null);
|
|
167
|
+
__decorate([
|
|
168
|
+
test
|
|
169
|
+
], MemoryStoreTest.prototype, "persistence", null);
|
|
148
170
|
MemoryStoreTest = __decorate([
|
|
149
|
-
|
|
171
|
+
suite
|
|
150
172
|
], MemoryStoreTest);
|
|
151
|
-
|
|
173
|
+
export { MemoryStoreTest };
|
|
152
174
|
//# sourceMappingURL=memory.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.spec.js","sourceRoot":"","sources":["../../src/stores/memory.spec.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"memory.spec.js","sourceRoot":"","sources":["../../src/stores/memory.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/stores/store.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { EventWithContext, WebdaError } from "../core";
|
|
2
|
-
import { ConfigurationProvider } from "../index";
|
|
3
|
-
import { CoreModel, CoreModelDefinition } from "../models/coremodel";
|
|
4
|
-
import { Service, ServiceParameters } from "../services/service";
|
|
5
|
-
import { Context } from "../utils/context";
|
|
6
|
-
import {
|
|
1
|
+
import { EventWithContext, WebdaError } from "../core.js";
|
|
2
|
+
import { ConfigurationProvider } from "../index.js";
|
|
3
|
+
import { CoreModel, CoreModelDefinition } from "../models/coremodel.js";
|
|
4
|
+
import { Service, ServiceParameters } from "../services/service.js";
|
|
5
|
+
import { Context } from "../utils/context.js";
|
|
6
|
+
import { HttpMethodType } from "../utils/httpcontext.js";
|
|
7
|
+
import { WebdaQL } from "./webdaql/query.js";
|
|
7
8
|
export declare class StoreNotFoundError extends WebdaError {
|
|
8
9
|
constructor(uuid: string, storeName: string);
|
|
9
10
|
}
|
|
@@ -390,7 +391,7 @@ export declare type StoreEvents = {
|
|
|
390
391
|
* Therefore they need to handle the cascadeDelete
|
|
391
392
|
*/
|
|
392
393
|
export interface MappingService<T = any> {
|
|
393
|
-
|
|
394
|
+
newModel(object: any): T;
|
|
394
395
|
}
|
|
395
396
|
/**
|
|
396
397
|
* This class handle NoSQL storage and mapping (duplication) between NoSQL object
|
|
@@ -474,7 +475,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
474
475
|
/**
|
|
475
476
|
* Load the parameters for a service
|
|
476
477
|
*/
|
|
477
|
-
loadParameters(params: any): StoreParameters;
|
|
478
|
+
abstract loadParameters(params: any): StoreParameters;
|
|
478
479
|
/**
|
|
479
480
|
* Retrieve the Model
|
|
480
481
|
*
|
|
@@ -501,6 +502,10 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
501
502
|
* @returns
|
|
502
503
|
*/
|
|
503
504
|
getObject(uid: string): Promise<T>;
|
|
505
|
+
/**
|
|
506
|
+
* @override
|
|
507
|
+
*/
|
|
508
|
+
getUrl(url: string, methods: HttpMethodType[]): string;
|
|
504
509
|
/**
|
|
505
510
|
* @inheritdoc
|
|
506
511
|
*/
|
|
@@ -510,10 +515,6 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
510
515
|
* Used mainly in test
|
|
511
516
|
*/
|
|
512
517
|
setModel(model: CoreModelDefinition): void;
|
|
513
|
-
/**
|
|
514
|
-
* Get the url where the store is exposed
|
|
515
|
-
*/
|
|
516
|
-
getUrl(): string;
|
|
517
518
|
/**
|
|
518
519
|
* We should ignore exception from the store
|
|
519
520
|
*/
|
|
@@ -526,7 +527,13 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
526
527
|
* @param object
|
|
527
528
|
* @returns
|
|
528
529
|
*/
|
|
529
|
-
initModel(object?: any): T;
|
|
530
|
+
protected initModel(object?: any): T;
|
|
531
|
+
/**
|
|
532
|
+
* Get a new model with this data preloaded
|
|
533
|
+
* @param object
|
|
534
|
+
* @returns
|
|
535
|
+
*/
|
|
536
|
+
newModel(object?: any): T;
|
|
530
537
|
/**
|
|
531
538
|
* Add reverse map information
|
|
532
539
|
*
|
|
@@ -568,7 +575,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
568
575
|
* @param reverseMap
|
|
569
576
|
* @returns
|
|
570
577
|
*/
|
|
571
|
-
patch(object:
|
|
578
|
+
patch(object: Partial<T>, reverseMap?: boolean, conditionField?: string | null, conditionValue?: any): Promise<T | undefined>;
|
|
572
579
|
/**
|
|
573
580
|
* Check if an UpdateCondition is met
|
|
574
581
|
* @param model
|
|
@@ -585,6 +592,14 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
585
592
|
* @param uid
|
|
586
593
|
*/
|
|
587
594
|
checkCollectionUpdateCondition(model: T, collection: string, conditionField?: string, condition?: any, index?: number): void;
|
|
595
|
+
/**
|
|
596
|
+
* Update conditionally
|
|
597
|
+
* @param uuid
|
|
598
|
+
* @param updates
|
|
599
|
+
* @param conditionField
|
|
600
|
+
* @param condition
|
|
601
|
+
*/
|
|
602
|
+
conditionalPatch(uuid: string, updates: any, conditionField: any, condition: any): Promise<boolean>;
|
|
588
603
|
/**
|
|
589
604
|
*
|
|
590
605
|
* @param model
|
|
@@ -605,7 +620,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
605
620
|
* @param {Boolean} reverseMap internal use only, for disable map resolution
|
|
606
621
|
* @return {Promise} with saved object
|
|
607
622
|
*/
|
|
608
|
-
update(object: any, reverseMap?: boolean, partial?: boolean): Promise<T | undefined>;
|
|
623
|
+
update(object: any, reverseMap?: boolean, partial?: boolean, conditionField?: string | null, conditionValue?: any): Promise<T | undefined>;
|
|
609
624
|
/**
|
|
610
625
|
* Remove an attribute from an object
|
|
611
626
|
*
|
|
@@ -651,13 +666,19 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
651
666
|
getConfiguration(id: string): Promise<{
|
|
652
667
|
[key: string]: any;
|
|
653
668
|
}>;
|
|
669
|
+
/**
|
|
670
|
+
* Upsert the uuid object
|
|
671
|
+
* @param uuid
|
|
672
|
+
* @param data
|
|
673
|
+
*/
|
|
674
|
+
put(uuid: string, data: any): Promise<T>;
|
|
654
675
|
/**
|
|
655
676
|
* Get an object
|
|
656
677
|
*
|
|
657
678
|
* @param {String} uuid to get
|
|
658
679
|
* @return {Promise} the object retrieved ( can be undefined if not found )
|
|
659
680
|
*/
|
|
660
|
-
get(uid: string, ctx?: Context): Promise<T>;
|
|
681
|
+
get(uid: string, ctx?: Context, defaultValue?: any): Promise<T>;
|
|
661
682
|
/**
|
|
662
683
|
* Set one attribute in an object
|
|
663
684
|
*
|
|
@@ -673,6 +694,9 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
673
694
|
* @override
|
|
674
695
|
*/
|
|
675
696
|
protected simulateFind(query: WebdaQL.Query, uuids: string[]): Promise<StoreFindResult<T>>;
|
|
697
|
+
getOpenApiReplacements(): {
|
|
698
|
+
modelName: string;
|
|
699
|
+
};
|
|
676
700
|
/**
|
|
677
701
|
* Handle POST
|
|
678
702
|
* @param ctx
|