@marinoscar/platform-api 0.1.0-next.22 → 0.1.0-next.24

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 (170) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/dist/core/data-access/access-reason.registry.d.ts +4 -1
  3. package/dist/core/data-access/access-reason.registry.d.ts.map +1 -1
  4. package/dist/core/data-access/access-reason.registry.js +5 -0
  5. package/dist/core/data-access/access-reason.registry.js.map +1 -1
  6. package/dist/core/testing/vocabulary-conformance.js +2 -2
  7. package/dist/core/testing/vocabulary-conformance.js.map +1 -1
  8. package/dist/notifications/channels/browser-notification.channel.d.ts +11 -0
  9. package/dist/notifications/channels/browser-notification.channel.d.ts.map +1 -1
  10. package/dist/notifications/channels/browser-notification.channel.js +71 -48
  11. package/dist/notifications/channels/browser-notification.channel.js.map +1 -1
  12. package/dist/notifications/data/notifications-db.d.ts +19 -0
  13. package/dist/notifications/data/notifications-db.d.ts.map +1 -1
  14. package/dist/notifications/dto/notification.dto.d.ts +4 -0
  15. package/dist/notifications/dto/notification.dto.d.ts.map +1 -1
  16. package/dist/notifications/index.d.ts +1 -1
  17. package/dist/notifications/index.d.ts.map +1 -1
  18. package/dist/notifications/index.js.map +1 -1
  19. package/dist/notifications/notification-inbox-writer.d.ts +112 -0
  20. package/dist/notifications/notification-inbox-writer.d.ts.map +1 -0
  21. package/dist/notifications/notification-inbox-writer.js +217 -0
  22. package/dist/notifications/notification-inbox-writer.js.map +1 -0
  23. package/dist/notifications/notification-store.service.d.ts +10 -0
  24. package/dist/notifications/notification-store.service.d.ts.map +1 -1
  25. package/dist/notifications/notification-store.service.js +55 -10
  26. package/dist/notifications/notification-store.service.js.map +1 -1
  27. package/dist/notifications/notification-stream.service.d.ts +8 -0
  28. package/dist/notifications/notification-stream.service.d.ts.map +1 -1
  29. package/dist/notifications/notification-stream.service.js.map +1 -1
  30. package/dist/notifications/notification.types.d.ts +74 -0
  31. package/dist/notifications/notification.types.d.ts.map +1 -1
  32. package/dist/notifications/notification.types.js.map +1 -1
  33. package/dist/notifications/notifications.controller.d.ts +1 -0
  34. package/dist/notifications/notifications.controller.d.ts.map +1 -1
  35. package/dist/notifications/notifications.controller.js +23 -0
  36. package/dist/notifications/notifications.controller.js.map +1 -1
  37. package/dist/notifications/notifications.service.d.ts +56 -1
  38. package/dist/notifications/notifications.service.d.ts.map +1 -1
  39. package/dist/notifications/notifications.service.js +122 -0
  40. package/dist/notifications/notifications.service.js.map +1 -1
  41. package/dist/notifications/registry/event.registry.d.ts +15 -0
  42. package/dist/notifications/registry/event.registry.d.ts.map +1 -1
  43. package/dist/notifications/registry/event.registry.js +3 -0
  44. package/dist/notifications/registry/event.registry.js.map +1 -1
  45. package/dist/notifications/retention/notification-inbox-purge.handler.d.ts.map +1 -1
  46. package/dist/notifications/retention/notification-inbox-purge.handler.js +16 -4
  47. package/dist/notifications/retention/notification-inbox-purge.handler.js.map +1 -1
  48. package/dist/notifications/testing/index.d.ts +2 -0
  49. package/dist/notifications/testing/index.d.ts.map +1 -1
  50. package/dist/notifications/testing/index.js +5 -1
  51. package/dist/notifications/testing/index.js.map +1 -1
  52. package/dist/sharing/events.d.ts +23 -0
  53. package/dist/sharing/events.d.ts.map +1 -1
  54. package/dist/sharing/events.js +1 -0
  55. package/dist/sharing/events.js.map +1 -1
  56. package/dist/sharing/groups/group-common.d.ts +1 -1
  57. package/dist/sharing/groups/group-common.d.ts.map +1 -1
  58. package/dist/sharing/groups/group-common.js.map +1 -1
  59. package/dist/sharing/groups/group-invites.service.d.ts +77 -2
  60. package/dist/sharing/groups/group-invites.service.d.ts.map +1 -1
  61. package/dist/sharing/groups/group-invites.service.js +181 -0
  62. package/dist/sharing/groups/group-invites.service.js.map +1 -1
  63. package/dist/sharing/groups/invite-auto-accept.listener.d.ts +37 -0
  64. package/dist/sharing/groups/invite-auto-accept.listener.d.ts.map +1 -0
  65. package/dist/sharing/groups/invite-auto-accept.listener.js +115 -0
  66. package/dist/sharing/groups/invite-auto-accept.listener.js.map +1 -0
  67. package/dist/sharing/index.d.ts +5 -3
  68. package/dist/sharing/index.d.ts.map +1 -1
  69. package/dist/sharing/index.js +6 -3
  70. package/dist/sharing/index.js.map +1 -1
  71. package/dist/sharing/metrics.d.ts +1 -1
  72. package/dist/sharing/metrics.d.ts.map +1 -1
  73. package/dist/sharing/metrics.js +1 -0
  74. package/dist/sharing/metrics.js.map +1 -1
  75. package/dist/sharing/ports.d.ts +3 -2
  76. package/dist/sharing/ports.d.ts.map +1 -1
  77. package/dist/sharing/ports.js.map +1 -1
  78. package/dist/sharing/sharing.module.d.ts.map +1 -1
  79. package/dist/sharing/sharing.module.js +3 -0
  80. package/dist/sharing/sharing.module.js.map +1 -1
  81. package/dist/sharing/sharing.options.d.ts +39 -5
  82. package/dist/sharing/sharing.options.d.ts.map +1 -1
  83. package/dist/sharing/sharing.options.js +17 -8
  84. package/dist/sharing/sharing.options.js.map +1 -1
  85. package/dist/storage/config/storage-config.service.d.ts +24 -0
  86. package/dist/storage/config/storage-config.service.d.ts.map +1 -1
  87. package/dist/storage/config/storage-config.service.js +31 -5
  88. package/dist/storage/config/storage-config.service.js.map +1 -1
  89. package/dist/storage/handlers/storage-cleanup.handler.d.ts +3 -1
  90. package/dist/storage/handlers/storage-cleanup.handler.d.ts.map +1 -1
  91. package/dist/storage/handlers/storage-cleanup.handler.js +10 -3
  92. package/dist/storage/handlers/storage-cleanup.handler.js.map +1 -1
  93. package/dist/storage/index.d.ts +5 -1
  94. package/dist/storage/index.d.ts.map +1 -1
  95. package/dist/storage/index.js +12 -3
  96. package/dist/storage/index.js.map +1 -1
  97. package/dist/storage/objects/dto/get-part-urls.dto.d.ts +26 -0
  98. package/dist/storage/objects/dto/get-part-urls.dto.d.ts.map +1 -0
  99. package/dist/storage/objects/dto/get-part-urls.dto.js +25 -0
  100. package/dist/storage/objects/dto/get-part-urls.dto.js.map +1 -0
  101. package/dist/storage/objects/dto/init-upload.dto.d.ts +2 -1
  102. package/dist/storage/objects/dto/init-upload.dto.d.ts.map +1 -1
  103. package/dist/storage/objects/objects.controller.d.ts +13 -1
  104. package/dist/storage/objects/objects.controller.d.ts.map +1 -1
  105. package/dist/storage/objects/objects.controller.js +88 -1
  106. package/dist/storage/objects/objects.controller.js.map +1 -1
  107. package/dist/storage/objects/objects.service.d.ts +46 -1
  108. package/dist/storage/objects/objects.service.d.ts.map +1 -1
  109. package/dist/storage/objects/objects.service.js +277 -23
  110. package/dist/storage/objects/objects.service.js.map +1 -1
  111. package/dist/storage/objects/part-body-parser.d.ts +30 -0
  112. package/dist/storage/objects/part-body-parser.d.ts.map +1 -0
  113. package/dist/storage/objects/part-body-parser.js +45 -0
  114. package/dist/storage/objects/part-body-parser.js.map +1 -0
  115. package/dist/storage/objects/part-body.d.ts +23 -0
  116. package/dist/storage/objects/part-body.d.ts.map +1 -0
  117. package/dist/storage/objects/part-body.js +48 -0
  118. package/dist/storage/objects/part-body.js.map +1 -0
  119. package/dist/storage/processing/object-processing.service.d.ts +4 -1
  120. package/dist/storage/processing/object-processing.service.d.ts.map +1 -1
  121. package/dist/storage/processing/object-processing.service.js +11 -3
  122. package/dist/storage/processing/object-processing.service.js.map +1 -1
  123. package/dist/storage/profile-image/avatar.service.d.ts +3 -1
  124. package/dist/storage/profile-image/avatar.service.d.ts.map +1 -1
  125. package/dist/storage/profile-image/avatar.service.js +8 -3
  126. package/dist/storage/profile-image/avatar.service.js.map +1 -1
  127. package/dist/storage/profile-image/profile-image.service.d.ts +4 -1
  128. package/dist/storage/profile-image/profile-image.service.d.ts.map +1 -1
  129. package/dist/storage/profile-image/profile-image.service.js +11 -5
  130. package/dist/storage/profile-image/profile-image.service.js.map +1 -1
  131. package/dist/storage/providers/index.d.ts +3 -1
  132. package/dist/storage/providers/index.d.ts.map +1 -1
  133. package/dist/storage/providers/index.js +8 -1
  134. package/dist/storage/providers/index.js.map +1 -1
  135. package/dist/storage/providers/resolving-storage.provider.d.ts +11 -0
  136. package/dist/storage/providers/resolving-storage.provider.d.ts.map +1 -1
  137. package/dist/storage/providers/resolving-storage.provider.js +13 -0
  138. package/dist/storage/providers/resolving-storage.provider.js.map +1 -1
  139. package/dist/storage/providers/s3/s3-storage.provider.d.ts +9 -1
  140. package/dist/storage/providers/s3/s3-storage.provider.d.ts.map +1 -1
  141. package/dist/storage/providers/s3/s3-storage.provider.js +37 -0
  142. package/dist/storage/providers/s3/s3-storage.provider.js.map +1 -1
  143. package/dist/storage/providers/storage-provider-router.d.ts +64 -0
  144. package/dist/storage/providers/storage-provider-router.d.ts.map +1 -0
  145. package/dist/storage/providers/storage-provider-router.js +161 -0
  146. package/dist/storage/providers/storage-provider-router.js.map +1 -0
  147. package/dist/storage/providers/storage-provider.interface.d.ts +34 -1
  148. package/dist/storage/providers/storage-provider.interface.d.ts.map +1 -1
  149. package/dist/storage/providers/storage-provider.interface.js.map +1 -1
  150. package/dist/storage/providers/storage-provider.types.d.ts +86 -0
  151. package/dist/storage/providers/storage-provider.types.d.ts.map +1 -1
  152. package/dist/storage/providers/storage-provider.types.js +78 -0
  153. package/dist/storage/providers/storage-provider.types.js.map +1 -1
  154. package/dist/storage/providers/storage-providers.module.d.ts.map +1 -1
  155. package/dist/storage/providers/storage-providers.module.js +3 -1
  156. package/dist/storage/providers/storage-providers.module.js.map +1 -1
  157. package/dist/storage/testing/conformance.d.ts +12 -0
  158. package/dist/storage/testing/conformance.d.ts.map +1 -1
  159. package/dist/storage/testing/conformance.js +112 -0
  160. package/dist/storage/testing/conformance.js.map +1 -1
  161. package/dist/storage/testing/driver-conformance.d.ts +13 -1
  162. package/dist/storage/testing/driver-conformance.d.ts.map +1 -1
  163. package/dist/storage/testing/driver-conformance.js +134 -0
  164. package/dist/storage/testing/driver-conformance.js.map +1 -1
  165. package/dist/storage/testing/index.d.ts +1 -1
  166. package/dist/storage/testing/index.d.ts.map +1 -1
  167. package/dist/storage/testing/index.js +2 -1
  168. package/dist/storage/testing/index.js.map +1 -1
  169. package/dist/telemetry/stack/dto/telemetry-stack.dto.d.ts +1 -1
  170. package/package.json +3 -3
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.ObjectsController = void 0;
16
16
  const common_1 = require("@nestjs/common");
17
17
  const swagger_1 = require("@nestjs/swagger");
18
+ const node_stream_1 = require("node:stream");
18
19
  const nestjs_zod_1 = require("nestjs-zod");
19
20
  const index_1 = require("../../identity/index");
20
21
  const index_2 = require("../../core/index");
@@ -27,6 +28,8 @@ const object_list_query_dto_1 = require("./dto/object-list-query.dto");
27
28
  const update_metadata_dto_1 = require("./dto/update-metadata.dto");
28
29
  const download_url_response_dto_1 = require("./dto/download-url-response.dto");
29
30
  const multipart_1 = require("../multipart");
31
+ const storage_1 = require("@marinoscar/platform-contract/storage");
32
+ const get_part_urls_dto_1 = require("./dto/get-part-urls.dto");
30
33
  /**
31
34
  * The `/api/storage/objects` routes (`storage:read|write`, `storage:delete_any`).
32
35
  *
@@ -89,6 +92,30 @@ let ObjectsController = class ObjectsController {
89
92
  const result = await this.objectsService.getUploadStatus(objectId, userId, orgId);
90
93
  return { data: result };
91
94
  }
95
+ /**
96
+ * More part URLs for an upload in progress
97
+ */
98
+ async getPartUrls(objectId, dto, userId, orgId) {
99
+ return { data: await this.objectsService.getPartUrls(objectId, dto, userId, orgId) };
100
+ }
101
+ /**
102
+ * One multipart part, streamed through the API (drivers without presigned URLs)
103
+ */
104
+ async uploadPart(objectId, partNumber, req, reply, userId, orgId) {
105
+ // `registerStoragePartBodyParser` hands the body over as the unread request
106
+ // stream. Anything else means a JSON or text parser already consumed it.
107
+ if (!(req.body instanceof node_stream_1.Readable)) {
108
+ throw new common_1.UnsupportedMediaTypeException({
109
+ message: 'Send the part as raw bytes (Content-Type: application/octet-stream)',
110
+ details: { reason: storage_1.UPLOAD_ERROR_REASONS.RAW_BODY_REQUIRED },
111
+ });
112
+ }
113
+ const lengthHeader = req.headers['content-length'];
114
+ const declaredLength = typeof lengthHeader === 'string' && /^\d+$/.test(lengthHeader) ? Number(lengthHeader) : undefined;
115
+ const { eTag } = await this.objectsService.uploadPart(objectId, partNumber, userId, orgId, req.body, declaredLength);
116
+ // Exactly like an S3 presigned part PUT: 200, empty body, quoted ETag.
117
+ void reply.status(common_1.HttpStatus.OK).header('ETag', eTag).send();
118
+ }
92
119
  /**
93
120
  * Complete multipart upload
94
121
  */
@@ -291,7 +318,9 @@ __decorate([
291
318
  description: 'Check progress of a resumable upload',
292
319
  }),
293
320
  (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid', description: 'Object ID' }),
294
- (0, index_2.ApiDataResponse)(object_response_dto_1.UploadStatusResponseDto, { description: 'Upload status retrieved' }),
321
+ (0, index_2.ApiDataResponse)(object_response_dto_1.UploadStatusResponseDto, {
322
+ description: 'Upload status retrieved; `uploadedParts` is what the storage backend holds, so a resuming client skips them',
323
+ }),
295
324
  __param(0, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
296
325
  __param(1, (0, index_1.CurrentUser)('id')),
297
326
  __param(2, (0, index_1.CurrentOrg)()),
@@ -299,6 +328,59 @@ __decorate([
299
328
  __metadata("design:paramtypes", [String, String, String]),
300
329
  __metadata("design:returntype", Promise)
301
330
  ], ObjectsController.prototype, "getUploadStatus", null);
331
+ __decorate([
332
+ (0, common_1.Post)(':id/upload/part-urls'),
333
+ (0, index_1.Auth)({ permissions: [storage_constants_1.PERMISSIONS.STORAGE_WRITE] }),
334
+ (0, swagger_1.ApiOperation)({
335
+ summary: 'Get more part URLs',
336
+ description: '`upload/init` returns at most 10 part URLs; ask for more here, at most 100 part numbers per call. ' +
337
+ 'The response says how to authenticate the PUT to them: `partUploadAuth: "none"` for presigned provider ' +
338
+ 'URLs (send no Authorization header), `"bearer"` for this API\'s own part route.',
339
+ }),
340
+ (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid', description: 'Object ID' }),
341
+ (0, swagger_1.ApiBody)({ type: get_part_urls_dto_1.GetPartUrlsBodyDto }),
342
+ (0, index_2.ApiDataResponse)(get_part_urls_dto_1.GetPartUrlsResponseDto, { description: 'Part URLs minted' }),
343
+ (0, swagger_1.ApiResponse)({ status: 400, description: 'Upload not in progress, or a part number out of range (details.reason)' }),
344
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Upload not found (also for another user\'s upload)' }),
345
+ __param(0, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
346
+ __param(1, (0, common_1.Body)(new nestjs_zod_1.ZodValidationPipe(storage_1.getPartUrlsSchema))),
347
+ __param(2, (0, index_1.CurrentUser)('id')),
348
+ __param(3, (0, index_1.CurrentOrg)()),
349
+ __metadata("design:type", Function),
350
+ __metadata("design:paramtypes", [String, Object, String, String]),
351
+ __metadata("design:returntype", Promise)
352
+ ], ObjectsController.prototype, "getPartUrls", null);
353
+ __decorate([
354
+ (0, common_1.Put)(':id/upload/parts/:partNumber'),
355
+ (0, index_1.Auth)({ permissions: [storage_constants_1.PERMISSIONS.STORAGE_WRITE] }),
356
+ (0, common_1.HttpCode)(common_1.HttpStatus.OK),
357
+ (0, swagger_1.ApiOperation)({
358
+ summary: 'Upload one part through the API',
359
+ description: 'Only for an upload whose storage driver has no presigned URLs (`partUploadAuth: "bearer"`). Send the ' +
360
+ 'raw bytes of the part (any content type; the body is streamed to the driver and never buffered) with the ' +
361
+ 'usual `Authorization: Bearer` credential. Each part except the last must be exactly `partSize` bytes. ' +
362
+ 'Idempotent: re-sending a part replaces it. Answers like S3: an empty body and the part\'s quoted ETag header.',
363
+ }),
364
+ (0, swagger_1.ApiConsumes)('application/octet-stream'),
365
+ (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid', description: 'Object ID' }),
366
+ (0, swagger_1.ApiParam)({ name: 'partNumber', type: Number, description: 'Part number, 1..totalParts' }),
367
+ (0, swagger_1.ApiResponse)({ status: 200, description: 'Part stored. Empty body; the ETag header carries the quoted MD5' }),
368
+ (0, swagger_1.ApiResponse)({
369
+ status: 400,
370
+ description: 'details.reason UPLOAD_NOT_ACTIVE, PART_OUT_OF_RANGE, PART_SIZE_MISMATCH, or PRESIGNED_PARTS_REQUIRED (the driver takes presigned URLs)',
371
+ }),
372
+ (0, swagger_1.ApiResponse)({ status: 404, description: 'Upload not found (also for another user\'s upload)' }),
373
+ (0, swagger_1.ApiResponse)({ status: 409, description: 'details.reason UPLOAD_SESSION_INVALID: abort and re-initialise' }),
374
+ __param(0, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
375
+ __param(1, (0, common_1.Param)('partNumber', common_1.ParseIntPipe)),
376
+ __param(2, (0, common_1.Req)()),
377
+ __param(3, (0, common_1.Res)()),
378
+ __param(4, (0, index_1.CurrentUser)('id')),
379
+ __param(5, (0, index_1.CurrentOrg)()),
380
+ __metadata("design:type", Function),
381
+ __metadata("design:paramtypes", [String, Number, Object, Object, String, String]),
382
+ __metadata("design:returntype", Promise)
383
+ ], ObjectsController.prototype, "uploadPart", null);
302
384
  __decorate([
303
385
  (0, common_1.Post)(':id/upload/complete'),
304
386
  (0, index_1.Auth)({ permissions: [storage_constants_1.PERMISSIONS.STORAGE_WRITE] }),
@@ -309,6 +391,11 @@ __decorate([
309
391
  (0, swagger_1.ApiParam)({ name: 'id', type: String, format: 'uuid', description: 'Object ID' }),
310
392
  (0, swagger_1.ApiBody)({ type: complete_upload_dto_1.CompleteUploadBodyDto }),
311
393
  (0, index_2.ApiDataResponse)(object_response_dto_1.ObjectResponseDto, { description: 'Upload completed successfully' }),
394
+ (0, swagger_1.ApiResponse)({
395
+ status: 409,
396
+ description: `details.reason ${storage_1.UPLOAD_ERROR_REASONS.UPLOAD_PARTS_MISSING} (re-send details.partNumbers, then complete again) ` +
397
+ `or ${storage_1.UPLOAD_ERROR_REASONS.UPLOAD_SESSION_INVALID} (the backend lost the session: abort and re-initialise)`,
398
+ }),
312
399
  __param(0, (0, common_1.Param)('id', common_1.ParseUUIDPipe)),
313
400
  __param(1, (0, common_1.Body)(new nestjs_zod_1.ZodValidationPipe(complete_upload_dto_1.completeUploadSchema))),
314
401
  __param(2, (0, index_1.CurrentUser)('id')),
@@ -1 +1 @@
1
- {"version":3,"file":"objects.controller.js","sourceRoot":"","sources":["../../../src/storage/objects/objects.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"objects.controller.js","sourceRoot":"","sources":["../../../src/storage/objects/objects.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAkBwB;AACxB,6CAQyB;AACzB,6CAAuC;AAEvC,2CAA+C;AAE/C,gDAAuF;AACvF,4CAAmD;AACnD,4DAAmD;AACnD,uDAAmD;AACnD,2DAK+B;AAC/B,mEAImC;AACnC,mEAGmC;AACnC,uEAIqC;AACrC,mEAImC;AACnC,+EAEyC;AACzC,4CAA2C;AAC3C,mEAI+C;AAC/C,+DAAqF;AAErF;;;;;;GAMG;AAGI,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IACC;IAA7B,YAA6B,cAA8B;QAA9B,mBAAc,GAAd,cAAc,CAAgB;IAAG,CAAC;IAE/D;;OAEG;IAgBG,AAAN,KAAK,CAAC,IAAI,CAC6C,KAAyB,EAC3D,MAAc,EACnB,KAAa;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACpE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IAiBG,AAAN,KAAK,CAAC,OAAO,CACiB,EAAU,EACnB,MAAc,EACnB,KAAa;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACpE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IAwBG,AAAN,KAAK,CAAC,cAAc,CACU,EAAU,EAClB,SAA6B,EAC9B,MAAc,EACnB,KAAa;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;QACtF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IA0BG,AAAN,KAAK,CAAC,YAAY,CACY,EAAU,EACvB,IAAiB,EAClB,KAAa;QAE3B,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE;YACnD,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,+BAAW,CAAC,kBAAkB,CAAC;SACxE,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IAkBG,AAAN,KAAK,CAAC,cAAc,CACU,EAAU,EACa,GAAsB,EACtD,MAAc,EACnB,KAAa;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAChF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IAoBG,AAAN,KAAK,CAAC,UAAU,CACiC,GAAkB,EAC9C,MAAc,EACnB,KAAa;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IAWG,AAAN,KAAK,CAAC,eAAe,CACS,QAAgB,EACzB,MAAc,EACnB,KAAa;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;QAClF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IAeG,AAAN,KAAK,CAAC,WAAW,CACa,QAAgB,EACI,GAAmB,EAChD,MAAc,EACnB,KAAa;QAE3B,OAAO,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;IACvF,CAAC;IAED;;OAEG;IAuBG,AAAN,KAAK,CAAC,UAAU,CACc,QAAgB,EACT,UAAkB,EAC9C,GAAmB,EACnB,KAAmB,EACP,MAAc,EACnB,KAAa;QAE3B,4EAA4E;QAC5E,yEAAyE;QACzE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,YAAY,sBAAQ,CAAC,EAAE,CAAC;YACpC,MAAM,IAAI,sCAA6B,CAAC;gBACtC,OAAO,EAAE,qEAAqE;gBAC9E,OAAO,EAAE,EAAE,MAAM,EAAE,8BAAoB,CAAC,iBAAiB,EAAE;aAC5D,CAAC,CAAC;QACL,CAAC;QAED,MAAM,YAAY,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,OAAO,YAAY,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEzH,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAErH,uEAAuE;QACvE,KAAK,KAAK,CAAC,MAAM,CAAC,mBAAU,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IAC/D,CAAC;IAED;;OAEG;IAgBG,AAAN,KAAK,CAAC,cAAc,CACU,QAAgB,EACO,GAAsB,EACtD,MAAc,EACnB,KAAa;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,cAAc,CACrD,QAAQ,EACR,GAAG,EACH,MAAM,EACN,KAAK,CACN,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IAYG,AAAN,KAAK,CAAC,WAAW,CACa,QAAgB,EACzB,MAAc,EACnB,KAAa;QAE3B,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IAgCG,AAAN,KAAK,CAAC,YAAY,CACT,GAAmB,EACP,MAAc,EACnB,KAAa;QAE3B,kCAAkC;QAClC,MAAM,IAAI,GAAG,MAAM,IAAA,uBAAW,EAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAE3C,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,4BAAmB,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,YAAY,CACnD;YACE,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,EACD,MAAM,EACN,KAAK,CACN,CAAC;QAEF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;CACF,CAAA;AArZY,8CAAiB;AAqBtB;IAfL,IAAA,YAAG,GAAE;IACL,IAAA,YAAI,EAAC,EAAE,WAAW,EAAE,CAAC,+BAAW,CAAC,YAAY,CAAC,EAAE,CAAC;IACjD,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,sBAAsB;QAC/B,WAAW,EAAE,0EAA0E;KACxF,CAAC;IACD,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,0BAA0B,EAAE,CAAC;IAClG,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,wCAAwC,EAAE,CAAC;IACpH,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC/I,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;IAClI,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;IAClH,IAAA,uBAAe,EAAC,uCAAiB,EAAE;QAClC,UAAU,EAAE,QAAQ;QACpB,WAAW,EAAE,6BAA6B;KAC3C,CAAC;IAEC,WAAA,IAAA,cAAK,EAAC,IAAI,8BAAiB,CAAC,6CAAqB,CAAC,CAAC,CAAA;IACnD,WAAA,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;IACjB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;6CAId;AAqBK;IAhBL,IAAA,YAAG,EAAC,KAAK,CAAC;IACV,IAAA,YAAI,EAAC,EAAE,WAAW,EAAE,CAAC,+BAAW,CAAC,YAAY,CAAC,EAAE,CAAC;IACjD,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,oBAAoB;QAC7B,WAAW,EAAE,4CAA4C;KAC1D,CAAC;IACD,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IAChF,IAAA,uBAAe,EAAC,uCAAiB,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;IACpF,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,kBAAkB;KAChC,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,4CAA4C;KAC1D,CAAC;IAEC,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAA;IAC1B,WAAA,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;IACjB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;gDAId;AA4BK;IAvBL,IAAA,YAAG,EAAC,cAAc,CAAC;IACnB,IAAA,YAAI,EAAC,EAAE,WAAW,EAAE,CAAC,+BAAW,CAAC,YAAY,CAAC,EAAE,CAAC;IACjD,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,kBAAkB;QAC3B,WAAW,EAAE,wDAAwD;KACtE,CAAC;IACD,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IAChF,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,2CAA2C,EAAE,CAAC;IACxH,IAAA,uBAAe,EAAC,kDAAsB,EAAE;QACvC,WAAW,EAAE,qCAAqC;KACnD,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,kCAAkC;KAChD,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,kBAAkB;KAChC,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,4CAA4C;KAC1D,CAAC;IAEC,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAA;IAC1B,WAAA,IAAA,cAAK,EAAC,WAAW,CAAC,CAAA;IAClB,WAAA,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;IACjB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;uDAId;AA8BK;IAzBL,IAAA,eAAM,EAAC,KAAK,CAAC;IACb,IAAA,YAAI,EAAC,EAAE,WAAW,EAAE,CAAC,+BAAW,CAAC,aAAa,CAAC,EAAE,CAAC;IAClD,IAAA,iBAAQ,EAAC,mBAAU,CAAC,UAAU,CAAC;IAC/B,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,uBAAuB;QAChC,WAAW,EACT,sFAAsF;YACtF,2FAA2F;YAC3F,2FAA2F;YAC3F,+DAA+D;KAClE,CAAC;IACD,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IAChF,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,6BAA6B;KAC3C,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,kBAAkB;KAChC,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EACT,iHAAiH;KACpH,CAAC;IAEC,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAA;IAC1B,WAAA,IAAA,mBAAW,GAAE,CAAA;IACb,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;qDAKd;AAsBK;IAjBL,IAAA,cAAK,EAAC,cAAc,CAAC;IACrB,IAAA,YAAI,EAAC,EAAE,WAAW,EAAE,CAAC,+BAAW,CAAC,aAAa,CAAC,EAAE,CAAC;IAClD,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,wBAAwB;QACjC,WAAW,EAAE,sEAAsE;KACpF,CAAC;IACD,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IAChF,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,2CAAqB,EAAE,CAAC;IACxC,IAAA,uBAAe,EAAC,uCAAiB,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;IACpF,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,kBAAkB;KAChC,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,4CAA4C;KAC1D,CAAC;IAEC,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAA;IAC1B,WAAA,IAAA,aAAI,EAAC,IAAI,8BAAiB,CAAC,0CAAoB,CAAC,CAAC,CAAA;IACjD,WAAA,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;IACjB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;uDAId;AAwBK;IAnBL,IAAA,aAAI,EAAC,aAAa,CAAC;IACnB,IAAA,YAAI,EAAC,EAAE,WAAW,EAAE,CAAC,+BAAW,CAAC,aAAa,CAAC,EAAE,CAAC;IAClD,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,6BAA6B;QACtC,WAAW,EAAE,0CAA0C;KACxD,CAAC;IACD,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,mCAAiB,EAAE,CAAC;IACpC,IAAA,uBAAe,EAAC,uCAAqB,EAAE;QACtC,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,iCAAiC;KAC/C,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,mEAAmE;KACjF,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,0EAA0E;KACxF,CAAC;IAEC,WAAA,IAAA,aAAI,EAAC,IAAI,8BAAiB,CAAC,kCAAgB,CAAC,CAAC,CAAA;IAC7C,WAAA,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;IACjB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;mDAId;AAeK;IAVL,IAAA,YAAG,EAAC,mBAAmB,CAAC;IACxB,IAAA,YAAI,EAAC,EAAE,WAAW,EAAE,CAAC,+BAAW,CAAC,aAAa,CAAC,EAAE,CAAC;IAClD,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,mBAAmB;QAC5B,WAAW,EAAE,sCAAsC;KACpD,CAAC;IACD,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IAChF,IAAA,uBAAe,EAAC,6CAAuB,EAAE;QACxC,WAAW,EAAE,6GAA6G;KAC3H,CAAC;IAEC,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAA;IAC1B,WAAA,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;IACjB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;wDAId;AAmBK;IAdL,IAAA,aAAI,EAAC,sBAAsB,CAAC;IAC5B,IAAA,YAAI,EAAC,EAAE,WAAW,EAAE,CAAC,+BAAW,CAAC,aAAa,CAAC,EAAE,CAAC;IAClD,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,oBAAoB;QAC7B,WAAW,EACT,oGAAoG;YACpG,yGAAyG;YACzG,iFAAiF;KACpF,CAAC;IACD,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IAChF,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,sCAAkB,EAAE,CAAC;IACrC,IAAA,uBAAe,EAAC,0CAAsB,EAAE,EAAE,WAAW,EAAE,kBAAkB,EAAE,CAAC;IAC5E,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,wEAAwE,EAAE,CAAC;IACnH,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,oDAAoD,EAAE,CAAC;IAE7F,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAA;IAC1B,WAAA,IAAA,aAAI,EAAC,IAAI,8BAAiB,CAAC,2BAAiB,CAAC,CAAC,CAAA;IAC9C,WAAA,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;IACjB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;oDAGd;AA2BK;IAtBL,IAAA,YAAG,EAAC,8BAA8B,CAAC;IACnC,IAAA,YAAI,EAAC,EAAE,WAAW,EAAE,CAAC,+BAAW,CAAC,aAAa,CAAC,EAAE,CAAC;IAClD,IAAA,iBAAQ,EAAC,mBAAU,CAAC,EAAE,CAAC;IACvB,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,iCAAiC;QAC1C,WAAW,EACT,uGAAuG;YACvG,2GAA2G;YAC3G,wGAAwG;YACxG,+GAA+G;KAClH,CAAC;IACD,IAAA,qBAAW,EAAC,0BAA0B,CAAC;IACvC,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IAChF,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,4BAA4B,EAAE,CAAC;IACzF,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,iEAAiE,EAAE,CAAC;IAC5G,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EACT,wIAAwI;KAC3I,CAAC;IACD,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,oDAAoD,EAAE,CAAC;IAC/F,IAAA,qBAAW,EAAC,EAAE,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,gEAAgE,EAAE,CAAC;IAEzG,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAA;IAC1B,WAAA,IAAA,cAAK,EAAC,YAAY,EAAE,qBAAY,CAAC,CAAA;IACjC,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;IACjB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;mDAkBd;AAoBK;IAfL,IAAA,aAAI,EAAC,qBAAqB,CAAC;IAC3B,IAAA,YAAI,EAAC,EAAE,WAAW,EAAE,CAAC,+BAAW,CAAC,aAAa,CAAC,EAAE,CAAC;IAClD,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,2BAA2B;QACpC,WAAW,EAAE,0DAA0D;KACxE,CAAC;IACD,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IAChF,IAAA,iBAAO,EAAC,EAAE,IAAI,EAAE,2CAAqB,EAAE,CAAC;IACxC,IAAA,uBAAe,EAAC,uCAAiB,EAAE,EAAE,WAAW,EAAE,+BAA+B,EAAE,CAAC;IACpF,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EACT,kBAAkB,8BAAoB,CAAC,oBAAoB,sDAAsD;YACjH,MAAM,8BAAoB,CAAC,sBAAsB,0DAA0D;KAC9G,CAAC;IAEC,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAA;IAC1B,WAAA,IAAA,aAAI,EAAC,IAAI,8BAAiB,CAAC,0CAAoB,CAAC,CAAC,CAAA;IACjD,WAAA,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;IACjB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;uDASd;AAgBK;IAXL,IAAA,eAAM,EAAC,kBAAkB,CAAC;IAC1B,IAAA,YAAI,EAAC,EAAE,WAAW,EAAE,CAAC,+BAAW,CAAC,aAAa,CAAC,EAAE,CAAC;IAClD,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,wBAAwB;QACjC,WAAW,EAAE,wCAAwC;KACtD,CAAC;IACD,IAAA,kBAAQ,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,CAAC;IAChF,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,6BAA6B;KAC3C,CAAC;IAEC,WAAA,IAAA,cAAK,EAAC,IAAI,EAAE,sBAAa,CAAC,CAAA;IAC1B,WAAA,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;IACjB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;oDAGd;AAoCK;IA/BL,IAAA,aAAI,GAAE;IACN,IAAA,YAAI,EAAC,EAAE,WAAW,EAAE,CAAC,+BAAW,CAAC,aAAa,CAAC,EAAE,CAAC;IAClD,IAAA,sBAAY,EAAC;QACZ,OAAO,EAAE,oBAAoB;QAC7B,WAAW,EAAE,qCAAqC;KACnD,CAAC;IACD,IAAA,qBAAW,EAAC,qBAAqB,CAAC;IAClC,IAAA,iBAAO,EAAC;QACP,WAAW,EAAE,gBAAgB;QAC7B,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE;oBACJ,IAAI,EAAE,QAAQ;oBACd,MAAM,EAAE,QAAQ;iBACjB;aACF;SACF;KACF,CAAC;IACD,IAAA,uBAAe,EAAC,uCAAiB,EAAE;QAClC,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,4BAA4B;KAC1C,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,+EAA+E;KAC7F,CAAC;IACD,IAAA,qBAAW,EAAC;QACX,MAAM,EAAE,GAAG;QACX,WAAW,EAAE,0EAA0E;KACxF,CAAC;IAEC,WAAA,IAAA,YAAG,GAAE,CAAA;IACL,WAAA,IAAA,mBAAW,EAAC,IAAI,CAAC,CAAA;IACjB,WAAA,IAAA,kBAAU,GAAE,CAAA;;;;qDAoBd;4BApZU,iBAAiB;IAF7B,IAAA,iBAAO,EAAC,SAAS,CAAC;IAClB,IAAA,mBAAU,EAAC,iBAAiB,CAAC;qCAEiB,gCAAc;GADhD,iBAAiB,CAqZ7B"}
@@ -1,8 +1,11 @@
1
1
  import { ConfigService } from '@nestjs/config';
2
2
  import { Readable } from 'node:stream';
3
3
  import type { StorageProvider } from '../providers/storage-provider.interface';
4
+ import { StorageProviderRouter } from '../providers/storage-provider-router';
5
+ import { type StoredPart } from '../providers/storage-provider.types';
4
6
  import { InitUploadDto, InitUploadResponseDto } from './dto/init-upload.dto';
5
7
  import { CompleteUploadDto } from './dto/complete-upload.dto';
8
+ import type { GetPartUrlsDto, GetPartUrlsResponse } from '@marinoscar/platform-contract/storage';
6
9
  import { ObjectResponseDto, UploadStatusResponseDto } from './dto/object-response.dto';
7
10
  import { ObjectListQueryDto, ObjectListResponseDto } from './dto/object-list-query.dto';
8
11
  import { UpdateMetadataDto } from './dto/update-metadata.dto';
@@ -36,10 +39,15 @@ export declare class ObjectsService {
36
39
  private readonly processing;
37
40
  private readonly jobs;
38
41
  private readonly options?;
42
+ private readonly router?;
39
43
  private readonly logger;
40
- constructor(prisma: StoragePrisma, storageProvider: StorageProvider, config: ConfigService, processing: ObjectProcessingService, jobs: JobsService, options?: ResolvedStorageModuleOptions | undefined);
44
+ constructor(prisma: StoragePrisma, storageProvider: StorageProvider, config: ConfigService, processing: ObjectProcessingService, jobs: JobsService, options?: ResolvedStorageModuleOptions | undefined, router?: StorageProviderRouter | undefined);
41
45
  /** The multipart part size: the forRoot option, else the deployment's `storage.partSize`. */
42
46
  private partSize;
47
+ /** The provider that holds `object`'s bytes (its recorded provider and bucket). */
48
+ private providerFor;
49
+ /** The provider new uploads go to (the active one). */
50
+ private activeProvider;
43
51
  /**
44
52
  * The database client scoped to the caller's organization (row-level
45
53
  * security, issue #725): every statement runs with `app.org_id` set, so
@@ -55,6 +63,43 @@ export declare class ObjectsService {
55
63
  * Initialize a resumable multipart upload
56
64
  */
57
65
  initUpload(dto: InitUploadDto, userId: string, orgId: string): Promise<InitUploadResponseDto>;
66
+ /**
67
+ * Part URLs a client can actually PUT to, and how to authenticate them.
68
+ *
69
+ * A presigned driver (S3, R2, the default) returns its signed URLs verbatim
70
+ * with `partUploadAuth: 'none'`. A `proxied` driver cannot sign anything, so
71
+ * the client gets this API's own part route with `partUploadAuth: 'bearer'`.
72
+ */
73
+ private buildPartUrls;
74
+ /** How many parts an object of `objectSize` has, the exact size of each and the configured part size. */
75
+ private partLayout;
76
+ /** 409 `UPLOAD_PARTS_MISSING`: re-send exactly `partNumbers`, then complete again. */
77
+ private partsMissing;
78
+ /** 409 `UPLOAD_SESSION_INVALID`: the backend no longer knows the session; abort and re-initialise. */
79
+ private sessionInvalid;
80
+ /**
81
+ * The upload an owner may work on, or a 404: another user's upload and a
82
+ * missing one are indistinguishable. The in-progress rule (an open session
83
+ * and a `pending`/`uploading` row) is a 400 `UPLOAD_NOT_ACTIVE`.
84
+ */
85
+ private ownedOpenUpload;
86
+ /**
87
+ * More part URLs for an upload in progress (at most 100 per call), from the
88
+ * provider that holds the upload, so an active-provider switch mid-upload
89
+ * cannot misroute them.
90
+ */
91
+ getPartUrls(objectId: string, dto: GetPartUrlsDto, userId: string, orgId: string): Promise<GetPartUrlsResponse>;
92
+ /**
93
+ * Receives one part of a multipart upload THROUGH the API, for a driver with
94
+ * no presigned URLs. The body is streamed to the driver and never buffered;
95
+ * the platform bounds it to the exact part size, so a short or long body is a
96
+ * 400 `PART_SIZE_MISMATCH` and nothing of it is kept. The part is recorded in
97
+ * `storage_object_chunks` (its real size) so status reports it.
98
+ *
99
+ * @param declaredLength - the request's Content-Length, when sent; a wrong value is refused before a byte is read.
100
+ * @returns the part's ETag, quoted like S3's.
101
+ */
102
+ uploadPart(objectId: string, partNumber: number, userId: string, orgId: string, body: Readable, declaredLength?: number): Promise<StoredPart>;
58
103
  /**
59
104
  * Get upload status and progress
60
105
  */
@@ -1 +1 @@
1
- {"version":3,"file":"objects.service.d.ts","sourceRoot":"","sources":["../../../src/storage/objects/objects.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"objects.service.d.ts","sourceRoot":"","sources":["../../../src/storage/objects/objects.service.ts"],"names":[],"mappings":"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"}