@webda/core 2.4.1 → 3.0.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 (227) hide show
  1. package/lib/application.d.ts +171 -34
  2. package/lib/application.js +243 -47
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +44 -8
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +113 -54
  7. package/lib/core.js +222 -135
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +87 -43
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/errors.d.ts +65 -0
  12. package/lib/errors.js +113 -0
  13. package/lib/errors.js.map +1 -0
  14. package/lib/errors.spec.d.ts +1 -0
  15. package/lib/errors.spec.js +33 -0
  16. package/lib/errors.spec.js.map +1 -0
  17. package/lib/index.d.ts +3 -0
  18. package/lib/index.js +3 -0
  19. package/lib/index.js.map +1 -1
  20. package/lib/models/aclmodel.d.ts +4 -4
  21. package/lib/models/aclmodel.js +10 -6
  22. package/lib/models/aclmodel.js.map +1 -1
  23. package/lib/models/aclmodel.spec.js +33 -24
  24. package/lib/models/aclmodel.spec.js.map +1 -1
  25. package/lib/models/coremodel.d.ts +284 -92
  26. package/lib/models/coremodel.js +403 -103
  27. package/lib/models/coremodel.js.map +1 -1
  28. package/lib/models/coremodel.spec.js +162 -24
  29. package/lib/models/coremodel.spec.js.map +1 -1
  30. package/lib/models/ident.d.ts +20 -6
  31. package/lib/models/ident.js.map +1 -1
  32. package/lib/models/ownermodel.d.ts +13 -23
  33. package/lib/models/ownermodel.js +24 -51
  34. package/lib/models/ownermodel.js.map +1 -1
  35. package/lib/models/ownermodel.spec.js +23 -11
  36. package/lib/models/ownermodel.spec.js.map +1 -1
  37. package/lib/models/relations.d.ts +167 -0
  38. package/lib/models/relations.js +113 -0
  39. package/lib/models/relations.js.map +1 -0
  40. package/lib/models/rolemodel.d.ts +3 -3
  41. package/lib/models/rolemodel.js +6 -6
  42. package/lib/models/rolemodel.js.map +1 -1
  43. package/lib/models/rolemodel.spec.js +12 -12
  44. package/lib/models/rolemodel.spec.js.map +1 -1
  45. package/lib/models/user.d.ts +40 -24
  46. package/lib/models/user.js +74 -48
  47. package/lib/models/user.js.map +1 -1
  48. package/lib/models/user.spec.js +24 -4
  49. package/lib/models/user.spec.js.map +1 -1
  50. package/lib/queues/memoryqueue.spec.js +9 -5
  51. package/lib/queues/memoryqueue.spec.js.map +1 -1
  52. package/lib/queues/queueservice.js.map +1 -1
  53. package/lib/router.d.ts +17 -8
  54. package/lib/router.js +81 -9
  55. package/lib/router.js.map +1 -1
  56. package/lib/router.spec.js +89 -5
  57. package/lib/router.spec.js.map +1 -1
  58. package/lib/services/asyncevents.spec.js +4 -4
  59. package/lib/services/authentication.d.ts +21 -22
  60. package/lib/services/authentication.js +90 -109
  61. package/lib/services/authentication.js.map +1 -1
  62. package/lib/services/authentication.spec.js +51 -65
  63. package/lib/services/authentication.spec.js.map +1 -1
  64. package/lib/services/binary.d.ts +132 -31
  65. package/lib/services/binary.js +257 -72
  66. package/lib/services/binary.js.map +1 -1
  67. package/lib/services/binary.spec.d.ts +16 -6
  68. package/lib/services/binary.spec.js +44 -117
  69. package/lib/services/binary.spec.js.map +1 -1
  70. package/lib/services/cloudbinary.d.ts +9 -10
  71. package/lib/services/cloudbinary.js +14 -15
  72. package/lib/services/cloudbinary.js.map +1 -1
  73. package/lib/services/cloudbinary.spec.d.ts +2 -2
  74. package/lib/services/cloudbinary.spec.js +13 -12
  75. package/lib/services/cloudbinary.spec.js.map +1 -1
  76. package/lib/services/configuration.js +9 -9
  77. package/lib/services/configuration.js.map +1 -1
  78. package/lib/services/configuration.spec.js +5 -7
  79. package/lib/services/configuration.spec.js.map +1 -1
  80. package/lib/services/cron.spec.js +3 -4
  81. package/lib/services/cron.spec.js.map +1 -1
  82. package/lib/services/cryptoservice.d.ts +2 -2
  83. package/lib/services/cryptoservice.js +5 -2
  84. package/lib/services/cryptoservice.js.map +1 -1
  85. package/lib/services/domainservice.d.ts +113 -0
  86. package/lib/services/domainservice.js +357 -0
  87. package/lib/services/domainservice.js.map +1 -0
  88. package/lib/services/domainservice.spec.d.ts +1 -0
  89. package/lib/services/domainservice.spec.js +334 -0
  90. package/lib/services/domainservice.spec.js.map +1 -0
  91. package/lib/services/echo.d.ts +2 -2
  92. package/lib/services/echo.js.map +1 -1
  93. package/lib/services/echo.spec.js +9 -2
  94. package/lib/services/echo.spec.js.map +1 -1
  95. package/lib/services/filebinary.d.ts +13 -14
  96. package/lib/services/filebinary.js +79 -73
  97. package/lib/services/filebinary.js.map +1 -1
  98. package/lib/services/filebinary.spec.d.ts +5 -0
  99. package/lib/services/filebinary.spec.js +222 -11
  100. package/lib/services/filebinary.spec.js.map +1 -1
  101. package/lib/services/fileconfiguration.js +7 -7
  102. package/lib/services/fileconfiguration.js.map +1 -1
  103. package/lib/services/fileconfiguration.spec.js +23 -24
  104. package/lib/services/fileconfiguration.spec.js.map +1 -1
  105. package/lib/services/invitationservice.d.ts +11 -9
  106. package/lib/services/invitationservice.js +17 -23
  107. package/lib/services/invitationservice.js.map +1 -1
  108. package/lib/services/invitationservice.spec.js +43 -40
  109. package/lib/services/invitationservice.spec.js.map +1 -1
  110. package/lib/services/kubernetesconfiguration.js +12 -22
  111. package/lib/services/kubernetesconfiguration.js.map +1 -1
  112. package/lib/services/kubernetesconfiguration.spec.js +1 -6
  113. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  114. package/lib/services/mailer.js +1 -1
  115. package/lib/services/mailer.js.map +1 -1
  116. package/lib/services/mailer.spec.js +4 -1
  117. package/lib/services/mailer.spec.js.map +1 -1
  118. package/lib/services/oauth.d.ts +17 -9
  119. package/lib/services/oauth.js +30 -4
  120. package/lib/services/oauth.js.map +1 -1
  121. package/lib/services/oauth.spec.js +32 -15
  122. package/lib/services/oauth.spec.js.map +1 -1
  123. package/lib/services/prometheus.spec.js.map +1 -1
  124. package/lib/services/proxy.d.ts +9 -8
  125. package/lib/services/proxy.js +65 -36
  126. package/lib/services/proxy.js.map +1 -1
  127. package/lib/services/proxy.spec.js +28 -2
  128. package/lib/services/proxy.spec.js.map +1 -1
  129. package/lib/services/resource.d.ts +3 -3
  130. package/lib/services/resource.js +4 -3
  131. package/lib/services/resource.js.map +1 -1
  132. package/lib/services/resource.spec.js +3 -3
  133. package/lib/services/resource.spec.js.map +1 -1
  134. package/lib/services/service.d.ts +10 -13
  135. package/lib/services/service.js +29 -13
  136. package/lib/services/service.js.map +1 -1
  137. package/lib/services/service.spec.js +49 -11
  138. package/lib/services/service.spec.js.map +1 -1
  139. package/lib/services/version.d.ts +2 -2
  140. package/lib/services/version.js.map +1 -1
  141. package/lib/stores/aggregator.js +1 -0
  142. package/lib/stores/aggregator.js.map +1 -1
  143. package/lib/stores/aliasstore.d.ts +2 -2
  144. package/lib/stores/aliasstore.js +15 -4
  145. package/lib/stores/aliasstore.js.map +1 -1
  146. package/lib/stores/aliasstore.spec.js +4 -2
  147. package/lib/stores/aliasstore.spec.js.map +1 -1
  148. package/lib/stores/file.d.ts +5 -2
  149. package/lib/stores/file.js +11 -8
  150. package/lib/stores/file.js.map +1 -1
  151. package/lib/stores/file.spec.js +21 -34
  152. package/lib/stores/file.spec.js.map +1 -1
  153. package/lib/stores/mapper.d.ts +4 -2
  154. package/lib/stores/mapper.js +18 -11
  155. package/lib/stores/mapper.js.map +1 -1
  156. package/lib/stores/mapper.spec.js +6 -3
  157. package/lib/stores/mapper.spec.js.map +1 -1
  158. package/lib/stores/memory.d.ts +5 -2
  159. package/lib/stores/memory.js +11 -9
  160. package/lib/stores/memory.js.map +1 -1
  161. package/lib/stores/memory.spec.d.ts +3 -0
  162. package/lib/stores/memory.spec.js +100 -11
  163. package/lib/stores/memory.spec.js.map +1 -1
  164. package/lib/stores/store.d.ts +177 -87
  165. package/lib/stores/store.js +312 -141
  166. package/lib/stores/store.js.map +1 -1
  167. package/lib/stores/store.spec.d.ts +2 -2
  168. package/lib/stores/store.spec.js +54 -38
  169. package/lib/stores/store.spec.js.map +1 -1
  170. package/lib/stores/webdaql/WebdaQLLexer.d.ts +14 -13
  171. package/lib/stores/webdaql/WebdaQLLexer.js +121 -112
  172. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -1
  173. package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +14 -13
  174. package/lib/stores/webdaql/WebdaQLParserLexer.js +121 -112
  175. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -1
  176. package/lib/stores/webdaql/WebdaQLParserListener.d.ts +15 -3
  177. package/lib/stores/webdaql/WebdaQLParserParser.d.ts +23 -13
  178. package/lib/stores/webdaql/WebdaQLParserParser.js +149 -94
  179. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -1
  180. package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +9 -2
  181. package/lib/stores/webdaql/query.d.ts +6 -2
  182. package/lib/stores/webdaql/query.js +14 -1
  183. package/lib/stores/webdaql/query.js.map +1 -1
  184. package/lib/stores/webdaql/query.spec.js +10 -1
  185. package/lib/stores/webdaql/query.spec.js.map +1 -1
  186. package/lib/test.d.ts +48 -19
  187. package/lib/test.js +171 -63
  188. package/lib/test.js.map +1 -1
  189. package/lib/unpackedapplication.d.ts +5 -0
  190. package/lib/unpackedapplication.js +58 -10
  191. package/lib/unpackedapplication.js.map +1 -1
  192. package/lib/utils/context.d.ts +76 -29
  193. package/lib/utils/context.js +91 -55
  194. package/lib/utils/context.js.map +1 -1
  195. package/lib/utils/context.spec.d.ts +9 -1
  196. package/lib/utils/context.spec.js +73 -8
  197. package/lib/utils/context.spec.js.map +1 -1
  198. package/lib/utils/cookie.d.ts +4 -5
  199. package/lib/utils/cookie.js +1 -2
  200. package/lib/utils/cookie.js.map +1 -1
  201. package/lib/utils/cookie.spec.js +5 -3
  202. package/lib/utils/cookie.spec.js.map +1 -1
  203. package/lib/utils/httpcontext.spec.js +9 -3
  204. package/lib/utils/httpcontext.spec.js.map +1 -1
  205. package/lib/utils/serializers.d.ts +46 -17
  206. package/lib/utils/serializers.js +116 -2
  207. package/lib/utils/serializers.js.map +1 -1
  208. package/lib/utils/serializers.spec.js +84 -20
  209. package/lib/utils/serializers.spec.js.map +1 -1
  210. package/lib/utils/session.d.ts +14 -8
  211. package/lib/utils/session.js +14 -3
  212. package/lib/utils/session.js.map +1 -1
  213. package/lib/utils/session.spec.js +6 -1
  214. package/lib/utils/session.spec.js.map +1 -1
  215. package/package.json +16 -10
  216. package/test/cachedapp/webda.config.json +6 -1
  217. package/test/config-cached.json +5 -0
  218. package/test/config-file-missing-file.json +5 -7
  219. package/test/config-file-no-reload.json +5 -7
  220. package/test/config-file-reload.json +5 -7
  221. package/test/config-kube-reload.json +5 -11
  222. package/test/config-reload.json +2 -4
  223. package/test/config.json +12 -2
  224. package/test/moddas/voidstore.js +1 -1
  225. package/test/models/ident.js +6 -4
  226. package/test/models/task.js +4 -4
  227. package/webda.module.json +1587 -1266
@@ -4,18 +4,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { suite, test } from "@testdeck/mocha";
7
+ import { test } from "@testdeck/mocha";
8
8
  import * as assert from "assert";
9
9
  import axios from "axios";
10
- import { EventEmitter } from "events";
11
10
  import * as fs from "fs";
12
11
  import * as sinon from "sinon";
13
- import { Binary, User } from "../index.js";
12
+ import { User, WebdaError } from "../index.js";
14
13
  import { WebdaTest } from "../test.js";
15
- import { BinaryNotFoundError, LocalBinaryFile, MemoryBinaryFile } from "./binary.js";
14
+ import { BinaryNotFoundError, BinaryService, LocalBinaryFile, MemoryBinaryFile } from "./binary.js";
16
15
  export class ImageUser extends User {
17
16
  }
18
- class TestBinaryService extends Binary {
17
+ export class TestBinaryService extends BinaryService {
19
18
  store(object, property, file, metadatas, index) {
20
19
  throw new Error("Method not implemented.");
21
20
  }
@@ -53,6 +52,7 @@ class BinaryTest extends WebdaTest {
53
52
  return process.cwd() + "/test/Dockerfile.txt";
54
53
  }
55
54
  async before(init = true) {
55
+ this.cleanFiles.push("./downloadTo.tmp");
56
56
  await super.before(init);
57
57
  let userStore = this.getUserStore();
58
58
  let binary = this.getBinary();
@@ -120,7 +120,7 @@ class BinaryTest extends WebdaTest {
120
120
  ctx.session.userId = user2.uuid;
121
121
  let executor = this.getExecutor(ctx, "test.webda.io", "GET", exposePath + "/users/" + user1.uuid + "/" + map + "/0");
122
122
  this.log("DEBUG", "Verify permission check on HTTP GET");
123
- await assert.rejects(executor.execute(ctx), res => res == 403);
123
+ await assert.rejects(executor.execute(ctx), (err) => err.getResponseCode() === 403);
124
124
  ctx.session.userId = user1.uuid;
125
125
  this.log("DEBUG", "Verify valid permission check on HTTP GET");
126
126
  executor = this.getExecutor(ctx, "test.webda.io", "GET", exposePath + "/users/" + user1.uuid + "/" + map + "/0");
@@ -159,9 +159,9 @@ class BinaryTest extends WebdaTest {
159
159
  }
160
160
  }
161
161
  this.log("DEBUG", "Check get stream");
162
- let buf1 = await Binary.streamToBuffer(await user1[map][0].get());
162
+ let buf1 = await BinaryService.streamToBuffer(await user1[map][0].get());
163
163
  // cov
164
- let buf2 = await Binary.streamToBuffer(await binary._get(user1[map][0]));
164
+ let buf2 = await BinaryService.streamToBuffer(await binary._get(user1[map][0]));
165
165
  assert.strictEqual(buf1.toString(), buf2.toString());
166
166
  this.log("DEBUG", "Delete CoreModel and ensure usage count");
167
167
  await userStore.delete(user1.uuid);
@@ -174,6 +174,7 @@ class BinaryTest extends WebdaTest {
174
174
  let user1 = await userStore.save({
175
175
  test: "plop"
176
176
  });
177
+ binary.getParameters().models = {};
177
178
  await assert.rejects(() => binary.store(user1, "images2", new LocalBinaryFile(this.getTestFile()), {}), err => true);
178
179
  }
179
180
  async update() {
@@ -205,7 +206,7 @@ class BinaryTest extends WebdaTest {
205
206
  });
206
207
  let ctx = await this.newContext();
207
208
  let executor = this.getExecutor(ctx, "test.webda.io", "POST", `/binary/users/${user1.getUuid()}/images`, {});
208
- await assert.rejects(() => executor.execute(ctx), /403/);
209
+ await assert.rejects(() => executor.execute(ctx), (err) => err.getResponseCode() === 403);
209
210
  /**
210
211
  * Two modes should be handled
211
212
  *
@@ -220,11 +221,11 @@ class BinaryTest extends WebdaTest {
220
221
  async httpDelete() {
221
222
  let { user1, ctx } = await this.setupDefault(false);
222
223
  let executor = this.getExecutor(ctx, "test.webda.io", "DELETE", `/binary/users/${user1.getUuid()}/images/0/myhash`, {});
223
- await assert.rejects(() => executor.execute(ctx), /403/, "DELETE binary w/o permission");
224
+ await assert.rejects(() => executor.execute(ctx), WebdaError.Forbidden, "DELETE binary w/o permission");
224
225
  // Now login
225
226
  ctx.getSession().login(user1.getUuid(), "fake");
226
227
  executor = this.getExecutor(ctx, "test.webda.io", "DELETE", `/binary/users/${user1.getUuid()}/images/0/myhash`, {});
227
- await assert.rejects(() => executor.execute(ctx), /412/);
228
+ await assert.rejects(() => executor.execute(ctx), (err) => err.getResponseCode() === 400);
228
229
  executor = this.getExecutor(ctx, "test.webda.io", "DELETE", `/binary/users/${user1.getUuid()}/images/0/${user1.images[0].hash}`, {});
229
230
  await executor.execute(ctx);
230
231
  await user1.refresh();
@@ -245,21 +246,21 @@ class BinaryTest extends WebdaTest {
245
246
  let stub = sinon.stub(binary, "get").callsFake(() => {
246
247
  return {
247
248
  pipe: stream => {
248
- stream.emit("error", new Error("I/O"));
249
+ stream.emit("error", new Error("IO UnitTest"));
249
250
  }
250
251
  };
251
252
  });
252
253
  await this.execute(ctx, "test.webda.io", "GET", `/binary/users/${user1.getUuid()}/images/0`, {});
253
- await assert.rejects(() => this.execute(ctx, "test.webda.io", "GET", ctx.getResponseHeaders().Location.substring("http://test.webda.io".length)), /500/, "GET binary with I/O");
254
+ await assert.rejects(() => this.execute(ctx, "test.webda.io", "GET", ctx.getResponseHeaders().Location.substring("http://test.webda.io".length)), /IO UnitTest/, "GET binary with I/O");
254
255
  stub.restore();
255
256
  }
256
257
  async httpGet() {
257
258
  let { binary, user1, ctx } = await this.setupDefault(false);
258
259
  let executor = this.getExecutor(ctx, "test.webda.io", "GET", `/binary/users/${user1.getUuid()}/images/0`, {});
259
260
  // If not logged in
260
- await assert.rejects(() => executor.execute(ctx), /403/, "GET binary w/o permission");
261
+ await assert.rejects(() => executor.execute(ctx), WebdaError.Forbidden, "GET binary w/o permission");
261
262
  executor = this.getExecutor(ctx, "test.webda.io", "GET", `/binary/users/unknown/images/0`, {});
262
- await assert.rejects(() => executor.execute(ctx), /404/, "GET binary on unknown object");
263
+ await assert.rejects(() => executor.execute(ctx), WebdaError.NotFound, "GET binary on unknown object");
263
264
  // Login
264
265
  ctx.getSession().login(user1.getUuid(), "fake");
265
266
  executor = this.getExecutor(ctx, "test.webda.io", "GET", `/binary/users/${user1.getUuid()}/images/0`, {});
@@ -267,15 +268,15 @@ class BinaryTest extends WebdaTest {
267
268
  await binary.delete(user1, "images", 0);
268
269
  // Check 404 now it is gone
269
270
  executor = this.getExecutor(ctx, "test.webda.io", "GET", `/binary/users/${user1.getUuid()}/images/0`, {});
270
- await assert.rejects(() => executor.execute(ctx), /404/);
271
+ await assert.rejects(() => executor.execute(ctx), (err) => err.getResponseCode() === 404);
271
272
  }
272
273
  async httpMetadata() {
273
274
  var _a;
274
275
  let { binary, user1, ctx } = await this.setupDefault(false);
275
276
  let executor = this.getExecutor(ctx, "test.webda.io", "PUT", `/binary/users/${user1.getUuid()}/images/0/${user1.images[0].hash}`, {}); // If not logged in
276
- await assert.rejects(() => executor.execute(ctx), /403/, "PUT metadata w/o permission");
277
+ await assert.rejects(() => executor.execute(ctx), WebdaError.Forbidden, "PUT metadata w/o permission");
277
278
  executor = this.getExecutor(ctx, "test.webda.io", "PUT", `/binary/users/unknown/images/0/${user1.images[0].hash}`, {});
278
- await assert.rejects(() => executor.execute(ctx), /404/, "GET binary on unknown object");
279
+ await assert.rejects(() => executor.execute(ctx), WebdaError.NotFound, "GET binary on unknown object");
279
280
  // Login
280
281
  ctx.getSession().login(user1.getUuid(), "fake");
281
282
  executor = this.getExecutor(ctx, "test.webda.io", "PUT", `/binary/users/${user1.getUuid()}/images/0/${user1.images[0].hash}`, {
@@ -283,7 +284,7 @@ class BinaryTest extends WebdaTest {
283
284
  "my-other-metadata": true
284
285
  });
285
286
  await executor.execute(ctx);
286
- let user = await ctx.getCurrentUser(true);
287
+ let user = await this.getUserStore().get(ctx.getCurrentUserId());
287
288
  (_a = user.images[0]).metadata ?? (_a.metadata = {});
288
289
  assert.strictEqual(user.images[0].metadata["my-metadata"], "updated");
289
290
  assert.strictEqual(user.images[0].metadata["my-other-metadata"], true);
@@ -291,7 +292,7 @@ class BinaryTest extends WebdaTest {
291
292
  "my-metadata": "updated".repeat(4096),
292
293
  "my-other-metadata": true
293
294
  });
294
- await assert.rejects(() => executor.execute(ctx), /400/, "PUT metadata with big content should fail");
295
+ await assert.rejects(() => executor.execute(ctx), WebdaError.BadRequest, "PUT metadata with big content should fail");
295
296
  }
296
297
  async getNotFound() {
297
298
  await assert.rejects(() =>
@@ -328,7 +329,7 @@ class BinaryTest extends WebdaTest {
328
329
  challenge,
329
330
  metadata
330
331
  });
331
- await assert.rejects(() => executor.execute(ctx), /403/);
332
+ await assert.rejects(() => executor.execute(ctx), (err) => err.getResponseCode() === 403);
332
333
  ctx.getSession().login(user1.getUuid(), "fake");
333
334
  await executor.execute(ctx);
334
335
  let info = JSON.parse(ctx.getResponseBody());
@@ -337,15 +338,9 @@ class BinaryTest extends WebdaTest {
337
338
  await executor.execute(ctx);
338
339
  let url = new URL(info.url);
339
340
  if (url.host === "test.webda.io") {
340
- executor = this.getExecutor(ctx, "test.webda.io", info.method || "PUT", url.pathname + url.search, "PLOP2", {
341
- "Content-MD5": info.md5,
342
- "Content-Type": "application/octet-stream"
343
- });
341
+ executor = this.getExecutor(ctx, "test.webda.io", info.method || "PUT", url.pathname + url.search, "PLOP2", info.headers);
344
342
  await assert.rejects(() => executor.execute(ctx));
345
- executor = this.getExecutor(ctx, "test.webda.io", info.method || "PUT", url.pathname + url.search, "PLOP", {
346
- "Content-MD5": info.md5,
347
- "Content-Type": "application/octet-stream"
348
- });
343
+ executor = this.getExecutor(ctx, "test.webda.io", info.method || "PUT", url.pathname + url.search, "PLOP", info.headers);
349
344
  await executor.execute(ctx);
350
345
  }
351
346
  else {
@@ -356,7 +351,7 @@ class BinaryTest extends WebdaTest {
356
351
  }
357
352
  await user1.refresh();
358
353
  assert.strictEqual(user1.images.length, 2);
359
- assert.strictEqual((await Binary.streamToBuffer(await binary.get(user1.images[1]))).toString(), "PLOP");
354
+ assert.strictEqual((await BinaryService.streamToBuffer(await binary.get(user1.images[1]))).toString(), "PLOP");
360
355
  // If we try to re upload it should be already up
361
356
  executor = this.getExecutor(ctx, "test.webda.io", "PUT", `/binary/upload/users/${user1.getUuid()}/images`, {
362
357
  hash,
@@ -381,15 +376,25 @@ class BinaryTest extends WebdaTest {
381
376
  assert.ok(info.url === undefined);
382
377
  }
383
378
  async sendChallengeData(info, data) {
384
- return axios.request({
385
- method: info.method,
386
- url: info.url,
387
- data,
388
- headers: {
389
- "Content-MD5": info.md5,
390
- "Content-Type": "application/octet-stream"
391
- }
392
- });
379
+ let res;
380
+ try {
381
+ res = await axios.request({
382
+ method: info.method,
383
+ url: info.url,
384
+ data,
385
+ headers: info.headers
386
+ });
387
+ return res;
388
+ }
389
+ catch (err) {
390
+ console.log("sendChallengeDataError", {
391
+ method: info.method,
392
+ url: info.url,
393
+ data,
394
+ headers: info.headers
395
+ }, err);
396
+ throw err;
397
+ }
393
398
  }
394
399
  }
395
400
  __decorate([
@@ -425,83 +430,5 @@ __decorate([
425
430
  __decorate([
426
431
  test
427
432
  ], BinaryTest.prototype, "getNotFound", null);
428
- let BinaryAbstractTest = class BinaryAbstractTest extends WebdaTest {
429
- async cov() {
430
- let service = new TestBinaryService(undefined, "plop", {});
431
- let ctx = await this.newContext();
432
- await assert.rejects(() => service.putRedirectUrl(undefined), /404/);
433
- ctx.getHttpContext().setBody({
434
- hash: "plop"
435
- });
436
- await assert.rejects(() => service.httpChallenge(ctx), /400/);
437
- ctx = await this.newContext();
438
- ctx.getHttpContext().setBody({
439
- challenge: "plop"
440
- });
441
- await assert.rejects(() => service.httpChallenge(ctx), /400/);
442
- ctx = await this.newContext();
443
- let binary = this.getService("binary");
444
- ctx.setPathParameters({
445
- property: "images",
446
- store: "users",
447
- uid: "notfound",
448
- index: 0
449
- });
450
- ctx.getHttpContext().setBody({
451
- hash: "p",
452
- challenge: "z"
453
- });
454
- await assert.rejects(() => binary.httpChallenge(ctx), /404/);
455
- let stubs = [];
456
- try {
457
- let model = {};
458
- stubs.push(sinon.stub(binary, "_verifyMapAndStore").callsFake(() => {
459
- return {
460
- get: async (uuid, ctx) => {
461
- return model;
462
- }
463
- };
464
- }));
465
- await assert.rejects(() => binary.httpRoute(ctx), /404/);
466
- model = {
467
- images: [
468
- {
469
- size: 10
470
- }
471
- ],
472
- canAct: async () => true
473
- };
474
- stubs.push(
475
- // @ts-ignore
476
- sinon.stub(binary, "get").callsFake(async () => {
477
- return {
478
- pipe: stream => {
479
- stream.emit("error", new Error("I/O"));
480
- }
481
- };
482
- }));
483
- await assert.rejects(() => binary.httpRoute(ctx), /500/);
484
- }
485
- finally {
486
- stubs.forEach(stub => stub.restore());
487
- }
488
- }
489
- async streamToBufferError() {
490
- let stream = new EventEmitter();
491
- // @ts-ignore
492
- let p = assert.rejects(() => Binary.streamToBuffer(stream), /Bad I\/O/);
493
- stream.emit("error", new Error("Bad I/O"));
494
- await p;
495
- }
496
- };
497
- __decorate([
498
- test
499
- ], BinaryAbstractTest.prototype, "cov", null);
500
- __decorate([
501
- test
502
- ], BinaryAbstractTest.prototype, "streamToBufferError", null);
503
- BinaryAbstractTest = __decorate([
504
- suite
505
- ], BinaryAbstractTest);
506
433
  export { BinaryTest };
507
434
  //# sourceMappingURL=binary.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"binary.spec.js","sourceRoot":"","sources":["../../src/services/binary.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary.spec.js","sourceRoot":"","sources":["../../src/services/binary.spec.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,16 @@
1
- import { Context } from "../index.js";
2
- import { CoreModel } from "../models/coremodel.js";
3
- import { Binary, BinaryMap, BinaryParameters } from "./binary.js";
1
+ import { OperationContext } from "../utils/context.js";
2
+ import { BinaryMap, BinaryModel, BinaryParameters, BinaryService } from "./binary.js";
4
3
  /**
5
4
  * Default binary parameters
6
5
  */
7
6
  export declare class CloudBinaryParameters extends BinaryParameters {
8
7
  prefix?: string;
9
- constructor(params: any, service: Binary);
8
+ constructor(params: any, service: BinaryService);
10
9
  }
11
10
  /**
12
11
  * CloudBinary abstraction
13
12
  */
14
- export declare abstract class CloudBinary<T extends CloudBinaryParameters = CloudBinaryParameters> extends Binary<T> {
13
+ export declare abstract class CloudBinary<T extends CloudBinaryParameters = CloudBinaryParameters> extends BinaryService<T> {
15
14
  /**
16
15
  * @inheritdoc
17
16
  */
@@ -42,14 +41,14 @@ export declare abstract class CloudBinary<T extends CloudBinaryParameters = Clou
42
41
  /**
43
42
  * Return the S3 key
44
43
  * @param hash
45
- * @param postfix
44
+ * @param suffix
46
45
  * @returns
47
46
  */
48
- _getKey(hash: string, postfix?: string): string;
47
+ _getKey(hash: string, suffix?: string): string;
49
48
  /**
50
49
  * @inheritdoc
51
50
  */
52
- delete(object: CoreModel, property: string, index: number): Promise<void>;
51
+ delete(object: BinaryModel, property: string, index: number): Promise<void>;
53
52
  /**
54
53
  * @inheritdoc
55
54
  */
@@ -57,11 +56,11 @@ export declare abstract class CloudBinary<T extends CloudBinaryParameters = Clou
57
56
  /**
58
57
  * Clean usage for a hash
59
58
  */
60
- abstract _cleanUsage(hash: string, uuid: string): Promise<void>;
59
+ abstract _cleanUsage(hash: string, uuid: string, attribute?: string): Promise<void>;
61
60
  /**
62
61
  * Retrieve one signed URL to download the file in parameter
63
62
  * @param {GetSignedUrlParams} params
64
63
  * @returns {string} URL in order to download the file
65
64
  */
66
- abstract getSignedUrlFromMap(map: BinaryMap, expires: number, context: Context): Promise<string>;
65
+ abstract getSignedUrlFromMap(map: BinaryMap, expires: number, context: OperationContext): Promise<string>;
67
66
  }
@@ -1,5 +1,6 @@
1
1
  import { join } from "path";
2
- import { Binary, BinaryParameters } from "./binary.js";
2
+ import { WebdaError } from "../errors.js";
3
+ import { BinaryParameters, BinaryService } from "./binary.js";
3
4
  /**
4
5
  * Default binary parameters
5
6
  */
@@ -12,14 +13,14 @@ export class CloudBinaryParameters extends BinaryParameters {
12
13
  /**
13
14
  * CloudBinary abstraction
14
15
  */
15
- export class CloudBinary extends Binary {
16
+ export class CloudBinary extends BinaryService {
16
17
  /**
17
18
  * @inheritdoc
18
19
  */
19
20
  _initRoutes() {
20
21
  super._initRoutes();
21
22
  // Will use getRedirectUrl so override the default route
22
- let url = this.parameters.expose.url + "/{store}/{uid}/{property}/{index}";
23
+ let url = this.parameters.expose.url + "/{store}/{uuid}/{property}/{index}";
23
24
  let name = this.getOperationName();
24
25
  if (!this.parameters.expose.restrict.get) {
25
26
  this.addRoute(url, ["GET"], this.getRedirectUrl, {
@@ -42,8 +43,8 @@ export class CloudBinary extends Binary {
42
43
  }
43
44
  }
44
45
  }
45
- }, false, true);
46
- url = this.parameters.expose.url + "/{store}/{uid}/{property}/{index}/url";
46
+ }, true);
47
+ url = this.parameters.expose.url + "/{store}/{uuid}/{property}/{index}/url";
47
48
  name = this._name === "Binary" ? "" : this._name;
48
49
  this.addRoute(url, ["GET"], this.getRedirectUrlInfo, {
49
50
  get: {
@@ -76,15 +77,13 @@ export class CloudBinary extends Binary {
76
77
  * @param returnInfo
77
78
  */
78
79
  async getRedirectUrl(ctx, returnInfo = false) {
79
- let uid = ctx.parameter("uid");
80
- let index = ctx.parameter("index");
81
- let property = ctx.parameter("property");
80
+ const { uuid, index, property } = ctx.getParameters();
82
81
  let targetStore = this._verifyMapAndStore(ctx);
83
- let object = await targetStore.get(uid);
82
+ let object = await targetStore.get(uuid);
84
83
  if (!object || !Array.isArray(object[property]) || object[property].length <= index) {
85
- throw 404;
84
+ throw new WebdaError.NotFound("Object does not exist or attachment does not exist");
86
85
  }
87
- await object.canAct(ctx, "get_binary");
86
+ await object.checkAct(ctx, "get_binary");
88
87
  let url = await this.getRedirectUrlFromObject(object[property][index], ctx);
89
88
  if (returnInfo) {
90
89
  ctx.write({ Location: url, Map: object[property][index] });
@@ -124,11 +123,11 @@ export class CloudBinary extends Binary {
124
123
  /**
125
124
  * Return the S3 key
126
125
  * @param hash
127
- * @param postfix
126
+ * @param suffix
128
127
  * @returns
129
128
  */
130
- _getKey(hash, postfix = "data") {
131
- return join(`${this.parameters.prefix}`, hash, postfix);
129
+ _getKey(hash, suffix = "data") {
130
+ return join(`${this.parameters.prefix}`, hash, suffix);
132
131
  }
133
132
  /**
134
133
  * @inheritdoc
@@ -136,7 +135,7 @@ export class CloudBinary extends Binary {
136
135
  async delete(object, property, index) {
137
136
  let hash = object[property][index].hash;
138
137
  await this.deleteSuccess(object, property, index);
139
- await this._cleanUsage(hash, object.getUuid());
138
+ await this._cleanUsage(hash, object.getUuid(), property);
140
139
  }
141
140
  /**
142
141
  * @inheritdoc
@@ -1 +1 @@
1
- {"version":3,"file":"cloudbinary.js","sourceRoot":"","sources":["../../src/services/cloudbinary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloudbinary.js","sourceRoot":"","sources":["../../src/services/cloudbinary.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { WebdaTest } from "../test.js";
2
- import { Binary, BinaryEvents, BinaryParameters } from "./binary.js";
2
+ import { BinaryEvents, BinaryParameters, BinaryService } from "./binary.js";
3
3
  import { BinaryTest } from "./binary.spec.js";
4
- export declare class CloudBinaryTest<T extends Binary<BinaryParameters, BinaryEvents> = Binary<BinaryParameters, BinaryEvents>> extends BinaryTest<T> {
4
+ export declare class CloudBinaryTest<T extends BinaryService<BinaryParameters, BinaryEvents> = BinaryService<BinaryParameters, BinaryEvents>> extends BinaryTest<T> {
5
5
  redirectUrl(): Promise<void>;
6
6
  redirectUrlInfo(): Promise<void>;
7
7
  }
@@ -81,20 +81,17 @@ let FakeCloudBinaryTest = class FakeCloudBinaryTest extends WebdaTest {
81
81
  }
82
82
  async initRoutes() {
83
83
  let service = new CloudBinaryFakeService(this.webda, "fake", {});
84
- let counter = 0;
85
84
  // @ts-ignore addRoute is a protected method of service
86
- let stub = sinon.stub(service, "addRoute").callsFake(() => {
87
- counter++;
88
- });
85
+ let stub = sinon.stub(service, "addRoute");
89
86
  service.initRoutes();
90
- assert.strictEqual(counter, 0);
87
+ assert.strictEqual(stub.callCount, 0);
91
88
  service.getParameters().expose = {
92
89
  url: "plop",
93
90
  restrict: {}
94
91
  };
95
92
  service.initRoutes();
96
- assert.strictEqual(counter, 7);
97
- counter = 0;
93
+ assert.strictEqual(stub.callCount, 7);
94
+ stub.callCount = 0;
98
95
  service.getParameters().expose = {
99
96
  url: "plop",
100
97
  restrict: {
@@ -102,7 +99,7 @@ let FakeCloudBinaryTest = class FakeCloudBinaryTest extends WebdaTest {
102
99
  }
103
100
  };
104
101
  service.initRoutes();
105
- assert.strictEqual(counter, 4);
102
+ assert.strictEqual(stub.callCount, 4);
106
103
  }
107
104
  async routes() {
108
105
  let service = new CloudBinaryFakeService(this.webda, "fake", {});
@@ -117,7 +114,8 @@ let FakeCloudBinaryTest = class FakeCloudBinaryTest extends WebdaTest {
117
114
  },
118
115
  writeHead: (...arg) => {
119
116
  wroteHead = arg;
120
- }
117
+ },
118
+ getParameters: () => ({ index: 1, hash: "hash", property: "property" })
121
119
  };
122
120
  let storeGetResult;
123
121
  // @ts-ignore
@@ -128,15 +126,15 @@ let FakeCloudBinaryTest = class FakeCloudBinaryTest extends WebdaTest {
128
126
  }
129
127
  };
130
128
  });
131
- await assert.rejects(() => service.getRedirectUrl(context), /404/);
129
+ await assert.rejects(() => service.getRedirectUrl(context), (err) => err.getResponseCode() === 404);
132
130
  storeGetResult = {
133
131
  property: "plop"
134
132
  };
135
- await assert.rejects(() => service.getRedirectUrl(context), /404/);
133
+ await assert.rejects(() => service.getRedirectUrl(context), (err) => err.getResponseCode() === 404);
136
134
  storeGetResult = {
137
135
  property: [1]
138
136
  };
139
- await assert.rejects(() => service.getRedirectUrl(context), /404/);
137
+ await assert.rejects(() => service.getRedirectUrl(context), (err) => err.getResponseCode() === 404);
140
138
  let myEvt;
141
139
  storeGetResult = {
142
140
  property: [
@@ -145,6 +143,9 @@ let FakeCloudBinaryTest = class FakeCloudBinaryTest extends WebdaTest {
145
143
  hash: "myhash"
146
144
  }
147
145
  ],
146
+ checkAct: (ctx, evt) => {
147
+ myEvt = evt;
148
+ },
148
149
  canAct: (ctx, evt) => {
149
150
  myEvt = evt;
150
151
  }