@webda/core 1.2.1 → 1.6.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 (199) hide show
  1. package/lib/application.d.ts +3 -0
  2. package/lib/application.js +26 -22
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +185 -2
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +62 -6
  7. package/lib/core.js +127 -86
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +151 -6
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +4 -0
  12. package/lib/index.js +4 -0
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.d.ts +42 -3
  15. package/lib/models/aclmodel.js +58 -3
  16. package/lib/models/aclmodel.js.map +1 -1
  17. package/lib/models/aclmodel.spec.js +46 -0
  18. package/lib/models/aclmodel.spec.js.map +1 -1
  19. package/lib/models/coremodel.d.ts +58 -10
  20. package/lib/models/coremodel.js +39 -32
  21. package/lib/models/coremodel.js.map +1 -1
  22. package/lib/models/coremodel.spec.js +68 -6
  23. package/lib/models/coremodel.spec.js.map +1 -1
  24. package/lib/models/ident.d.ts +8 -2
  25. package/lib/models/ident.js.map +1 -1
  26. package/lib/models/ident.spec.js +16 -0
  27. package/lib/models/ident.spec.js.map +1 -1
  28. package/lib/models/ownermodel.d.ts +1 -1
  29. package/lib/models/ownermodel.js.map +1 -1
  30. package/lib/models/ownermodel.spec.js +22 -19
  31. package/lib/models/ownermodel.spec.js.map +1 -1
  32. package/lib/models/user.d.ts +2 -0
  33. package/lib/models/user.js +4 -2
  34. package/lib/models/user.js.map +1 -1
  35. package/lib/models/user.spec.js +9 -2
  36. package/lib/models/user.spec.js.map +1 -1
  37. package/lib/queues/filequeue.d.ts +63 -0
  38. package/lib/queues/filequeue.js +161 -0
  39. package/lib/queues/filequeue.js.map +1 -0
  40. package/lib/queues/filequeue.spec.d.ts +1 -0
  41. package/lib/queues/filequeue.spec.js +90 -0
  42. package/lib/queues/filequeue.spec.js.map +1 -0
  43. package/lib/queues/memoryqueue.d.ts +18 -4
  44. package/lib/queues/memoryqueue.js +20 -13
  45. package/lib/queues/memoryqueue.js.map +1 -1
  46. package/lib/queues/memoryqueue.spec.js +142 -39
  47. package/lib/queues/memoryqueue.spec.js.map +1 -1
  48. package/lib/queues/pubsubservice.d.ts +27 -0
  49. package/lib/queues/pubsubservice.js +21 -0
  50. package/lib/queues/pubsubservice.js.map +1 -0
  51. package/lib/queues/queue.spec.js +16 -7
  52. package/lib/queues/queue.spec.js.map +1 -1
  53. package/lib/queues/queueservice.d.ts +108 -13
  54. package/lib/queues/queueservice.js +100 -36
  55. package/lib/queues/queueservice.js.map +1 -1
  56. package/lib/router.js +4 -6
  57. package/lib/router.js.map +1 -1
  58. package/lib/router.spec.js +27 -2
  59. package/lib/router.spec.js.map +1 -1
  60. package/lib/services/asyncevents.d.ts +110 -5
  61. package/lib/services/asyncevents.js +134 -39
  62. package/lib/services/asyncevents.js.map +1 -1
  63. package/lib/services/asyncevents.spec.js +58 -4
  64. package/lib/services/asyncevents.spec.js.map +1 -1
  65. package/lib/services/authentication.d.ts +57 -5
  66. package/lib/services/authentication.js +93 -84
  67. package/lib/services/authentication.js.map +1 -1
  68. package/lib/services/authentication.spec.js +118 -82
  69. package/lib/services/authentication.spec.js.map +1 -1
  70. package/lib/services/binary.d.ts +175 -48
  71. package/lib/services/binary.js +205 -170
  72. package/lib/services/binary.js.map +1 -1
  73. package/lib/services/binary.spec.d.ts +22 -3
  74. package/lib/services/binary.spec.js +327 -22
  75. package/lib/services/binary.spec.js.map +1 -1
  76. package/lib/services/configuration.d.ts +94 -13
  77. package/lib/services/configuration.js +98 -28
  78. package/lib/services/configuration.js.map +1 -1
  79. package/lib/services/configuration.spec.js +40 -1
  80. package/lib/services/configuration.spec.js.map +1 -1
  81. package/lib/services/cron.d.ts +4 -4
  82. package/lib/services/cron.js +37 -53
  83. package/lib/services/cron.js.map +1 -1
  84. package/lib/services/cron.spec.d.ts +1 -0
  85. package/lib/services/cron.spec.js +76 -0
  86. package/lib/services/cron.spec.js.map +1 -0
  87. package/lib/services/debugmailer.spec.js +18 -4
  88. package/lib/services/debugmailer.spec.js.map +1 -1
  89. package/lib/services/echo.js +22 -13
  90. package/lib/services/echo.js.map +1 -1
  91. package/lib/services/echo.spec.d.ts +1 -0
  92. package/lib/services/echo.spec.js +52 -0
  93. package/lib/services/echo.spec.js.map +1 -0
  94. package/lib/services/filebinary.d.ts +16 -9
  95. package/lib/services/filebinary.js +58 -73
  96. package/lib/services/filebinary.js.map +1 -1
  97. package/lib/services/filebinary.spec.d.ts +8 -1
  98. package/lib/services/filebinary.spec.js +133 -7
  99. package/lib/services/filebinary.spec.js.map +1 -1
  100. package/lib/services/fileconfiguration.d.ts +9 -3
  101. package/lib/services/fileconfiguration.js +13 -6
  102. package/lib/services/fileconfiguration.js.map +1 -1
  103. package/lib/services/fileconfiguration.spec.js +100 -5
  104. package/lib/services/fileconfiguration.spec.js.map +1 -1
  105. package/lib/services/kubernetesconfiguration.d.ts +8 -2
  106. package/lib/services/kubernetesconfiguration.js +16 -5
  107. package/lib/services/kubernetesconfiguration.js.map +1 -1
  108. package/lib/services/kubernetesconfiguration.spec.js +53 -16
  109. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  110. package/lib/services/mailer.d.ts +11 -2
  111. package/lib/services/mailer.js +28 -34
  112. package/lib/services/mailer.js.map +1 -1
  113. package/lib/services/mailer.spec.js +69 -23
  114. package/lib/services/mailer.spec.js.map +1 -1
  115. package/lib/services/oauth.d.ts +5 -2
  116. package/lib/services/oauth.js +22 -8
  117. package/lib/services/oauth.js.map +1 -1
  118. package/lib/services/oauth.spec.js +33 -3
  119. package/lib/services/oauth.spec.js.map +1 -1
  120. package/lib/services/resource.spec.js +39 -2
  121. package/lib/services/resource.spec.js.map +1 -1
  122. package/lib/services/service.d.ts +16 -0
  123. package/lib/services/service.js +47 -6
  124. package/lib/services/service.js.map +1 -1
  125. package/lib/services/service.spec.d.ts +1 -0
  126. package/lib/services/service.spec.js +119 -0
  127. package/lib/services/service.spec.js.map +1 -0
  128. package/lib/stores/aggregator.d.ts +43 -0
  129. package/lib/stores/aggregator.js +106 -0
  130. package/lib/stores/aggregator.js.map +1 -0
  131. package/lib/stores/file.d.ts +49 -11
  132. package/lib/stores/file.js +84 -81
  133. package/lib/stores/file.js.map +1 -1
  134. package/lib/stores/file.spec.d.ts +6 -1
  135. package/lib/stores/file.spec.js +134 -9
  136. package/lib/stores/file.spec.js.map +1 -1
  137. package/lib/stores/mapper.d.ts +151 -0
  138. package/lib/stores/mapper.js +294 -0
  139. package/lib/stores/mapper.js.map +1 -0
  140. package/lib/stores/mapper.spec.d.ts +1 -0
  141. package/lib/stores/mapper.spec.js +55 -0
  142. package/lib/stores/mapper.spec.js.map +1 -0
  143. package/lib/stores/memory.d.ts +52 -7
  144. package/lib/stores/memory.js +71 -33
  145. package/lib/stores/memory.js.map +1 -1
  146. package/lib/stores/memory.spec.d.ts +6 -1
  147. package/lib/stores/memory.spec.js +65 -4
  148. package/lib/stores/memory.spec.js.map +1 -1
  149. package/lib/stores/store.d.ts +263 -126
  150. package/lib/stores/store.js +285 -493
  151. package/lib/stores/store.js.map +1 -1
  152. package/lib/stores/store.spec.d.ts +20 -0
  153. package/lib/stores/store.spec.js +242 -18
  154. package/lib/stores/store.spec.js.map +1 -1
  155. package/lib/test.d.ts +1 -7
  156. package/lib/test.js +3 -12
  157. package/lib/test.js.map +1 -1
  158. package/lib/utils/abstractdeployer.spec.d.ts +1 -0
  159. package/lib/utils/abstractdeployer.spec.js +23 -0
  160. package/lib/utils/abstractdeployer.spec.js.map +1 -0
  161. package/lib/utils/context.d.ts +25 -2
  162. package/lib/utils/context.js +33 -12
  163. package/lib/utils/context.js.map +1 -1
  164. package/lib/utils/context.spec.js +81 -11
  165. package/lib/utils/context.spec.js.map +1 -1
  166. package/lib/utils/cookie.d.ts +12 -0
  167. package/lib/utils/cookie.js +13 -1
  168. package/lib/utils/cookie.js.map +1 -1
  169. package/lib/utils/cookie.spec.js +42 -11
  170. package/lib/utils/cookie.spec.js.map +1 -1
  171. package/lib/utils/logger.d.ts +23 -4
  172. package/lib/utils/logger.js +29 -6
  173. package/lib/utils/logger.js.map +1 -1
  174. package/lib/utils/logger.spec.js +8 -0
  175. package/lib/utils/logger.spec.js.map +1 -1
  176. package/lib/utils/serializers.d.ts +5 -5
  177. package/lib/utils/serializers.js +10 -10
  178. package/lib/utils/serializers.js.map +1 -1
  179. package/lib/utils/serializers.spec.js +41 -16
  180. package/lib/utils/serializers.spec.js.map +1 -1
  181. package/lib/utils/waiter.d.ts +59 -1
  182. package/lib/utils/waiter.js +86 -3
  183. package/lib/utils/waiter.js.map +1 -1
  184. package/lib/utils/waiter.spec.js +48 -4
  185. package/lib/utils/waiter.spec.js.map +1 -1
  186. package/package.json +16 -11
  187. package/test/badapp/package.json +4 -0
  188. package/test/badapp/webda.config.json +1 -0
  189. package/test/cachedapp/webda.config.json +7 -0
  190. package/test/config-file-no-reload.json +70 -0
  191. package/test/config-file-reload.json +7 -1
  192. package/test/config-kube-reload.json +7 -1
  193. package/test/config.json +45 -21
  194. package/test/config.old-default.json +0 -16
  195. package/test/config.old.json +0 -16
  196. package/test/deployments/invalid.json +1 -0
  197. package/test/moddas/fakeservice.js +5 -0
  198. package/test/models/ident.js +10 -14
  199. package/test/models/task.js +2 -4
@@ -1,11 +1,46 @@
1
1
  import { Store } from "../stores/store";
2
- import { Context } from "../utils/context";
2
+ import { Context, HttpMethodType } from "../utils/context";
3
3
  import { Service } from "..";
4
4
  import { JSONSchema6 } from "json-schema";
5
- interface CoreModelDefinition {
5
+ /**
6
+ * Define an export of actions from Model
7
+ */
8
+ export declare type ModelActions = {
9
+ [key: string]: ModelAction;
10
+ };
11
+ export interface ModelAction {
12
+ /**
13
+ * Method for the route
14
+ *
15
+ * By default ["PUT"]
16
+ */
17
+ methods?: HttpMethodType[];
18
+ /**
19
+ * Define if the action is global or per object
20
+ *
21
+ * The method that implement the action must be called
22
+ * `_${actionName}`
23
+ */
24
+ global?: boolean;
25
+ /**
26
+ * Additional openapi info
27
+ */
28
+ openapi?: any;
29
+ }
30
+ export interface CoreModelDefinition {
6
31
  new (): CoreModel;
7
- getActions(): any;
32
+ getActions(): {
33
+ [key: string]: ModelAction;
34
+ };
8
35
  getUuidField(): string;
36
+ getLastUpdateField(): string;
37
+ getCreationField(): string;
38
+ }
39
+ /**
40
+ * Sent if action required attached CoreModel is trigger
41
+ */
42
+ export declare class CoreModelUnattachedError extends Error {
43
+ constructor();
9
44
  }
10
45
  /**
11
46
  * Basic Object in Webda
@@ -18,6 +53,14 @@ interface CoreModelDefinition {
18
53
  */
19
54
  declare class CoreModel {
20
55
  static jsonExcludes: string[];
56
+ /**
57
+ * Class reference to the object
58
+ */
59
+ __class: any;
60
+ /**
61
+ * Type name
62
+ */
63
+ __type: string;
21
64
  /**
22
65
  * Object context
23
66
  *
@@ -44,6 +87,7 @@ declare class CoreModel {
44
87
  * @ignore
45
88
  */
46
89
  __deleted: boolean;
90
+ constructor();
47
91
  /**
48
92
  *
49
93
  * @returns the uuid of the object
@@ -60,16 +104,24 @@ declare class CoreModel {
60
104
  *
61
105
  * This will expose them by the Store with /storeUrl/{uuid}/{action}
62
106
  */
63
- static getActions(): {};
107
+ static getActions(): ModelActions;
64
108
  /**
65
109
  * By default nothing is permitted on a CoreModel
66
110
  * @returns
67
111
  */
68
- canAct(ctx: Context, action: string): Promise<this>;
112
+ canAct(ctx: Context, action: "create" | "update" | "get" | "delete" | "get_binary" | "detach_binary" | "attach_binary" | string): Promise<this>;
69
113
  /**
70
114
  * Get the UUID property
71
115
  */
72
116
  static getUuidField(): string;
117
+ /**
118
+ * Get the UUID property
119
+ */
120
+ static getLastUpdateField(): string;
121
+ /**
122
+ * Get the UUID property
123
+ */
124
+ static getCreationField(): string;
73
125
  /**
74
126
  * Return if an object is attached to its store
75
127
  */
@@ -78,10 +130,6 @@ declare class CoreModel {
78
130
  * Attach an object to a store instance
79
131
  */
80
132
  attach(store: Store<CoreModel>): void;
81
- /**
82
- * Get actions available for the current instance of an object
83
- */
84
- getAvailableActions(): {};
85
133
  /**
86
134
  * Load an object from RAW
87
135
  *
@@ -216,4 +264,4 @@ declare class CoreModel {
216
264
  */
217
265
  _onUpdated(): Promise<void>;
218
266
  }
219
- export { CoreModel, CoreModelDefinition };
267
+ export { CoreModel };
@@ -9,20 +9,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.CoreModel = void 0;
12
+ exports.CoreModel = exports.CoreModelUnattachedError = void 0;
13
13
  const uuid_1 = require("uuid");
14
14
  const context_1 = require("../utils/context");
15
- class CoreModelMapper {
16
- constructor(uuid, store, properties = {}) {
17
- this.__store = store;
18
- this[this.__store.getModel().getUuidField()] = uuid;
19
- }
20
- load() {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- return yield this.__store.get(this[this.__store.getModel().getUuidField()]);
23
- });
15
+ /**
16
+ * Sent if action required attached CoreModel is trigger
17
+ */
18
+ class CoreModelUnattachedError extends Error {
19
+ constructor() {
20
+ super("No store linked to this object");
24
21
  }
25
22
  }
23
+ exports.CoreModelUnattachedError = CoreModelUnattachedError;
26
24
  /**
27
25
  * Basic Object in Webda
28
26
  *
@@ -33,13 +31,16 @@ class CoreModelMapper {
33
31
  * @class
34
32
  */
35
33
  class CoreModel {
34
+ constructor() {
35
+ this.__class = new.target;
36
+ }
36
37
  /**
37
38
  *
38
39
  * @returns the uuid of the object
39
40
  */
40
41
  getUuid() {
41
42
  // @ts-ignore
42
- return this[CoreModel.getUuidField()];
43
+ return this[this.__class.getUuidField()];
43
44
  }
44
45
  /**
45
46
  *
@@ -47,7 +48,7 @@ class CoreModel {
47
48
  * @param target
48
49
  */
49
50
  setUuid(uuid, target = this) {
50
- target[target.getUuidField()] = uuid;
51
+ target[this.__class.getUuidField()] = uuid;
51
52
  }
52
53
  /**
53
54
  * Get actions callable on an object
@@ -72,6 +73,18 @@ class CoreModel {
72
73
  static getUuidField() {
73
74
  return "uuid";
74
75
  }
76
+ /**
77
+ * Get the UUID property
78
+ */
79
+ static getLastUpdateField() {
80
+ return "_lastUpdate";
81
+ }
82
+ /**
83
+ * Get the UUID property
84
+ */
85
+ static getCreationField() {
86
+ return "_creationDate";
87
+ }
75
88
  /**
76
89
  * Return if an object is attached to its store
77
90
  */
@@ -84,12 +97,6 @@ class CoreModel {
84
97
  attach(store) {
85
98
  this.__store = store;
86
99
  }
87
- /**
88
- * Get actions available for the current instance of an object
89
- */
90
- getAvailableActions() {
91
- return {};
92
- }
93
100
  /**
94
101
  * Load an object from RAW
95
102
  *
@@ -97,18 +104,17 @@ class CoreModel {
97
104
  * @param secure if false will ignore any _ variable
98
105
  */
99
106
  load(raw, secure = false) {
100
- if (!raw) {
101
- return;
102
- }
103
- if (!raw.uuid) {
104
- raw.uuid = this.generateUid(raw);
105
- }
107
+ // Object assign with filter
106
108
  for (let prop in raw) {
107
109
  if (!secure && prop[0] === "_") {
108
110
  continue;
109
111
  }
110
112
  this[prop] = raw[prop];
111
113
  }
114
+ this.__type = this.__class.name;
115
+ if (!this.getUuid()) {
116
+ this.setUuid(this.generateUid(raw));
117
+ }
112
118
  }
113
119
  /**
114
120
  * Context of the request
@@ -138,7 +144,7 @@ class CoreModel {
138
144
  refresh() {
139
145
  return __awaiter(this, void 0, void 0, function* () {
140
146
  if (!this.__store) {
141
- throw Error("No store linked to this object");
147
+ throw new CoreModelUnattachedError();
142
148
  }
143
149
  let obj = yield this.__store.get(this.getUuid());
144
150
  if (obj) {
@@ -163,7 +169,7 @@ class CoreModel {
163
169
  delete() {
164
170
  return __awaiter(this, void 0, void 0, function* () {
165
171
  if (!this.__store) {
166
- throw Error("No store linked to this object");
172
+ throw new CoreModelUnattachedError();
167
173
  }
168
174
  return this.__store.delete(this.getUuid());
169
175
  });
@@ -176,7 +182,7 @@ class CoreModel {
176
182
  save() {
177
183
  return __awaiter(this, void 0, void 0, function* () {
178
184
  if (!this.__store) {
179
- throw Error("No store linked to this object");
185
+ throw new CoreModelUnattachedError();
180
186
  }
181
187
  let obj = yield this.__store.save(this);
182
188
  for (var i in obj) {
@@ -193,9 +199,9 @@ class CoreModel {
193
199
  update(changes) {
194
200
  return __awaiter(this, void 0, void 0, function* () {
195
201
  if (!this.__store) {
196
- throw Error("No store linked to this object");
202
+ throw new CoreModelUnattachedError();
197
203
  }
198
- changes[this.__store.getModel().getUuidField()] = this[this.__store.getModel().getUuidField()];
204
+ changes[this.__class.getUuidField()] = this[this.__class.getUuidField()];
199
205
  let obj = yield this.__store.patch(changes);
200
206
  for (var i in obj) {
201
207
  this[i] = obj[i];
@@ -221,7 +227,7 @@ class CoreModel {
221
227
  validate(ctx, updates = undefined) {
222
228
  return __awaiter(this, void 0, void 0, function* () {
223
229
  // Load updates before validating itself
224
- if (!updates) {
230
+ if (updates) {
225
231
  this.load(updates);
226
232
  }
227
233
  if (!ctx.getWebda().validateSchema(this, this)) {
@@ -241,7 +247,7 @@ class CoreModel {
241
247
  * @returns
242
248
  */
243
249
  generateUid(object = undefined) {
244
- return uuid_1.v4().toString();
250
+ return (0, uuid_1.v4)().toString();
245
251
  }
246
252
  /**
247
253
  * Remove all the attribute starting with __
@@ -264,6 +270,7 @@ class CoreModel {
264
270
  toStoredJSON(stringify = false) {
265
271
  let obj = this._toJSON(true);
266
272
  obj.__store = undefined;
273
+ obj.__type = this.__class.name;
267
274
  if (stringify) {
268
275
  return JSON.stringify(obj, (key, value) => {
269
276
  if (CoreModel.jsonExcludes.indexOf(key) >= 0) {
@@ -282,7 +289,7 @@ class CoreModel {
282
289
  */
283
290
  getService(service) {
284
291
  if (!this.__store) {
285
- return undefined;
292
+ throw new CoreModelUnattachedError();
286
293
  }
287
294
  return this.__store.getService(service);
288
295
  }
@@ -1 +1 @@
1
- {"version":3,"file":"coremodel.js","sourceRoot":"","sources":["../../src/models/coremodel.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AACb,+BAAoC;AAEpC,8CAA2C;AAU3C,MAAM,eAAe;IAGnB,YAAY,IAAI,EAAE,KAAK,EAAE,UAAU,GAAG,EAAE;QACtC,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC;IACtD,CAAC;IAEK,IAAI;;YACR,OAAU,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC;QACjF,CAAC;KAAA;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,SAAS;IA8Bb;;;OAGG;IACH,OAAO;QACL,aAAa;QACb,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,IAAY,EAAE,SAAc,IAAI;QACtC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,UAAU;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACG,MAAM,CAAC,GAAY,EAAE,MAAc;;YACvC,MAAM,GAAG,CAAC;QACZ,CAAC;KAAA;IAED;;OAEG;IACH,MAAM,CAAC,YAAY;QACjB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,OAAO,KAAK,SAAS,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAuB;QAC5B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED;;OAEG;IACH,mBAAmB;QACjB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,GAAQ,EAAE,SAAkB,KAAK;QACpC,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;SACR;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;YACb,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;SAClC;QACD,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE;YACpB,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;gBAC9B,SAAS;aACV;YACD,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;SACxB;IACH,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,GAAY;QACrB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,KAAK,IAAI,iBAAO,CAAC,gBAAgB,EAAE,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACG,OAAO;;YACX,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;aAC/C;YACD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACjD,IAAI,GAAG,EAAE;gBACP,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;oBACjB,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;iBAClB;gBACD,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE;oBAClB,aAAa;oBACb,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE;wBACtB,IAAI,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;qBACrB;iBACF;aACF;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED;;;;OAIG;IACG,MAAM;;YACV,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;aAC/C;YACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;KAAA;IAED;;;;OAIG;IACG,IAAI;;YACR,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;aAC/C;YACD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxC,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;gBACjB,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;aAClB;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED;;;;OAIG;IACG,MAAM,CAAC,OAAO;;YAClB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACjB,MAAM,KAAK,CAAC,gCAAgC,CAAC,CAAC;aAC/C;YACD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,YAAY,EAAE,CAAC,CAAC;YAC/F,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5C,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;gBACjB,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;aAClB;QACH,CAAC;KAAA;IAED;;;;;;OAMG;IACH,MAAM,CAAC,SAAS;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;OAKG;IACG,QAAQ,CAAC,GAAY,EAAE,UAAe,SAAS;;YACnD,wCAAwC;YACxC,IAAI,CAAC,OAAO,EAAE;gBACZ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACpB;YACD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;gBAC9C,MAAM,IAAI,KAAK,CACb,GAAG;qBACA,QAAQ,EAAE;qBACV,oBAAoB,EAAE;qBACtB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;qBACnB,IAAI,CAAC,GAAG,CAAC,CACb,CAAC;aACH;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED;;;;;OAKG;IACH,WAAW,CAAC,SAAc,SAAS;QACjC,OAAO,SAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,GAAG,EAAE,KAAK;QACpB,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YACtD,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,SAAS,GAAG,KAAK;QAC5B,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC7B,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;QACxB,IAAI,SAAS,EAAE;YACb,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACxC,IAAI,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;oBAC5C,OAAO,SAAS,CAAC;iBAClB;gBACD,OAAO,KAAK,CAAC;YACf,CAAC,CAAC,CAAC;SACJ;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAoB,OAAO;QACnC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;YACjB,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAI,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,MAAM;QACZ,IAAI,GAAG,GAAQ,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE;YAClB,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,IAAI,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;gBAC1C,SAAS;aACV;YACD,IAAI,CAAC,MAAM,EAAE;gBACX,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACtC;YACD,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;SAChB;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACG,SAAS;;YACb,wBAAwB;QAC1B,CAAC;KAAA;IAED;;OAEG;IACG,UAAU;;YACd,wBAAwB;QAC1B,CAAC;KAAA;IAED;;OAEG;IACG,MAAM;;YACV,wBAAwB;QAC1B,CAAC;KAAA;IAED;;OAEG;IACG,OAAO;;YACX,wBAAwB;QAC1B,CAAC;KAAA;IAED;;OAEG;IACG,QAAQ;;YACZ,wBAAwB;QAC1B,CAAC;KAAA;IAED;;;;OAIG;IACG,SAAS,CAAC,OAAY;;YAC1B,wBAAwB;QAC1B,CAAC;KAAA;IAED;;OAEG;IACG,UAAU;;YACd,wBAAwB;QAC1B,CAAC;KAAA;;AAGM,8BAAS;AA3XT,sBAAY,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"coremodel.js","sourceRoot":"","sources":["../../src/models/coremodel.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ const mocha_1 = require("@testdeck/mocha");
19
19
  const assert = require("assert");
20
20
  const test_1 = require("../test");
21
21
  const __1 = require("..");
22
+ const sinon = require("sinon");
22
23
  const Task = require("../../test/models/task");
23
24
  let CoreModelTest = class CoreModelTest extends test_1.WebdaTest {
24
25
  unsecureLoad() {
@@ -74,25 +75,86 @@ let CoreModelTest = class CoreModelTest extends test_1.WebdaTest {
74
75
  assert.strictEqual(result._gotContext, true);
75
76
  });
76
77
  }
78
+ cov() {
79
+ return __awaiter(this, void 0, void 0, function* () {
80
+ let task = new Task();
81
+ yield assert.rejects(() => new __1.CoreModel().canAct(undefined, "test"), /403/);
82
+ assert.ok(!task.isAttached());
83
+ const unattachedMsg = /No store linked to this object/;
84
+ yield assert.rejects(() => task.refresh(), unattachedMsg);
85
+ yield assert.rejects(() => task.save(), unattachedMsg);
86
+ yield assert.rejects(() => task.delete(), unattachedMsg);
87
+ yield assert.rejects(() => task.update({ change: false }), unattachedMsg);
88
+ assert.throws(() => task.getService("ResourceService"), unattachedMsg);
89
+ let store = {
90
+ getService: this.webda.getService.bind(this.webda),
91
+ delete: () => { },
92
+ patch: () => { }
93
+ };
94
+ // @ts-ignore
95
+ task.attach(store);
96
+ assert.ok(task.isAttached());
97
+ assert.strictEqual(task.getStore(), store);
98
+ assert.notStrictEqual(task.generateUid(), undefined);
99
+ let stub = sinon.stub(Task, "getUuidField").callsFake(() => "bouzouf");
100
+ let deleteSpy = sinon.spy(store, "delete");
101
+ let updateSpy = sinon.stub(store, "patch").callsFake(() => ({ plop: "bouzouf" }));
102
+ try {
103
+ task.setUuid("test");
104
+ assert.strictEqual(task.getUuid(), "test");
105
+ assert.strictEqual(task.bouzouf, "test");
106
+ yield task.delete();
107
+ assert.strictEqual(deleteSpy.callCount, 1);
108
+ yield task.update({ plop: "bouzouf" });
109
+ assert.strictEqual(updateSpy.callCount, 1);
110
+ assert.strictEqual(task.plop, "bouzouf");
111
+ }
112
+ finally {
113
+ stub.restore();
114
+ deleteSpy.restore();
115
+ }
116
+ assert.strictEqual(this.getService("ResourceService"), task.getService("ResourceService"));
117
+ });
118
+ }
119
+ refresh() {
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ let task = new Task();
122
+ task.__store = {
123
+ get: () => undefined
124
+ };
125
+ yield task.refresh();
126
+ task.__store = {
127
+ get: () => ({ plop: "bouzouf" })
128
+ };
129
+ yield task.refresh();
130
+ assert.strictEqual(task.plop, "bouzouf");
131
+ });
132
+ }
77
133
  };
78
134
  __decorate([
79
- mocha_1.test("Verify unsecure loaded")
135
+ (0, mocha_1.test)("Verify unsecure loaded")
80
136
  ], CoreModelTest.prototype, "unsecureLoad", null);
81
137
  __decorate([
82
- mocha_1.test("Verify secure constructor")
138
+ (0, mocha_1.test)("Verify secure constructor")
83
139
  ], CoreModelTest.prototype, "secureConstructor", null);
84
140
  __decorate([
85
- mocha_1.test("Verify JSON export")
141
+ (0, mocha_1.test)("Verify JSON export")
86
142
  ], CoreModelTest.prototype, "jsonExport", null);
87
143
  __decorate([
88
- mocha_1.test("Verify JSON stored export")
144
+ (0, mocha_1.test)("Verify JSON stored export")
89
145
  ], CoreModelTest.prototype, "jsonStoredExport", null);
90
146
  __decorate([
91
- mocha_1.test("Verify JSON stored export - stringify")
147
+ (0, mocha_1.test)("Verify JSON stored export - stringify")
92
148
  ], CoreModelTest.prototype, "jsonStoredExportStringify", null);
93
149
  __decorate([
94
- mocha_1.test("Verify Context access within output to server")
150
+ (0, mocha_1.test)("Verify Context access within output to server")
95
151
  ], CoreModelTest.prototype, "withContext", null);
152
+ __decorate([
153
+ mocha_1.test
154
+ ], CoreModelTest.prototype, "cov", null);
155
+ __decorate([
156
+ mocha_1.test
157
+ ], CoreModelTest.prototype, "refresh", null);
96
158
  CoreModelTest = __decorate([
97
159
  mocha_1.suite
98
160
  ], CoreModelTest);
@@ -1 +1 @@
1
- {"version":3,"file":"coremodel.spec.js","sourceRoot":"","sources":["../../src/models/coremodel.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coremodel.spec.js","sourceRoot":"","sources":["../../src/models/coremodel.spec.ts"],"names":[],"mappings":"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"}
@@ -16,8 +16,14 @@ declare class Ident extends OwnerModel {
16
16
  _user: string;
17
17
  __new: boolean;
18
18
  _failedLogin: number;
19
- _lastValidationEmail: number;
20
- _validation: Date;
19
+ /**
20
+ * If EmailIdent
21
+ */
22
+ _lastValidationEmail?: number;
23
+ /**
24
+ * When the ident was validated
25
+ */
26
+ _validation?: Date;
21
27
  static init(type: string, uid: string, accessToken?: string, refreshToken?: string, profile?: object): Ident;
22
28
  getUser(): string;
23
29
  setUser(user: any): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ident.js","sourceRoot":"","sources":["../../src/models/ident.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AACb,6CAA0C;AAE1C,MAAM,WAAW;CAGhB;AAoDe,kCAAW;AAnD3B;;;GAGG;AACH,MAAM,KAAM,SAAQ,uBAAU;IAY5B,MAAM,CAAC,IAAI,CACT,IAAY,EACZ,GAAW,EACX,cAAsB,EAAE,EACxB,eAAuB,EAAE,EACzB,UAAkB,EAAE;QAEpB,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;QACrC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;QACxB,GAAG,CAAC,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,GAAG,CAAC,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC;QACpC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;QAClC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,IAAI;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,IAAI;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CACF;AAEQ,sBAAK"}
1
+ {"version":3,"file":"ident.js","sourceRoot":"","sources":["../../src/models/ident.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;AACb,6CAA0C;AAE1C,MAAM,WAAW;CAGhB;AA0De,kCAAW;AAzD3B;;;GAGG;AACH,MAAM,KAAM,SAAQ,uBAAU;IAkB5B,MAAM,CAAC,IAAI,CACT,IAAY,EACZ,GAAW,EACX,cAAsB,EAAE,EACxB,eAAuB,EAAE,EACzB,UAAkB,EAAE;QAEpB,IAAI,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QACtB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAC5B,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;QACrC,GAAG,CAAC,SAAS,GAAG,OAAO,CAAC;QACxB,GAAG,CAAC,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;QACjC,GAAG,CAAC,QAAQ,CAAC,OAAO,GAAG,YAAY,CAAC;QACpC,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,WAAW,CAAC;QAClC,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,IAAI;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,OAAO,CAAC,IAAI;QACV,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;CACF;AAEQ,sBAAK"}
@@ -16,10 +16,26 @@ let IdentTest = class IdentTest {
16
16
  user.setType("plop");
17
17
  assert.strictEqual(user.getType(), "plop");
18
18
  }
19
+ init() {
20
+ let ident = ident_1.Ident.init("ploP", "Me", "t1", "t2", { test: "ok" });
21
+ assert.strictEqual(ident._type, "plop");
22
+ assert.strictEqual(ident.uid, "me");
23
+ assert.strictEqual(ident.uuid, "me_plop");
24
+ assert.strictEqual(ident.__profile.test, "ok");
25
+ assert.strictEqual(ident.__tokens.access, "t1");
26
+ assert.strictEqual(ident.__tokens.refresh, "t2");
27
+ ident = ident_1.Ident.init("ploP", "Me");
28
+ assert.deepStrictEqual(ident.__profile, {});
29
+ assert.strictEqual(ident.__tokens.access, "");
30
+ assert.strictEqual(ident.__tokens.refresh, "");
31
+ }
19
32
  };
20
33
  __decorate([
21
34
  mocha_1.test
22
35
  ], IdentTest.prototype, "getType", null);
36
+ __decorate([
37
+ mocha_1.test
38
+ ], IdentTest.prototype, "init", null);
23
39
  IdentTest = __decorate([
24
40
  mocha_1.suite
25
41
  ], IdentTest);
@@ -1 +1 @@
1
- {"version":3,"file":"ident.spec.js","sourceRoot":"","sources":["../../src/models/ident.spec.ts"],"names":[],"mappings":";;;;;;;;AAAA,iCAAiC;AACjC,2CAA8C;AAC9C,mCAAgC;AAGhC,IAAM,SAAS,GAAf,MAAM,SAAS;IACP,OAAO;QACX,eAAe;QACf,IAAI,IAAI,GAAU,IAAI,aAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;CACF,CAAA;AANO;IAAL,YAAI;wCAKJ;AANG,SAAS;IADd,aAAK;GACA,SAAS,CAOd"}
1
+ {"version":3,"file":"ident.spec.js","sourceRoot":"","sources":["../../src/models/ident.spec.ts"],"names":[],"mappings":";;;;;;;;AAAA,iCAAiC;AACjC,2CAA8C;AAC9C,mCAAgC;AAGhC,IAAM,SAAS,GAAf,MAAM,SAAS;IACP,OAAO;QACX,eAAe;QACf,IAAI,IAAI,GAAU,IAAI,aAAK,EAAE,CAAC;QAC9B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAEK,IAAI;QACR,IAAI,KAAK,GAAG,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAChD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjD,KAAK,GAAG,aAAK,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AApBO;IAAL,YAAI;wCAKJ;AAEK;IAAL,YAAI;qCAYJ;AApBG,SAAS;IADd,aAAK;GACA,SAAS,CAqBd"}
@@ -29,7 +29,7 @@ export default class OwnerModel extends CoreModel {
29
29
  * @returns
30
30
  */
31
31
  getOwner(): string;
32
- canAct(ctx: Context, action: string): Promise<this>;
32
+ canAct(ctx: Context, action: "create" | "update" | "get" | "delete" | "get_binary" | "detach_binary" | "attach_binary" | string): Promise<this>;
33
33
  /**
34
34
  * Return false if can't update
35
35
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ownermodel.js","sourceRoot":"","sources":["../../src/models/ownermodel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAAyC;AAEzC,MAAqB,UAAW,SAAQ,aAAS;IAe/C;;OAEG;IACG,SAAS,CAAC,GAAY;;YAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,GAAG,CAAC;aACX;YACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEtB,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEK,MAAM,CAAC,GAAY,EAAE,MAAc;;YACvC,IAAI,MAAM,KAAK,QAAQ,EAAE;gBACvB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;aAC5B;iBAAM,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,eAAe,IAAI,MAAM,KAAK,eAAe,EAAE;gBAC1F,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;aAC5B;iBAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,YAAY,EAAE;gBACtD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACzB;iBAAM,IAAI,MAAM,KAAK,QAAQ,EAAE;gBAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;aAC5B;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;KAAA;IAED;;OAEG;IACG,SAAS,CAAC,GAAY;;YAC1B,oCAAoC;YACpC,IACE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtE,GAAG,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC,IAAI,EAC1C;gBACA,MAAM,GAAG,CAAC;aACX;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED;;OAEG;IACG,MAAM,CAAC,GAAY;;YACvB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,OAAO,IAAI,CAAC;aACb;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KAAA;IAED;;OAEG;IACG,SAAS,CAAC,GAAY;;YAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KAAA;CACF;AAzFD,6BAyFC;AAEQ,gCAAU"}
1
+ {"version":3,"file":"ownermodel.js","sourceRoot":"","sources":["../../src/models/ownermodel.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2BAAyC;AAEzC,MAAqB,UAAW,SAAQ,aAAS;IAe/C;;OAEG;IACG,SAAS,CAAC,GAAY;;YAC1B,MAAM,MAAM,GAAG,GAAG,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,CAAC;YAC5C,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,GAAG,CAAC;aACX;YACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEtB,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAY;QACnB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IAED;;;;;OAKG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAEK,MAAM,CACV,GAAY,EACZ,MAA0G;;YAE1G,IAAI,MAAM,KAAK,QAAQ,EAAE;gBACvB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;aAC5B;iBAAM,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,eAAe,IAAI,MAAM,KAAK,eAAe,EAAE;gBAC1F,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;aAC5B;iBAAM,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,YAAY,EAAE;gBACtD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACzB;iBAAM,IAAI,MAAM,KAAK,QAAQ,EAAE;gBAC9B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;aAC5B;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;KAAA;IAED;;OAEG;IACG,SAAS,CAAC,GAAY;;YAC1B,oCAAoC;YACpC,IACE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACtE,GAAG,CAAC,UAAU,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC,IAAI,EAC1C;gBACA,MAAM,GAAG,CAAC;aACX;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED;;OAEG;IACG,MAAM,CAAC,GAAY;;YACvB,IAAI,IAAI,CAAC,MAAM,EAAE;gBACf,OAAO,IAAI,CAAC;aACb;YACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KAAA;IAED;;OAEG;IACG,SAAS,CAAC,GAAY;;YAC1B,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;KAAA;CACF;AA5FD,6BA4FC;AAEQ,gCAAU"}
@@ -66,7 +66,7 @@ let OwnerModelTest = class OwnerModelTest extends test_1.WebdaTest {
66
66
  name: "Task #1"
67
67
  });
68
68
  assert.notStrictEqual(executor, undefined);
69
- yield assert.rejects(executor.execute.bind(executor, this._ctx), res => res == 403);
69
+ yield assert.rejects(() => executor.execute(this._ctx), /403/);
70
70
  });
71
71
  }
72
72
  post() {
@@ -85,7 +85,7 @@ let OwnerModelTest = class OwnerModelTest extends test_1.WebdaTest {
85
85
  yield this.beforeEach();
86
86
  this._ctx.getSession().login("fake_user2", "fake_ident");
87
87
  let executor = this.getExecutor(this._ctx, "test.webda.io", "GET", "/tasks/task_user1", {});
88
- yield assert.rejects(executor.execute.bind(executor, this._ctx), res => res == 403);
88
+ yield assert.rejects(() => executor.execute(this._ctx), /403/);
89
89
  });
90
90
  }
91
91
  putWrongOwner() {
@@ -93,14 +93,17 @@ let OwnerModelTest = class OwnerModelTest extends test_1.WebdaTest {
93
93
  yield this.beforeEach();
94
94
  this._ctx.session.login("fake_user2", "fake_ident");
95
95
  let executor = this.getExecutor(this._ctx, "test.webda.io", "PUT", "/tasks/task_user1", {});
96
- yield assert.rejects(executor.execute.bind(executor, this._ctx), res => res == 403);
96
+ yield assert.rejects(() => executor.execute(this._ctx), /403/);
97
97
  });
98
98
  }
99
99
  put() {
100
100
  return __awaiter(this, void 0, void 0, function* () {
101
101
  yield this.beforeEach();
102
102
  this._ctx.session.login("fake_user", "fake_ident");
103
- let executor = this.getExecutor(this._ctx, "test.webda.io", "PUT", "/tasks/task_user1", { public: true });
103
+ let executor = this.getExecutor(this._ctx, "test.webda.io", "PUT", "/tasks/task_user1", {
104
+ public: true,
105
+ name: "needed"
106
+ });
104
107
  yield executor.execute(this._ctx);
105
108
  let result = JSON.parse(this._ctx.getResponseBody());
106
109
  assert.strictEqual(result.uuid, "task_user1");
@@ -124,7 +127,7 @@ let OwnerModelTest = class OwnerModelTest extends test_1.WebdaTest {
124
127
  let executor = this.getExecutor(this._ctx, "test.webda.io", "GET", "/tasks/task_user1/actionable");
125
128
  yield executor.execute(this._ctx);
126
129
  executor = this.getExecutor(this._ctx, "test.webda.io", "PUT", "/tasks/task_user1/impossible");
127
- yield assert.rejects(executor.execute.bind(executor, this._ctx), res => res == 403);
130
+ yield assert.rejects(() => executor.execute(this._ctx), /403/);
128
131
  });
129
132
  }
130
133
  delete() {
@@ -140,7 +143,7 @@ let OwnerModelTest = class OwnerModelTest extends test_1.WebdaTest {
140
143
  yield this.beforeEach();
141
144
  this._ctx.session.login("fake_user2", "fake_ident");
142
145
  let executor = this.getExecutor(this._ctx, "test.webda.io", "DELETE", "/tasks/task_user1");
143
- yield assert.rejects(executor.execute.bind(executor, this._ctx), res => res == 403);
146
+ yield assert.rejects(() => executor.execute(this._ctx), /403/);
144
147
  });
145
148
  }
146
149
  deleteWrongOwnerPublic() {
@@ -148,7 +151,7 @@ let OwnerModelTest = class OwnerModelTest extends test_1.WebdaTest {
148
151
  yield this.beforeEach();
149
152
  this._ctx.session.login("fake_user2", "fake_ident");
150
153
  let executor = this.getExecutor(this._ctx, "test.webda.io", "DELETE", "/tasks/task_public");
151
- yield assert.rejects(executor.execute.bind(executor, this._ctx), res => res == 403);
154
+ yield assert.rejects(() => executor.execute(this._ctx), /403/);
152
155
  });
153
156
  }
154
157
  deleteUnknown() {
@@ -156,42 +159,42 @@ let OwnerModelTest = class OwnerModelTest extends test_1.WebdaTest {
156
159
  yield this.beforeEach();
157
160
  this._ctx.session.login("fake_user2", "fake_ident");
158
161
  let executor = this.getExecutor(this._ctx, "test.webda.io", "DELETE", "/tasks/task_unknown");
159
- yield assert.rejects(executor.execute.bind(executor, this._ctx), res => res == 404);
162
+ yield assert.rejects(() => executor.execute(this._ctx), /404/);
160
163
  });
161
164
  }
162
165
  };
163
166
  __decorate([
164
- mocha_1.test("POST - not logged")
167
+ (0, mocha_1.test)("POST - not logged")
165
168
  ], OwnerModelTest.prototype, "postNotLogged", null);
166
169
  __decorate([
167
- mocha_1.test("POST")
170
+ (0, mocha_1.test)("POST")
168
171
  ], OwnerModelTest.prototype, "post", null);
169
172
  __decorate([
170
- mocha_1.test("GET - wrong owner")
173
+ (0, mocha_1.test)("GET - wrong owner")
171
174
  ], OwnerModelTest.prototype, "getWrongOwner", null);
172
175
  __decorate([
173
- mocha_1.test("PUT - wrong owner")
176
+ (0, mocha_1.test)("PUT - wrong owner")
174
177
  ], OwnerModelTest.prototype, "putWrongOwner", null);
175
178
  __decorate([
176
- mocha_1.test("PUT")
179
+ (0, mocha_1.test)("PUT")
177
180
  ], OwnerModelTest.prototype, "put", null);
178
181
  __decorate([
179
- mocha_1.test("GET - public")
182
+ (0, mocha_1.test)("GET - public")
180
183
  ], OwnerModelTest.prototype, "getPublic", null);
181
184
  __decorate([
182
- mocha_1.test("Actions")
185
+ (0, mocha_1.test)("Actions")
183
186
  ], OwnerModelTest.prototype, "actioms", null);
184
187
  __decorate([
185
- mocha_1.test("DELETE")
188
+ (0, mocha_1.test)("DELETE")
186
189
  ], OwnerModelTest.prototype, "delete", null);
187
190
  __decorate([
188
- mocha_1.test("DELETE - wrong owner")
191
+ (0, mocha_1.test)("DELETE - wrong owner")
189
192
  ], OwnerModelTest.prototype, "deleteWrongOwner", null);
190
193
  __decorate([
191
- mocha_1.test("DELETE - wrong owner - public")
194
+ (0, mocha_1.test)("DELETE - wrong owner - public")
192
195
  ], OwnerModelTest.prototype, "deleteWrongOwnerPublic", null);
193
196
  __decorate([
194
- mocha_1.test("DELETE - unknown")
197
+ (0, mocha_1.test)("DELETE - unknown")
195
198
  ], OwnerModelTest.prototype, "deleteUnknown", null);
196
199
  OwnerModelTest = __decorate([
197
200
  mocha_1.suite