@s-hirano-ist/s-core 1.6.0 → 1.7.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 (70) hide show
  1. package/dist/articles/entities/article-entity.d.ts +0 -69
  2. package/dist/articles/entities/article-entity.d.ts.map +1 -1
  3. package/dist/articles/entities/article-entity.js +1 -67
  4. package/dist/articles/entities/article-entity.js.map +1 -1
  5. package/dist/articles/index.d.ts +1 -0
  6. package/dist/articles/index.d.ts.map +1 -1
  7. package/dist/articles/index.js +1 -0
  8. package/dist/articles/index.js.map +1 -1
  9. package/dist/articles/repositories/articles-command-repository.interface.d.ts +4 -0
  10. package/dist/articles/repositories/articles-command-repository.interface.d.ts.map +1 -1
  11. package/dist/articles/services/articles-batch-domain-service.d.ts +82 -0
  12. package/dist/articles/services/articles-batch-domain-service.d.ts.map +1 -0
  13. package/dist/articles/services/articles-batch-domain-service.js +91 -0
  14. package/dist/articles/services/articles-batch-domain-service.js.map +1 -0
  15. package/dist/books/entities/books-entity.d.ts +0 -70
  16. package/dist/books/entities/books-entity.d.ts.map +1 -1
  17. package/dist/books/entities/books-entity.js +1 -67
  18. package/dist/books/entities/books-entity.js.map +1 -1
  19. package/dist/books/index.d.ts +1 -0
  20. package/dist/books/index.d.ts.map +1 -1
  21. package/dist/books/index.js +1 -0
  22. package/dist/books/index.js.map +1 -1
  23. package/dist/books/repositories/books-command-repository.interface.d.ts +4 -0
  24. package/dist/books/repositories/books-command-repository.interface.d.ts.map +1 -1
  25. package/dist/books/services/books-batch-domain-service.d.ts +36 -0
  26. package/dist/books/services/books-batch-domain-service.d.ts.map +1 -0
  27. package/dist/books/services/books-batch-domain-service.js +49 -0
  28. package/dist/books/services/books-batch-domain-service.js.map +1 -0
  29. package/dist/common/entities/common-entity.d.ts +2 -14
  30. package/dist/common/entities/common-entity.d.ts.map +1 -1
  31. package/dist/common/entities/common-entity.js +2 -14
  32. package/dist/common/entities/common-entity.js.map +1 -1
  33. package/dist/common/index.d.ts +1 -0
  34. package/dist/common/index.d.ts.map +1 -1
  35. package/dist/common/index.js +2 -0
  36. package/dist/common/index.js.map +1 -1
  37. package/dist/common/repositories/batch-command-repository.interface.d.ts +93 -0
  38. package/dist/common/repositories/batch-command-repository.interface.d.ts.map +1 -0
  39. package/dist/common/repositories/batch-command-repository.interface.js +2 -0
  40. package/dist/common/repositories/batch-command-repository.interface.js.map +1 -0
  41. package/dist/images/entities/image-entity.d.ts +0 -74
  42. package/dist/images/entities/image-entity.d.ts.map +1 -1
  43. package/dist/images/entities/image-entity.js +1 -67
  44. package/dist/images/entities/image-entity.js.map +1 -1
  45. package/dist/images/index.d.ts +1 -0
  46. package/dist/images/index.d.ts.map +1 -1
  47. package/dist/images/index.js +1 -0
  48. package/dist/images/index.js.map +1 -1
  49. package/dist/images/repositories/images-command-repository.interface.d.ts +4 -0
  50. package/dist/images/repositories/images-command-repository.interface.d.ts.map +1 -1
  51. package/dist/images/services/images-batch-domain-service.d.ts +36 -0
  52. package/dist/images/services/images-batch-domain-service.d.ts.map +1 -0
  53. package/dist/images/services/images-batch-domain-service.js +49 -0
  54. package/dist/images/services/images-batch-domain-service.js.map +1 -0
  55. package/dist/notes/entities/note-entity.d.ts +0 -63
  56. package/dist/notes/entities/note-entity.d.ts.map +1 -1
  57. package/dist/notes/entities/note-entity.js +1 -67
  58. package/dist/notes/entities/note-entity.js.map +1 -1
  59. package/dist/notes/index.d.ts +1 -0
  60. package/dist/notes/index.d.ts.map +1 -1
  61. package/dist/notes/index.js +1 -0
  62. package/dist/notes/index.js.map +1 -1
  63. package/dist/notes/repositories/notes-command-repository.interface.d.ts +4 -0
  64. package/dist/notes/repositories/notes-command-repository.interface.d.ts.map +1 -1
  65. package/dist/notes/services/notes-batch-domain-service.d.ts +36 -0
  66. package/dist/notes/services/notes-batch-domain-service.d.ts.map +1 -0
  67. package/dist/notes/services/notes-batch-domain-service.js +49 -0
  68. package/dist/notes/services/notes-batch-domain-service.js.map +1 -0
  69. package/dist/tsconfig.tsbuildinfo +1 -1
  70. package/package.json +1 -1
@@ -36,6 +36,7 @@ export * from "./events/book-created-event.js";
36
36
  export * from "./events/book-deleted-event.js";
37
37
  export * from "./repositories/books-command-repository.interface.js";
38
38
  export * from "./repositories/books-query-repository.interface.js";
39
+ export * from "./services/books-batch-domain-service.js";
39
40
  export * from "./services/books-domain-service.js";
40
41
  export * from "./types/cache-strategy.js";
41
42
  export * from "./types/query-params.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../books/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,cAAc,4BAA4B,CAAC;AAG3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,sDAAsD,CAAC;AACrE,cAAc,oDAAoD,CAAC;AAGnE,cAAc,oCAAoC,CAAC;AAGnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../books/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAGH,cAAc,4BAA4B,CAAC;AAG3C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAG/C,cAAc,sDAAsD,CAAC;AACrE,cAAc,oDAAoD,CAAC;AAGnE,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AAGnD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}
@@ -40,6 +40,7 @@ export * from "./events/book-deleted-event.js";
40
40
  export * from "./repositories/books-command-repository.interface.js";
41
41
  export * from "./repositories/books-query-repository.interface.js";
42
42
  // Services
43
+ export * from "./services/books-batch-domain-service.js";
43
44
  export * from "./services/books-domain-service.js";
44
45
  // Types
45
46
  export * from "./types/cache-strategy.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../books/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,WAAW;AACX,cAAc,4BAA4B,CAAC;AAE3C,SAAS;AACT,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAE/C,eAAe;AACf,cAAc,sDAAsD,CAAC;AACrE,cAAc,oDAAoD,CAAC;AAEnE,WAAW;AACX,cAAc,oCAAoC,CAAC;AAEnD,QAAQ;AACR,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../books/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,WAAW;AACX,cAAc,4BAA4B,CAAC;AAE3C,SAAS;AACT,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAE/C,eAAe;AACf,cAAc,sDAAsD,CAAC;AACrE,cAAc,oDAAoD,CAAC;AAEnE,WAAW;AACX,cAAc,0CAA0C,CAAC;AACzD,cAAc,oCAAoC,CAAC;AAEnD,QAAQ;AACR,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}
@@ -7,6 +7,9 @@ import type { UnexportedBook } from "../entities/books-entity.js";
7
7
  * Follows the CQRS pattern - this interface handles write operations only.
8
8
  * Implementations should be provided by the infrastructure layer (e.g., Prisma).
9
9
  *
10
+ * For batch operations (bulkUpdateStatus), use {@link IBatchCommandRepository}
11
+ * from the common module directly.
12
+ *
10
13
  * @example
11
14
  * ```typescript
12
15
  * // Infrastructure implementation
@@ -24,6 +27,7 @@ import type { UnexportedBook } from "../entities/books-entity.js";
24
27
  * ```
25
28
  *
26
29
  * @see {@link IBooksQueryRepository} for read operations
30
+ * @see {@link IBatchCommandRepository} for batch operations
27
31
  */
28
32
  export type IBooksCommandRepository = {
29
33
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"books-command-repository.interface.d.ts","sourceRoot":"","sources":["../../../books/repositories/books-command-repository.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,EAAE,EACF,MAAM,EACN,MAAM,EACN,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACrC;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE;;;;;;;OAOG;IACH,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CACjD,CAAC"}
1
+ {"version":3,"file":"books-command-repository.interface.d.ts","sourceRoot":"","sources":["../../../books/repositories/books-command-repository.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,EAAE,EACF,MAAM,EACN,MAAM,EACN,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACrC;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5C;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElE;;;;;;;OAOG;IACH,mBAAmB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;CACjD,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { type UserId } from "../../common/entities/common-entity.js";
2
+ import type { BulkUpdateResult, IBatchCommandRepository } from "../../common/repositories/batch-command-repository.interface.js";
3
+ /**
4
+ * Result of the reset operation.
5
+ */
6
+ export type ResetResult = {
7
+ finalized: BulkUpdateResult;
8
+ marked: BulkUpdateResult;
9
+ };
10
+ /**
11
+ * Domain service for batch operations on Books.
12
+ *
13
+ * @remarks
14
+ * Encapsulates the business logic for batch status transitions.
15
+ * Manages the state machine for book lifecycle:
16
+ *
17
+ * ```
18
+ * UNEXPORTED --> LAST_UPDATED --> EXPORTED
19
+ * |
20
+ * v
21
+ * UNEXPORTED (revert)
22
+ * ```
23
+ */
24
+ export declare class BooksBatchDomainService {
25
+ private readonly commandRepository;
26
+ constructor(commandRepository: IBatchCommandRepository);
27
+ /**
28
+ * Resets books for a new batch export.
29
+ */
30
+ resetBooks(userId: UserId): Promise<ResetResult>;
31
+ /**
32
+ * Reverts books from LAST_UPDATED back to UNEXPORTED.
33
+ */
34
+ revertBooks(userId: UserId): Promise<BulkUpdateResult>;
35
+ }
36
+ //# sourceMappingURL=books-batch-domain-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"books-batch-domain-service.d.ts","sourceRoot":"","sources":["../../../books/services/books-batch-domain-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,MAAM,EACX,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EACX,gBAAgB,EAChB,uBAAuB,EACvB,MAAM,iEAAiE,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG;IACzB,SAAS,EAAE,gBAAgB,CAAC;IAC5B,MAAM,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,qBAAa,uBAAuB;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,uBAAuB;IAEvE;;OAEG;IACU,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAiB7D;;OAEG;IACU,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAOnE"}
@@ -0,0 +1,49 @@
1
+ import { makeExportedAt, } from "../../common/entities/common-entity.js";
2
+ /**
3
+ * Domain service for batch operations on Books.
4
+ *
5
+ * @remarks
6
+ * Encapsulates the business logic for batch status transitions.
7
+ * Manages the state machine for book lifecycle:
8
+ *
9
+ * ```
10
+ * UNEXPORTED --> LAST_UPDATED --> EXPORTED
11
+ * |
12
+ * v
13
+ * UNEXPORTED (revert)
14
+ * ```
15
+ */
16
+ export class BooksBatchDomainService {
17
+ commandRepository;
18
+ constructor(commandRepository) {
19
+ this.commandRepository = commandRepository;
20
+ }
21
+ /**
22
+ * Resets books for a new batch export.
23
+ */
24
+ async resetBooks(userId) {
25
+ const finalized = await this.commandRepository.bulkUpdateStatus({
26
+ userId,
27
+ fromStatus: "LAST_UPDATED",
28
+ toStatus: "EXPORTED",
29
+ exportedAt: makeExportedAt(),
30
+ });
31
+ const marked = await this.commandRepository.bulkUpdateStatus({
32
+ userId,
33
+ fromStatus: "UNEXPORTED",
34
+ toStatus: "LAST_UPDATED",
35
+ });
36
+ return { finalized, marked };
37
+ }
38
+ /**
39
+ * Reverts books from LAST_UPDATED back to UNEXPORTED.
40
+ */
41
+ async revertBooks(userId) {
42
+ return this.commandRepository.bulkUpdateStatus({
43
+ userId,
44
+ fromStatus: "LAST_UPDATED",
45
+ toStatus: "UNEXPORTED",
46
+ });
47
+ }
48
+ }
49
+ //# sourceMappingURL=books-batch-domain-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"books-batch-domain-service.js","sourceRoot":"","sources":["../../../books/services/books-batch-domain-service.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,cAAc,GAEd,MAAM,wCAAwC,CAAC;AAchD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,uBAAuB;IACN;IAA7B,YAA6B,iBAA0C;QAA1C,sBAAiB,GAAjB,iBAAiB,CAAyB;IAAG,CAAC;IAE3E;;OAEG;IACI,KAAK,CAAC,UAAU,CAAC,MAAc;QACrC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;YAC/D,MAAM;YACN,UAAU,EAAE,cAAc;YAC1B,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,cAAc,EAAE;SAC5B,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;YAC5D,MAAM;YACN,UAAU,EAAE,YAAY;YACxB,QAAQ,EAAE,cAAc;SACxB,CAAC,CAAC;QAEH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW,CAAC,MAAc;QACtC,OAAO,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;YAC9C,MAAM;YACN,UAAU,EAAE,cAAc;YAC1B,QAAQ,EAAE,YAAY;SACtB,CAAC,CAAC;IACJ,CAAC;CACD"}
@@ -183,17 +183,6 @@ export declare const LastUpdatedStatus: z.ZodLiteral<"LAST_UPDATED">;
183
183
  * Literal type for the LAST_UPDATED status.
184
184
  */
185
185
  export type LastUpdatedStatus = z.infer<typeof LastUpdatedStatus>;
186
- /**
187
- * Creates a LastUpdatedStatus value.
188
- *
189
- * @returns The literal "LAST_UPDATED" status
190
- *
191
- * @example
192
- * ```typescript
193
- * const status = makeLastUpdatedStatus(); // "LAST_UPDATED"
194
- * ```
195
- */
196
- export declare const makeLastUpdatedStatus: () => LastUpdatedStatus;
197
186
  /**
198
187
  * Zod schema for validating export timestamps.
199
188
  *
@@ -287,14 +276,13 @@ export type Status = UnexportedStatus | LastUpdatedStatus | ExportedStatus["stat
287
276
  * @param status - The status string ("UNEXPORTED", "LAST_UPDATED", or "EXPORTED")
288
277
  * @returns The status value
289
278
  *
290
- * @deprecated This is for legacy compatibility. Use {@link makeUnexportedStatus},
291
- * {@link makeLastUpdatedStatus}, or {@link makeExportedStatus} instead.
279
+ * @deprecated This is for legacy compatibility. Use {@link makeUnexportedStatus}
280
+ * or {@link makeExportedStatus} instead.
292
281
  *
293
282
  * @example
294
283
  * ```typescript
295
284
  * // Prefer these:
296
285
  * const unexported = makeUnexportedStatus();
297
- * const lastUpdated = makeLastUpdatedStatus();
298
286
  * const exported = makeExportedStatus();
299
287
  *
300
288
  * // Instead of:
@@ -1 +1 @@
1
- {"version":3,"file":"common-entity.d.ts","sourceRoot":"","sources":["../../../common/entities/common-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,EAAE,mDAGA,CAAC;AAChB;;;;;;GAMG;AACH,MAAM,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AAEpC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM,GAAI,KAAK,MAAM,KAAG,EAGpC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,2CAAkD,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,GAAI,GAAG,MAAM,KAAG,MAAyB,CAAC;AAEjE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,4CAAgC,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,GAAI,YAAY,IAAI,KAAG,SAGhD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,4CAAgC,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,GAAI,YAAY,IAAI,KAAG,SAGhD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,4BAA0B,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,QAAO,gBACH,CAAC;AAEtC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,8BAA4B,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB,QAAO,iBACD,CAAC;AAEzC;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,6CAAiC,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,GAAI,aAAa,IAAI,KAAG,UAGlD,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc;;;iBAGzB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,QAAO,cAC+B,CAAC;AAEtE;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,MAAM,GACf,gBAAgB,GAChB,iBAAiB,GACjB,cAAc,CAAC,QAAQ,CAAC,CAAC;AAE5B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,UAAU,GACtB,QAAQ,YAAY,GAAG,cAAc,GAAG,UAAU,KAChD,MAEF,CAAC"}
1
+ {"version":3,"file":"common-entity.d.ts","sourceRoot":"","sources":["../../../common/entities/common-entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,EAAE,mDAGA,CAAC;AAChB;;;;;;GAMG;AACH,MAAM,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AAEpC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,MAAM,GAAI,KAAK,MAAM,KAAG,EAGpC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,MAAM,2CAAkD,CAAC;AAEtE;;;;;;GAMG;AACH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,MAAM,CAAC,CAAC;AAE5C;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,GAAI,GAAG,MAAM,KAAG,MAAyB,CAAC;AAEjE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,4CAAgC,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,GAAI,YAAY,IAAI,KAAG,SAGhD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,SAAS,4CAAgC,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,aAAa,GAAI,YAAY,IAAI,KAAG,SAGhD,CAAC;AAEF;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB,4BAA0B,CAAC;AAExD;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,QAAO,gBACH,CAAC;AAEtC;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,iBAAiB,8BAA4B,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAElE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,6CAAiC,CAAC;AAEzD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,cAAc,GAAI,aAAa,IAAI,KAAG,UAGlD,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc;;;iBAGzB,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,QAAO,cAC+B,CAAC;AAEtE;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,MAAM,GACf,gBAAgB,GAChB,iBAAiB,GACjB,cAAc,CAAC,QAAQ,CAAC,CAAC;AAE5B;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,UAAU,GACtB,QAAQ,YAAY,GAAG,cAAc,GAAG,UAAU,KAChD,MAEF,CAAC"}
@@ -167,17 +167,6 @@ export const makeUnexportedStatus = () => UnexportedStatus.parse("UNEXPORTED");
167
167
  * @see {@link Status} for the union type
168
168
  */
169
169
  export const LastUpdatedStatus = z.literal("LAST_UPDATED");
170
- /**
171
- * Creates a LastUpdatedStatus value.
172
- *
173
- * @returns The literal "LAST_UPDATED" status
174
- *
175
- * @example
176
- * ```typescript
177
- * const status = makeLastUpdatedStatus(); // "LAST_UPDATED"
178
- * ```
179
- */
180
- export const makeLastUpdatedStatus = () => LastUpdatedStatus.parse("LAST_UPDATED");
181
170
  /**
182
171
  * Zod schema for validating export timestamps.
183
172
  *
@@ -251,14 +240,13 @@ export const makeExportedStatus = () => ExportedStatus.parse({ status: "EXPORTED
251
240
  * @param status - The status string ("UNEXPORTED", "LAST_UPDATED", or "EXPORTED")
252
241
  * @returns The status value
253
242
  *
254
- * @deprecated This is for legacy compatibility. Use {@link makeUnexportedStatus},
255
- * {@link makeLastUpdatedStatus}, or {@link makeExportedStatus} instead.
243
+ * @deprecated This is for legacy compatibility. Use {@link makeUnexportedStatus}
244
+ * or {@link makeExportedStatus} instead.
256
245
  *
257
246
  * @example
258
247
  * ```typescript
259
248
  * // Prefer these:
260
249
  * const unexported = makeUnexportedStatus();
261
- * const lastUpdated = makeLastUpdatedStatus();
262
250
  * const exported = makeExportedStatus();
263
251
  *
264
252
  * // Instead of:
@@ -1 +1 @@
1
- {"version":3,"file":"common-entity.js","sourceRoot":"","sources":["../../../common/entities/common-entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common-entity.js","sourceRoot":"","sources":["../../../common/entities/common-entity.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,7 @@ export * from "./events/base-domain-event.js";
26
26
  export * from "./events/domain-event.interface.js";
27
27
  export * from "./events/system-error-event.js";
28
28
  export * from "./events/system-warning-event.js";
29
+ export * from "./repositories/batch-command-repository.interface.js";
29
30
  export * from "./services/entity-factory.js";
30
31
  export * from "./services/id-generator.js";
31
32
  export * from "./types/search-types.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../common/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,cAAc,6BAA6B,CAAC;AAG5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AAGjD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAG3C,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../common/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAGH,cAAc,6BAA6B,CAAC;AAG5C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AAEjD,cAAc,sDAAsD,CAAC;AAErE,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAG3C,cAAc,yBAAyB,CAAC"}
@@ -28,6 +28,8 @@ export * from "./events/base-domain-event.js";
28
28
  export * from "./events/domain-event.interface.js";
29
29
  export * from "./events/system-error-event.js";
30
30
  export * from "./events/system-warning-event.js";
31
+ // Repositories
32
+ export * from "./repositories/batch-command-repository.interface.js";
31
33
  // Services
32
34
  export * from "./services/entity-factory.js";
33
35
  export * from "./services/id-generator.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../common/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,WAAW;AACX,cAAc,6BAA6B,CAAC;AAE5C,SAAS;AACT,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AAEjD,WAAW;AACX,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAE3C,QAAQ;AACR,cAAc,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../common/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,WAAW;AACX,cAAc,6BAA6B,CAAC;AAE5C,SAAS;AACT,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oCAAoC,CAAC;AACnD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,kCAAkC,CAAC;AACjD,eAAe;AACf,cAAc,sDAAsD,CAAC;AACrE,WAAW;AACX,cAAc,8BAA8B,CAAC;AAC7C,cAAc,4BAA4B,CAAC;AAE3C,QAAQ;AACR,cAAc,yBAAyB,CAAC"}
@@ -0,0 +1,93 @@
1
+ import type { ExportedAt, Status, UserId } from "../entities/common-entity.js";
2
+ /**
3
+ * Result of a bulk update operation.
4
+ *
5
+ * @remarks
6
+ * Represents the number of records affected by a bulk operation.
7
+ * Used by batch domain services to report operation results.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const result = await repository.bulkUpdateStatus(params);
12
+ * console.log(`Updated ${result.count} records`);
13
+ * ```
14
+ */
15
+ export type BulkUpdateResult = {
16
+ /** The number of records that were updated */
17
+ count: number;
18
+ };
19
+ /**
20
+ * Parameters for a status transition operation.
21
+ *
22
+ * @remarks
23
+ * Defines the criteria and target for bulk status updates.
24
+ * Used to transition multiple entities from one status to another.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const params: StatusTransitionParams = {
29
+ * userId: makeUserId("user-123"),
30
+ * fromStatus: "UNEXPORTED",
31
+ * toStatus: "LAST_UPDATED",
32
+ * };
33
+ *
34
+ * // For EXPORTED transitions, include exportedAt
35
+ * const exportParams: StatusTransitionParams = {
36
+ * userId: makeUserId("user-123"),
37
+ * fromStatus: "LAST_UPDATED",
38
+ * toStatus: "EXPORTED",
39
+ * exportedAt: makeExportedAt(),
40
+ * };
41
+ * ```
42
+ */
43
+ export type StatusTransitionParams = {
44
+ /** The user ID for tenant isolation */
45
+ userId: UserId;
46
+ /** The current status of entities to update */
47
+ fromStatus: Status;
48
+ /** The target status to transition to */
49
+ toStatus: Status;
50
+ /** Timestamp for EXPORTED transitions (required when toStatus is "EXPORTED") */
51
+ exportedAt?: ExportedAt;
52
+ };
53
+ /**
54
+ * Interface for batch command operations on entities.
55
+ *
56
+ * @remarks
57
+ * Provides bulk update capabilities while maintaining DDD principles.
58
+ * Domain services use this interface to perform batch operations.
59
+ *
60
+ * Implementations should:
61
+ * - Use efficient bulk operations (e.g., updateMany in Prisma)
62
+ * - Maintain transactional consistency
63
+ * - Support tenant isolation via userId
64
+ *
65
+ * @example
66
+ * ```typescript
67
+ * class PrismaArticlesBatchRepository implements IBatchCommandRepository {
68
+ * async bulkUpdateStatus(params: StatusTransitionParams): Promise<BulkUpdateResult> {
69
+ * const result = await prisma.article.updateMany({
70
+ * where: { userId: params.userId, status: params.fromStatus },
71
+ * data: {
72
+ * status: params.toStatus,
73
+ * ...(params.exportedAt && { exportedAt: params.exportedAt }),
74
+ * },
75
+ * });
76
+ * return { count: result.count };
77
+ * }
78
+ * }
79
+ * ```
80
+ *
81
+ * @see {@link StatusTransitionParams} for parameter details
82
+ * @see {@link BulkUpdateResult} for return type
83
+ */
84
+ export type IBatchCommandRepository = {
85
+ /**
86
+ * Updates the status of all entities matching the criteria.
87
+ *
88
+ * @param params - The transition parameters
89
+ * @returns The number of records updated
90
+ */
91
+ bulkUpdateStatus(params: StatusTransitionParams): Promise<BulkUpdateResult>;
92
+ };
93
+ //# sourceMappingURL=batch-command-repository.interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-command-repository.interface.d.ts","sourceRoot":"","sources":["../../../common/repositories/batch-command-repository.interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAE/E;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;CACd,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACpC,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,UAAU,CAAC,EAAE,UAAU,CAAC;CACxB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACrC;;;;;OAKG;IACH,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC5E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=batch-command-repository.interface.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-command-repository.interface.js","sourceRoot":"","sources":["../../../common/repositories/batch-command-repository.interface.ts"],"names":[],"mappings":""}
@@ -300,43 +300,6 @@ export declare const ExportedImage: z.ZodObject<{
300
300
  * Immutable entity representing a published image.
301
301
  */
302
302
  export type ExportedImage = Readonly<z.infer<typeof ExportedImage>>;
303
- /**
304
- * Zod schema for an image marked for export in the current batch.
305
- *
306
- * @remarks
307
- * Represents an image that has been marked for export but not yet finalized.
308
- * This intermediate state allows for batch processing with revert capability.
309
- *
310
- * @see {@link UnexportedImage} for the initial state
311
- * @see {@link ExportedImage} for the final state
312
- */
313
- export declare const LastUpdatedImage: z.ZodObject<{
314
- id: z.z.core.$ZodBranded<z.ZodDefault<z.ZodUUID>, "Id">;
315
- userId: z.z.core.$ZodBranded<z.ZodString, "UserId">;
316
- path: z.z.core.$ZodBranded<z.ZodString, "Path">;
317
- contentType: z.z.core.$ZodBranded<z.ZodEnum<{
318
- "image/jpeg": "image/jpeg";
319
- "image/png": "image/png";
320
- "image/gif": "image/gif";
321
- jpeg: "jpeg";
322
- png: "png";
323
- }>, "ContentType">;
324
- fileSize: z.z.core.$ZodBranded<z.ZodNumber, "FileSize">;
325
- width: z.z.core.$ZodBranded<z.ZodOptional<z.ZodNumber>, "Pixel">;
326
- height: z.z.core.$ZodBranded<z.ZodOptional<z.ZodNumber>, "Pixel">;
327
- tags: z.ZodOptional<z.ZodArray<z.z.core.$ZodBranded<z.ZodString, "Tag">>>;
328
- description: z.z.core.$ZodBranded<z.ZodOptional<z.ZodString>, "Description">;
329
- createdAt: z.z.core.$ZodBranded<z.ZodDate, "CreatedAt">;
330
- status: z.ZodLiteral<"LAST_UPDATED">;
331
- }, z.z.core.$strip>;
332
- /**
333
- * Type for an image marked for export.
334
- *
335
- * @remarks
336
- * Immutable entity representing an image in the current export batch.
337
- * Can be reverted back to UnexportedImage or finalized to ExportedImage.
338
- */
339
- export type LastUpdatedImage = Readonly<z.infer<typeof LastUpdatedImage>>;
340
303
  /**
341
304
  * Arguments for creating a new image.
342
305
  *
@@ -416,42 +379,5 @@ export declare const imageEntity: {
416
379
  * @throws {UnexpectedError} For unexpected errors during export
417
380
  */
418
381
  export: (image: UnexportedImage) => ExportedImage;
419
- /**
420
- * Marks an image for export in the current batch.
421
- *
422
- * @remarks
423
- * Transitions from UNEXPORTED to LAST_UPDATED status.
424
- * This allows for batch processing with revert capability.
425
- *
426
- * @param image - The unexported image to mark
427
- * @returns A frozen LastUpdatedImage
428
- * @throws {InvalidFormatError} When the image state is invalid
429
- * @throws {UnexpectedError} For unexpected errors
430
- */
431
- markAsLastUpdated: (image: UnexportedImage) => LastUpdatedImage;
432
- /**
433
- * Reverts an image from LAST_UPDATED back to UNEXPORTED.
434
- *
435
- * @remarks
436
- * Use this when batch processing fails and needs to be rolled back.
437
- *
438
- * @param image - The last updated image to revert
439
- * @returns A frozen UnexportedImage
440
- * @throws {InvalidFormatError} When the image state is invalid
441
- * @throws {UnexpectedError} For unexpected errors
442
- */
443
- revert: (image: LastUpdatedImage) => UnexportedImage;
444
- /**
445
- * Finalizes an image from LAST_UPDATED to EXPORTED.
446
- *
447
- * @remarks
448
- * Use this after batch processing succeeds to confirm the export.
449
- *
450
- * @param image - The last updated image to finalize
451
- * @returns A frozen ExportedImage with exportedAt timestamp
452
- * @throws {InvalidFormatError} When the image state is invalid
453
- * @throws {UnexpectedError} For unexpected errors
454
- */
455
- finalize: (image: LastUpdatedImage) => ExportedImage;
456
382
  };
457
383
  //# sourceMappingURL=image-entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-entity.d.ts","sourceRoot":"","sources":["../../../images/entities/image-entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-entity.d.ts","sourceRoot":"","sources":["../../../images/entities/image-entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,CAAC,MAAM,KAAK,CAAC;AACpB,OAAO,EAQN,MAAM,EACN,MAAM,wCAAwC,CAAC;AAkBhD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,IAAI,2CAAoC,CAAC;AAEtD;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,CAAC;AAExC;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,QAAQ,GAAI,GAAG,MAAM,EAAE,mBAAmB,OAAO,KAAG,IAOhE,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,WAAW;;;;;;kBAEA,CAAC;AAEzB;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAAI,GAAG,MAAM,KAAG,WAAmC,CAAC;AAEhF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,+CAKA,CAAC;AAEtB;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAC;AAEhD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,GAAI,GAAG,MAAM,KAAG,QAA6B,CAAC;AAEvE;;;;;;;;GAQG;AACH,eAAO,MAAM,KAAK,2DAA0D,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;AAE1C;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,GAAI,GAAG,MAAM,KAAG,KAAuB,CAAC;AAE9D;;;;;;;GAOG;AACH,eAAO,MAAM,GAAG,0CAAmC,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AAEtC;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,GAAI,GAAG,MAAM,KAAG,GAAmB,CAAC;AAExD;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,iEAAsD,CAAC;AAE/E;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAEtD;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,GAAG,MAAM,KAAG,WAAmC,CAAC;AAEhF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,kBAAkB,GAAU,MAAM,IAAI,iCAElD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,2BAA2B,GAAU,MAAM,IAAI,qCAK3D,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,6BAA6B,GAAU,QAAQ,MAAM,qCAIjE,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,GAAU,QAAQ,MAAM,4BAEhD,CAAC;AAsBF;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;mBAA4C,CAAC;AAEzE;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC,CAAC;AAExE;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;mBAAoC,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC,CAAC;AAEpE;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACtC,kCAAkC;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,qCAAqC;IACrC,IAAI,EAAE,IAAI,CAAC;IACX,iCAAiC;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,6BAA6B;IAC7B,QAAQ,EAAE,QAAQ,CAAC;IACnB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,gCAAgC;IAChC,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,qCAAqC;IACrC,IAAI,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC1B,CAAC,CAAC;AAEH;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,WAAW;IACvB;;;;;;;OAOG;mBACY,eAAe,KAAG,eAAe;IAWhD;;;;;;;OAOG;oBACa,eAAe,KAAG,aAAa;CAS/C,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import sharp from "sharp";
2
2
  import z from "zod";
3
- import { CreatedAt, ExportedStatus, Id, LastUpdatedStatus, makeCreatedAt, makeExportedStatus, makeId, UnexportedStatus, UserId, } from "../../common/entities/common-entity.js";
3
+ import { CreatedAt, ExportedStatus, Id, makeCreatedAt, makeExportedStatus, makeId, UnexportedStatus, UserId, } from "../../common/entities/common-entity.js";
4
4
  import { createEntityWithErrorHandling } from "../../common/services/entity-factory.js";
5
5
  import { idGenerator } from "../../common/services/id-generator.js";
6
6
  /**
@@ -277,17 +277,6 @@ export const UnexportedImage = Base.extend({ status: UnexportedStatus });
277
277
  * @see {@link UnexportedImage} for the initial state
278
278
  */
279
279
  export const ExportedImage = Base.extend(ExportedStatus.shape);
280
- /**
281
- * Zod schema for an image marked for export in the current batch.
282
- *
283
- * @remarks
284
- * Represents an image that has been marked for export but not yet finalized.
285
- * This intermediate state allows for batch processing with revert capability.
286
- *
287
- * @see {@link UnexportedImage} for the initial state
288
- * @see {@link ExportedImage} for the final state
289
- */
290
- export const LastUpdatedImage = Base.extend({ status: LastUpdatedStatus });
291
280
  /**
292
281
  * Factory object for Image domain entity operations.
293
282
  *
@@ -345,60 +334,5 @@ export const imageEntity = {
345
334
  });
346
335
  });
347
336
  },
348
- /**
349
- * Marks an image for export in the current batch.
350
- *
351
- * @remarks
352
- * Transitions from UNEXPORTED to LAST_UPDATED status.
353
- * This allows for batch processing with revert capability.
354
- *
355
- * @param image - The unexported image to mark
356
- * @returns A frozen LastUpdatedImage
357
- * @throws {InvalidFormatError} When the image state is invalid
358
- * @throws {UnexpectedError} For unexpected errors
359
- */
360
- markAsLastUpdated: (image) => {
361
- return createEntityWithErrorHandling(() => Object.freeze({
362
- ...image,
363
- status: "LAST_UPDATED",
364
- }));
365
- },
366
- /**
367
- * Reverts an image from LAST_UPDATED back to UNEXPORTED.
368
- *
369
- * @remarks
370
- * Use this when batch processing fails and needs to be rolled back.
371
- *
372
- * @param image - The last updated image to revert
373
- * @returns A frozen UnexportedImage
374
- * @throws {InvalidFormatError} When the image state is invalid
375
- * @throws {UnexpectedError} For unexpected errors
376
- */
377
- revert: (image) => {
378
- return createEntityWithErrorHandling(() => Object.freeze({
379
- ...image,
380
- status: "UNEXPORTED",
381
- }));
382
- },
383
- /**
384
- * Finalizes an image from LAST_UPDATED to EXPORTED.
385
- *
386
- * @remarks
387
- * Use this after batch processing succeeds to confirm the export.
388
- *
389
- * @param image - The last updated image to finalize
390
- * @returns A frozen ExportedImage with exportedAt timestamp
391
- * @throws {InvalidFormatError} When the image state is invalid
392
- * @throws {UnexpectedError} For unexpected errors
393
- */
394
- finalize: (image) => {
395
- return createEntityWithErrorHandling(() => {
396
- const exportedStatus = makeExportedStatus();
397
- return Object.freeze({
398
- ...image,
399
- ...exportedStatus,
400
- });
401
- });
402
- },
403
337
  };
404
338
  //# sourceMappingURL=image-entity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image-entity.js","sourceRoot":"","sources":["../../../images/entities/image-entity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image-entity.js","sourceRoot":"","sources":["../../../images/entities/image-entity.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ export * from "./events/image-created-event.js";
38
38
  export * from "./events/image-deleted-event.js";
39
39
  export * from "./repositories/images-command-repository.interface.js";
40
40
  export * from "./repositories/images-query-repository.interface.js";
41
+ export * from "./services/images-batch-domain-service.js";
41
42
  export * from "./services/images-domain-service.js";
42
43
  export * from "./types/cache-strategy.js";
43
44
  export * from "./types/query-params.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../images/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,cAAc,4BAA4B,CAAC;AAG3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAGhD,cAAc,uDAAuD,CAAC;AACtE,cAAc,qDAAqD,CAAC;AAGpE,cAAc,qCAAqC,CAAC;AAGpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../images/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,cAAc,4BAA4B,CAAC;AAG3C,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAGhD,cAAc,uDAAuD,CAAC;AACtE,cAAc,qDAAqD,CAAC;AAGpE,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AAGpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}
@@ -42,6 +42,7 @@ export * from "./events/image-deleted-event.js";
42
42
  export * from "./repositories/images-command-repository.interface.js";
43
43
  export * from "./repositories/images-query-repository.interface.js";
44
44
  // Services
45
+ export * from "./services/images-batch-domain-service.js";
45
46
  export * from "./services/images-domain-service.js";
46
47
  // Types
47
48
  export * from "./types/cache-strategy.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../images/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,WAAW;AACX,cAAc,4BAA4B,CAAC;AAE3C,SAAS;AACT,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAEhD,eAAe;AACf,cAAc,uDAAuD,CAAC;AACtE,cAAc,qDAAqD,CAAC;AAEpE,WAAW;AACX,cAAc,qCAAqC,CAAC;AAEpD,QAAQ;AACR,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../images/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,WAAW;AACX,cAAc,4BAA4B,CAAC;AAE3C,SAAS;AACT,cAAc,iCAAiC,CAAC;AAChD,cAAc,iCAAiC,CAAC;AAEhD,eAAe;AACf,cAAc,uDAAuD,CAAC;AACtE,cAAc,qDAAqD,CAAC;AAEpE,WAAW;AACX,cAAc,2CAA2C,CAAC;AAC1D,cAAc,qCAAqC,CAAC;AAEpD,QAAQ;AACR,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC"}