@webda/core 1.6.0-beta.1 → 2.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/lib/application.d.ts +317 -195
  2. package/lib/application.js +171 -674
  3. package/lib/application.js.map +1 -1
  4. package/lib/application.spec.js +97 -289
  5. package/lib/application.spec.js.map +1 -1
  6. package/lib/core.d.ts +102 -214
  7. package/lib/core.js +146 -70
  8. package/lib/core.js.map +1 -1
  9. package/lib/core.spec.js +80 -17
  10. package/lib/core.spec.js.map +1 -1
  11. package/lib/index.d.ts +14 -9
  12. package/lib/index.js +19 -10
  13. package/lib/index.js.map +1 -1
  14. package/lib/models/aclmodel.d.ts +29 -8
  15. package/lib/models/aclmodel.js +68 -18
  16. package/lib/models/aclmodel.js.map +1 -1
  17. package/lib/models/aclmodel.spec.js +56 -19
  18. package/lib/models/aclmodel.spec.js.map +1 -1
  19. package/lib/models/coremodel.d.ts +9 -17
  20. package/lib/models/coremodel.js +36 -36
  21. package/lib/models/coremodel.js.map +1 -1
  22. package/lib/models/ident.d.ts +8 -3
  23. package/lib/models/ident.js +8 -1
  24. package/lib/models/ident.js.map +1 -1
  25. package/lib/models/ident.spec.js +3 -0
  26. package/lib/models/ident.spec.js.map +1 -1
  27. package/lib/models/ownermodel.d.ts +8 -4
  28. package/lib/models/ownermodel.js +10 -6
  29. package/lib/models/ownermodel.js.map +1 -1
  30. package/lib/models/rolemodel.js.map +1 -1
  31. package/lib/models/rolemodel.spec.js +4 -1
  32. package/lib/models/rolemodel.spec.js.map +1 -1
  33. package/lib/models/user.d.ts +32 -3
  34. package/lib/models/user.js +31 -0
  35. package/lib/models/user.js.map +1 -1
  36. package/lib/models/user.spec.js +11 -0
  37. package/lib/models/user.spec.js.map +1 -1
  38. package/lib/queues/filequeue.d.ts +2 -7
  39. package/lib/queues/filequeue.js +2 -11
  40. package/lib/queues/filequeue.js.map +1 -1
  41. package/lib/queues/filequeue.spec.js +0 -1
  42. package/lib/queues/filequeue.spec.js.map +1 -1
  43. package/lib/queues/memoryqueue.d.ts +2 -7
  44. package/lib/queues/memoryqueue.js +1 -11
  45. package/lib/queues/memoryqueue.js.map +1 -1
  46. package/lib/queues/memoryqueue.spec.js +0 -1
  47. package/lib/queues/memoryqueue.spec.js.map +1 -1
  48. package/lib/queues/queue.spec.d.ts +1 -1
  49. package/lib/queues/queue.spec.js +11 -9
  50. package/lib/queues/queue.spec.js.map +1 -1
  51. package/lib/queues/queueservice.js +1 -1
  52. package/lib/queues/queueservice.js.map +1 -1
  53. package/lib/router.d.ts +46 -1
  54. package/lib/router.js +89 -51
  55. package/lib/router.js.map +1 -1
  56. package/lib/router.spec.js +19 -2
  57. package/lib/router.spec.js.map +1 -1
  58. package/lib/services/asyncevents.d.ts +1 -0
  59. package/lib/services/asyncevents.js +4 -3
  60. package/lib/services/asyncevents.js.map +1 -1
  61. package/lib/services/authentication.d.ts +47 -5
  62. package/lib/services/authentication.js +99 -40
  63. package/lib/services/authentication.js.map +1 -1
  64. package/lib/services/authentication.spec.js +10 -0
  65. package/lib/services/authentication.spec.js.map +1 -1
  66. package/lib/services/binary.d.ts +126 -64
  67. package/lib/services/binary.js +247 -96
  68. package/lib/services/binary.js.map +1 -1
  69. package/lib/services/binary.spec.d.ts +1 -0
  70. package/lib/services/binary.spec.js +96 -25
  71. package/lib/services/binary.spec.js.map +1 -1
  72. package/lib/services/cloudbinary.d.ts +67 -0
  73. package/lib/services/cloudbinary.js +178 -0
  74. package/lib/services/cloudbinary.js.map +1 -0
  75. package/lib/services/cloudbinary.spec.d.ts +13 -0
  76. package/lib/services/cloudbinary.spec.js +205 -0
  77. package/lib/services/cloudbinary.spec.js.map +1 -0
  78. package/lib/services/configuration.d.ts +7 -2
  79. package/lib/services/configuration.js +4 -3
  80. package/lib/services/configuration.js.map +1 -1
  81. package/lib/services/configuration.spec.js +1 -0
  82. package/lib/services/configuration.spec.js.map +1 -1
  83. package/lib/services/cron.d.ts +5 -6
  84. package/lib/services/cron.js +4 -11
  85. package/lib/services/cron.js.map +1 -1
  86. package/lib/services/cron.spec.js +2 -3
  87. package/lib/services/cron.spec.js.map +1 -1
  88. package/lib/services/debugmailer.d.ts +11 -6
  89. package/lib/services/debugmailer.js +20 -14
  90. package/lib/services/debugmailer.js.map +1 -1
  91. package/lib/services/debugmailer.spec.js +1 -0
  92. package/lib/services/debugmailer.spec.js.map +1 -1
  93. package/lib/services/echo.d.ts +2 -6
  94. package/lib/services/echo.js +1 -11
  95. package/lib/services/echo.js.map +1 -1
  96. package/lib/services/echo.spec.js +1 -0
  97. package/lib/services/echo.spec.js.map +1 -1
  98. package/lib/services/filebinary.d.ts +36 -12
  99. package/lib/services/filebinary.js +123 -38
  100. package/lib/services/filebinary.js.map +1 -1
  101. package/lib/services/filebinary.spec.d.ts +4 -2
  102. package/lib/services/filebinary.spec.js +48 -8
  103. package/lib/services/filebinary.spec.js.map +1 -1
  104. package/lib/services/fileconfiguration.d.ts +1 -5
  105. package/lib/services/fileconfiguration.js +1 -10
  106. package/lib/services/fileconfiguration.js.map +1 -1
  107. package/lib/services/invitationservice.d.ts +198 -0
  108. package/lib/services/invitationservice.js +443 -0
  109. package/lib/services/invitationservice.js.map +1 -0
  110. package/lib/services/invitationservice.spec.d.ts +1 -0
  111. package/lib/services/invitationservice.spec.js +517 -0
  112. package/lib/services/invitationservice.spec.js.map +1 -0
  113. package/lib/services/kubernetesconfiguration.d.ts +3 -5
  114. package/lib/services/kubernetesconfiguration.js +5 -12
  115. package/lib/services/kubernetesconfiguration.js.map +1 -1
  116. package/lib/services/kubernetesconfiguration.spec.js +1 -1
  117. package/lib/services/kubernetesconfiguration.spec.js.map +1 -1
  118. package/lib/services/mailer.d.ts +44 -7
  119. package/lib/services/mailer.js +34 -14
  120. package/lib/services/mailer.js.map +1 -1
  121. package/lib/services/mailer.spec.js +29 -0
  122. package/lib/services/mailer.spec.js.map +1 -1
  123. package/lib/services/notificationservice.d.ts +76 -0
  124. package/lib/services/notificationservice.js +91 -0
  125. package/lib/services/notificationservice.js.map +1 -0
  126. package/lib/services/notificationservice.spec.d.ts +1 -0
  127. package/lib/services/notificationservice.spec.js +104 -0
  128. package/lib/services/notificationservice.spec.js.map +1 -0
  129. package/lib/services/oauth.d.ts +6 -4
  130. package/lib/services/oauth.js +28 -11
  131. package/lib/services/oauth.js.map +1 -1
  132. package/lib/services/oauth.spec.js +7 -10
  133. package/lib/services/oauth.spec.js.map +1 -1
  134. package/lib/services/resource.d.ts +1 -5
  135. package/lib/services/resource.js +22 -17
  136. package/lib/services/resource.js.map +1 -1
  137. package/lib/services/resource.spec.js +0 -1
  138. package/lib/services/resource.spec.js.map +1 -1
  139. package/lib/services/service.d.ts +29 -26
  140. package/lib/services/service.js +16 -22
  141. package/lib/services/service.js.map +1 -1
  142. package/lib/services/service.spec.js +3 -0
  143. package/lib/services/service.spec.js.map +1 -1
  144. package/lib/services/version.d.ts +2 -5
  145. package/lib/services/version.js +1 -10
  146. package/lib/services/version.js.map +1 -1
  147. package/lib/stores/aggregator.d.ts +3 -5
  148. package/lib/stores/aggregator.js +3 -10
  149. package/lib/stores/aggregator.js.map +1 -1
  150. package/lib/stores/file.d.ts +7 -8
  151. package/lib/stores/file.js +18 -18
  152. package/lib/stores/file.js.map +1 -1
  153. package/lib/stores/file.spec.js +8 -6
  154. package/lib/stores/file.spec.js.map +1 -1
  155. package/lib/stores/mapper.d.ts +1 -5
  156. package/lib/stores/mapper.js +56 -39
  157. package/lib/stores/mapper.js.map +1 -1
  158. package/lib/stores/mapper.spec.js +120 -1
  159. package/lib/stores/mapper.spec.js.map +1 -1
  160. package/lib/stores/memory.d.ts +5 -9
  161. package/lib/stores/memory.js +5 -17
  162. package/lib/stores/memory.js.map +1 -1
  163. package/lib/stores/memory.spec.d.ts +1 -0
  164. package/lib/stores/memory.spec.js +32 -0
  165. package/lib/stores/memory.spec.js.map +1 -1
  166. package/lib/stores/store.d.ts +131 -26
  167. package/lib/stores/store.js +399 -80
  168. package/lib/stores/store.js.map +1 -1
  169. package/lib/stores/store.spec.d.ts +29 -2
  170. package/lib/stores/store.spec.js +204 -31
  171. package/lib/stores/store.spec.js.map +1 -1
  172. package/lib/stores/webdaql/WebdaQLLexer.d.ts +53 -0
  173. package/lib/stores/webdaql/WebdaQLLexer.js +290 -0
  174. package/lib/stores/webdaql/WebdaQLLexer.js.map +1 -0
  175. package/lib/stores/webdaql/WebdaQLParserLexer.d.ts +53 -0
  176. package/lib/stores/webdaql/WebdaQLParserLexer.js +290 -0
  177. package/lib/stores/webdaql/WebdaQLParserLexer.js.map +1 -0
  178. package/lib/stores/webdaql/WebdaQLParserListener.d.ts +308 -0
  179. package/lib/stores/webdaql/WebdaQLParserListener.js +4 -0
  180. package/lib/stores/webdaql/WebdaQLParserListener.js.map +1 -0
  181. package/lib/stores/webdaql/WebdaQLParserParser.d.ts +301 -0
  182. package/lib/stores/webdaql/WebdaQLParserParser.js +1781 -0
  183. package/lib/stores/webdaql/WebdaQLParserParser.js.map +1 -0
  184. package/lib/stores/webdaql/WebdaQLParserVisitor.d.ts +198 -0
  185. package/lib/stores/webdaql/WebdaQLParserVisitor.js +4 -0
  186. package/lib/stores/webdaql/WebdaQLParserVisitor.js.map +1 -0
  187. package/lib/stores/webdaql/query.d.ts +300 -0
  188. package/lib/stores/webdaql/query.js +471 -0
  189. package/lib/stores/webdaql/query.js.map +1 -0
  190. package/lib/stores/webdaql/query.spec.d.ts +1 -0
  191. package/lib/stores/webdaql/query.spec.js +136 -0
  192. package/lib/stores/webdaql/query.spec.js.map +1 -0
  193. package/lib/test.d.ts +50 -2
  194. package/lib/test.js +161 -16
  195. package/lib/test.js.map +1 -1
  196. package/lib/unpackedapplication.d.ts +66 -0
  197. package/lib/unpackedapplication.js +202 -0
  198. package/lib/unpackedapplication.js.map +1 -0
  199. package/lib/utils/context.d.ts +14 -12
  200. package/lib/utils/context.js +14 -9
  201. package/lib/utils/context.js.map +1 -1
  202. package/lib/utils/context.spec.js +1 -1
  203. package/lib/utils/context.spec.js.map +1 -1
  204. package/lib/utils/cookie.d.ts +6 -3
  205. package/lib/utils/cookie.js +22 -20
  206. package/lib/utils/cookie.js.map +1 -1
  207. package/lib/utils/cookie.spec.js +0 -1
  208. package/lib/utils/cookie.spec.js.map +1 -1
  209. package/lib/utils/logger.d.ts +16 -3
  210. package/lib/utils/logger.js +16 -3
  211. package/lib/utils/logger.js.map +1 -1
  212. package/lib/utils/logger.spec.js.map +1 -1
  213. package/lib/utils/serializers.js +5 -1
  214. package/lib/utils/serializers.js.map +1 -1
  215. package/lib/utils/waiter.d.ts +1 -1
  216. package/lib/utils/waiter.js.map +1 -1
  217. package/package.json +25 -18
  218. package/test/config-file-no-reload.json +2 -1
  219. package/test/config-file-reload.json +2 -1
  220. package/test/config-invitation.json +63 -0
  221. package/test/config-kube-reload.json +2 -1
  222. package/test/config-reload.json +1 -1
  223. package/test/config.json +6 -10
  224. package/test/config.old.json +1 -1
  225. package/test/moddas/annotatedservice.js +1 -3
  226. package/test/moddas/debugmailer.js +2 -7
  227. package/test/moddas/fakeservice.js +1 -1
  228. package/test/moddas/voidstore.js +2 -4
  229. package/test/models/ident.js +1 -1
  230. package/test/models/task.js +1 -5
  231. package/webda.module.json +1124 -0
  232. package/test/config.old-default.json +0 -151
@@ -9,11 +9,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Binary = exports.BinaryParameters = exports.BinaryMap = exports.BinaryNotFoundError = void 0;
12
+ exports.Binary = exports.BinaryParameters = exports.BinaryMap = exports.MemoryBinaryFile = exports.LocalBinaryFile = exports.BinaryFile = exports.BinaryNotFoundError = void 0;
13
13
  const crypto = require("crypto");
14
14
  const fs = require("fs");
15
15
  const mime = require("mime-types");
16
16
  const path = require("path");
17
+ const stream_1 = require("stream");
17
18
  const __1 = require("..");
18
19
  const store_1 = require("../stores/store");
19
20
  const service_1 = require("./service");
@@ -26,13 +27,108 @@ class BinaryNotFoundError extends __1.WebdaError {
26
27
  }
27
28
  }
28
29
  exports.BinaryNotFoundError = BinaryNotFoundError;
30
+ /**
31
+ * Represent a file to store
32
+ */
33
+ class BinaryFile {
34
+ constructor(info) {
35
+ this.name = info.name;
36
+ this.challenge = info.challenge;
37
+ this.hash = info.hash;
38
+ this.mimetype = info.mimetype || "application/octet-stream";
39
+ this.metadata = info.metadata || {};
40
+ }
41
+ /**
42
+ * Retrieve a plain BinaryFileInfo object
43
+ * @returns
44
+ */
45
+ toBinaryFileInfo() {
46
+ return {
47
+ hash: this.hash,
48
+ size: this.size,
49
+ mimetype: this.mimetype,
50
+ metadata: this.metadata,
51
+ challenge: this.challenge,
52
+ name: this.name
53
+ };
54
+ }
55
+ /**
56
+ * Create hashes
57
+ * @param buffer
58
+ * @returns
59
+ */
60
+ getHashes() {
61
+ return __awaiter(this, void 0, void 0, function* () {
62
+ if (!this.hash) {
63
+ // Using MD5 as S3 content verification use md5
64
+ const hash = crypto.createHash("md5");
65
+ const challenge = crypto.createHash("md5");
66
+ const stream = yield this.get();
67
+ challenge.update("WEBDA");
68
+ yield new Promise((resolve, reject) => {
69
+ stream.on("error", err => reject(err));
70
+ stream.on("end", () => {
71
+ this.hash = hash.digest("hex");
72
+ this.challenge = challenge.digest("hex");
73
+ resolve();
74
+ });
75
+ stream.on("data", chunk => {
76
+ let buffer = Buffer.from(chunk);
77
+ hash.update(buffer);
78
+ challenge.update(buffer);
79
+ });
80
+ });
81
+ }
82
+ return {
83
+ hash: this.hash,
84
+ challenge: this.challenge
85
+ };
86
+ });
87
+ }
88
+ }
89
+ exports.BinaryFile = BinaryFile;
90
+ class LocalBinaryFile extends BinaryFile {
91
+ constructor(filePath) {
92
+ super({
93
+ name: path.basename(filePath),
94
+ size: fs.statSync(filePath).size,
95
+ mimetype: mime.lookup(filePath) || "application/octet-stream"
96
+ });
97
+ this.path = filePath;
98
+ }
99
+ /**
100
+ * @override
101
+ */
102
+ get() {
103
+ return __awaiter(this, void 0, void 0, function* () {
104
+ return fs.createReadStream(this.path);
105
+ });
106
+ }
107
+ }
108
+ exports.LocalBinaryFile = LocalBinaryFile;
109
+ class MemoryBinaryFile extends BinaryFile {
110
+ constructor(buffer, info) {
111
+ super(info);
112
+ this.buffer = buffer;
113
+ }
114
+ /**
115
+ * @override
116
+ */
117
+ get() {
118
+ return __awaiter(this, void 0, void 0, function* () {
119
+ return stream_1.Readable.from(this.buffer);
120
+ });
121
+ }
122
+ }
123
+ exports.MemoryBinaryFile = MemoryBinaryFile;
29
124
  /**
30
125
  * This is a map used to retrieve binary
31
126
  *
32
127
  * @class BinaryMap
33
128
  */
34
- class BinaryMap {
129
+ class BinaryMap extends BinaryFile {
35
130
  constructor(service, obj) {
131
+ super(obj);
36
132
  for (var i in obj) {
37
133
  this[i] = obj[i];
38
134
  }
@@ -81,7 +177,7 @@ class BinaryMap {
81
177
  }
82
178
  exports.BinaryMap = BinaryMap;
83
179
  class BinaryParameters extends service_1.ServiceParameters {
84
- constructor(params, service) {
180
+ constructor(params, _service) {
85
181
  var _a;
86
182
  super(params);
87
183
  if (this.expose) {
@@ -138,10 +234,14 @@ class Binary extends service_1.Service {
138
234
  */
139
235
  downloadTo(info, filename) {
140
236
  return __awaiter(this, void 0, void 0, function* () {
237
+ yield this.emitSync("Binary.Get", {
238
+ object: info,
239
+ service: this
240
+ });
141
241
  var readStream = yield this._get(info);
142
242
  var writeStream = fs.createWriteStream(filename);
143
243
  return new Promise((resolve, reject) => {
144
- writeStream.on("finish", src => {
244
+ writeStream.on("finish", _src => {
145
245
  return resolve();
146
246
  });
147
247
  writeStream.on("error", src => {
@@ -174,13 +274,13 @@ class Binary extends service_1.Service {
174
274
  return;
175
275
  }
176
276
  this._lowercaseMaps = {};
177
- for (var prop in map) {
277
+ Object.keys(map).forEach(prop => {
178
278
  this._lowercaseMaps[prop.toLowerCase()] = prop;
179
- var reverseStore = this._webda.getService(prop);
279
+ let reverseStore = this._webda.getService(prop);
180
280
  if (reverseStore === undefined || !(reverseStore instanceof store_1.Store)) {
181
281
  this._webda.log("WARN", "Can't setup mapping as store ", prop, " doesn't exist");
182
282
  map[prop]["-onerror"] = "NoStore";
183
- continue;
283
+ return;
184
284
  }
185
285
  for (let i in map[prop]) {
186
286
  reverseStore.addReverseMap(map[prop][i], this);
@@ -193,7 +293,7 @@ class Binary extends service_1.Service {
193
293
  }
194
294
  yield Promise.all(infos.map(info => this.cascadeDelete(info, evt.object.getUuid())));
195
295
  }));
196
- }
296
+ });
197
297
  }
198
298
  /**
199
299
  * Based on the raw Map init a BinaryMap
@@ -203,21 +303,6 @@ class Binary extends service_1.Service {
203
303
  initModel(obj) {
204
304
  return new BinaryMap(this, obj);
205
305
  }
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
306
  /**
222
307
  * Read a stream to a buffer
223
308
  *
@@ -233,27 +318,13 @@ class Binary extends service_1.Service {
233
318
  stream.on("end", () => resolve(Buffer.concat(chunks)));
234
319
  });
235
320
  }
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
321
  /**
251
322
  * Check if a map is defined
252
323
  *
253
324
  * @param name
254
325
  * @param property
255
326
  */
256
- _checkMap(name, property) {
327
+ checkMap(name, property) {
257
328
  var map = this.parameters.map[this._lowercaseMaps[name.toLowerCase()]];
258
329
  if (map === undefined) {
259
330
  throw Error("Unknown mapping");
@@ -262,19 +333,20 @@ class Binary extends service_1.Service {
262
333
  throw Error("Unknown mapping");
263
334
  }
264
335
  }
265
- uploadSuccess(object, property, file, metadatas) {
336
+ /**
337
+ * Ensure events are sent correctly after an upload and update the BinaryFileInfo in targetted object
338
+ */
339
+ uploadSuccess(object, property, file) {
266
340
  return __awaiter(this, void 0, void 0, function* () {
267
- var fileObj = Object.assign(Object.assign({}, file), { metadatas });
268
341
  var object_uid = object.getUuid();
269
- var info;
270
342
  yield this.emitSync("Binary.UploadSuccess", {
271
- object: fileObj,
343
+ object: file,
272
344
  service: this,
273
345
  target: object
274
346
  });
275
- yield object.getStore().upsertItemToCollection(object_uid, property, fileObj);
347
+ yield object.getStore().upsertItemToCollection(object_uid, property, file);
276
348
  yield this.emitSync("Binary.Create", {
277
- object: fileObj,
349
+ object: file,
278
350
  service: this,
279
351
  target: object
280
352
  });
@@ -305,41 +377,39 @@ class Binary extends service_1.Service {
305
377
  * @returns
306
378
  */
307
379
  _getFile(req) {
308
- var file;
309
380
  if (req.files !== undefined) {
310
- file = req.files[0];
381
+ // TODO Map express files to BinaryFile
382
+ return req.files[0];
311
383
  }
312
384
  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 = "";
385
+ let buffer = req.getRequestBody();
386
+ if (typeof buffer === "string") {
387
+ buffer = Buffer.from(buffer);
388
+ }
389
+ // TODO Check if we have other type
390
+ return new MemoryBinaryFile(buffer, {
391
+ mimetype: req.getHttpContext().getHeader("Content-Type", "application/octet-stream"),
392
+ size: parseInt(req.getHttpContext().getHeader("Content-Length")) || req.getRequestBody().length,
393
+ name: ""
394
+ });
318
395
  }
319
- return file;
320
396
  }
321
397
  /**
322
- * Init the Binary system routes
398
+ * @override
323
399
  */
324
400
  initRoutes() {
325
- // Use a private method with boolean
401
+ if (!this.parameters.expose) {
402
+ return;
403
+ }
326
404
  this._initRoutes();
327
405
  }
328
406
  /**
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
407
+ * Init the Binary system routes
408
+ *
409
+ * Making sure parameters.expose exists prior
337
410
  */
338
411
  _initRoutes() {
339
412
  let url;
340
- if (!this.parameters.expose) {
341
- return false;
342
- }
343
413
  let name = this.getOperationName();
344
414
  if (!this.parameters.expose.restrict.get) {
345
415
  url = this.parameters.expose.url + "/{store}/{uid}/{property}/{index}";
@@ -349,10 +419,18 @@ class Binary extends service_1.Service {
349
419
  description: "Download a binary linked to an object",
350
420
  summary: "Download a binary",
351
421
  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"
422
+ "200": {
423
+ description: "Binary stream"
424
+ },
425
+ "403": {
426
+ description: "You don't have permissions"
427
+ },
428
+ "404": {
429
+ description: "Object does not exist or attachment does not exist"
430
+ },
431
+ "412": {
432
+ description: "Provided hash does not match"
433
+ }
356
434
  }
357
435
  }
358
436
  });
@@ -367,13 +445,17 @@ class Binary extends service_1.Service {
367
445
  summary: "Add a binary",
368
446
  responses: {
369
447
  "200": {
370
- schema: {
371
- type: "object"
372
- }
448
+ description: ""
449
+ },
450
+ "403": {
451
+ description: "You don't have permissions"
452
+ },
453
+ "404": {
454
+ description: "Object does not exist or attachment does not exist"
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
+ "412": {
457
+ description: "Provided hash does not match"
458
+ }
377
459
  }
378
460
  }
379
461
  });
@@ -387,10 +469,18 @@ class Binary extends service_1.Service {
387
469
  description: "Add a binary to an object after challenge",
388
470
  summary: "Add a binary",
389
471
  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"
472
+ "204": {
473
+ description: ""
474
+ },
475
+ "403": {
476
+ description: "You don't have permissions"
477
+ },
478
+ "404": {
479
+ description: "Object does not exist or attachment does not exist"
480
+ },
481
+ "412": {
482
+ description: "Provided hash does not match"
483
+ }
394
484
  }
395
485
  }
396
486
  });
@@ -404,15 +494,54 @@ class Binary extends service_1.Service {
404
494
  description: "Delete a binary linked to an object",
405
495
  summary: "Delete a binary",
406
496
  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"
497
+ "204": {
498
+ description: ""
499
+ },
500
+ "403": {
501
+ description: "You don't have permissions"
502
+ },
503
+ "404": {
504
+ description: "Object does not exist or attachment does not exist"
505
+ },
506
+ "412": {
507
+ description: "Provided hash does not match"
508
+ }
509
+ }
510
+ }
511
+ });
512
+ }
513
+ if (!this.parameters.expose.restrict.metadata) {
514
+ // Need hash to avoid concurrent delete
515
+ url = this.parameters.expose.url + "/{store}/{uid}/{property}/{index}/{hash}";
516
+ this.addRoute(url, ["PUT"], this.httpRoute, {
517
+ delete: {
518
+ operationId: `update${name}BinaryMetadata`,
519
+ description: "Update a binary metadata linked to an object",
520
+ summary: "Update a binary metadata",
521
+ responses: {
522
+ "204": {
523
+ description: ""
524
+ },
525
+ "403": {
526
+ description: "You don't have permissions"
527
+ },
528
+ "404": {
529
+ description: "Object does not exist or attachment does not exist"
530
+ },
531
+ "412": {
532
+ description: "Provided hash does not match"
533
+ }
411
534
  }
412
535
  }
413
536
  });
414
537
  }
415
- return true;
538
+ }
539
+ /**
540
+ * Return the name of the service for OpenAPI
541
+ * @returns
542
+ */
543
+ getOperationName() {
544
+ return this._name.toLowerCase() === "binary" ? "" : this._name;
416
545
  }
417
546
  /**
418
547
  * Based on the request parameter verify it match a known mapping
@@ -440,7 +569,7 @@ class Binary extends service_1.Service {
440
569
  *
441
570
  * @param ctx
442
571
  */
443
- putRedirectUrl(ctx) {
572
+ putRedirectUrl(_ctx) {
444
573
  return __awaiter(this, void 0, void 0, function* () {
445
574
  // Dont handle the redirect url
446
575
  throw 404;
@@ -498,9 +627,13 @@ class Binary extends service_1.Service {
498
627
  else if (ctx.getHttpContext().getMethod() === "POST") {
499
628
  action = "attach_binary";
500
629
  }
630
+ else if (ctx.getHttpContext().getMethod() === "PUT") {
631
+ action = "update_binary_metadata";
632
+ }
501
633
  yield object.canAct(ctx, action);
502
634
  // Now do the action
503
635
  if (ctx.getHttpContext().getMethod() === "GET") {
636
+ // Most implementation override this to do a REDIRECT to a GET url
504
637
  var file = object[property][index];
505
638
  ctx.writeHead(200, {
506
639
  "Content-Type": file.mimetype === undefined ? "application/octet-steam" : file.mimetype,
@@ -510,12 +643,8 @@ class Binary extends service_1.Service {
510
643
  try {
511
644
  yield new Promise((resolve, reject) => {
512
645
  // 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
- });
646
+ ctx._stream.on("finish", resolve);
647
+ ctx._stream.on("error", reject);
519
648
  readStream.pipe(ctx._stream);
520
649
  });
521
650
  }
@@ -525,14 +654,36 @@ class Binary extends service_1.Service {
525
654
  }
526
655
  }
527
656
  else {
528
- if (ctx.getHttpContext().getMethod() === "DELETE") {
657
+ if (ctx.getHttpContext().getMethod() === "POST") {
658
+ yield this.store(object, property, this._getFile(ctx), ctx.getRequestBody());
659
+ }
660
+ else {
529
661
  if (object[property][index].hash !== ctx.parameter("hash")) {
530
662
  throw 412;
531
663
  }
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());
664
+ if (ctx.getHttpContext().getMethod() === "DELETE") {
665
+ yield this.delete(object, property, index);
666
+ }
667
+ else if (ctx.getHttpContext().getMethod() === "PUT") {
668
+ let metadata = ctx.getRequestBody();
669
+ // Limit metadata to 4kb
670
+ if (JSON.stringify(metadata).length >= 4096) {
671
+ throw 400;
672
+ }
673
+ let evt = {
674
+ service: this,
675
+ object: object[property][index],
676
+ target: object
677
+ };
678
+ yield this.emitSync("Binary.MetadataUpdate", Object.assign(Object.assign({}, evt), { metadata }));
679
+ object[property][index].metadata = metadata;
680
+ // Update mapper on purpose
681
+ yield object.getStore().patch({
682
+ [object.__class.getUuidField()]: object.getUuid(),
683
+ [property]: object[property].map(b => b.toJSON())
684
+ }, false);
685
+ yield this.emitSync("Binary.MetadataUpdated", evt);
686
+ }
536
687
  }
537
688
  }
538
689
  });
@@ -1 +1 @@
1
- {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/services/binary.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;;;;;;AACb,iCAAiC;AACjC,yBAAyB;AACzB,mCAAmC;AACnC,6BAA6B;AAE7B,0BAAgC;AAEhC,2CAA6F;AAE7F,uCAAuD;AAoBvD;;GAEG;AACH,MAAa,mBAAoB,SAAQ,cAAU;IACjD,YAAY,IAAY,EAAE,SAAiB;QACzC,KAAK,CAAC,iBAAiB,EAAE,oBAAoB,IAAI,kBAAkB,SAAS,GAAG,CAAC,CAAC;IACnF,CAAC;CACF;AAJD,kDAIC;AA4CD;;;;GAIG;AACH,MAAa,SAAS;IAsBpB,YAAY,OAAO,EAAE,GAAG;QACtB,KAAK,IAAI,CAAC,IAAI,GAAG,EAAE;YACjB,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;SAClB;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,MAAM;QACJ,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;aACd,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;aAChC,OAAO,CAAC,CAAC,CAAC,EAAE;YACX,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QACL,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;OAIG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACG,UAAU,CAAC,QAAgB;;YAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;KAAA;IAED;;;OAGG;IACH,UAAU,CAAC,GAAY;QACrB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;IACnB,CAAC;CACF;AAtED,8BAsEC;AAED,MAAa,gBAAiB,SAAQ,2BAAiB;IAmCrD,YAAY,MAAW,EAAE,OAAgB;;QACvC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,IAAI,CAAC,MAAM,EAAE;YACf,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;SACnD;QACD,MAAA,IAAI,CAAC,GAAG,oCAAR,IAAI,CAAC,GAAG,GAAK,EAAE,EAAC;IAClB,CAAC;CACF;AA1CD,4CA0CC;AACD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAe,MACb,SAAQ,iBAAU;IAmDlB;;;;;OAKG;IACG,GAAG,CAAC,IAAe;;YACvB,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAkB;gBAChD,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;KAAA;IAED;;;;;OAKG;IACG,UAAU,CAAC,IAAe,EAAE,QAAQ;;YACxC,IAAI,UAAU,GAAQ,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,WAAW,GAAG,EAAE,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACjD,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC3C,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;oBAC7B,OAAO,OAAO,EAAE,CAAC;gBACnB,CAAC,CAAC,CAAC;gBACH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;oBAC5B,IAAI;wBACF,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;qBACzB;oBAAC,OAAO,GAAG,EAAE;wBACZ,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;qBAC/B;oBACD,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC,CAAC,CAAC;gBACH,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;IAED;;OAEG;IACH,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAID;;;;OAIG;IACH,OAAO,CAAC,GAAG;QACT,IAAI,GAAG,IAAI,SAAS,IAAI,GAAG,CAAC,KAAK,EAAE;YACjC,OAAO;SACR;QACD,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,KAAK,IAAI,IAAI,IAAI,GAAG,EAAE;YACpB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC;YAC/C,IAAI,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,CAAC,YAAY,YAAY,aAAK,CAAC,EAAE;gBAClE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,+BAA+B,EAAE,IAAI,EAAE,gBAAgB,CAAC,CAAC;gBACjF,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;gBAClC,SAAS;aACV;YACD,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE;gBACvB,YAAY,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;aAChD;YACD,iBAAiB;YACjB,YAAY,CAAC,EAAE,CAAC,eAAe,EAAE,CAAO,GAAsB,EAAE,EAAE;gBAChE,IAAI,KAAK,GAAG,EAAE,CAAC;gBACf,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE;oBACzB,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;iBACtC;gBACD,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;YACvF,CAAC,CAAA,CAAC,CAAC;SACJ;IACH,CAAC;IAED;;;;OAIG;IACH,SAAS,CAAC,GAAQ;QAChB,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,MAAc;QACvB,IAAI,MAAM,GAAQ,EAAE,CAAC;QACrB,+CAA+C;QAC/C,IAAI,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACpC,IAAI,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAChD,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,MAAgB;QACpC,2GAA2G;QAC3G,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5D,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YACvC,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,IAAgB;QAC5B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;YAC3B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC;YAC3C,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;YACxC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC;SACtE;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,IAAY,EAAE,QAAgB;QACtC,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACvE,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;SAChC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YACtD,MAAM,KAAK,CAAC,iBAAiB,CAAC,CAAC;SAChC;IACH,CAAC;IAEK,aAAa,CAAC,MAAiB,EAAE,QAAgB,EAAE,IAAS,EAAE,SAAe;;YACjF,IAAI,OAAO,mCACN,IAAI,KACP,SAAS,GACV,CAAC;YACF,IAAI,UAAU,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;YAClC,IAAI,IAAI,CAAC;YACT,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAA4B;gBACpE,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;YACH,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9E,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAqB;gBACtD,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC;KAAA;IAUD;;;;;;;OAOG;IACG,aAAa,CAAC,MAAiB,EAAE,QAAgB,EAAE,KAAa;;YACpE,IAAI,IAAI,GAAc,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;YAC9C,IAAI,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9G,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAqB;gBACtD,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;aACd,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAED;;;;OAIG;IACH,QAAQ,CAAC,GAAY;QACnB,IAAI,IAAI,CAAC;QACT,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE;YAC3B,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SACrB;aAAM;YACL,IAAI,GAAG,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;YACnC,IAAI,CAAC,QAAQ,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;YAC3F,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YAC/B,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,UAAU;QACR,oCAAoC;QACpC,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAED;;;OAGG;IACO,gBAAgB;QACxB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,WAAW;QACT,IAAI,GAAG,CAAC;QACR,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE;YAC3B,OAAO,KAAK,CAAC;SACd;QAED,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAEnC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE;YACxC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,mCAAmC,CAAC;YACvE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE;gBAC1C,GAAG,EAAE;oBACH,WAAW,EAAE,MAAM,IAAI,QAAQ;oBAC/B,WAAW,EAAE,uCAAuC;oBACpD,OAAO,EAAE,mBAAmB;oBAC5B,SAAS,EAAE;wBACT,KAAK,EAAE,eAAe;wBACtB,KAAK,EAAE,4BAA4B;wBACnC,KAAK,EAAE,oDAAoD;wBAC3D,KAAK,EAAE,8BAA8B;qBACtC;iBACF;aACF,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3C,gCAAgC;YAChC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,2BAA2B,CAAC;YAC/D,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE;gBAC3C,IAAI,EAAE;oBACJ,WAAW,EAAE,MAAM,IAAI,QAAQ;oBAC/B,WAAW,EAAE,kCAAkC;oBAC/C,OAAO,EAAE,cAAc;oBACvB,SAAS,EAAE;wBACT,KAAK,EAAE;4BACL,MAAM,EAAE;gCACN,IAAI,EAAE,QAAQ;6BACf;yBACF;wBACD,KAAK,EAAE,4BAA4B;wBACnC,KAAK,EAAE,oDAAoD;wBAC3D,KAAK,EAAE,8BAA8B;qBACtC;iBACF;aACF,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3C,0BAA0B;YAC1B,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,kCAAkC,CAAC;YACtE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE;gBAC9C,GAAG,EAAE;oBACH,WAAW,EAAE,MAAM,IAAI,QAAQ;oBAC/B,WAAW,EAAE,2CAA2C;oBACxD,OAAO,EAAE,cAAc;oBACvB,SAAS,EAAE;wBACT,KAAK,EAAE,EAAE;wBACT,KAAK,EAAE,4BAA4B;wBACnC,KAAK,EAAE,oDAAoD;wBAC3D,KAAK,EAAE,8BAA8B;qBACtC;iBACF;aACF,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;YAC3C,uCAAuC;YACvC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,0CAA0C,CAAC;YAC9E,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE;gBAC7C,MAAM,EAAE;oBACN,WAAW,EAAE,SAAS,IAAI,QAAQ;oBAClC,WAAW,EAAE,qCAAqC;oBAClD,OAAO,EAAE,iBAAiB;oBAC1B,SAAS,EAAE;wBACT,KAAK,EAAE,EAAE;wBACT,KAAK,EAAE,4BAA4B;wBACnC,KAAK,EAAE,oDAAoD;wBAC3D,KAAK,EAAE,8BAA8B;qBACtC;iBACF;aACF,CAAC,CAAC;SACJ;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,kBAAkB,CAAC,GAAY;QAC7B,IAAI,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,6CAA6C;QAC7C,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QAC1D,IAAI,GAAG,KAAK,SAAS,EAAE;YACrB,MAAM,GAAG,CAAC;SACX;QACD,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;YAChD,MAAM,GAAG,CAAC;SACX;QACD,IAAI,WAAW,GAAqB,IAAI,CAAC,UAAU,CAAmB,KAAK,CAAC,CAAC;QAC7E,IAAI,WAAW,KAAK,SAAS,EAAE;YAC7B,MAAM,GAAG,CAAC;SACX;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;;;OAIG;IACG,cAAc,CAAC,GAAY;;YAC/B,+BAA+B;YAC/B,MAAM,GAAG,CAAC;QACZ,CAAC;KAAA;IAED;;OAEG;IACG,aAAa,CAAC,GAAY;;YAC9B,IAAI,IAAI,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;gBACjC,MAAM,GAAG,CAAC;aACX;YACD,4BAA4B;YAC5B,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC/C,iBAAiB;YACjB,IAAI,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9D,IAAI,MAAM,KAAK,SAAS,EAAE;gBACxB,MAAM,GAAG,CAAC;aACX;YACD,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YAC1C,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACzC,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpF,GAAG,CAAC,KAAK,iCACJ,GAAG,KACN,IAAI,EAAE,GAAG,KAAK,SAAS,EACvB,GAAG,EAAE,YAAY,IACjB,CAAC;QACL,CAAC;KAAA;IAED;;;OAGG;IACG,SAAS,CAAC,GAAY;;YAC1B,4BAA4B;YAC5B,IAAI,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAC/C,iBAAiB;YACjB,IAAI,MAAM,GAAG,MAAM,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;YAC9D,IAAI,MAAM,KAAK,SAAS,EAAE;gBACxB,MAAM,GAAG,CAAC;aACX;YACD,IAAI,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YACzC,IAAI,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YACnC,qBAAqB;YACrB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,IAAI,KAAK,EAAE;gBACxE,MAAM,GAAG,CAAC;aACX;YACD,oBAAoB;YACpB,IAAI,MAAM,GAAG,SAAS,CAAC;YACvB,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,KAAK,EAAE;gBAC9C,MAAM,GAAG,YAAY,CAAC;aACvB;iBAAM,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,QAAQ,EAAE;gBACxD,MAAM,GAAG,eAAe,CAAC;aAC1B;iBAAM,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,MAAM,EAAE;gBACtD,MAAM,GAAG,eAAe,CAAC;aAC1B;YACD,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAEjC,oBAAoB;YACpB,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,KAAK,EAAE;gBAC9C,IAAI,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC;gBACnC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;oBACjB,cAAc,EAAE,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ;oBACvF,gBAAgB,EAAE,IAAI,CAAC,IAAI;iBAC5B,CAAC,CAAC;gBACH,IAAI,UAAU,GAAQ,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC3C,IAAI;oBACF,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;wBAC1C,6EAA6E;wBAC7E,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE;4BAC7B,OAAO,OAAO,EAAE,CAAC;wBACnB,CAAC,CAAC,CAAC;wBACH,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;4BAC5B,OAAO,MAAM,EAAE,CAAC;wBAClB,CAAC,CAAC,CAAC;wBACH,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;oBAC/B,CAAC,CAAC,CAAC;iBACJ;gBAAC,OAAO,GAAG,EAAE;oBACZ,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;oBACvB,MAAM,GAAG,CAAC;iBACX;aACF;iBAAM;gBACL,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,QAAQ,EAAE;oBACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;wBAC1D,MAAM,GAAG,CAAC;qBACX;oBACD,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;iBAC5C;qBAAM,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC,SAAS,EAAE,KAAK,MAAM,EAAE;oBACtD,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;iBAC9E;aACF;QACH,CAAC;KAAA;CACF;AAEQ,wBAAM"}
1
+ {"version":3,"file":"binary.js","sourceRoot":"","sources":["../../src/services/binary.ts"],"names":[],"mappings":"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"}
@@ -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;