@webda/core 2.0.0-beta.3 → 2.1.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 +5 -5
- 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 +21 -25
- package/lib/core.js +233 -320
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +334 -406
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +49 -48
- package/lib/index.js +53 -70
- 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 -152
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +33 -14
- 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 -168
- package/lib/models/ownermodel.spec.js.map +1 -1
- package/lib/models/rolemodel.d.ts +1 -1
- package/lib/models/rolemodel.js +24 -40
- package/lib/models/rolemodel.js.map +1 -1
- package/lib/models/rolemodel.spec.js +44 -63
- 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 +3 -3
- package/lib/queues/queueservice.js +51 -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 +23 -13
- package/lib/services/authentication.js +540 -566
- 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 -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 +1 -1
- package/lib/services/configuration.js +78 -105
- 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 +9 -4
- package/lib/services/cryptoservice.js +187 -221
- package/lib/services/cryptoservice.js.map +1 -1
- package/lib/services/cryptoservice.spec.js +88 -115
- package/lib/services/cryptoservice.spec.js.map +1 -1
- 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 +5 -5
- package/lib/services/filebinary.js +165 -210
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.d.ts +2 -1
- package/lib/services/filebinary.spec.js +106 -116
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/fileconfiguration.d.ts +1 -1
- package/lib/services/fileconfiguration.js +25 -44
- 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 +8 -8
- package/lib/services/invitationservice.js +274 -314
- 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 +1 -1
- package/lib/services/kubernetesconfiguration.js +41 -60
- 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 +3 -3
- package/lib/services/notificationservice.js +21 -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 +4 -4
- package/lib/services/oauth.js +68 -83
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/oauth.spec.js +130 -156
- package/lib/services/oauth.spec.js.map +1 -1
- package/lib/services/proxy.d.ts +2 -6
- package/lib/services/proxy.js +45 -58
- package/lib/services/proxy.js.map +1 -1
- package/lib/services/proxy.spec.js +34 -53
- package/lib/services/proxy.spec.js.map +1 -1
- 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 +26 -3
- package/lib/services/service.js +68 -40
- 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 +2 -2
- package/lib/stores/aggregator.js +37 -58
- 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 +3 -3
- package/lib/stores/mapper.js +110 -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 +3 -3
- package/lib/stores/memory.js +98 -144
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +2 -2
- package/lib/stores/memory.spec.js +124 -145
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/store.d.ts +27 -17
- package/lib/stores/store.js +833 -849
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +5 -4
- package/lib/stores/store.spec.js +625 -669
- 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 +73 -100
- package/lib/test.js.map +1 -1
- package/lib/unpackedapplication.d.ts +1 -1
- package/lib/unpackedapplication.js +49 -39
- 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 +7 -5
- package/lib/utils/context.js +95 -103
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/context.spec.js +139 -163
- package/lib/utils/context.spec.js.map +1 -1
- package/lib/utils/cookie.d.ts +3 -3
- package/lib/utils/cookie.js +42 -61
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/cookie.spec.js +42 -64
- 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 +6 -6
- package/lib/utils/session.js +37 -59
- package/lib/utils/session.js.map +1 -1
- package/lib/utils/session.spec.js +38 -51
- package/lib/utils/session.spec.js.map +1 -1
- 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 +18 -13
- package/test/config-invitation.json +1 -3
- package/test/config.json +1 -2
- 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 -190
|
@@ -1,104 +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 fs_1 = require("fs");
|
|
22
|
-
const httpcontext_1 = require("../utils/httpcontext");
|
|
23
|
-
const serializers_1 = require("../utils/serializers");
|
|
24
|
-
const store_1 = require("./store");
|
|
25
|
-
const store_spec_1 = require("./store.spec");
|
|
26
|
-
const query_1 = require("./webdaql/query");
|
|
27
|
-
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 {
|
|
28
16
|
getIdentStore() {
|
|
29
17
|
// Need to slow down the _get
|
|
30
18
|
let store = this.getService("MemoryIdents");
|
|
31
19
|
let original = store._get.bind(store);
|
|
32
|
-
store._get = (...args) =>
|
|
33
|
-
|
|
20
|
+
store._get = async (...args) => {
|
|
21
|
+
await this.sleep(1);
|
|
34
22
|
return original(...args);
|
|
35
|
-
}
|
|
23
|
+
};
|
|
36
24
|
return store;
|
|
37
25
|
}
|
|
38
26
|
getUserStore() {
|
|
39
27
|
return this.getService("MemoryUsers");
|
|
40
28
|
}
|
|
41
|
-
getIndex() {
|
|
42
|
-
return
|
|
43
|
-
return this.getService("memoryaggregators").get("index");
|
|
44
|
-
});
|
|
29
|
+
async getIndex() {
|
|
30
|
+
return this.getService("memoryaggregators").get("index");
|
|
45
31
|
}
|
|
46
|
-
recreateIndex() {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
yield this.getService("memoryidentsindexer").createAggregate();
|
|
51
|
-
});
|
|
32
|
+
async recreateIndex() {
|
|
33
|
+
let store = this.getService("memoryaggregators");
|
|
34
|
+
await store.__clean();
|
|
35
|
+
await this.getService("memoryidentsindexer").createAggregate();
|
|
52
36
|
}
|
|
53
|
-
deleteAsyncHttp() {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
test: "ok"
|
|
61
|
-
});
|
|
62
|
-
yield identStore.delete("toDelete");
|
|
63
|
-
executor = this.getExecutor(ctx, "test.webda.io", "GET", "/memory/idents/toDelete");
|
|
64
|
-
assert.notStrictEqual(executor, undefined);
|
|
65
|
-
yield assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
66
|
-
executor = this.getExecutor(ctx, "test.webda.io", "PUT", "/memory/idents/toDelete");
|
|
67
|
-
assert.notStrictEqual(executor, undefined);
|
|
68
|
-
yield assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
69
|
-
executor = this.getExecutor(ctx, "test.webda.io", "DELETE", "/memory/idents/toDelete");
|
|
70
|
-
assert.notStrictEqual(executor, undefined);
|
|
71
|
-
yield assert.rejects(() => executor.execute(ctx), err => err == 404);
|
|
72
|
-
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"
|
|
73
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);
|
|
74
56
|
}
|
|
75
|
-
queryAdditional() {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
limit: query.limit
|
|
87
|
-
});
|
|
88
|
-
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
|
|
89
68
|
});
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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;
|
|
102
85
|
}
|
|
103
86
|
initRoutes() {
|
|
104
87
|
// cov
|
|
@@ -108,88 +91,84 @@ let MemoryStoreTest = class MemoryStoreTest extends store_spec_1.StoreTest {
|
|
|
108
91
|
}
|
|
109
92
|
getSync() {
|
|
110
93
|
let identStore = this.getIdentStore();
|
|
111
|
-
assert.throws(() => identStore._getSync("plop", true),
|
|
94
|
+
assert.throws(() => identStore._getSync("plop", true), StoreNotFoundError);
|
|
112
95
|
}
|
|
113
|
-
badActions() {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
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 = {
|
|
123
107
|
// @ts-ignore
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
getActions: () => {
|
|
128
|
-
return { test: { global: false } };
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
yield assert.throws(() => identStore.initRoutes(), /Action method _test does not exist/);
|
|
132
|
-
});
|
|
133
|
-
}
|
|
134
|
-
persistence() {
|
|
135
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
-
// Remove the path if exists
|
|
137
|
-
if ((0, fs_1.existsSync)(".test.json")) {
|
|
138
|
-
(0, fs_1.unlinkSync)(".test.json");
|
|
108
|
+
prototype: {},
|
|
109
|
+
getActions: () => {
|
|
110
|
+
return { test: { global: false } };
|
|
139
111
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
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);
|
|
171
150
|
}
|
|
172
151
|
};
|
|
173
152
|
__decorate([
|
|
174
|
-
|
|
153
|
+
test
|
|
175
154
|
], MemoryStoreTest.prototype, "deleteAsyncHttp", null);
|
|
176
155
|
__decorate([
|
|
177
|
-
|
|
156
|
+
test
|
|
178
157
|
], MemoryStoreTest.prototype, "queryAdditional", null);
|
|
179
158
|
__decorate([
|
|
180
|
-
|
|
159
|
+
test
|
|
181
160
|
], MemoryStoreTest.prototype, "initRoutes", null);
|
|
182
161
|
__decorate([
|
|
183
|
-
|
|
162
|
+
test
|
|
184
163
|
], MemoryStoreTest.prototype, "getSync", null);
|
|
185
164
|
__decorate([
|
|
186
|
-
|
|
165
|
+
test
|
|
187
166
|
], MemoryStoreTest.prototype, "badActions", null);
|
|
188
167
|
__decorate([
|
|
189
|
-
|
|
168
|
+
test
|
|
190
169
|
], MemoryStoreTest.prototype, "persistence", null);
|
|
191
170
|
MemoryStoreTest = __decorate([
|
|
192
|
-
|
|
171
|
+
suite
|
|
193
172
|
], MemoryStoreTest);
|
|
194
|
-
|
|
173
|
+
export { MemoryStoreTest };
|
|
195
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
|
|
@@ -613,7 +620,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
613
620
|
* @param {Boolean} reverseMap internal use only, for disable map resolution
|
|
614
621
|
* @return {Promise} with saved object
|
|
615
622
|
*/
|
|
616
|
-
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>;
|
|
617
624
|
/**
|
|
618
625
|
* Remove an attribute from an object
|
|
619
626
|
*
|
|
@@ -660,7 +667,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
660
667
|
[key: string]: any;
|
|
661
668
|
}>;
|
|
662
669
|
/**
|
|
663
|
-
*
|
|
670
|
+
* Upsert the uuid object
|
|
664
671
|
* @param uuid
|
|
665
672
|
* @param data
|
|
666
673
|
*/
|
|
@@ -671,7 +678,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
671
678
|
* @param {String} uuid to get
|
|
672
679
|
* @return {Promise} the object retrieved ( can be undefined if not found )
|
|
673
680
|
*/
|
|
674
|
-
get(uid: string, ctx?: Context): Promise<T>;
|
|
681
|
+
get(uid: string, ctx?: Context, defaultValue?: any): Promise<T>;
|
|
675
682
|
/**
|
|
676
683
|
* Set one attribute in an object
|
|
677
684
|
*
|
|
@@ -687,6 +694,9 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
687
694
|
* @override
|
|
688
695
|
*/
|
|
689
696
|
protected simulateFind(query: WebdaQL.Query, uuids: string[]): Promise<StoreFindResult<T>>;
|
|
697
|
+
getOpenApiReplacements(): {
|
|
698
|
+
modelName: string;
|
|
699
|
+
};
|
|
690
700
|
/**
|
|
691
701
|
* Handle POST
|
|
692
702
|
* @param ctx
|