@webda/core 1.6.0-beta.3 → 2.0.0-beta.2

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 (253) hide show
  1. package/lib/application.d.ts +355 -195
  2. package/lib/application.js +188 -682
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +109 -289
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +150 -215
  7. package/lib/core.js +188 -71
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +103 -42
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +4 -0
  12. package/lib/index.js +9 -1
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.d.ts +3 -1
  15. package/lib/models/aclmodel.js +6 -3
  16. package/lib/models/aclmodel.js.map +1 -1
  17. package/lib/models/aclmodel.spec.js +10 -5
  18. package/lib/models/aclmodel.spec.js.map +1 -1
  19. package/lib/models/coremodel.d.ts +86 -24
  20. package/lib/models/coremodel.js +85 -36
  21. package/lib/models/coremodel.js.map +1 -1
  22. package/lib/models/coremodel.spec.js +21 -2
  23. package/lib/models/coremodel.spec.js.map +1 -1
  24. package/lib/models/ident.d.ts +7 -5
  25. package/lib/models/ident.js +2 -1
  26. package/lib/models/ident.js.map +1 -1
  27. package/lib/models/ident.spec.js +1 -1
  28. package/lib/models/ident.spec.js.map +1 -1
  29. package/lib/models/ownermodel.d.ts +18 -4
  30. package/lib/models/ownermodel.js +24 -4
  31. package/lib/models/ownermodel.js.map +1 -1
  32. package/lib/models/ownermodel.spec.js +18 -1
  33. package/lib/models/ownermodel.spec.js.map +1 -1
  34. package/lib/models/rolemodel.js.map +1 -1
  35. package/lib/models/rolemodel.spec.js +5 -2
  36. package/lib/models/rolemodel.spec.js.map +1 -1
  37. package/lib/models/user.d.ts +7 -6
  38. package/lib/models/user.js +2 -1
  39. package/lib/models/user.js.map +1 -1
  40. package/lib/models/user.spec.js +1 -1
  41. package/lib/models/user.spec.js.map +1 -1
  42. package/lib/queues/filequeue.d.ts +2 -7
  43. package/lib/queues/filequeue.js +4 -13
  44. package/lib/queues/filequeue.js.map +1 -1
  45. package/lib/queues/filequeue.spec.js +2 -3
  46. package/lib/queues/filequeue.spec.js.map +1 -1
  47. package/lib/queues/memoryqueue.d.ts +2 -7
  48. package/lib/queues/memoryqueue.js +1 -11
  49. package/lib/queues/memoryqueue.js.map +1 -1
  50. package/lib/queues/memoryqueue.spec.js +1 -1
  51. package/lib/queues/memoryqueue.spec.js.map +1 -1
  52. package/lib/queues/queue.spec.d.ts +1 -1
  53. package/lib/queues/queue.spec.js +12 -10
  54. package/lib/queues/queue.spec.js.map +1 -1
  55. package/lib/queues/queueservice.d.ts +1 -1
  56. package/lib/queues/queueservice.js +1 -1
  57. package/lib/queues/queueservice.js.map +1 -1
  58. package/lib/router.d.ts +52 -2
  59. package/lib/router.js +80 -51
  60. package/lib/router.js.map +1 -1
  61. package/lib/router.spec.js +23 -6
  62. package/lib/router.spec.js.map +1 -1
  63. package/lib/services/asyncevents.d.ts +1 -0
  64. package/lib/services/asyncevents.js +4 -3
  65. package/lib/services/asyncevents.js.map +1 -1
  66. package/lib/services/asyncevents.spec.js +2 -2
  67. package/lib/services/asyncevents.spec.js.map +1 -1
  68. package/lib/services/authentication.d.ts +39 -11
  69. package/lib/services/authentication.js +60 -55
  70. package/lib/services/authentication.js.map +1 -1
  71. package/lib/services/authentication.spec.js +2 -1
  72. package/lib/services/authentication.spec.js.map +1 -1
  73. package/lib/services/binary.d.ts +127 -65
  74. package/lib/services/binary.js +255 -98
  75. package/lib/services/binary.js.map +1 -1
  76. package/lib/services/binary.spec.d.ts +2 -1
  77. package/lib/services/binary.spec.js +101 -30
  78. package/lib/services/binary.spec.js.map +1 -1
  79. package/lib/services/cloudbinary.d.ts +67 -0
  80. package/lib/services/cloudbinary.js +178 -0
  81. package/lib/services/cloudbinary.js.map +1 -0
  82. package/lib/services/cloudbinary.spec.d.ts +13 -0
  83. package/lib/services/cloudbinary.spec.js +212 -0
  84. package/lib/services/cloudbinary.spec.js.map +1 -0
  85. package/lib/services/configuration.d.ts +7 -2
  86. package/lib/services/configuration.js +6 -5
  87. package/lib/services/configuration.js.map +1 -1
  88. package/lib/services/configuration.spec.js +3 -2
  89. package/lib/services/configuration.spec.js.map +1 -1
  90. package/lib/services/cron.d.ts +5 -6
  91. package/lib/services/cron.js +5 -12
  92. package/lib/services/cron.js.map +1 -1
  93. package/lib/services/cron.spec.js +3 -4
  94. package/lib/services/cron.spec.js.map +1 -1
  95. package/lib/services/debugmailer.d.ts +3 -5
  96. package/lib/services/debugmailer.js +3 -11
  97. package/lib/services/debugmailer.js.map +1 -1
  98. package/lib/services/debugmailer.spec.js +1 -1
  99. package/lib/services/debugmailer.spec.js.map +1 -1
  100. package/lib/services/echo.d.ts +3 -7
  101. package/lib/services/echo.js +1 -11
  102. package/lib/services/echo.js.map +1 -1
  103. package/lib/services/echo.spec.js +4 -3
  104. package/lib/services/echo.spec.js.map +1 -1
  105. package/lib/services/filebinary.d.ts +45 -16
  106. package/lib/services/filebinary.js +147 -50
  107. package/lib/services/filebinary.js.map +1 -1
  108. package/lib/services/filebinary.spec.d.ts +4 -2
  109. package/lib/services/filebinary.spec.js +50 -12
  110. package/lib/services/filebinary.spec.js.map +1 -1
  111. package/lib/services/fileconfiguration.d.ts +1 -5
  112. package/lib/services/fileconfiguration.js +3 -12
  113. package/lib/services/fileconfiguration.js.map +1 -1
  114. package/lib/services/fileconfiguration.spec.js +2 -2
  115. package/lib/services/fileconfiguration.spec.js.map +1 -1
  116. package/lib/services/invitationservice.d.ts +28 -4
  117. package/lib/services/invitationservice.js +9 -6
  118. package/lib/services/invitationservice.js.map +1 -1
  119. package/lib/services/invitationservice.spec.js +4 -3
  120. package/lib/services/invitationservice.spec.js.map +1 -1
  121. package/lib/services/kubernetesconfiguration.d.ts +3 -5
  122. package/lib/services/kubernetesconfiguration.js +7 -14
  123. package/lib/services/kubernetesconfiguration.js.map +1 -1
  124. package/lib/services/kubernetesconfiguration.spec.js +5 -5
  125. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  126. package/lib/services/mailer.d.ts +1 -5
  127. package/lib/services/mailer.js +1 -10
  128. package/lib/services/mailer.js.map +1 -1
  129. package/lib/services/mailer.spec.js +3 -3
  130. package/lib/services/mailer.spec.js.map +1 -1
  131. package/lib/services/notificationservice.d.ts +2 -0
  132. package/lib/services/notificationservice.js +2 -0
  133. package/lib/services/notificationservice.js.map +1 -1
  134. package/lib/services/notificationservice.spec.js +2 -2
  135. package/lib/services/notificationservice.spec.js.map +1 -1
  136. package/lib/services/oauth.d.ts +8 -6
  137. package/lib/services/oauth.js +30 -14
  138. package/lib/services/oauth.js.map +1 -1
  139. package/lib/services/oauth.spec.js +11 -10
  140. package/lib/services/oauth.spec.js.map +1 -1
  141. package/lib/services/resource.d.ts +18 -5
  142. package/lib/services/resource.js +42 -23
  143. package/lib/services/resource.js.map +1 -1
  144. package/lib/services/resource.spec.js +4 -4
  145. package/lib/services/resource.spec.js.map +1 -1
  146. package/lib/services/service.d.ts +25 -25
  147. package/lib/services/service.js +21 -25
  148. package/lib/services/service.js.map +1 -1
  149. package/lib/services/service.spec.js +2 -2
  150. package/lib/services/service.spec.js.map +1 -1
  151. package/lib/services/version.d.ts +2 -5
  152. package/lib/services/version.js +1 -10
  153. package/lib/services/version.js.map +1 -1
  154. package/lib/services/version.spec.js +1 -1
  155. package/lib/services/version.spec.js.map +1 -1
  156. package/lib/stores/aggregator.d.ts +3 -5
  157. package/lib/stores/aggregator.js +3 -10
  158. package/lib/stores/aggregator.js.map +1 -1
  159. package/lib/stores/file.d.ts +15 -8
  160. package/lib/stores/file.js +21 -18
  161. package/lib/stores/file.js.map +1 -1
  162. package/lib/stores/file.spec.d.ts +3 -1
  163. package/lib/stores/file.spec.js +32 -8
  164. package/lib/stores/file.spec.js.map +1 -1
  165. package/lib/stores/mapper.d.ts +1 -5
  166. package/lib/stores/mapper.js +5 -13
  167. package/lib/stores/mapper.js.map +1 -1
  168. package/lib/stores/mapper.spec.js +2 -2
  169. package/lib/stores/mapper.spec.js.map +1 -1
  170. package/lib/stores/memory.d.ts +5 -9
  171. package/lib/stores/memory.js +5 -17
  172. package/lib/stores/memory.js.map +1 -1
  173. package/lib/stores/memory.spec.d.ts +2 -1
  174. package/lib/stores/memory.spec.js +36 -4
  175. package/lib/stores/memory.spec.js.map +1 -1
  176. package/lib/stores/store.d.ts +142 -29
  177. package/lib/stores/store.js +451 -82
  178. package/lib/stores/store.js.map +1 -1
  179. package/lib/stores/store.spec.d.ts +31 -4
  180. package/lib/stores/store.spec.js +206 -35
  181. package/lib/stores/store.spec.js.map +1 -1
  182. package/lib/stores/webdaql/WebdaQLLexer.d.ts +53 -0
  183. package/lib/stores/webdaql/WebdaQLLexer.js +290 -0
  184. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -0
  185. package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +53 -0
  186. package/lib/stores/webdaql/WebdaQLParserLexer.js +290 -0
  187. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -0
  188. package/lib/stores/webdaql/WebdaQLParserListener.d.ts +284 -0
  189. package/lib/stores/webdaql/WebdaQLParserListener.js +4 -0
  190. package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -0
  191. package/lib/stores/webdaql/WebdaQLParserParser.d.ts +301 -0
  192. package/lib/stores/webdaql/WebdaQLParserParser.js +1781 -0
  193. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -0
  194. package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +174 -0
  195. package/lib/stores/webdaql/WebdaQLParserVisitor.js +4 -0
  196. package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -0
  197. package/lib/stores/webdaql/query.d.ts +300 -0
  198. package/lib/stores/webdaql/query.js +471 -0
  199. package/lib/stores/webdaql/query.js.map +1 -0
  200. package/lib/stores/webdaql/query.spec.d.ts +1 -0
  201. package/lib/stores/webdaql/query.spec.js +136 -0
  202. package/lib/stores/webdaql/query.spec.js.map +1 -0
  203. package/lib/test.d.ts +54 -9
  204. package/lib/test.js +139 -25
  205. package/lib/test.js.map +1 -1
  206. package/lib/unpackedapplication.d.ts +66 -0
  207. package/lib/unpackedapplication.js +219 -0
  208. package/lib/unpackedapplication.js.map +1 -0
  209. package/lib/utils/abstractdeployer.spec.js +1 -1
  210. package/lib/utils/abstractdeployer.spec.js.map +1 -1
  211. package/lib/utils/context.d.ts +17 -58
  212. package/lib/utils/context.js +33 -124
  213. package/lib/utils/context.js.map +1 -1
  214. package/lib/utils/context.spec.js +52 -28
  215. package/lib/utils/context.spec.js.map +1 -1
  216. package/lib/utils/cookie.d.ts +6 -3
  217. package/lib/utils/cookie.js +9 -5
  218. package/lib/utils/cookie.js.map +1 -1
  219. package/lib/utils/cookie.spec.js +5 -5
  220. package/lib/utils/cookie.spec.js.map +1 -1
  221. package/lib/utils/httpcontext.d.ts +182 -0
  222. package/lib/utils/httpcontext.js +325 -0
  223. package/lib/utils/httpcontext.js.map +1 -0
  224. package/lib/utils/httpcontext.spec.d.ts +5 -0
  225. package/lib/utils/httpcontext.spec.js +90 -0
  226. package/lib/utils/httpcontext.spec.js.map +1 -0
  227. package/lib/utils/logger.d.ts +18 -5
  228. package/lib/utils/logger.js +17 -4
  229. package/lib/utils/logger.js.map +1 -1
  230. package/lib/utils/logger.spec.js.map +1 -1
  231. package/lib/utils/serializers.js +5 -1
  232. package/lib/utils/serializers.js.map +1 -1
  233. package/lib/utils/serializers.spec.js +3 -3
  234. package/lib/utils/serializers.spec.js.map +1 -1
  235. package/lib/utils/waiter.d.ts +1 -1
  236. package/lib/utils/waiter.js.map +1 -1
  237. package/lib/utils/waiter.spec.js +2 -2
  238. package/lib/utils/waiter.spec.js.map +1 -1
  239. package/package.json +25 -18
  240. package/test/config-file-no-reload.json +2 -1
  241. package/test/config-file-reload.json +2 -1
  242. package/test/config-kube-reload.json +2 -1
  243. package/test/config-reload.json +1 -1
  244. package/test/config.json +8 -11
  245. package/test/config.old.json +1 -1
  246. package/test/moddas/annotatedservice.js +1 -3
  247. package/test/moddas/debugmailer.js +2 -7
  248. package/test/moddas/fakeservice.js +1 -1
  249. package/test/moddas/voidstore.js +2 -4
  250. package/test/models/ident.js +1 -1
  251. package/test/models/task.js +1 -6
  252. package/webda.module.json +1124 -0
  253. package/test/config.old-default.json +0 -151
@@ -1,4 +1,10 @@
1
1
  "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
2
8
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
9
  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
10
  return new (P || (P = Promise))(function (resolve, reject) {
@@ -9,12 +15,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
15
  });
10
16
  };
11
17
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Binary = exports.BinaryParameters = exports.BinaryMap = exports.BinaryNotFoundError = void 0;
18
+ exports.Binary = exports.BinaryParameters = exports.BinaryMap = exports.MemoryBinaryFile = exports.LocalBinaryFile = exports.BinaryFile = exports.BinaryNotFoundError = void 0;
13
19
  const crypto = require("crypto");
14
20
  const fs = require("fs");
15
21
  const mime = require("mime-types");
16
22
  const path = require("path");
23
+ const stream_1 = require("stream");
17
24
  const __1 = require("..");
25
+ const coremodel_1 = require("../models/coremodel");
18
26
  const store_1 = require("../stores/store");
19
27
  const service_1 = require("./service");
20
28
  /**
@@ -26,13 +34,108 @@ class BinaryNotFoundError extends __1.WebdaError {
26
34
  }
27
35
  }
28
36
  exports.BinaryNotFoundError = BinaryNotFoundError;
37
+ /**
38
+ * Represent a file to store
39
+ */
40
+ class BinaryFile {
41
+ constructor(info) {
42
+ this.name = info.name;
43
+ this.challenge = info.challenge;
44
+ this.hash = info.hash;
45
+ this.mimetype = info.mimetype || "application/octet-stream";
46
+ this.metadata = info.metadata || {};
47
+ }
48
+ /**
49
+ * Retrieve a plain BinaryFileInfo object
50
+ * @returns
51
+ */
52
+ toBinaryFileInfo() {
53
+ return {
54
+ hash: this.hash,
55
+ size: this.size,
56
+ mimetype: this.mimetype,
57
+ metadata: this.metadata,
58
+ challenge: this.challenge,
59
+ name: this.name
60
+ };
61
+ }
62
+ /**
63
+ * Create hashes
64
+ * @param buffer
65
+ * @returns
66
+ */
67
+ getHashes() {
68
+ return __awaiter(this, void 0, void 0, function* () {
69
+ if (!this.hash) {
70
+ // Using MD5 as S3 content verification use md5
71
+ const hash = crypto.createHash("md5");
72
+ const challenge = crypto.createHash("md5");
73
+ const stream = yield this.get();
74
+ challenge.update("WEBDA");
75
+ yield new Promise((resolve, reject) => {
76
+ stream.on("error", err => reject(err));
77
+ stream.on("end", () => {
78
+ this.hash = hash.digest("hex");
79
+ this.challenge = challenge.digest("hex");
80
+ resolve();
81
+ });
82
+ stream.on("data", chunk => {
83
+ let buffer = Buffer.from(chunk);
84
+ hash.update(buffer);
85
+ challenge.update(buffer);
86
+ });
87
+ });
88
+ }
89
+ return {
90
+ hash: this.hash,
91
+ challenge: this.challenge
92
+ };
93
+ });
94
+ }
95
+ }
96
+ exports.BinaryFile = BinaryFile;
97
+ class LocalBinaryFile extends BinaryFile {
98
+ constructor(filePath) {
99
+ super({
100
+ name: path.basename(filePath),
101
+ size: fs.statSync(filePath).size,
102
+ mimetype: mime.lookup(filePath) || "application/octet-stream"
103
+ });
104
+ this.path = filePath;
105
+ }
106
+ /**
107
+ * @override
108
+ */
109
+ get() {
110
+ return __awaiter(this, void 0, void 0, function* () {
111
+ return fs.createReadStream(this.path);
112
+ });
113
+ }
114
+ }
115
+ exports.LocalBinaryFile = LocalBinaryFile;
116
+ class MemoryBinaryFile extends BinaryFile {
117
+ constructor(buffer, info) {
118
+ super(info);
119
+ this.buffer = buffer;
120
+ }
121
+ /**
122
+ * @override
123
+ */
124
+ get() {
125
+ return __awaiter(this, void 0, void 0, function* () {
126
+ return stream_1.Readable.from(this.buffer);
127
+ });
128
+ }
129
+ }
130
+ exports.MemoryBinaryFile = MemoryBinaryFile;
29
131
  /**
30
132
  * This is a map used to retrieve binary
31
133
  *
32
134
  * @class BinaryMap
33
135
  */
34
- class BinaryMap {
136
+ class BinaryMap extends BinaryFile {
35
137
  constructor(service, obj) {
138
+ super(obj);
36
139
  for (var i in obj) {
37
140
  this[i] = obj[i];
38
141
  }
@@ -79,9 +182,15 @@ class BinaryMap {
79
182
  this.__ctx = ctx;
80
183
  }
81
184
  }
185
+ __decorate([
186
+ coremodel_1.NotEnumerable
187
+ ], BinaryMap.prototype, "__ctx", void 0);
188
+ __decorate([
189
+ coremodel_1.NotEnumerable
190
+ ], BinaryMap.prototype, "__store", void 0);
82
191
  exports.BinaryMap = BinaryMap;
83
192
  class BinaryParameters extends service_1.ServiceParameters {
84
- constructor(params, service) {
193
+ constructor(params, _service) {
85
194
  var _a;
86
195
  super(params);
87
196
  if (this.expose) {
@@ -138,10 +247,14 @@ class Binary extends service_1.Service {
138
247
  */
139
248
  downloadTo(info, filename) {
140
249
  return __awaiter(this, void 0, void 0, function* () {
250
+ yield this.emitSync("Binary.Get", {
251
+ object: info,
252
+ service: this
253
+ });
141
254
  var readStream = yield this._get(info);
142
255
  var writeStream = fs.createWriteStream(filename);
143
256
  return new Promise((resolve, reject) => {
144
- writeStream.on("finish", src => {
257
+ writeStream.on("finish", _src => {
145
258
  return resolve();
146
259
  });
147
260
  writeStream.on("error", src => {
@@ -203,21 +316,6 @@ class Binary extends service_1.Service {
203
316
  initModel(obj) {
204
317
  return new BinaryMap(this, obj);
205
318
  }
206
- /**
207
- * Create hashes
208
- * @param buffer
209
- * @returns
210
- */
211
- _getHashes(buffer) {
212
- var result = {};
213
- // Using MD5 as S3 content verification use md5
214
- var hash = crypto.createHash("md5");
215
- var challenge = crypto.createHash("md5");
216
- challenge.update("WEBDA");
217
- result.hash = hash.update(buffer).digest("hex");
218
- result.challenge = challenge.update(buffer).digest("hex");
219
- return result;
220
- }
221
319
  /**
222
320
  * Read a stream to a buffer
223
321
  *
@@ -233,27 +331,13 @@ class Binary extends service_1.Service {
233
331
  stream.on("end", () => resolve(Buffer.concat(chunks)));
234
332
  });
235
333
  }
236
- /**
237
- * Update the BinaryFile
238
- * @param file
239
- */
240
- _prepareInput(file) {
241
- if (file.path !== undefined) {
242
- file.buffer = fs.readFileSync(file.path);
243
- file.originalname = path.basename(file.path);
244
- file.name = file.name || file.originalname;
245
- file.size = fs.statSync(file.path).size;
246
- file.mimetype = mime.lookup(file.path) || "application/octet-stream";
247
- }
248
- Object.assign(file, this._getHashes(file.buffer));
249
- }
250
334
  /**
251
335
  * Check if a map is defined
252
336
  *
253
337
  * @param name
254
338
  * @param property
255
339
  */
256
- _checkMap(name, property) {
340
+ checkMap(name, property) {
257
341
  var map = this.parameters.map[this._lowercaseMaps[name.toLowerCase()]];
258
342
  if (map === undefined) {
259
343
  throw Error("Unknown mapping");
@@ -262,19 +346,20 @@ class Binary extends service_1.Service {
262
346
  throw Error("Unknown mapping");
263
347
  }
264
348
  }
265
- uploadSuccess(object, property, file, metadatas) {
349
+ /**
350
+ * Ensure events are sent correctly after an upload and update the BinaryFileInfo in targetted object
351
+ */
352
+ uploadSuccess(object, property, file) {
266
353
  return __awaiter(this, void 0, void 0, function* () {
267
- var fileObj = Object.assign(Object.assign({}, file), { metadatas });
268
354
  var object_uid = object.getUuid();
269
- var info;
270
355
  yield this.emitSync("Binary.UploadSuccess", {
271
- object: fileObj,
356
+ object: file,
272
357
  service: this,
273
358
  target: object
274
359
  });
275
- yield object.getStore().upsertItemToCollection(object_uid, property, fileObj);
360
+ yield object.getStore().upsertItemToCollection(object_uid, property, file);
276
361
  yield this.emitSync("Binary.Create", {
277
- object: fileObj,
362
+ object: file,
278
363
  service: this,
279
364
  target: object
280
365
  });
@@ -305,41 +390,32 @@ class Binary extends service_1.Service {
305
390
  * @returns
306
391
  */
307
392
  _getFile(req) {
308
- var file;
309
- if (req.files !== undefined) {
310
- file = req.files[0];
311
- }
312
- else {
313
- file = {};
314
- file.buffer = req.getRequestBody();
315
- file.mimetype = req.getHttpContext().getHeader("Content-Type", "application/octet-stream");
316
- file.size = file.buffer.length;
317
- file.originalname = "";
318
- }
319
- return file;
393
+ return __awaiter(this, void 0, void 0, function* () {
394
+ let file = yield req.getHttpContext().getRawBody(10 * 1024 * 1024);
395
+ // TODO Check if we have other type
396
+ return new MemoryBinaryFile(Buffer.from(file), {
397
+ mimetype: req.getHttpContext().getUniqueHeader("Content-Type", "application/octet-stream"),
398
+ size: parseInt(req.getHttpContext().getUniqueHeader("Content-Length")) || file.length,
399
+ name: ""
400
+ });
401
+ });
320
402
  }
321
403
  /**
322
- * Init the Binary system routes
404
+ * @override
323
405
  */
324
406
  initRoutes() {
325
- // Use a private method with boolean
407
+ if (!this.parameters.expose) {
408
+ return;
409
+ }
326
410
  this._initRoutes();
327
411
  }
328
412
  /**
329
- * Return the name of the service for OpenAPI
330
- * @returns
331
- */
332
- getOperationName() {
333
- return this._name.toLowerCase() === "binary" ? "" : this._name;
334
- }
335
- /**
336
- * This is used to allow subclasses to add more route
413
+ * Init the Binary system routes
414
+ *
415
+ * Making sure parameters.expose exists prior
337
416
  */
338
417
  _initRoutes() {
339
418
  let url;
340
- if (!this.parameters.expose) {
341
- return false;
342
- }
343
419
  let name = this.getOperationName();
344
420
  if (!this.parameters.expose.restrict.get) {
345
421
  url = this.parameters.expose.url + "/{store}/{uid}/{property}/{index}";
@@ -349,10 +425,18 @@ class Binary extends service_1.Service {
349
425
  description: "Download a binary linked to an object",
350
426
  summary: "Download a binary",
351
427
  responses: {
352
- "200": "Binary stream",
353
- "403": "You don't have permissions",
354
- "404": "Object does not exist or attachment does not exist",
355
- "412": "Provided hash does not match"
428
+ "200": {
429
+ description: "Binary stream"
430
+ },
431
+ "403": {
432
+ description: "You don't have permissions"
433
+ },
434
+ "404": {
435
+ description: "Object does not exist or attachment does not exist"
436
+ },
437
+ "412": {
438
+ description: "Provided hash does not match"
439
+ }
356
440
  }
357
441
  }
358
442
  });
@@ -367,13 +451,17 @@ class Binary extends service_1.Service {
367
451
  summary: "Add a binary",
368
452
  responses: {
369
453
  "200": {
370
- schema: {
371
- type: "object"
372
- }
454
+ description: ""
373
455
  },
374
- "403": "You don't have permissions",
375
- "404": "Object does not exist or attachment does not exist",
376
- "412": "Provided hash does not match"
456
+ "403": {
457
+ description: "You don't have permissions"
458
+ },
459
+ "404": {
460
+ description: "Object does not exist or attachment does not exist"
461
+ },
462
+ "412": {
463
+ description: "Provided hash does not match"
464
+ }
377
465
  }
378
466
  }
379
467
  });
@@ -387,10 +475,18 @@ class Binary extends service_1.Service {
387
475
  description: "Add a binary to an object after challenge",
388
476
  summary: "Add a binary",
389
477
  responses: {
390
- "204": "",
391
- "403": "You don't have permissions",
392
- "404": "Object does not exist or attachment does not exist",
393
- "412": "Provided hash does not match"
478
+ "204": {
479
+ description: ""
480
+ },
481
+ "403": {
482
+ description: "You don't have permissions"
483
+ },
484
+ "404": {
485
+ description: "Object does not exist or attachment does not exist"
486
+ },
487
+ "412": {
488
+ description: "Provided hash does not match"
489
+ }
394
490
  }
395
491
  }
396
492
  });
@@ -404,15 +500,54 @@ class Binary extends service_1.Service {
404
500
  description: "Delete a binary linked to an object",
405
501
  summary: "Delete a binary",
406
502
  responses: {
407
- "204": "",
408
- "403": "You don't have permissions",
409
- "404": "Object does not exist or attachment does not exist",
410
- "412": "Provided hash does not match"
503
+ "204": {
504
+ description: ""
505
+ },
506
+ "403": {
507
+ description: "You don't have permissions"
508
+ },
509
+ "404": {
510
+ description: "Object does not exist or attachment does not exist"
511
+ },
512
+ "412": {
513
+ description: "Provided hash does not match"
514
+ }
515
+ }
516
+ }
517
+ });
518
+ }
519
+ if (!this.parameters.expose.restrict.metadata) {
520
+ // Need hash to avoid concurrent delete
521
+ url = this.parameters.expose.url + "/{store}/{uid}/{property}/{index}/{hash}";
522
+ this.addRoute(url, ["PUT"], this.httpRoute, {
523
+ delete: {
524
+ operationId: `update${name}BinaryMetadata`,
525
+ description: "Update a binary metadata linked to an object",
526
+ summary: "Update a binary metadata",
527
+ responses: {
528
+ "204": {
529
+ description: ""
530
+ },
531
+ "403": {
532
+ description: "You don't have permissions"
533
+ },
534
+ "404": {
535
+ description: "Object does not exist or attachment does not exist"
536
+ },
537
+ "412": {
538
+ description: "Provided hash does not match"
539
+ }
411
540
  }
412
541
  }
413
542
  });
414
543
  }
415
- return true;
544
+ }
545
+ /**
546
+ * Return the name of the service for OpenAPI
547
+ * @returns
548
+ */
549
+ getOperationName() {
550
+ return this._name.toLowerCase() === "binary" ? "" : this._name;
416
551
  }
417
552
  /**
418
553
  * Based on the request parameter verify it match a known mapping
@@ -440,7 +575,7 @@ class Binary extends service_1.Service {
440
575
  *
441
576
  * @param ctx
442
577
  */
443
- putRedirectUrl(ctx) {
578
+ putRedirectUrl(_ctx) {
444
579
  return __awaiter(this, void 0, void 0, function* () {
445
580
  // Dont handle the redirect url
446
581
  throw 404;
@@ -451,7 +586,7 @@ class Binary extends service_1.Service {
451
586
  */
452
587
  httpChallenge(ctx) {
453
588
  return __awaiter(this, void 0, void 0, function* () {
454
- let body = ctx.getRequestBody();
589
+ let body = yield ctx.getRequestBody();
455
590
  if (!body.hash || !body.challenge) {
456
591
  throw 400;
457
592
  }
@@ -464,7 +599,7 @@ class Binary extends service_1.Service {
464
599
  }
465
600
  yield object.canAct(ctx, "attach_binary");
466
601
  let url = yield this.putRedirectUrl(ctx);
467
- let base64String = Buffer.from(ctx.getRequestBody().hash, "hex").toString("base64");
602
+ let base64String = Buffer.from(body.hash, "hex").toString("base64");
468
603
  ctx.write(Object.assign(Object.assign({}, url), { done: url === undefined, md5: base64String }));
469
604
  });
470
605
  }
@@ -498,9 +633,13 @@ class Binary extends service_1.Service {
498
633
  else if (ctx.getHttpContext().getMethod() === "POST") {
499
634
  action = "attach_binary";
500
635
  }
636
+ else if (ctx.getHttpContext().getMethod() === "PUT") {
637
+ action = "update_binary_metadata";
638
+ }
501
639
  yield object.canAct(ctx, action);
502
640
  // Now do the action
503
641
  if (ctx.getHttpContext().getMethod() === "GET") {
642
+ // Most implementation override this to do a REDIRECT to a GET url
504
643
  var file = object[property][index];
505
644
  ctx.writeHead(200, {
506
645
  "Content-Type": file.mimetype === undefined ? "application/octet-steam" : file.mimetype,
@@ -510,12 +649,8 @@ class Binary extends service_1.Service {
510
649
  try {
511
650
  yield new Promise((resolve, reject) => {
512
651
  // We replaced all the event handlers with a simple call to readStream.pipe()
513
- ctx._stream.on("finish", src => {
514
- return resolve();
515
- });
516
- ctx._stream.on("error", src => {
517
- return reject();
518
- });
652
+ ctx._stream.on("finish", resolve);
653
+ ctx._stream.on("error", reject);
519
654
  readStream.pipe(ctx._stream);
520
655
  });
521
656
  }
@@ -525,14 +660,36 @@ class Binary extends service_1.Service {
525
660
  }
526
661
  }
527
662
  else {
528
- if (ctx.getHttpContext().getMethod() === "DELETE") {
663
+ if (ctx.getHttpContext().getMethod() === "POST") {
664
+ yield this.store(object, property, yield this._getFile(ctx), yield ctx.getRequestBody());
665
+ }
666
+ else {
529
667
  if (object[property][index].hash !== ctx.parameter("hash")) {
530
668
  throw 412;
531
669
  }
532
- yield this.delete(object, property, index);
533
- }
534
- else if (ctx.getHttpContext().getMethod() === "POST") {
535
- yield this.store(object, property, this._getFile(ctx), ctx.getRequestBody());
670
+ if (ctx.getHttpContext().getMethod() === "DELETE") {
671
+ yield this.delete(object, property, index);
672
+ }
673
+ else if (ctx.getHttpContext().getMethod() === "PUT") {
674
+ let metadata = yield ctx.getRequestBody();
675
+ // Limit metadata to 4kb
676
+ if (JSON.stringify(metadata).length >= 4096) {
677
+ throw 400;
678
+ }
679
+ let evt = {
680
+ service: this,
681
+ object: object[property][index],
682
+ target: object
683
+ };
684
+ yield this.emitSync("Binary.MetadataUpdate", Object.assign(Object.assign({}, evt), { metadata }));
685
+ object[property][index].metadata = metadata;
686
+ // Update mapper on purpose
687
+ yield object.getStore().patch({
688
+ [object.__class.getUuidField()]: object.getUuid(),
689
+ [property]: object[property].map(b => b.toJSON())
690
+ }, false);
691
+ yield this.emitSync("Binary.MetadataUpdated", evt);
692
+ }
536
693
  }
537
694
  }
538
695
  });
@@ -1 +1 @@
1
- {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/services/binary.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/services/binary.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { WebdaTest } from "../test";
2
1
  import { Binary, Context, Store, User } from "..";
2
+ import { WebdaTest } from "../test";
3
3
  import { BinaryMap } from "./binary";
4
4
  export declare class ImageUser extends User {
5
5
  images: BinaryMap[];
@@ -20,6 +20,7 @@ declare class BinaryTest<T extends Binary = Binary> extends WebdaTest {
20
20
  getOperationName(): void;
21
21
  httpGetError(): Promise<void>;
22
22
  httpGet(): Promise<void>;
23
+ httpMetadata(): Promise<void>;
23
24
  getNotFound(): Promise<void>;
24
25
  setupDefault(withLogin?: boolean): Promise<{
25
26
  userStore: Store;