@webda/core 1.6.0-beta.1 → 2.0.0-beta.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 +317 -195
- package/lib/application.js +171 -674
- package/lib/application.js.map +1 -1
- package/lib/application.spec.js +97 -289
- package/lib/application.spec.js.map +1 -1
- package/lib/core.d.ts +102 -214
- package/lib/core.js +146 -70
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +80 -17
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +14 -9
- package/lib/index.js +19 -10
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.d.ts +29 -8
- package/lib/models/aclmodel.js +68 -18
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/aclmodel.spec.js +56 -19
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +9 -17
- package/lib/models/coremodel.js +36 -36
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/ident.d.ts +8 -3
- package/lib/models/ident.js +8 -1
- package/lib/models/ident.js.map +1 -1
- package/lib/models/ident.spec.js +3 -0
- package/lib/models/ident.spec.js.map +1 -1
- package/lib/models/ownermodel.d.ts +8 -4
- package/lib/models/ownermodel.js +10 -6
- package/lib/models/ownermodel.js.map +1 -1
- package/lib/models/rolemodel.js.map +1 -1
- package/lib/models/rolemodel.spec.js +4 -1
- package/lib/models/rolemodel.spec.js.map +1 -1
- package/lib/models/user.d.ts +32 -3
- package/lib/models/user.js +31 -0
- package/lib/models/user.js.map +1 -1
- package/lib/models/user.spec.js +11 -0
- package/lib/models/user.spec.js.map +1 -1
- package/lib/queues/filequeue.d.ts +2 -7
- package/lib/queues/filequeue.js +2 -11
- package/lib/queues/filequeue.js.map +1 -1
- package/lib/queues/filequeue.spec.js +0 -1
- package/lib/queues/filequeue.spec.js.map +1 -1
- package/lib/queues/memoryqueue.d.ts +2 -7
- package/lib/queues/memoryqueue.js +1 -11
- package/lib/queues/memoryqueue.js.map +1 -1
- package/lib/queues/memoryqueue.spec.js +0 -1
- package/lib/queues/memoryqueue.spec.js.map +1 -1
- package/lib/queues/queue.spec.d.ts +1 -1
- package/lib/queues/queue.spec.js +11 -9
- package/lib/queues/queue.spec.js.map +1 -1
- package/lib/queues/queueservice.js +1 -1
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/router.d.ts +46 -1
- package/lib/router.js +89 -51
- package/lib/router.js.map +1 -1
- package/lib/router.spec.js +19 -2
- package/lib/router.spec.js.map +1 -1
- package/lib/services/asyncevents.d.ts +1 -0
- package/lib/services/asyncevents.js +4 -3
- package/lib/services/asyncevents.js.map +1 -1
- package/lib/services/authentication.d.ts +47 -5
- package/lib/services/authentication.js +99 -40
- package/lib/services/authentication.js.map +1 -1
- package/lib/services/authentication.spec.js +10 -0
- package/lib/services/authentication.spec.js.map +1 -1
- package/lib/services/binary.d.ts +126 -64
- package/lib/services/binary.js +247 -96
- package/lib/services/binary.js.map +1 -1
- package/lib/services/binary.spec.d.ts +1 -0
- package/lib/services/binary.spec.js +96 -25
- package/lib/services/binary.spec.js.map +1 -1
- package/lib/services/cloudbinary.d.ts +67 -0
- package/lib/services/cloudbinary.js +178 -0
- package/lib/services/cloudbinary.js.map +1 -0
- package/lib/services/cloudbinary.spec.d.ts +13 -0
- package/lib/services/cloudbinary.spec.js +205 -0
- package/lib/services/cloudbinary.spec.js.map +1 -0
- package/lib/services/configuration.d.ts +7 -2
- package/lib/services/configuration.js +4 -3
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/configuration.spec.js +1 -0
- package/lib/services/configuration.spec.js.map +1 -1
- package/lib/services/cron.d.ts +5 -6
- package/lib/services/cron.js +4 -11
- package/lib/services/cron.js.map +1 -1
- package/lib/services/cron.spec.js +2 -3
- package/lib/services/cron.spec.js.map +1 -1
- package/lib/services/debugmailer.d.ts +11 -6
- package/lib/services/debugmailer.js +20 -14
- package/lib/services/debugmailer.js.map +1 -1
- package/lib/services/debugmailer.spec.js +1 -0
- package/lib/services/debugmailer.spec.js.map +1 -1
- package/lib/services/echo.d.ts +2 -6
- package/lib/services/echo.js +1 -11
- package/lib/services/echo.js.map +1 -1
- package/lib/services/echo.spec.js +1 -0
- package/lib/services/echo.spec.js.map +1 -1
- package/lib/services/filebinary.d.ts +36 -12
- package/lib/services/filebinary.js +123 -38
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.d.ts +4 -2
- package/lib/services/filebinary.spec.js +48 -8
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/fileconfiguration.d.ts +1 -5
- package/lib/services/fileconfiguration.js +1 -10
- package/lib/services/fileconfiguration.js.map +1 -1
- package/lib/services/invitationservice.d.ts +198 -0
- package/lib/services/invitationservice.js +443 -0
- package/lib/services/invitationservice.js.map +1 -0
- package/lib/services/invitationservice.spec.d.ts +1 -0
- package/lib/services/invitationservice.spec.js +517 -0
- package/lib/services/invitationservice.spec.js.map +1 -0
- package/lib/services/kubernetesconfiguration.d.ts +3 -5
- package/lib/services/kubernetesconfiguration.js +5 -12
- package/lib/services/kubernetesconfiguration.js.map +1 -1
- package/lib/services/kubernetesconfiguration.spec.js +1 -1
- package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
- package/lib/services/mailer.d.ts +44 -7
- package/lib/services/mailer.js +34 -14
- package/lib/services/mailer.js.map +1 -1
- package/lib/services/mailer.spec.js +29 -0
- package/lib/services/mailer.spec.js.map +1 -1
- package/lib/services/notificationservice.d.ts +76 -0
- package/lib/services/notificationservice.js +91 -0
- package/lib/services/notificationservice.js.map +1 -0
- package/lib/services/notificationservice.spec.d.ts +1 -0
- package/lib/services/notificationservice.spec.js +104 -0
- package/lib/services/notificationservice.spec.js.map +1 -0
- package/lib/services/oauth.d.ts +6 -4
- package/lib/services/oauth.js +28 -11
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/oauth.spec.js +7 -10
- package/lib/services/oauth.spec.js.map +1 -1
- package/lib/services/resource.d.ts +1 -5
- package/lib/services/resource.js +22 -17
- package/lib/services/resource.js.map +1 -1
- package/lib/services/resource.spec.js +0 -1
- package/lib/services/resource.spec.js.map +1 -1
- package/lib/services/service.d.ts +29 -26
- package/lib/services/service.js +16 -22
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.js +3 -0
- package/lib/services/service.spec.js.map +1 -1
- package/lib/services/version.d.ts +2 -5
- package/lib/services/version.js +1 -10
- package/lib/services/version.js.map +1 -1
- package/lib/stores/aggregator.d.ts +3 -5
- package/lib/stores/aggregator.js +3 -10
- package/lib/stores/aggregator.js.map +1 -1
- package/lib/stores/file.d.ts +7 -8
- package/lib/stores/file.js +18 -18
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.js +8 -6
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +1 -5
- package/lib/stores/mapper.js +56 -39
- package/lib/stores/mapper.js.map +1 -1
- package/lib/stores/mapper.spec.js +120 -1
- package/lib/stores/mapper.spec.js.map +1 -1
- package/lib/stores/memory.d.ts +5 -9
- package/lib/stores/memory.js +5 -17
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +1 -0
- package/lib/stores/memory.spec.js +32 -0
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/store.d.ts +131 -26
- package/lib/stores/store.js +399 -80
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +29 -2
- package/lib/stores/store.spec.js +204 -31
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLLexer.d.ts +53 -0
- package/lib/stores/webdaql/WebdaQLLexer.js +290 -0
- package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +53 -0
- package/lib/stores/webdaql/WebdaQLParserLexer.js +290 -0
- package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserListener.d.ts +308 -0
- package/lib/stores/webdaql/WebdaQLParserListener.js +4 -0
- package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserParser.d.ts +301 -0
- package/lib/stores/webdaql/WebdaQLParserParser.js +1781 -0
- package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -0
- package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +198 -0
- package/lib/stores/webdaql/WebdaQLParserVisitor.js +4 -0
- package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -0
- package/lib/stores/webdaql/query.d.ts +300 -0
- package/lib/stores/webdaql/query.js +471 -0
- package/lib/stores/webdaql/query.js.map +1 -0
- package/lib/stores/webdaql/query.spec.d.ts +1 -0
- package/lib/stores/webdaql/query.spec.js +136 -0
- package/lib/stores/webdaql/query.spec.js.map +1 -0
- package/lib/test.d.ts +50 -2
- package/lib/test.js +161 -16
- package/lib/test.js.map +1 -1
- package/lib/unpackedapplication.d.ts +66 -0
- package/lib/unpackedapplication.js +202 -0
- package/lib/unpackedapplication.js.map +1 -0
- package/lib/utils/context.d.ts +14 -12
- package/lib/utils/context.js +14 -9
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/context.spec.js +1 -1
- package/lib/utils/context.spec.js.map +1 -1
- package/lib/utils/cookie.d.ts +6 -3
- package/lib/utils/cookie.js +22 -20
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/cookie.spec.js +0 -1
- package/lib/utils/cookie.spec.js.map +1 -1
- package/lib/utils/logger.d.ts +16 -3
- package/lib/utils/logger.js +16 -3
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/logger.spec.js.map +1 -1
- package/lib/utils/serializers.js +5 -1
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/waiter.d.ts +1 -1
- package/lib/utils/waiter.js.map +1 -1
- package/package.json +25 -18
- package/test/config-file-no-reload.json +2 -1
- package/test/config-file-reload.json +2 -1
- package/test/config-invitation.json +63 -0
- package/test/config-kube-reload.json +2 -1
- package/test/config-reload.json +1 -1
- package/test/config.json +6 -10
- package/test/config.old.json +1 -1
- package/test/moddas/annotatedservice.js +1 -3
- package/test/moddas/debugmailer.js +2 -7
- package/test/moddas/fakeservice.js +1 -1
- package/test/moddas/voidstore.js +2 -4
- package/test/models/ident.js +1 -1
- package/test/models/task.js +1 -5
- package/webda.module.json +1124 -0
- package/test/config.old-default.json +0 -151
|
@@ -23,7 +23,6 @@ const mapper_1 = require("./mapper");
|
|
|
23
23
|
let MapperTest = class MapperTest extends test_1.WebdaTest {
|
|
24
24
|
cov() {
|
|
25
25
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26
|
-
mapper_1.default.getModda();
|
|
27
26
|
let service = this.getService("MemoryIdentsMapper");
|
|
28
27
|
yield service.recompute();
|
|
29
28
|
let identStore = this.getService("MemoryIdents");
|
|
@@ -41,14 +40,134 @@ let MapperTest = class MapperTest extends test_1.WebdaTest {
|
|
|
41
40
|
yield service._handleUpdatedMapMapper(ident, { idents: [], getUuid: () => "t" }, { uuid: "t" });
|
|
42
41
|
assert.strictEqual(stb.getCall(0).args.length, 3);
|
|
43
42
|
yield this.getService("MemoryUsers").emitSync("Store.Deleted", {
|
|
43
|
+
// @ts-ignore
|
|
44
44
|
object: {}
|
|
45
45
|
});
|
|
46
46
|
});
|
|
47
47
|
}
|
|
48
|
+
n_n_mapping_array() {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
return this.n_n_mapping(args => args);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
n_n_mapping_object() {
|
|
54
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
+
return this.n_n_mapping(args => {
|
|
56
|
+
let res = {};
|
|
57
|
+
args.forEach(i => (res[i] = true));
|
|
58
|
+
return res;
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
n_n_mapping(generatorAttribute) {
|
|
63
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
64
|
+
const mapper = new mapper_1.default(this.webda, "nn", {
|
|
65
|
+
source: "MemoryIdents",
|
|
66
|
+
target: "MemoryUsers",
|
|
67
|
+
attribute: "test",
|
|
68
|
+
targetAttribute: "otherIdents",
|
|
69
|
+
fields: ["email"]
|
|
70
|
+
});
|
|
71
|
+
let identStore = this.getService("MemoryIdents");
|
|
72
|
+
let userStore = this.getService("MemoryUsers");
|
|
73
|
+
this.registerService(mapper);
|
|
74
|
+
mapper.resolve();
|
|
75
|
+
yield mapper.init();
|
|
76
|
+
let user1 = yield userStore.save({ uuid: "user1" });
|
|
77
|
+
let user2 = yield userStore.save({ uuid: "user2" });
|
|
78
|
+
let user3 = yield userStore.save({ uuid: "user3" });
|
|
79
|
+
let ident1 = yield identStore.save({
|
|
80
|
+
uuid: "ident1",
|
|
81
|
+
test: generatorAttribute(["user1", "user2"]),
|
|
82
|
+
email: "test@webda.io"
|
|
83
|
+
});
|
|
84
|
+
yield user1.refresh();
|
|
85
|
+
yield user2.refresh();
|
|
86
|
+
yield user3.refresh();
|
|
87
|
+
assert.deepStrictEqual(user1.otherIdents.map(i => ({
|
|
88
|
+
email: i.email,
|
|
89
|
+
uuid: i.uuid
|
|
90
|
+
})), [
|
|
91
|
+
{
|
|
92
|
+
email: "test@webda.io",
|
|
93
|
+
uuid: "ident1"
|
|
94
|
+
}
|
|
95
|
+
]);
|
|
96
|
+
assert.deepStrictEqual(user2.otherIdents.map(i => ({
|
|
97
|
+
email: i.email,
|
|
98
|
+
uuid: i.uuid
|
|
99
|
+
})), [
|
|
100
|
+
{
|
|
101
|
+
email: "test@webda.io",
|
|
102
|
+
uuid: "ident1"
|
|
103
|
+
}
|
|
104
|
+
]);
|
|
105
|
+
assert.deepStrictEqual(user3.otherIdents.length, 0);
|
|
106
|
+
yield ident1.update({ email: "newtest@webda.io" });
|
|
107
|
+
yield user1.refresh();
|
|
108
|
+
yield user2.refresh();
|
|
109
|
+
yield user3.refresh();
|
|
110
|
+
assert.deepStrictEqual(user1.otherIdents.map(i => ({
|
|
111
|
+
email: i.email,
|
|
112
|
+
uuid: i.uuid
|
|
113
|
+
})), [
|
|
114
|
+
{
|
|
115
|
+
email: "newtest@webda.io",
|
|
116
|
+
uuid: "ident1"
|
|
117
|
+
}
|
|
118
|
+
]);
|
|
119
|
+
assert.deepStrictEqual(user2.otherIdents.map(i => ({
|
|
120
|
+
email: i.email,
|
|
121
|
+
uuid: i.uuid
|
|
122
|
+
})), [
|
|
123
|
+
{
|
|
124
|
+
email: "newtest@webda.io",
|
|
125
|
+
uuid: "ident1"
|
|
126
|
+
}
|
|
127
|
+
]);
|
|
128
|
+
assert.deepStrictEqual(user3.otherIdents.length, 0);
|
|
129
|
+
yield ident1.update({ test: generatorAttribute(["user1", "user3"]) });
|
|
130
|
+
yield user1.refresh();
|
|
131
|
+
yield user2.refresh();
|
|
132
|
+
yield user3.refresh();
|
|
133
|
+
assert.deepStrictEqual(user1.otherIdents.map(i => ({
|
|
134
|
+
email: i.email,
|
|
135
|
+
uuid: i.uuid
|
|
136
|
+
})), [
|
|
137
|
+
{
|
|
138
|
+
email: "newtest@webda.io",
|
|
139
|
+
uuid: "ident1"
|
|
140
|
+
}
|
|
141
|
+
]);
|
|
142
|
+
assert.deepStrictEqual(user2.otherIdents.length, 0);
|
|
143
|
+
assert.deepStrictEqual(user3.otherIdents.map(i => ({
|
|
144
|
+
email: i.email,
|
|
145
|
+
uuid: i.uuid
|
|
146
|
+
})), [
|
|
147
|
+
{
|
|
148
|
+
email: "newtest@webda.io",
|
|
149
|
+
uuid: "ident1"
|
|
150
|
+
}
|
|
151
|
+
]);
|
|
152
|
+
yield ident1.delete();
|
|
153
|
+
yield user1.refresh();
|
|
154
|
+
yield user2.refresh();
|
|
155
|
+
yield user3.refresh();
|
|
156
|
+
assert.deepStrictEqual(user1.otherIdents.length, 0);
|
|
157
|
+
assert.deepStrictEqual(user2.otherIdents.length, 0);
|
|
158
|
+
assert.deepStrictEqual(user3.otherIdents.length, 0);
|
|
159
|
+
});
|
|
160
|
+
}
|
|
48
161
|
};
|
|
49
162
|
__decorate([
|
|
50
163
|
mocha_1.test
|
|
51
164
|
], MapperTest.prototype, "cov", null);
|
|
165
|
+
__decorate([
|
|
166
|
+
mocha_1.test
|
|
167
|
+
], MapperTest.prototype, "n_n_mapping_array", null);
|
|
168
|
+
__decorate([
|
|
169
|
+
mocha_1.test
|
|
170
|
+
], MapperTest.prototype, "n_n_mapping_object", null);
|
|
52
171
|
MapperTest = __decorate([
|
|
53
172
|
mocha_1.suite
|
|
54
173
|
], MapperTest);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mapper.spec.js","sourceRoot":"","sources":["../../src/stores/mapper.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AACA,iCAAiC;AACjC,2CAA8C;AAC9C,+BAA+B;AAC/B,kCAAoC;AACpC,qCAAqC;AAGrC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,gBAAS;IAE1B,GAAG;;YACP,
|
|
1
|
+
{"version":3,"file":"mapper.spec.js","sourceRoot":"","sources":["../../src/stores/mapper.spec.ts"],"names":[],"mappings":"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"}
|
package/lib/stores/memory.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { ModdaDefinition } from "../core";
|
|
2
1
|
import { CoreModel } from "../models/coremodel";
|
|
3
|
-
import {
|
|
2
|
+
import { WebdaQL } from "./webdaql/query";
|
|
3
|
+
import { Store, StoreFindResult, StoreParameters } from "./store";
|
|
4
4
|
interface StorageMap {
|
|
5
5
|
[key: string]: any;
|
|
6
6
|
}
|
|
@@ -8,6 +8,7 @@ interface StorageMap {
|
|
|
8
8
|
* Store in Memory
|
|
9
9
|
*
|
|
10
10
|
* @category CoreServices
|
|
11
|
+
* @WebdaModda
|
|
11
12
|
*/
|
|
12
13
|
declare class MemoryStore<T extends CoreModel, K extends StoreParameters = StoreParameters> extends Store<T, K> {
|
|
13
14
|
storage: StorageMap;
|
|
@@ -22,7 +23,7 @@ declare class MemoryStore<T extends CoreModel, K extends StoreParameters = Store
|
|
|
22
23
|
/**
|
|
23
24
|
* @override
|
|
24
25
|
*/
|
|
25
|
-
|
|
26
|
+
find(query: WebdaQL.Query): Promise<StoreFindResult<T>>;
|
|
26
27
|
/**
|
|
27
28
|
* @override
|
|
28
29
|
*/
|
|
@@ -74,10 +75,5 @@ declare class MemoryStore<T extends CoreModel, K extends StoreParameters = Store
|
|
|
74
75
|
* @override
|
|
75
76
|
*/
|
|
76
77
|
_deleteItemFromCollection(uid: any, prop: any, index: any, itemWriteCondition: any, itemWriteConditionField: any, updateDate: Date): Promise<T>;
|
|
77
|
-
/**
|
|
78
|
-
*
|
|
79
|
-
* @inheritdoc
|
|
80
|
-
*/
|
|
81
|
-
static getModda(): ModdaDefinition;
|
|
82
78
|
}
|
|
83
|
-
export { MemoryStore, StorageMap };
|
|
79
|
+
export { MemoryStore, StorageMap, MemoryStore as Plop };
|
package/lib/stores/memory.js
CHANGED
|
@@ -9,12 +9,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.MemoryStore = void 0;
|
|
12
|
+
exports.Plop = exports.MemoryStore = void 0;
|
|
13
13
|
const store_1 = require("./store");
|
|
14
14
|
/**
|
|
15
15
|
* Store in Memory
|
|
16
16
|
*
|
|
17
17
|
* @category CoreServices
|
|
18
|
+
* @WebdaModda
|
|
18
19
|
*/
|
|
19
20
|
class MemoryStore extends store_1.Store {
|
|
20
21
|
constructor() {
|
|
@@ -43,10 +44,9 @@ class MemoryStore extends store_1.Store {
|
|
|
43
44
|
/**
|
|
44
45
|
* @override
|
|
45
46
|
*/
|
|
46
|
-
|
|
47
|
+
find(query) {
|
|
47
48
|
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
-
|
|
49
|
-
return this.storage;
|
|
49
|
+
return this.simulateFind(query, Object.keys(this.storage));
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
@@ -195,19 +195,7 @@ class MemoryStore extends store_1.Store {
|
|
|
195
195
|
return this._save(res);
|
|
196
196
|
});
|
|
197
197
|
}
|
|
198
|
-
/**
|
|
199
|
-
*
|
|
200
|
-
* @inheritdoc
|
|
201
|
-
*/
|
|
202
|
-
static getModda() {
|
|
203
|
-
return {
|
|
204
|
-
uuid: "Webda/MemoryStore",
|
|
205
|
-
label: "MemoryStore",
|
|
206
|
-
description: "Implements a simple in memory store",
|
|
207
|
-
documentation: "",
|
|
208
|
-
logo: "images/icons/memorystore.png"
|
|
209
|
-
};
|
|
210
|
-
}
|
|
211
198
|
}
|
|
212
199
|
exports.MemoryStore = MemoryStore;
|
|
200
|
+
exports.Plop = MemoryStore;
|
|
213
201
|
//# sourceMappingURL=memory.js.map
|
package/lib/stores/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/stores/memory.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/stores/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ declare class MemoryStoreTest extends StoreTest {
|
|
|
6
6
|
getIndex(): Promise<CoreModel>;
|
|
7
7
|
recreateIndex(): Promise<void>;
|
|
8
8
|
deleteAsyncHttp(): Promise<void>;
|
|
9
|
+
queryAdditional(): Promise<Store<CoreModel, import("./store").StoreParameters, import("./store").StoreEvents>>;
|
|
9
10
|
initRoutes(): void;
|
|
10
11
|
getSync(): void;
|
|
11
12
|
badActions(): Promise<void>;
|
|
@@ -21,6 +21,7 @@ const assert = require("assert");
|
|
|
21
21
|
const mocha_1 = require("@testdeck/mocha");
|
|
22
22
|
const context_1 = require("../utils/context");
|
|
23
23
|
const store_1 = require("./store");
|
|
24
|
+
const query_1 = require("./webdaql/query");
|
|
24
25
|
let MemoryStoreTest = class MemoryStoreTest extends store_spec_1.StoreTest {
|
|
25
26
|
getIdentStore() {
|
|
26
27
|
// Need to slow down the _get
|
|
@@ -69,6 +70,34 @@ let MemoryStoreTest = class MemoryStoreTest extends store_spec_1.StoreTest {
|
|
|
69
70
|
assert.strictEqual(identStore._getSync("notFound"), null);
|
|
70
71
|
});
|
|
71
72
|
}
|
|
73
|
+
queryAdditional() {
|
|
74
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
75
|
+
let userStore = yield this.fillForQuery();
|
|
76
|
+
// Verify permission issue and half pagination
|
|
77
|
+
userStore.setModel(store_spec_1.PermissionModel);
|
|
78
|
+
// Return undefined as filter to trigger the warning
|
|
79
|
+
let find = userStore.find;
|
|
80
|
+
userStore.find = (query) => __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
let res = yield find.bind(userStore)({
|
|
82
|
+
filter: new query_1.WebdaQL.AndExpression([]),
|
|
83
|
+
continuationToken: query.continuationToken,
|
|
84
|
+
limit: query.limit
|
|
85
|
+
});
|
|
86
|
+
return Object.assign(Object.assign({}, res), { filter: undefined });
|
|
87
|
+
});
|
|
88
|
+
let context = yield this.newContext();
|
|
89
|
+
// Verify pagination system
|
|
90
|
+
let res, offset;
|
|
91
|
+
let total = 0;
|
|
92
|
+
do {
|
|
93
|
+
res = yield userStore.query(`state = 'CA' LIMIT 100 ${offset ? 'OFFSET "' + offset + '"' : ""}`, context);
|
|
94
|
+
offset = res.continuationToken;
|
|
95
|
+
total += res.results.length;
|
|
96
|
+
} while (offset);
|
|
97
|
+
assert.strictEqual(total, 100);
|
|
98
|
+
return userStore;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
72
101
|
initRoutes() {
|
|
73
102
|
// cov
|
|
74
103
|
let identStore = this.getIdentStore();
|
|
@@ -104,6 +133,9 @@ let MemoryStoreTest = class MemoryStoreTest extends store_spec_1.StoreTest {
|
|
|
104
133
|
__decorate([
|
|
105
134
|
mocha_1.test
|
|
106
135
|
], MemoryStoreTest.prototype, "deleteAsyncHttp", null);
|
|
136
|
+
__decorate([
|
|
137
|
+
mocha_1.test
|
|
138
|
+
], MemoryStoreTest.prototype, "queryAdditional", null);
|
|
107
139
|
__decorate([
|
|
108
140
|
mocha_1.test
|
|
109
141
|
], MemoryStoreTest.prototype, "initRoutes", null);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.spec.js","sourceRoot":"","sources":["../../src/stores/memory.spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,
|
|
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
|
@@ -3,6 +3,7 @@ import { ConfigurationProvider } from "../index";
|
|
|
3
3
|
import { CoreModel, CoreModelDefinition } from "../models/coremodel";
|
|
4
4
|
import { Service, ServiceParameters } from "../services/service";
|
|
5
5
|
import { Context } from "../utils/context";
|
|
6
|
+
import { WebdaQL } from "./webdaql/query";
|
|
6
7
|
export declare class StoreNotFoundError extends WebdaError {
|
|
7
8
|
constructor(uuid: string, storeName: string);
|
|
8
9
|
}
|
|
@@ -163,32 +164,32 @@ export interface EventStorePartialUpdated {
|
|
|
163
164
|
/**
|
|
164
165
|
* Event sent when a query on the store is emitted
|
|
165
166
|
*/
|
|
166
|
-
export interface
|
|
167
|
+
export interface EventStoreQuery {
|
|
167
168
|
/**
|
|
168
169
|
* Request sent
|
|
169
170
|
*/
|
|
170
|
-
|
|
171
|
+
query: string;
|
|
171
172
|
/**
|
|
172
173
|
* Emitting store
|
|
173
174
|
*/
|
|
174
175
|
store: Store;
|
|
175
176
|
/**
|
|
176
|
-
*
|
|
177
|
+
* The parsed query by our grammar
|
|
177
178
|
*/
|
|
178
|
-
|
|
179
|
-
/**
|
|
180
|
-
* Max number of results
|
|
181
|
-
*/
|
|
182
|
-
limit: number;
|
|
179
|
+
parsedQuery: WebdaQL.Query;
|
|
183
180
|
}
|
|
184
181
|
/**
|
|
185
182
|
* Event sent when query is resolved
|
|
186
183
|
*/
|
|
187
|
-
export interface
|
|
184
|
+
export interface EventStoreQueried extends EventStoreQuery {
|
|
188
185
|
/**
|
|
189
186
|
* Results from the query
|
|
190
187
|
*/
|
|
191
188
|
results: CoreModel[];
|
|
189
|
+
/**
|
|
190
|
+
* The next continuation token
|
|
191
|
+
*/
|
|
192
|
+
continuationToken: string;
|
|
192
193
|
}
|
|
193
194
|
/**
|
|
194
195
|
* Event sent when object is created via POST request
|
|
@@ -296,8 +297,38 @@ export declare type ExposeParameters = {
|
|
|
296
297
|
* Do not expose the DELETE
|
|
297
298
|
*/
|
|
298
299
|
delete?: boolean;
|
|
300
|
+
/**
|
|
301
|
+
* Do not expose the query endpoint
|
|
302
|
+
*/
|
|
303
|
+
query?: boolean;
|
|
299
304
|
};
|
|
305
|
+
/**
|
|
306
|
+
* For confidentiality sometimes you might prefer to expose query through PUT
|
|
307
|
+
* To avoid GET logging
|
|
308
|
+
*/
|
|
309
|
+
queryMethod: "PUT" | "GET";
|
|
300
310
|
};
|
|
311
|
+
/**
|
|
312
|
+
* Represent a query result on the Store
|
|
313
|
+
*/
|
|
314
|
+
export interface StoreFindResult<T> {
|
|
315
|
+
/**
|
|
316
|
+
* Current result objects
|
|
317
|
+
*/
|
|
318
|
+
results: T[];
|
|
319
|
+
/**
|
|
320
|
+
* Continuation Token if more results are available
|
|
321
|
+
*/
|
|
322
|
+
continuationToken?: string;
|
|
323
|
+
/**
|
|
324
|
+
* Remaining filtering to do as current store cannot filter
|
|
325
|
+
*
|
|
326
|
+
* If `true`, no more filtering is required apart from permissions
|
|
327
|
+
* If `filter === undefined`, a full postquery filtering will happen
|
|
328
|
+
* Otherwise filter.eval while be used on every results
|
|
329
|
+
*/
|
|
330
|
+
filter?: WebdaQL.Expression | true;
|
|
331
|
+
}
|
|
301
332
|
/**
|
|
302
333
|
* Store parameter
|
|
303
334
|
*/
|
|
@@ -315,16 +346,42 @@ export declare class StoreParameters extends ServiceParameters {
|
|
|
315
346
|
/**
|
|
316
347
|
* Expose the service to an urls
|
|
317
348
|
*/
|
|
318
|
-
expose?: ExposeParameters
|
|
349
|
+
expose?: ExposeParameters;
|
|
319
350
|
/**
|
|
320
351
|
* Allow to load object that does not have the type data
|
|
321
352
|
*
|
|
322
|
-
* @deprecated 2.0
|
|
323
353
|
* @default true
|
|
324
354
|
*/
|
|
325
355
|
strict?: boolean;
|
|
356
|
+
/**
|
|
357
|
+
* Slow query threshold
|
|
358
|
+
*
|
|
359
|
+
* @default 30000
|
|
360
|
+
*/
|
|
361
|
+
slowQueryThreshold: number;
|
|
326
362
|
constructor(params: any, service: Service<any>);
|
|
327
363
|
}
|
|
364
|
+
export declare type StoreEvents = {
|
|
365
|
+
"Store.PartialUpdated": EventStorePartialUpdated;
|
|
366
|
+
"Store.Save": EventStoreSave;
|
|
367
|
+
"Store.Saved": EventStoreSaved;
|
|
368
|
+
"Store.PatchUpdate": EventStorePatchUpdate;
|
|
369
|
+
"Store.PatchUpdated": EventStorePatchUpdated;
|
|
370
|
+
"Store.Update": EventStoreUpdate;
|
|
371
|
+
"Store.Updated": EventStoreUpdated;
|
|
372
|
+
"Store.Delete": EventStoreDelete;
|
|
373
|
+
"Store.Deleted": EventStoreDeleted;
|
|
374
|
+
"Store.Get": EventStoreGet;
|
|
375
|
+
"Store.Query": EventStoreQuery;
|
|
376
|
+
"Store.Queried": EventStoreQueried;
|
|
377
|
+
"Store.WebCreate": EventStoreWebCreate;
|
|
378
|
+
"Store.Action": EventStoreAction;
|
|
379
|
+
"Store.Actioned": EventStoreActioned;
|
|
380
|
+
"Store.WebUpdate": EventStoreWebUpdate;
|
|
381
|
+
"Store.WebGetNotFound": EventStoreWebGetNotFound;
|
|
382
|
+
"Store.WebGet": EventStoreWebGet;
|
|
383
|
+
"Store.WebDelete": EventStoreWebDelete;
|
|
384
|
+
};
|
|
328
385
|
/**
|
|
329
386
|
* A mapping service allow to link two object together
|
|
330
387
|
*
|
|
@@ -367,7 +424,11 @@ export interface MappingService<T = any> {
|
|
|
367
424
|
* }
|
|
368
425
|
* @category CoreServices
|
|
369
426
|
*/
|
|
370
|
-
declare abstract class Store<T extends CoreModel = CoreModel, K extends StoreParameters = StoreParameters> extends Service<K> implements ConfigurationProvider, MappingService<T> {
|
|
427
|
+
declare abstract class Store<T extends CoreModel = CoreModel, K extends StoreParameters = StoreParameters, E extends StoreEvents = StoreEvents> extends Service<K, E> implements ConfigurationProvider, MappingService<T> {
|
|
428
|
+
/**
|
|
429
|
+
* Cache store
|
|
430
|
+
*/
|
|
431
|
+
_cacheStore: Store<T>;
|
|
371
432
|
/**
|
|
372
433
|
* Contain the reverse map
|
|
373
434
|
*/
|
|
@@ -391,6 +452,23 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
391
452
|
* Contain the model uuid field
|
|
392
453
|
*/
|
|
393
454
|
protected _uuidField: string;
|
|
455
|
+
/**
|
|
456
|
+
* Add metrics counter
|
|
457
|
+
*/
|
|
458
|
+
metrics: {
|
|
459
|
+
save: number;
|
|
460
|
+
update: number;
|
|
461
|
+
partialUpdate: number;
|
|
462
|
+
get: number;
|
|
463
|
+
increment: number;
|
|
464
|
+
delete: number;
|
|
465
|
+
collectionUpsert: number;
|
|
466
|
+
collectionDelete: number;
|
|
467
|
+
attributeDelete: number;
|
|
468
|
+
query: number;
|
|
469
|
+
queryDuration: number;
|
|
470
|
+
slowQueries: number;
|
|
471
|
+
};
|
|
394
472
|
/**
|
|
395
473
|
* Load the parameters for a service
|
|
396
474
|
*/
|
|
@@ -401,17 +479,35 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
401
479
|
* @throws Error if model is not found
|
|
402
480
|
*/
|
|
403
481
|
computeParameters(): void;
|
|
482
|
+
logSlowQuery(query: string, reason: string, time: number): void;
|
|
404
483
|
/**
|
|
405
484
|
* Return Store current model
|
|
406
485
|
* @returns
|
|
407
486
|
*/
|
|
408
487
|
getModel(): CoreModelDefinition;
|
|
409
488
|
getLastUpdateField(): string;
|
|
410
|
-
|
|
489
|
+
/**
|
|
490
|
+
* Get From Cache or main
|
|
491
|
+
* @param uid
|
|
492
|
+
* @param raiseIfNotFound
|
|
493
|
+
* @returns
|
|
494
|
+
*/
|
|
495
|
+
_getFromCache(uid: string, raiseIfNotFound?: boolean): Promise<T>;
|
|
496
|
+
/**
|
|
497
|
+
* Get object from store
|
|
498
|
+
* @param uid
|
|
499
|
+
* @returns
|
|
500
|
+
*/
|
|
501
|
+
getObject(uid: string): Promise<T>;
|
|
411
502
|
/**
|
|
412
503
|
* @inheritdoc
|
|
413
504
|
*/
|
|
414
505
|
initRoutes(): void;
|
|
506
|
+
/**
|
|
507
|
+
* OVerwrite the model
|
|
508
|
+
* Used mainly in test
|
|
509
|
+
*/
|
|
510
|
+
setModel(model: CoreModelDefinition): void;
|
|
415
511
|
/**
|
|
416
512
|
* Get the url where the store is exposed
|
|
417
513
|
*/
|
|
@@ -433,9 +529,22 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
433
529
|
* @param store
|
|
434
530
|
*/
|
|
435
531
|
addReverseMap(prop: string, store: MappingService): void;
|
|
436
|
-
incrementAttribute(uid: string, prop: string, value: number): any
|
|
532
|
+
incrementAttribute(uid: string, prop: string, value: number): Promise<void | any[]>;
|
|
437
533
|
upsertItemToCollection(uid: string, prop: string, item: any, index?: number, itemWriteCondition?: any, itemWriteConditionField?: string): Promise<void>;
|
|
438
534
|
deleteItemFromCollection(uid: string, prop: string, index: number, itemWriteCondition: any, itemWriteConditionField?: string): Promise<void>;
|
|
535
|
+
/**
|
|
536
|
+
* Query store with WebdaQL
|
|
537
|
+
* @param query
|
|
538
|
+
* @param context to apply permission
|
|
539
|
+
*/
|
|
540
|
+
query(query: string, context?: Context): Promise<{
|
|
541
|
+
results: T[];
|
|
542
|
+
continuationToken?: string;
|
|
543
|
+
}>;
|
|
544
|
+
/**
|
|
545
|
+
* Expose query to http
|
|
546
|
+
*/
|
|
547
|
+
protected httpQuery(ctx: Context): Promise<void>;
|
|
439
548
|
/**
|
|
440
549
|
* Save an object
|
|
441
550
|
*
|
|
@@ -504,7 +613,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
504
613
|
* @param uuid
|
|
505
614
|
* @returns
|
|
506
615
|
*/
|
|
507
|
-
cascadeDelete(obj: CoreModel,
|
|
616
|
+
cascadeDelete(obj: CoreModel, _uuid: string): Promise<any>;
|
|
508
617
|
/**
|
|
509
618
|
* Delete an object from the store without condition nor async
|
|
510
619
|
* @param uid to delete
|
|
@@ -525,7 +634,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
525
634
|
* @param id
|
|
526
635
|
* @param callback
|
|
527
636
|
*/
|
|
528
|
-
canTriggerConfiguration(
|
|
637
|
+
canTriggerConfiguration(_id: string, _callback: () => void): boolean;
|
|
529
638
|
/**
|
|
530
639
|
* Provide a way to store configuration in store
|
|
531
640
|
* @param {string} id
|
|
@@ -553,16 +662,9 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
553
662
|
*/
|
|
554
663
|
setAttribute(uid: string, property: string, value: any): Promise<void>;
|
|
555
664
|
/**
|
|
556
|
-
*
|
|
557
|
-
*
|
|
558
|
-
* Still need to define a good abstraction for it
|
|
559
|
-
*
|
|
560
|
-
* @param request
|
|
561
|
-
* @param offset
|
|
562
|
-
* @param limit
|
|
563
|
-
* @returns
|
|
665
|
+
* @override
|
|
564
666
|
*/
|
|
565
|
-
|
|
667
|
+
protected simulateFind(query: WebdaQL.Query, uuids: string[]): Promise<StoreFindResult<T>>;
|
|
566
668
|
/**
|
|
567
669
|
* Handle POST
|
|
568
670
|
* @param ctx
|
|
@@ -601,7 +703,10 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
601
703
|
* Return the model uuid field
|
|
602
704
|
*/
|
|
603
705
|
getUuidField(): string;
|
|
604
|
-
|
|
706
|
+
/**
|
|
707
|
+
* Search within the store
|
|
708
|
+
*/
|
|
709
|
+
abstract find(query: WebdaQL.Query): Promise<StoreFindResult<T>>;
|
|
605
710
|
/**
|
|
606
711
|
* Check if an object exists
|
|
607
712
|
* @abstract
|