@webda/core 2.0.0-beta.2 → 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.
Files changed (117) hide show
  1. package/lib/application.d.ts +0 -16
  2. package/lib/application.js.map +1 -1
  3. package/lib/core.d.ts +26 -23
  4. package/lib/core.js +51 -39
  5. package/lib/core.js.map +1 -1
  6. package/lib/core.spec.js +21 -12
  7. package/lib/core.spec.js.map +1 -1
  8. package/lib/index.d.ts +3 -0
  9. package/lib/index.js +4 -0
  10. package/lib/index.js.map +1 -1
  11. package/lib/models/aclmodel.spec.js +1 -0
  12. package/lib/models/aclmodel.spec.js.map +1 -1
  13. package/lib/models/coremodel.d.ts +6 -3
  14. package/lib/models/coremodel.js.map +1 -1
  15. package/lib/models/ownermodel.js +1 -1
  16. package/lib/models/ownermodel.js.map +1 -1
  17. package/lib/models/ownermodel.spec.js +15 -13
  18. package/lib/models/ownermodel.spec.js.map +1 -1
  19. package/lib/models/rolemodel.d.ts +1 -1
  20. package/lib/models/rolemodel.spec.js +2 -0
  21. package/lib/models/rolemodel.spec.js.map +1 -1
  22. package/lib/queues/queueservice.d.ts +1 -1
  23. package/lib/queues/queueservice.js +1 -0
  24. package/lib/queues/queueservice.js.map +1 -1
  25. package/lib/services/authentication.d.ts +6 -7
  26. package/lib/services/authentication.js +12 -18
  27. package/lib/services/authentication.js.map +1 -1
  28. package/lib/services/authentication.spec.js +15 -15
  29. package/lib/services/authentication.spec.js.map +1 -1
  30. package/lib/services/binary.d.ts +1 -1
  31. package/lib/services/binary.js +1 -0
  32. package/lib/services/binary.js.map +1 -1
  33. package/lib/services/configuration.d.ts +5 -2
  34. package/lib/services/configuration.js +2 -0
  35. package/lib/services/configuration.js.map +1 -1
  36. package/lib/services/cryptoservice.d.ts +253 -0
  37. package/lib/services/cryptoservice.js +346 -0
  38. package/lib/services/cryptoservice.js.map +1 -0
  39. package/lib/services/cryptoservice.spec.d.ts +1 -0
  40. package/lib/services/cryptoservice.spec.js +164 -0
  41. package/lib/services/cryptoservice.spec.js.map +1 -0
  42. package/lib/services/filebinary.d.ts +6 -1
  43. package/lib/services/filebinary.js +18 -7
  44. package/lib/services/filebinary.js.map +1 -1
  45. package/lib/services/filebinary.spec.js +3 -4
  46. package/lib/services/filebinary.spec.js.map +1 -1
  47. package/lib/services/fileconfiguration.d.ts +1 -1
  48. package/lib/services/fileconfiguration.js +1 -0
  49. package/lib/services/fileconfiguration.js.map +1 -1
  50. package/lib/services/invitationservice.d.ts +2 -2
  51. package/lib/services/invitationservice.js +2 -0
  52. package/lib/services/invitationservice.js.map +1 -1
  53. package/lib/services/invitationservice.spec.js +1 -1
  54. package/lib/services/invitationservice.spec.js.map +1 -1
  55. package/lib/services/kubernetesconfiguration.d.ts +1 -1
  56. package/lib/services/kubernetesconfiguration.js +1 -0
  57. package/lib/services/kubernetesconfiguration.js.map +1 -1
  58. package/lib/services/notificationservice.d.ts +1 -1
  59. package/lib/services/notificationservice.js +2 -0
  60. package/lib/services/notificationservice.js.map +1 -1
  61. package/lib/services/oauth.d.ts +28 -2
  62. package/lib/services/oauth.js +18 -8
  63. package/lib/services/oauth.js.map +1 -1
  64. package/lib/services/oauth.spec.js +19 -13
  65. package/lib/services/oauth.spec.js.map +1 -1
  66. package/lib/services/proxy.d.ts +78 -0
  67. package/lib/services/proxy.js +139 -0
  68. package/lib/services/proxy.js.map +1 -0
  69. package/lib/services/proxy.spec.d.ts +1 -0
  70. package/lib/services/proxy.spec.js +78 -0
  71. package/lib/services/proxy.spec.js.map +1 -0
  72. package/lib/services/service.d.ts +3 -3
  73. package/lib/services/service.js +2 -0
  74. package/lib/services/service.js.map +1 -1
  75. package/lib/stores/aggregator.d.ts +1 -1
  76. package/lib/stores/aggregator.js +1 -0
  77. package/lib/stores/aggregator.js.map +1 -1
  78. package/lib/stores/mapper.d.ts +1 -1
  79. package/lib/stores/mapper.js +1 -0
  80. package/lib/stores/mapper.js.map +1 -1
  81. package/lib/stores/memory.d.ts +64 -3
  82. package/lib/stores/memory.js +85 -1
  83. package/lib/stores/memory.js.map +1 -1
  84. package/lib/stores/memory.spec.d.ts +1 -0
  85. package/lib/stores/memory.spec.js +43 -0
  86. package/lib/stores/memory.spec.js.map +1 -1
  87. package/lib/stores/store.d.ts +14 -0
  88. package/lib/stores/store.js +33 -0
  89. package/lib/stores/store.js.map +1 -1
  90. package/lib/stores/store.spec.d.ts +1 -0
  91. package/lib/stores/store.spec.js +25 -0
  92. package/lib/stores/store.spec.js.map +1 -1
  93. package/lib/test.js +8 -1
  94. package/lib/test.js.map +1 -1
  95. package/lib/unpackedapplication.js +2 -2
  96. package/lib/unpackedapplication.js.map +1 -1
  97. package/lib/utils/context.d.ts +55 -25
  98. package/lib/utils/context.js +54 -40
  99. package/lib/utils/context.js.map +1 -1
  100. package/lib/utils/context.spec.js +27 -12
  101. package/lib/utils/context.spec.js.map +1 -1
  102. package/lib/utils/cookie.d.ts +65 -44
  103. package/lib/utils/cookie.js +75 -145
  104. package/lib/utils/cookie.js.map +1 -1
  105. package/lib/utils/cookie.spec.js +199 -195
  106. package/lib/utils/cookie.spec.js.map +1 -1
  107. package/lib/utils/httpcontext.js +2 -2
  108. package/lib/utils/httpcontext.js.map +1 -1
  109. package/lib/utils/session.d.ts +120 -0
  110. package/lib/utils/session.js +177 -0
  111. package/lib/utils/session.js.map +1 -0
  112. package/lib/utils/session.spec.d.ts +1 -0
  113. package/lib/utils/session.spec.js +79 -0
  114. package/lib/utils/session.spec.js.map +1 -0
  115. package/package.json +9 -6
  116. package/test/config.json +2 -1
  117. package/webda.module.json +3 -2
@@ -4,18 +4,79 @@ 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 StoreParameters = StoreParameters> extends Store<T, K> {
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<void>;
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: any): Promise<any>;
107
+ getAll(uids?: string[]): Promise<any>;
47
108
  /**
48
109
  * Retrieve the object as model
49
110
  *
@@ -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
- var res = yield this._get(uid, true);
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
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/stores/memory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory.js","sourceRoot":"","sources":["../../src/stores/memory.ts"],"names":[],"mappings":"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"}
@@ -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 };
@@ -18,7 +18,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.MemoryStoreTest = void 0;
19
19
  const mocha_1 = require("@testdeck/mocha");
20
20
  const assert = require("assert");
21
+ const fs_1 = require("fs");
21
22
  const httpcontext_1 = require("../utils/httpcontext");
23
+ const serializers_1 = require("../utils/serializers");
22
24
  const store_1 = require("./store");
23
25
  const store_spec_1 = require("./store.spec");
24
26
  const query_1 = require("./webdaql/query");
@@ -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":"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"}
1
+ {"version":3,"file":"memory.spec.js","sourceRoot":"","sources":["../../src/stores/memory.spec.ts"],"names":[],"mappings":"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"}
@@ -585,6 +585,14 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
585
585
  * @param uid
586
586
  */
587
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>;
588
596
  /**
589
597
  *
590
598
  * @param model
@@ -651,6 +659,12 @@ declare abstract class Store<T extends CoreModel = CoreModel, K extends StorePar
651
659
  getConfiguration(id: string): Promise<{
652
660
  [key: string]: any;
653
661
  }>;
662
+ /**
663
+ * Alias for save
664
+ * @param uuid
665
+ * @param data
666
+ */
667
+ put(uuid: string, data: any): Promise<T>;
654
668
  /**
655
669
  * Get an object
656
670
  *
@@ -750,6 +750,29 @@ class Store extends service_1.Service {
750
750
  throw new UpdateConditionFailError(model.getUuid(), `${collection}[${index}].${conditionField}`, condition);
751
751
  }
752
752
  }
753
+ /**
754
+ * Update conditionally
755
+ * @param uuid
756
+ * @param updates
757
+ * @param conditionField
758
+ * @param condition
759
+ */
760
+ conditionalPatch(uuid, updates, conditionField, condition) {
761
+ var _a;
762
+ return __awaiter(this, void 0, void 0, function* () {
763
+ try {
764
+ yield this._patch(updates, uuid, condition, conditionField);
765
+ yield ((_a = this._cacheStore) === null || _a === void 0 ? void 0 : _a.patch(Object.assign({ uuid }, updates)));
766
+ return true;
767
+ }
768
+ catch (err) {
769
+ if (err instanceof UpdateConditionFailError) {
770
+ return false;
771
+ }
772
+ throw err;
773
+ }
774
+ });
775
+ }
753
776
  /**
754
777
  *
755
778
  * @param model
@@ -1012,6 +1035,16 @@ class Store extends service_1.Service {
1012
1035
  return result;
1013
1036
  });
1014
1037
  }
1038
+ /**
1039
+ * Alias for save
1040
+ * @param uuid
1041
+ * @param data
1042
+ */
1043
+ put(uuid, data) {
1044
+ return __awaiter(this, void 0, void 0, function* () {
1045
+ return this.save(Object.assign(Object.assign({}, data), { uuid }));
1046
+ });
1047
+ }
1015
1048
  /**
1016
1049
  * Get an object
1017
1050
  *
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/stores/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/stores/store.ts"],"names":[],"mappings":"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"}
@@ -55,6 +55,7 @@ declare abstract class StoreTest extends WebdaTest {
55
55
  deleteAsync(): Promise<void>;
56
56
  delete(): Promise<void>;
57
57
  deleteConcurrent(): Promise<void>;
58
+ conditionUpdate(): Promise<void>;
58
59
  update(delay?: number): Promise<void>;
59
60
  upsertItem(): Promise<void>;
60
61
  }
@@ -685,6 +685,28 @@ class StoreTest extends test_1.WebdaTest {
685
685
  yield store.delete(model.getUuid(), 2, "counter");
686
686
  });
687
687
  }
688
+ conditionUpdate() {
689
+ return __awaiter(this, void 0, void 0, function* () {
690
+ let store = this.getIdentStore();
691
+ let model = yield store.save({ counter: 1 });
692
+ assert.ok(yield store.conditionalPatch(model.getUuid(), {
693
+ plop: 12,
694
+ counter: 2
695
+ }, "counter", 1));
696
+ assert.strictEqual((yield store.get(model.getUuid())).plop, 12);
697
+ assert.ok(!(yield store.conditionalPatch(model.getUuid(), {
698
+ plop: 13
699
+ }, "counter", 1)));
700
+ assert.strictEqual((yield store.get(model.getUuid())).plop, 12);
701
+ (0, sinon_1.stub)(store, "_patch").callsFake(() => {
702
+ throw new Error("Fake Error");
703
+ });
704
+ yield assert.rejects(() => store.conditionalPatch(model.getUuid(), {
705
+ plop: 12,
706
+ counter: 2
707
+ }, "counter", 1), /Fake Error/);
708
+ });
709
+ }
688
710
  update(delay = 1) {
689
711
  return __awaiter(this, void 0, void 0, function* () {
690
712
  let store = this.getIdentStore();
@@ -764,6 +786,9 @@ __decorate([
764
786
  __decorate([
765
787
  mocha_1.test
766
788
  ], StoreTest.prototype, "delete", null);
789
+ __decorate([
790
+ mocha_1.test
791
+ ], StoreTest.prototype, "conditionUpdate", null);
767
792
  __decorate([
768
793
  mocha_1.test
769
794
  ], StoreTest.prototype, "update", null);