@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.
Files changed (232) hide show
  1. package/lib/application.d.ts +317 -195
  2. package/lib/application.js +171 -674
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +97 -289
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +102 -214
  7. package/lib/core.js +146 -70
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +80 -17
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +14 -9
  12. package/lib/index.js +19 -10
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.d.ts +29 -8
  15. package/lib/models/aclmodel.js +68 -18
  16. package/lib/models/aclmodel.js.map +1 -1
  17. package/lib/models/aclmodel.spec.js +56 -19
  18. package/lib/models/aclmodel.spec.js.map +1 -1
  19. package/lib/models/coremodel.d.ts +9 -17
  20. package/lib/models/coremodel.js +36 -36
  21. package/lib/models/coremodel.js.map +1 -1
  22. package/lib/models/ident.d.ts +8 -3
  23. package/lib/models/ident.js +8 -1
  24. package/lib/models/ident.js.map +1 -1
  25. package/lib/models/ident.spec.js +3 -0
  26. package/lib/models/ident.spec.js.map +1 -1
  27. package/lib/models/ownermodel.d.ts +8 -4
  28. package/lib/models/ownermodel.js +10 -6
  29. package/lib/models/ownermodel.js.map +1 -1
  30. package/lib/models/rolemodel.js.map +1 -1
  31. package/lib/models/rolemodel.spec.js +4 -1
  32. package/lib/models/rolemodel.spec.js.map +1 -1
  33. package/lib/models/user.d.ts +32 -3
  34. package/lib/models/user.js +31 -0
  35. package/lib/models/user.js.map +1 -1
  36. package/lib/models/user.spec.js +11 -0
  37. package/lib/models/user.spec.js.map +1 -1
  38. package/lib/queues/filequeue.d.ts +2 -7
  39. package/lib/queues/filequeue.js +2 -11
  40. package/lib/queues/filequeue.js.map +1 -1
  41. package/lib/queues/filequeue.spec.js +0 -1
  42. package/lib/queues/filequeue.spec.js.map +1 -1
  43. package/lib/queues/memoryqueue.d.ts +2 -7
  44. package/lib/queues/memoryqueue.js +1 -11
  45. package/lib/queues/memoryqueue.js.map +1 -1
  46. package/lib/queues/memoryqueue.spec.js +0 -1
  47. package/lib/queues/memoryqueue.spec.js.map +1 -1
  48. package/lib/queues/queue.spec.d.ts +1 -1
  49. package/lib/queues/queue.spec.js +11 -9
  50. package/lib/queues/queue.spec.js.map +1 -1
  51. package/lib/queues/queueservice.js +1 -1
  52. package/lib/queues/queueservice.js.map +1 -1
  53. package/lib/router.d.ts +46 -1
  54. package/lib/router.js +89 -51
  55. package/lib/router.js.map +1 -1
  56. package/lib/router.spec.js +19 -2
  57. package/lib/router.spec.js.map +1 -1
  58. package/lib/services/asyncevents.d.ts +1 -0
  59. package/lib/services/asyncevents.js +4 -3
  60. package/lib/services/asyncevents.js.map +1 -1
  61. package/lib/services/authentication.d.ts +47 -5
  62. package/lib/services/authentication.js +99 -40
  63. package/lib/services/authentication.js.map +1 -1
  64. package/lib/services/authentication.spec.js +10 -0
  65. package/lib/services/authentication.spec.js.map +1 -1
  66. package/lib/services/binary.d.ts +126 -64
  67. package/lib/services/binary.js +247 -96
  68. package/lib/services/binary.js.map +1 -1
  69. package/lib/services/binary.spec.d.ts +1 -0
  70. package/lib/services/binary.spec.js +96 -25
  71. package/lib/services/binary.spec.js.map +1 -1
  72. package/lib/services/cloudbinary.d.ts +67 -0
  73. package/lib/services/cloudbinary.js +178 -0
  74. package/lib/services/cloudbinary.js.map +1 -0
  75. package/lib/services/cloudbinary.spec.d.ts +13 -0
  76. package/lib/services/cloudbinary.spec.js +205 -0
  77. package/lib/services/cloudbinary.spec.js.map +1 -0
  78. package/lib/services/configuration.d.ts +7 -2
  79. package/lib/services/configuration.js +4 -3
  80. package/lib/services/configuration.js.map +1 -1
  81. package/lib/services/configuration.spec.js +1 -0
  82. package/lib/services/configuration.spec.js.map +1 -1
  83. package/lib/services/cron.d.ts +5 -6
  84. package/lib/services/cron.js +4 -11
  85. package/lib/services/cron.js.map +1 -1
  86. package/lib/services/cron.spec.js +2 -3
  87. package/lib/services/cron.spec.js.map +1 -1
  88. package/lib/services/debugmailer.d.ts +11 -6
  89. package/lib/services/debugmailer.js +20 -14
  90. package/lib/services/debugmailer.js.map +1 -1
  91. package/lib/services/debugmailer.spec.js +1 -0
  92. package/lib/services/debugmailer.spec.js.map +1 -1
  93. package/lib/services/echo.d.ts +2 -6
  94. package/lib/services/echo.js +1 -11
  95. package/lib/services/echo.js.map +1 -1
  96. package/lib/services/echo.spec.js +1 -0
  97. package/lib/services/echo.spec.js.map +1 -1
  98. package/lib/services/filebinary.d.ts +36 -12
  99. package/lib/services/filebinary.js +123 -38
  100. package/lib/services/filebinary.js.map +1 -1
  101. package/lib/services/filebinary.spec.d.ts +4 -2
  102. package/lib/services/filebinary.spec.js +48 -8
  103. package/lib/services/filebinary.spec.js.map +1 -1
  104. package/lib/services/fileconfiguration.d.ts +1 -5
  105. package/lib/services/fileconfiguration.js +1 -10
  106. package/lib/services/fileconfiguration.js.map +1 -1
  107. package/lib/services/invitationservice.d.ts +198 -0
  108. package/lib/services/invitationservice.js +443 -0
  109. package/lib/services/invitationservice.js.map +1 -0
  110. package/lib/services/invitationservice.spec.d.ts +1 -0
  111. package/lib/services/invitationservice.spec.js +517 -0
  112. package/lib/services/invitationservice.spec.js.map +1 -0
  113. package/lib/services/kubernetesconfiguration.d.ts +3 -5
  114. package/lib/services/kubernetesconfiguration.js +5 -12
  115. package/lib/services/kubernetesconfiguration.js.map +1 -1
  116. package/lib/services/kubernetesconfiguration.spec.js +1 -1
  117. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  118. package/lib/services/mailer.d.ts +44 -7
  119. package/lib/services/mailer.js +34 -14
  120. package/lib/services/mailer.js.map +1 -1
  121. package/lib/services/mailer.spec.js +29 -0
  122. package/lib/services/mailer.spec.js.map +1 -1
  123. package/lib/services/notificationservice.d.ts +76 -0
  124. package/lib/services/notificationservice.js +91 -0
  125. package/lib/services/notificationservice.js.map +1 -0
  126. package/lib/services/notificationservice.spec.d.ts +1 -0
  127. package/lib/services/notificationservice.spec.js +104 -0
  128. package/lib/services/notificationservice.spec.js.map +1 -0
  129. package/lib/services/oauth.d.ts +6 -4
  130. package/lib/services/oauth.js +28 -11
  131. package/lib/services/oauth.js.map +1 -1
  132. package/lib/services/oauth.spec.js +7 -10
  133. package/lib/services/oauth.spec.js.map +1 -1
  134. package/lib/services/resource.d.ts +1 -5
  135. package/lib/services/resource.js +22 -17
  136. package/lib/services/resource.js.map +1 -1
  137. package/lib/services/resource.spec.js +0 -1
  138. package/lib/services/resource.spec.js.map +1 -1
  139. package/lib/services/service.d.ts +29 -26
  140. package/lib/services/service.js +16 -22
  141. package/lib/services/service.js.map +1 -1
  142. package/lib/services/service.spec.js +3 -0
  143. package/lib/services/service.spec.js.map +1 -1
  144. package/lib/services/version.d.ts +2 -5
  145. package/lib/services/version.js +1 -10
  146. package/lib/services/version.js.map +1 -1
  147. package/lib/stores/aggregator.d.ts +3 -5
  148. package/lib/stores/aggregator.js +3 -10
  149. package/lib/stores/aggregator.js.map +1 -1
  150. package/lib/stores/file.d.ts +7 -8
  151. package/lib/stores/file.js +18 -18
  152. package/lib/stores/file.js.map +1 -1
  153. package/lib/stores/file.spec.js +8 -6
  154. package/lib/stores/file.spec.js.map +1 -1
  155. package/lib/stores/mapper.d.ts +1 -5
  156. package/lib/stores/mapper.js +56 -39
  157. package/lib/stores/mapper.js.map +1 -1
  158. package/lib/stores/mapper.spec.js +120 -1
  159. package/lib/stores/mapper.spec.js.map +1 -1
  160. package/lib/stores/memory.d.ts +5 -9
  161. package/lib/stores/memory.js +5 -17
  162. package/lib/stores/memory.js.map +1 -1
  163. package/lib/stores/memory.spec.d.ts +1 -0
  164. package/lib/stores/memory.spec.js +32 -0
  165. package/lib/stores/memory.spec.js.map +1 -1
  166. package/lib/stores/store.d.ts +131 -26
  167. package/lib/stores/store.js +399 -80
  168. package/lib/stores/store.js.map +1 -1
  169. package/lib/stores/store.spec.d.ts +29 -2
  170. package/lib/stores/store.spec.js +204 -31
  171. package/lib/stores/store.spec.js.map +1 -1
  172. package/lib/stores/webdaql/WebdaQLLexer.d.ts +53 -0
  173. package/lib/stores/webdaql/WebdaQLLexer.js +290 -0
  174. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -0
  175. package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +53 -0
  176. package/lib/stores/webdaql/WebdaQLParserLexer.js +290 -0
  177. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -0
  178. package/lib/stores/webdaql/WebdaQLParserListener.d.ts +308 -0
  179. package/lib/stores/webdaql/WebdaQLParserListener.js +4 -0
  180. package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -0
  181. package/lib/stores/webdaql/WebdaQLParserParser.d.ts +301 -0
  182. package/lib/stores/webdaql/WebdaQLParserParser.js +1781 -0
  183. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -0
  184. package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +198 -0
  185. package/lib/stores/webdaql/WebdaQLParserVisitor.js +4 -0
  186. package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -0
  187. package/lib/stores/webdaql/query.d.ts +300 -0
  188. package/lib/stores/webdaql/query.js +471 -0
  189. package/lib/stores/webdaql/query.js.map +1 -0
  190. package/lib/stores/webdaql/query.spec.d.ts +1 -0
  191. package/lib/stores/webdaql/query.spec.js +136 -0
  192. package/lib/stores/webdaql/query.spec.js.map +1 -0
  193. package/lib/test.d.ts +50 -2
  194. package/lib/test.js +161 -16
  195. package/lib/test.js.map +1 -1
  196. package/lib/unpackedapplication.d.ts +66 -0
  197. package/lib/unpackedapplication.js +202 -0
  198. package/lib/unpackedapplication.js.map +1 -0
  199. package/lib/utils/context.d.ts +14 -12
  200. package/lib/utils/context.js +14 -9
  201. package/lib/utils/context.js.map +1 -1
  202. package/lib/utils/context.spec.js +1 -1
  203. package/lib/utils/context.spec.js.map +1 -1
  204. package/lib/utils/cookie.d.ts +6 -3
  205. package/lib/utils/cookie.js +22 -20
  206. package/lib/utils/cookie.js.map +1 -1
  207. package/lib/utils/cookie.spec.js +0 -1
  208. package/lib/utils/cookie.spec.js.map +1 -1
  209. package/lib/utils/logger.d.ts +16 -3
  210. package/lib/utils/logger.js +16 -3
  211. package/lib/utils/logger.js.map +1 -1
  212. package/lib/utils/logger.spec.js.map +1 -1
  213. package/lib/utils/serializers.js +5 -1
  214. package/lib/utils/serializers.js.map +1 -1
  215. package/lib/utils/waiter.d.ts +1 -1
  216. package/lib/utils/waiter.js.map +1 -1
  217. package/package.json +25 -18
  218. package/test/config-file-no-reload.json +2 -1
  219. package/test/config-file-reload.json +2 -1
  220. package/test/config-invitation.json +63 -0
  221. package/test/config-kube-reload.json +2 -1
  222. package/test/config-reload.json +1 -1
  223. package/test/config.json +6 -10
  224. package/test/config.old.json +1 -1
  225. package/test/moddas/annotatedservice.js +1 -3
  226. package/test/moddas/debugmailer.js +2 -7
  227. package/test/moddas/fakeservice.js +1 -1
  228. package/test/moddas/voidstore.js +2 -4
  229. package/test/models/ident.js +1 -1
  230. package/test/models/task.js +1 -5
  231. package/webda.module.json +1124 -0
  232. 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,gBAAa,CAAC,QAAQ,EAAE,CAAC;YACzB,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,CAAgB,oBAAoB,CAAC,CAAC;YACnE,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC;YAC1B,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAQ,cAAc,CAAC,CAAC;YACxD,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACpC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YAC5B,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;YAElD,gEAAgE;YAChE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACpD,aAAa;YACb,MAAM,CAAC,WAAW,CAAC,MAAM,OAAO,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAC1F,aAAa;YACb,MAAM,CAAC,WAAW,CAAC,MAAM,OAAO,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAE9E,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,wBAAwB,CAAC,CAAC,SAAS,CAAC,GAAS,EAAE,gDAAE,CAAC,CAAA,CAAC,CAAC;YAC9F,aAAa;YACb,MAAM,OAAO,CAAC,uBAAuB,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC;YAChG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAElD,MAAM,IAAI,CAAC,UAAU,CAAQ,aAAa,CAAC,CAAC,QAAQ,CAAC,eAAe,EAAE;gBACpE,MAAM,EAAE,EAAE;aACX,CAAC,CAAC;QACL,CAAC;KAAA;CACF,CAAA;AAzBC;IADC,YAAI;qCAyBJ;AA1BG,UAAU;IADf,aAAK;GACA,UAAU,CA2Bf"}
1
+ {"version":3,"file":"mapper.spec.js","sourceRoot":"","sources":["../../src/stores/mapper.spec.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { ModdaDefinition } from "../core";
2
1
  import { CoreModel } from "../models/coremodel";
3
- import { Store, StoreParameters } from "./store";
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
- _find(request: any, offset: any, limit: any): Promise<any>;
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 };
@@ -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
- _find(request, offset, limit) {
47
+ find(query) {
47
48
  return __awaiter(this, void 0, void 0, function* () {
48
- // Need to transfert to Array
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
@@ -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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"}
@@ -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":"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"}
1
+ {"version":3,"file":"memory.spec.js","sourceRoot":"","sources":["../../src/stores/memory.spec.ts"],"names":[],"mappings":"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"}
@@ -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 EventStoreFind {
167
+ export interface EventStoreQuery {
167
168
  /**
168
169
  * Request sent
169
170
  */
170
- request: any;
171
+ query: string;
171
172
  /**
172
173
  * Emitting store
173
174
  */
174
175
  store: Store;
175
176
  /**
176
- * Offset on the results
177
+ * The parsed query by our grammar
177
178
  */
178
- offset: number;
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 EventStoreFound extends EventStoreFind {
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 | boolean | string;
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
- getObject(uid: string): Promise<CoreModel>;
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, uuid: string): Promise<any>;
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(id: string, callback: () => void): boolean;
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
- * Search inside the store
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
- find(request?: any, offset?: number, limit?: number): Promise<any>;
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
- abstract _find(request: any, offset: any, limit: any): Promise<CoreModel[]>;
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