@webda/core 2.0.0-beta.0 → 2.0.0-beta.3
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 +40 -18
- package/lib/application.js +20 -6
- package/lib/application.js.map +1 -1
- package/lib/application.spec.js +12 -0
- package/lib/application.spec.js.map +1 -1
- package/lib/core.d.ts +69 -19
- package/lib/core.js +90 -38
- package/lib/core.js.map +1 -1
- package/lib/core.spec.js +42 -35
- package/lib/core.spec.js.map +1 -1
- package/lib/index.d.ts +4 -0
- package/lib/index.js +5 -0
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.js +3 -2
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/aclmodel.spec.js +7 -4
- package/lib/models/aclmodel.spec.js.map +1 -1
- package/lib/models/coremodel.d.ts +82 -9
- package/lib/models/coremodel.js +49 -0
- package/lib/models/coremodel.js.map +1 -1
- package/lib/models/coremodel.spec.js +21 -2
- package/lib/models/coremodel.spec.js.map +1 -1
- package/lib/models/ident.d.ts +4 -2
- package/lib/models/ident.js.map +1 -1
- package/lib/models/ident.spec.js +1 -1
- package/lib/models/ident.spec.js.map +1 -1
- package/lib/models/ownermodel.d.ts +11 -1
- package/lib/models/ownermodel.js +16 -1
- package/lib/models/ownermodel.js.map +1 -1
- package/lib/models/ownermodel.spec.js +32 -13
- package/lib/models/ownermodel.spec.js.map +1 -1
- package/lib/models/rolemodel.d.ts +1 -1
- package/lib/models/rolemodel.spec.js +3 -1
- package/lib/models/rolemodel.spec.js.map +1 -1
- package/lib/models/user.d.ts +3 -3
- package/lib/models/user.js.map +1 -1
- package/lib/models/user.spec.js +1 -1
- package/lib/models/user.spec.js.map +1 -1
- package/lib/queues/filequeue.js +2 -2
- package/lib/queues/filequeue.js.map +1 -1
- package/lib/queues/filequeue.spec.js +2 -2
- package/lib/queues/filequeue.spec.js.map +1 -1
- package/lib/queues/memoryqueue.spec.js +1 -1
- package/lib/queues/memoryqueue.spec.js.map +1 -1
- package/lib/queues/queue.spec.js +1 -1
- package/lib/queues/queue.spec.js.map +1 -1
- package/lib/queues/queueservice.d.ts +2 -2
- package/lib/queues/queueservice.js +1 -0
- package/lib/queues/queueservice.js.map +1 -1
- package/lib/router.d.ts +6 -1
- package/lib/router.js +3 -12
- package/lib/router.js.map +1 -1
- package/lib/router.spec.js +5 -5
- package/lib/router.spec.js.map +1 -1
- package/lib/services/asyncevents.spec.js +2 -2
- package/lib/services/asyncevents.spec.js.map +1 -1
- package/lib/services/authentication.d.ts +33 -14
- package/lib/services/authentication.js +24 -36
- package/lib/services/authentication.js.map +1 -1
- package/lib/services/authentication.spec.js +16 -16
- package/lib/services/authentication.spec.js.map +1 -1
- package/lib/services/binary.d.ts +3 -3
- package/lib/services/binary.js +24 -17
- package/lib/services/binary.js.map +1 -1
- package/lib/services/binary.spec.d.ts +1 -1
- package/lib/services/binary.spec.js +5 -5
- package/lib/services/binary.spec.js.map +1 -1
- package/lib/services/cloudbinary.d.ts +2 -2
- package/lib/services/cloudbinary.js +3 -3
- package/lib/services/cloudbinary.js.map +1 -1
- package/lib/services/cloudbinary.spec.js +8 -1
- package/lib/services/cloudbinary.spec.js.map +1 -1
- package/lib/services/configuration.d.ts +5 -2
- package/lib/services/configuration.js +4 -2
- package/lib/services/configuration.js.map +1 -1
- package/lib/services/configuration.spec.js +2 -2
- package/lib/services/configuration.spec.js.map +1 -1
- package/lib/services/cron.d.ts +1 -1
- package/lib/services/cron.js +1 -1
- package/lib/services/cron.js.map +1 -1
- package/lib/services/cron.spec.js +3 -3
- package/lib/services/cron.spec.js.map +1 -1
- package/lib/services/cryptoservice.d.ts +253 -0
- package/lib/services/cryptoservice.js +346 -0
- package/lib/services/cryptoservice.js.map +1 -0
- package/lib/services/cryptoservice.spec.d.ts +1 -0
- package/lib/services/cryptoservice.spec.js +164 -0
- package/lib/services/cryptoservice.spec.js.map +1 -0
- package/lib/services/debugmailer.spec.js +1 -1
- package/lib/services/debugmailer.spec.js.map +1 -1
- package/lib/services/echo.d.ts +1 -1
- package/lib/services/echo.spec.js +3 -3
- package/lib/services/echo.spec.js.map +1 -1
- package/lib/services/filebinary.d.ts +16 -6
- package/lib/services/filebinary.js +45 -22
- package/lib/services/filebinary.js.map +1 -1
- package/lib/services/filebinary.spec.js +7 -11
- package/lib/services/filebinary.spec.js.map +1 -1
- package/lib/services/fileconfiguration.d.ts +1 -1
- package/lib/services/fileconfiguration.js +3 -2
- package/lib/services/fileconfiguration.js.map +1 -1
- package/lib/services/fileconfiguration.spec.js +2 -2
- package/lib/services/fileconfiguration.spec.js.map +1 -1
- package/lib/services/invitationservice.d.ts +28 -6
- package/lib/services/invitationservice.js +8 -5
- package/lib/services/invitationservice.js.map +1 -1
- package/lib/services/invitationservice.spec.js +4 -4
- package/lib/services/invitationservice.spec.js.map +1 -1
- package/lib/services/kubernetesconfiguration.d.ts +1 -1
- package/lib/services/kubernetesconfiguration.js +3 -2
- package/lib/services/kubernetesconfiguration.js.map +1 -1
- package/lib/services/kubernetesconfiguration.spec.js +4 -4
- package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
- package/lib/services/mailer.js.map +1 -1
- package/lib/services/mailer.spec.js +3 -3
- package/lib/services/mailer.spec.js.map +1 -1
- package/lib/services/notificationservice.d.ts +1 -1
- package/lib/services/notificationservice.js +2 -0
- package/lib/services/notificationservice.js.map +1 -1
- package/lib/services/notificationservice.spec.js +2 -2
- package/lib/services/notificationservice.spec.js.map +1 -1
- package/lib/services/oauth.d.ts +30 -4
- package/lib/services/oauth.js +19 -10
- package/lib/services/oauth.js.map +1 -1
- package/lib/services/oauth.spec.js +30 -23
- package/lib/services/oauth.spec.js.map +1 -1
- package/lib/services/proxy.d.ts +78 -0
- package/lib/services/proxy.js +139 -0
- package/lib/services/proxy.js.map +1 -0
- package/lib/services/proxy.spec.d.ts +1 -0
- package/lib/services/proxy.spec.js +78 -0
- package/lib/services/proxy.spec.js.map +1 -0
- package/lib/services/resource.d.ts +17 -0
- package/lib/services/resource.js +20 -6
- package/lib/services/resource.js.map +1 -1
- package/lib/services/resource.spec.js +4 -3
- package/lib/services/resource.spec.js.map +1 -1
- package/lib/services/service.d.ts +10 -7
- package/lib/services/service.js +7 -3
- package/lib/services/service.js.map +1 -1
- package/lib/services/service.spec.js +2 -2
- package/lib/services/service.spec.js.map +1 -1
- package/lib/services/version.d.ts +1 -1
- package/lib/services/version.spec.js +1 -1
- package/lib/services/version.spec.js.map +1 -1
- package/lib/stores/aggregator.d.ts +1 -1
- package/lib/stores/aggregator.js +1 -0
- package/lib/stores/aggregator.js.map +1 -1
- package/lib/stores/file.d.ts +9 -1
- package/lib/stores/file.js +7 -4
- package/lib/stores/file.js.map +1 -1
- package/lib/stores/file.spec.d.ts +3 -1
- package/lib/stores/file.spec.js +30 -7
- package/lib/stores/file.spec.js.map +1 -1
- package/lib/stores/mapper.d.ts +1 -1
- package/lib/stores/mapper.js +2 -0
- package/lib/stores/mapper.js.map +1 -1
- package/lib/stores/mapper.spec.js +1 -1
- package/lib/stores/mapper.spec.js.map +1 -1
- package/lib/stores/memory.d.ts +65 -4
- package/lib/stores/memory.js +85 -1
- package/lib/stores/memory.js.map +1 -1
- package/lib/stores/memory.spec.d.ts +2 -1
- package/lib/stores/memory.spec.js +47 -4
- package/lib/stores/memory.spec.js.map +1 -1
- package/lib/stores/store.d.ts +27 -5
- package/lib/stores/store.js +107 -22
- package/lib/stores/store.js.map +1 -1
- package/lib/stores/store.spec.d.ts +4 -3
- package/lib/stores/store.spec.js +37 -14
- package/lib/stores/store.spec.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLLexer.js +2 -2
- package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserLexer.js +2 -2
- package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserListener.d.ts +1 -25
- package/lib/stores/webdaql/WebdaQLParserParser.d.ts +1 -1
- package/lib/stores/webdaql/WebdaQLParserParser.js +2 -2
- package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
- package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +1 -25
- package/lib/stores/webdaql/query.d.ts +3 -3
- package/lib/stores/webdaql/query.js +4 -4
- package/lib/stores/webdaql/query.js.map +1 -1
- package/lib/stores/webdaql/query.spec.js +1 -1
- package/lib/stores/webdaql/query.spec.js.map +1 -1
- package/lib/test.d.ts +6 -8
- package/lib/test.js +12 -18
- package/lib/test.js.map +1 -1
- package/lib/unpackedapplication.js +24 -7
- package/lib/unpackedapplication.js.map +1 -1
- package/lib/utils/abstractdeployer.spec.js +1 -1
- package/lib/utils/abstractdeployer.spec.js.map +1 -1
- package/lib/utils/context.d.ts +61 -73
- package/lib/utils/context.js +81 -159
- package/lib/utils/context.js.map +1 -1
- package/lib/utils/context.spec.js +79 -40
- package/lib/utils/context.spec.js.map +1 -1
- package/lib/utils/cookie.d.ts +65 -44
- package/lib/utils/cookie.js +75 -145
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/cookie.spec.js +203 -199
- package/lib/utils/cookie.spec.js.map +1 -1
- package/lib/utils/httpcontext.d.ts +182 -0
- package/lib/utils/httpcontext.js +325 -0
- package/lib/utils/httpcontext.js.map +1 -0
- package/lib/utils/httpcontext.spec.d.ts +5 -0
- package/lib/utils/httpcontext.spec.js +90 -0
- package/lib/utils/httpcontext.spec.js.map +1 -0
- package/lib/utils/logger.d.ts +2 -2
- package/lib/utils/logger.js +1 -1
- package/lib/utils/logger.js.map +1 -1
- package/lib/utils/logger.spec.js.map +1 -1
- package/lib/utils/serializers.js +1 -1
- package/lib/utils/serializers.js.map +1 -1
- package/lib/utils/serializers.spec.js +3 -3
- package/lib/utils/serializers.spec.js.map +1 -1
- package/lib/utils/session.d.ts +120 -0
- package/lib/utils/session.js +177 -0
- package/lib/utils/session.js.map +1 -0
- package/lib/utils/session.spec.d.ts +1 -0
- package/lib/utils/session.spec.js +79 -0
- package/lib/utils/session.spec.js.map +1 -0
- package/lib/utils/waiter.js.map +1 -1
- package/lib/utils/waiter.spec.js +2 -2
- package/lib/utils/waiter.spec.js.map +1 -1
- package/package.json +10 -7
- package/test/config.json +4 -2
- package/test/models/task.js +0 -1
- package/webda.module.json +3 -2
package/lib/stores/memory.d.ts
CHANGED
|
@@ -1,21 +1,82 @@
|
|
|
1
1
|
import { CoreModel } from "../models/coremodel";
|
|
2
|
-
import { WebdaQL } from "./webdaql/query";
|
|
3
2
|
import { Store, StoreFindResult, StoreParameters } from "./store";
|
|
3
|
+
import { WebdaQL } from "./webdaql/query";
|
|
4
4
|
interface StorageMap {
|
|
5
5
|
[key: string]: any;
|
|
6
6
|
}
|
|
7
|
+
/**
|
|
8
|
+
* Memory store
|
|
9
|
+
*/
|
|
10
|
+
declare class MemoryStoreParameters extends StoreParameters {
|
|
11
|
+
/**
|
|
12
|
+
* Persist the data in a file
|
|
13
|
+
*/
|
|
14
|
+
persistence?: {
|
|
15
|
+
/**
|
|
16
|
+
* File path to save to
|
|
17
|
+
*/
|
|
18
|
+
path: string;
|
|
19
|
+
/**
|
|
20
|
+
* Encryption key for AES encryption
|
|
21
|
+
*/
|
|
22
|
+
key?: string;
|
|
23
|
+
/**
|
|
24
|
+
* By default only save once every 1s if modified
|
|
25
|
+
*
|
|
26
|
+
* @default 1000
|
|
27
|
+
*/
|
|
28
|
+
delay?: number;
|
|
29
|
+
/**
|
|
30
|
+
* cipher to use
|
|
31
|
+
*/
|
|
32
|
+
cipher?: string;
|
|
33
|
+
};
|
|
34
|
+
constructor(params: any, service: MemoryStore);
|
|
35
|
+
}
|
|
7
36
|
/**
|
|
8
37
|
* Store in Memory
|
|
9
38
|
*
|
|
10
39
|
* @category CoreServices
|
|
11
40
|
* @WebdaModda
|
|
12
41
|
*/
|
|
13
|
-
declare class MemoryStore<T extends CoreModel, K extends
|
|
42
|
+
declare class MemoryStore<T extends CoreModel = CoreModel, K extends MemoryStoreParameters = MemoryStoreParameters> extends Store<T, K> {
|
|
43
|
+
/**
|
|
44
|
+
* Inmemory storage
|
|
45
|
+
*/
|
|
14
46
|
storage: StorageMap;
|
|
47
|
+
/**
|
|
48
|
+
* Persistence timeout id
|
|
49
|
+
*/
|
|
50
|
+
private persistenceTimeout;
|
|
51
|
+
/**
|
|
52
|
+
* AES encryption key
|
|
53
|
+
*/
|
|
54
|
+
private key;
|
|
55
|
+
/**
|
|
56
|
+
* Persist inmemory storage to file
|
|
57
|
+
*
|
|
58
|
+
* Called every this.parameters.persistence.delay ms
|
|
59
|
+
*/
|
|
60
|
+
persist(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Encrypt data with provided key
|
|
63
|
+
* @returns
|
|
64
|
+
*/
|
|
65
|
+
encrypt(): string;
|
|
66
|
+
/**
|
|
67
|
+
* Decrypt data with provided key
|
|
68
|
+
* @param data
|
|
69
|
+
* @returns
|
|
70
|
+
*/
|
|
71
|
+
decrypt(data: string): string;
|
|
72
|
+
/**
|
|
73
|
+
* @override
|
|
74
|
+
*/
|
|
75
|
+
loadParameters(params: any): MemoryStoreParameters;
|
|
15
76
|
/**
|
|
16
77
|
* @override
|
|
17
78
|
*/
|
|
18
|
-
init(): Promise<
|
|
79
|
+
init(): Promise<this>;
|
|
19
80
|
/**
|
|
20
81
|
* @override
|
|
21
82
|
*/
|
|
@@ -43,7 +104,7 @@ declare class MemoryStore<T extends CoreModel, K extends StoreParameters = Store
|
|
|
43
104
|
/**
|
|
44
105
|
* @override
|
|
45
106
|
*/
|
|
46
|
-
getAll(uids
|
|
107
|
+
getAll(uids?: string[]): Promise<any>;
|
|
47
108
|
/**
|
|
48
109
|
* Retrieve the object as model
|
|
49
110
|
*
|
package/lib/stores/memory.js
CHANGED
|
@@ -10,7 +10,23 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.Plop = exports.MemoryStore = void 0;
|
|
13
|
+
const crypto = require("crypto");
|
|
14
|
+
const fs_1 = require("fs");
|
|
13
15
|
const store_1 = require("./store");
|
|
16
|
+
/**
|
|
17
|
+
* Memory store
|
|
18
|
+
*/
|
|
19
|
+
class MemoryStoreParameters extends store_1.StoreParameters {
|
|
20
|
+
constructor(params, service) {
|
|
21
|
+
var _a, _b;
|
|
22
|
+
var _c, _d;
|
|
23
|
+
super(params, service);
|
|
24
|
+
if (this.persistence) {
|
|
25
|
+
(_a = (_c = this.persistence).delay) !== null && _a !== void 0 ? _a : (_c.delay = 1000);
|
|
26
|
+
(_b = (_d = this.persistence).cipher) !== null && _b !== void 0 ? _b : (_d.cipher = "aes-256-ctr");
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
14
30
|
/**
|
|
15
31
|
* Store in Memory
|
|
16
32
|
*
|
|
@@ -20,8 +36,54 @@ const store_1 = require("./store");
|
|
|
20
36
|
class MemoryStore extends store_1.Store {
|
|
21
37
|
constructor() {
|
|
22
38
|
super(...arguments);
|
|
39
|
+
/**
|
|
40
|
+
* Inmemory storage
|
|
41
|
+
*/
|
|
23
42
|
this.storage = {};
|
|
24
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Persist inmemory storage to file
|
|
46
|
+
*
|
|
47
|
+
* Called every this.parameters.persistence.delay ms
|
|
48
|
+
*/
|
|
49
|
+
persist() {
|
|
50
|
+
(0, fs_1.writeFileSync)(this.parameters.persistence.path, this.encrypt());
|
|
51
|
+
this.persistenceTimeout = null;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Encrypt data with provided key
|
|
55
|
+
* @returns
|
|
56
|
+
*/
|
|
57
|
+
encrypt() {
|
|
58
|
+
let data = JSON.stringify(this.storage, undefined, 2);
|
|
59
|
+
if (!this.key) {
|
|
60
|
+
return data;
|
|
61
|
+
}
|
|
62
|
+
// Initialization Vector
|
|
63
|
+
let iv = crypto.randomBytes(16);
|
|
64
|
+
let cipher = crypto.createCipheriv(this.parameters.persistence.cipher, this.key, iv);
|
|
65
|
+
return Buffer.concat([iv, cipher.update(Buffer.from(data)), cipher.final()]).toString("base64");
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Decrypt data with provided key
|
|
69
|
+
* @param data
|
|
70
|
+
* @returns
|
|
71
|
+
*/
|
|
72
|
+
decrypt(data) {
|
|
73
|
+
if (!this.key) {
|
|
74
|
+
return data;
|
|
75
|
+
}
|
|
76
|
+
let input = Buffer.from(data, "base64");
|
|
77
|
+
let iv = input.slice(0, 16);
|
|
78
|
+
let decipher = crypto.createDecipheriv(this.parameters.persistence.cipher, this.key, iv);
|
|
79
|
+
return decipher.update(input.slice(16)).toString() + decipher.final().toString();
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* @override
|
|
83
|
+
*/
|
|
84
|
+
loadParameters(params) {
|
|
85
|
+
return new MemoryStoreParameters(params, this);
|
|
86
|
+
}
|
|
25
87
|
/**
|
|
26
88
|
* @override
|
|
27
89
|
*/
|
|
@@ -30,6 +92,28 @@ class MemoryStore extends store_1.Store {
|
|
|
30
92
|
init: { get: () => super.init }
|
|
31
93
|
});
|
|
32
94
|
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
if (this.parameters.persistence) {
|
|
96
|
+
if (this.parameters.persistence.key) {
|
|
97
|
+
this.key = crypto.createHash("sha256").update(this.parameters.persistence.key).digest();
|
|
98
|
+
}
|
|
99
|
+
try {
|
|
100
|
+
if ((0, fs_1.existsSync)(this.parameters.persistence.path)) {
|
|
101
|
+
this.storage = JSON.parse(this.decrypt((0, fs_1.readFileSync)(this.parameters.persistence.path).toString()));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
catch (err) {
|
|
105
|
+
this.log("INFO", "Cannot loaded persisted memory data", err);
|
|
106
|
+
this.storage = {};
|
|
107
|
+
}
|
|
108
|
+
this.storage = new Proxy(this.storage, {
|
|
109
|
+
set: (target, p, value) => {
|
|
110
|
+
var _a;
|
|
111
|
+
target[p] = value;
|
|
112
|
+
(_a = this.persistenceTimeout) !== null && _a !== void 0 ? _a : (this.persistenceTimeout = setTimeout(() => this.persist(), this.parameters.persistence.delay));
|
|
113
|
+
return true;
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
}
|
|
33
117
|
return _super.init.call(this);
|
|
34
118
|
});
|
|
35
119
|
}
|
|
@@ -186,7 +270,7 @@ class MemoryStore extends store_1.Store {
|
|
|
186
270
|
*/
|
|
187
271
|
_deleteItemFromCollection(uid, prop, index, itemWriteCondition, itemWriteConditionField, updateDate) {
|
|
188
272
|
return __awaiter(this, void 0, void 0, function* () {
|
|
189
|
-
|
|
273
|
+
let res = yield this._get(uid, true);
|
|
190
274
|
if (itemWriteCondition && res[prop][index][itemWriteConditionField] != itemWriteCondition) {
|
|
191
275
|
throw new store_1.UpdateConditionFailError(uid, itemWriteConditionField, itemWriteCondition);
|
|
192
276
|
}
|
package/lib/stores/memory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/stores/memory.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/stores/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { StoreTest } from "./store.spec";
|
|
2
1
|
import { CoreModel, Store } from "../index";
|
|
2
|
+
import { StoreTest } from "./store.spec";
|
|
3
3
|
declare class MemoryStoreTest extends StoreTest {
|
|
4
4
|
getIdentStore(): Store<any>;
|
|
5
5
|
getUserStore(): Store<any>;
|
|
@@ -10,5 +10,6 @@ declare class MemoryStoreTest extends StoreTest {
|
|
|
10
10
|
initRoutes(): void;
|
|
11
11
|
getSync(): void;
|
|
12
12
|
badActions(): Promise<void>;
|
|
13
|
+
persistence(): Promise<void>;
|
|
13
14
|
}
|
|
14
15
|
export { MemoryStoreTest };
|
|
@@ -16,11 +16,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
16
16
|
};
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
18
|
exports.MemoryStoreTest = void 0;
|
|
19
|
-
const store_spec_1 = require("./store.spec");
|
|
20
|
-
const assert = require("assert");
|
|
21
19
|
const mocha_1 = require("@testdeck/mocha");
|
|
22
|
-
const
|
|
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");
|
|
23
24
|
const store_1 = require("./store");
|
|
25
|
+
const store_spec_1 = require("./store.spec");
|
|
24
26
|
const query_1 = require("./webdaql/query");
|
|
25
27
|
let MemoryStoreTest = class MemoryStoreTest extends store_spec_1.StoreTest {
|
|
26
28
|
getIdentStore() {
|
|
@@ -51,7 +53,7 @@ let MemoryStoreTest = class MemoryStoreTest extends store_spec_1.StoreTest {
|
|
|
51
53
|
deleteAsyncHttp() {
|
|
52
54
|
return __awaiter(this, void 0, void 0, function* () {
|
|
53
55
|
let executor, ctx;
|
|
54
|
-
ctx = yield this.webda.newContext(new
|
|
56
|
+
ctx = yield this.webda.newContext(new httpcontext_1.HttpContext("test.webda.io", "GET", "/memory/idents/ToDelete"));
|
|
55
57
|
let identStore = this.getIdentStore();
|
|
56
58
|
yield identStore.save({
|
|
57
59
|
uuid: "toDelete",
|
|
@@ -129,6 +131,44 @@ let MemoryStoreTest = class MemoryStoreTest extends store_spec_1.StoreTest {
|
|
|
129
131
|
yield assert.throws(() => identStore.initRoutes(), /Action method _test does not exist/);
|
|
130
132
|
});
|
|
131
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");
|
|
139
|
+
}
|
|
140
|
+
let identStore = this.getIdentStore();
|
|
141
|
+
identStore.getParameters().persistence = {
|
|
142
|
+
path: ".test.json",
|
|
143
|
+
delay: 10
|
|
144
|
+
};
|
|
145
|
+
yield identStore.init();
|
|
146
|
+
yield identStore.put("test", {});
|
|
147
|
+
yield this.sleep(10);
|
|
148
|
+
// Check basic persistence
|
|
149
|
+
assert.ok((0, fs_1.existsSync)(".test.json"));
|
|
150
|
+
assert.notStrictEqual(serializers_1.JSONUtils.loadFile(".test.json").test, undefined);
|
|
151
|
+
identStore.storage = {};
|
|
152
|
+
// Check basic load of persistence
|
|
153
|
+
yield identStore.init();
|
|
154
|
+
assert.notStrictEqual(identStore.storage.test, undefined);
|
|
155
|
+
// Check encryption
|
|
156
|
+
identStore.getParameters().persistence = {
|
|
157
|
+
path: ".test.json",
|
|
158
|
+
delay: 10,
|
|
159
|
+
key: "test",
|
|
160
|
+
cipher: "aes-256-ctr"
|
|
161
|
+
};
|
|
162
|
+
// Should silently ignore not encrypted file
|
|
163
|
+
yield identStore.init();
|
|
164
|
+
yield identStore.put("test", {});
|
|
165
|
+
yield this.sleep(10);
|
|
166
|
+
identStore.storage = {};
|
|
167
|
+
// Check basic load of persistence
|
|
168
|
+
yield identStore.init();
|
|
169
|
+
assert.notStrictEqual(identStore.storage.test, undefined);
|
|
170
|
+
});
|
|
171
|
+
}
|
|
132
172
|
};
|
|
133
173
|
__decorate([
|
|
134
174
|
mocha_1.test
|
|
@@ -145,6 +185,9 @@ __decorate([
|
|
|
145
185
|
__decorate([
|
|
146
186
|
mocha_1.test
|
|
147
187
|
], MemoryStoreTest.prototype, "badActions", null);
|
|
188
|
+
__decorate([
|
|
189
|
+
mocha_1.test
|
|
190
|
+
], MemoryStoreTest.prototype, "persistence", null);
|
|
148
191
|
MemoryStoreTest = __decorate([
|
|
149
192
|
mocha_1.suite
|
|
150
193
|
], MemoryStoreTest);
|
|
@@ -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
|
@@ -305,8 +305,10 @@ export declare type ExposeParameters = {
|
|
|
305
305
|
/**
|
|
306
306
|
* For confidentiality sometimes you might prefer to expose query through PUT
|
|
307
307
|
* To avoid GET logging
|
|
308
|
+
*
|
|
309
|
+
* @default "GET"
|
|
308
310
|
*/
|
|
309
|
-
queryMethod
|
|
311
|
+
queryMethod?: "PUT" | "GET";
|
|
310
312
|
};
|
|
311
313
|
/**
|
|
312
314
|
* Represent a query result on the Store
|
|
@@ -479,7 +481,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
479
481
|
* @throws Error if model is not found
|
|
480
482
|
*/
|
|
481
483
|
computeParameters(): void;
|
|
482
|
-
logSlowQuery(
|
|
484
|
+
logSlowQuery(_query: string, _reason: string, _time: number): void;
|
|
483
485
|
/**
|
|
484
486
|
* Return Store current model
|
|
485
487
|
* @returns
|
|
@@ -512,6 +514,10 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
512
514
|
* Get the url where the store is exposed
|
|
513
515
|
*/
|
|
514
516
|
getUrl(): string;
|
|
517
|
+
/**
|
|
518
|
+
* We should ignore exception from the store
|
|
519
|
+
*/
|
|
520
|
+
cacheStorePatchException(): void;
|
|
515
521
|
/**
|
|
516
522
|
* Init a model from the current stored data
|
|
517
523
|
*
|
|
@@ -554,7 +560,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
554
560
|
*
|
|
555
561
|
* Might want to rename to create
|
|
556
562
|
*/
|
|
557
|
-
save(object: any, ctx?: Context): Promise<
|
|
563
|
+
save(object: any, ctx?: Context): Promise<T>;
|
|
558
564
|
/**
|
|
559
565
|
* Patch an object
|
|
560
566
|
*
|
|
@@ -562,7 +568,7 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
562
568
|
* @param reverseMap
|
|
563
569
|
* @returns
|
|
564
570
|
*/
|
|
565
|
-
patch(object: any, reverseMap?: boolean): Promise<
|
|
571
|
+
patch(object: any, reverseMap?: boolean): Promise<T | undefined>;
|
|
566
572
|
/**
|
|
567
573
|
* Check if an UpdateCondition is met
|
|
568
574
|
* @param model
|
|
@@ -579,6 +585,14 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
579
585
|
* @param uid
|
|
580
586
|
*/
|
|
581
587
|
checkCollectionUpdateCondition(model: T, collection: string, conditionField?: string, condition?: any, index?: number): void;
|
|
588
|
+
/**
|
|
589
|
+
* Update conditionally
|
|
590
|
+
* @param uuid
|
|
591
|
+
* @param updates
|
|
592
|
+
* @param conditionField
|
|
593
|
+
* @param condition
|
|
594
|
+
*/
|
|
595
|
+
conditionalPatch(uuid: string, updates: any, conditionField: any, condition: any): Promise<boolean>;
|
|
582
596
|
/**
|
|
583
597
|
*
|
|
584
598
|
* @param model
|
|
@@ -593,11 +607,13 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
593
607
|
/**
|
|
594
608
|
* Update an object
|
|
595
609
|
*
|
|
610
|
+
* If no attribute can be updated then return undefined
|
|
611
|
+
*
|
|
596
612
|
* @param {Object} Object to save
|
|
597
613
|
* @param {Boolean} reverseMap internal use only, for disable map resolution
|
|
598
614
|
* @return {Promise} with saved object
|
|
599
615
|
*/
|
|
600
|
-
update(object: any, reverseMap?: boolean, partial?: boolean): Promise<
|
|
616
|
+
update(object: any, reverseMap?: boolean, partial?: boolean): Promise<T | undefined>;
|
|
601
617
|
/**
|
|
602
618
|
* Remove an attribute from an object
|
|
603
619
|
*
|
|
@@ -643,6 +659,12 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
|
|
|
643
659
|
getConfiguration(id: string): Promise<{
|
|
644
660
|
[key: string]: any;
|
|
645
661
|
}>;
|
|
662
|
+
/**
|
|
663
|
+
* Alias for save
|
|
664
|
+
* @param uuid
|
|
665
|
+
* @param data
|
|
666
|
+
*/
|
|
667
|
+
put(uuid: string, data: any): Promise<T>;
|
|
646
668
|
/**
|
|
647
669
|
* Get an object
|
|
648
670
|
*
|