@carbonbox/domain 0.8.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -276,5 +276,19 @@ class DateTimeFormattingDomainService {
276
276
  const service = DateTimeFormattingDomainService.create();
277
277
  return service.formatDateToString(date).fold((error) => { throw error; }, (dateString) => dateString);
278
278
  }
279
+ /**
280
+ * @deprecated Use instance method instead
281
+ */
282
+ static getCurrentDateTimeString() {
283
+ const service = DateTimeFormattingDomainService.create();
284
+ return service.getCurrentDateTimeString().fold((error) => { throw error; }, (dateTimeString) => dateTimeString);
285
+ }
286
+ /**
287
+ * @deprecated Use instance method instead
288
+ */
289
+ static formatDateTimeToString(date) {
290
+ const service = DateTimeFormattingDomainService.create();
291
+ return service.formatDateTimeToString(date).fold((error) => { throw error; }, (dateTimeString) => dateTimeString);
292
+ }
279
293
  }
280
294
  exports.DateTimeFormattingDomainService = DateTimeFormattingDomainService;
@@ -7,14 +7,15 @@ const InvalidAggregateIdFormatError_1 = require("../exceptions/InvalidAggregateI
7
7
  /**
8
8
  * Pure AggregateId Value Object with structured ID format
9
9
  *
10
- * Format: {PREFIX}_{UUID} where PREFIX can be BC or BC-SUB1-SUB2-...SUBn
11
- * Each prefix component can have 1+ uppercase letters (validated by specific Value Objects)
10
+ * Format: {PREFIX}_{ID} where PREFIX can be BC or BC-SUB1-SUB2-...SUBn
11
+ * and {ID} is either a UUID v4 (legacy) or a ULID (current standard).
12
+ * Each prefix component can have 1+ uppercase letters (validated by specific Value Objects).
12
13
  *
13
14
  * Examples:
14
- * - STC_550e8400-e29b-41d4-a716-446655440000 (BC-level entity, 3 letters)
15
- * - PMS-SC_550e8400-e29b-41d4-a716-446655440000 (subdomain entity, 3-2 letters)
16
- * - USR-STH-CHO_550e8400-e29b-41d4-a716-446655440000 (subdomain entity, 3-3-3 letters)
17
- * - ADC-SUB-FLD_123e4567-e89b-12d3-a456-426614174000 (N-level expansion, 3-3-3 letters)
15
+ * - STC_550e8400-e29b-41d4-a716-446655440000 (UUID v4 — legacy)
16
+ * - PMS-SC_550e8400-e29b-41d4-a716-446655440000 (UUID v4 — legacy)
17
+ * - ECP-PRC_01ARZ3NDEKTSV4RRFFQ69G5FAV (ULID — current standard)
18
+ * - ECP-JOB_01KQD1C12GGEAV6J63DK02VD5G (ULID — current standard)
18
19
  *
19
20
  * This is a PURE Value Object - no external dependencies or business logic.
20
21
  *
@@ -127,9 +128,10 @@ class AggregateId extends String_1.String {
127
128
  }
128
129
  exports.AggregateId = AggregateId;
129
130
  AggregateId.DEFAULT_PROPERTY_NAME = 'id';
130
- // Standard ID regex (UUID v4 format)
131
- AggregateId.ID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
131
+ // Raw ID regex: accepts UUID v4 (legacy) or ULID (current).
132
+ // ULID = 26 chars, Crockford's Base32 alphabet (case-insensitive).
133
+ AggregateId.ID_REGEX = /^([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|[0-9A-HJKMNP-TV-Z]{26})$/i;
132
134
  // Aggregate ID format: BC_ID or BC-SUB1-SUB2-...SUBn_ID (flexible N-level subdomain support)
133
135
  // Pattern: [A-Z]+(-[A-Z]+)*_[ID] - BC alone OR BC with unlimited SUBn levels (1+ letters per component)
134
136
  // Each specific Value Object validates its exact prefix format
135
- AggregateId.AGGREGATE_ID_REGEX = /^[A-Z]+(-[A-Z]+)*_[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
137
+ AggregateId.AGGREGATE_ID_REGEX = /^[A-Z]+(-[A-Z]+)*_([0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|[0-9A-HJKMNP-TV-Z]{26})$/i;
@@ -101,5 +101,13 @@ export declare class DateTimeFormattingDomainService implements IDateTimeFormatt
101
101
  * @deprecated Use instance method instead
102
102
  */
103
103
  static formatDateToString(date: Date): string;
104
+ /**
105
+ * @deprecated Use instance method instead
106
+ */
107
+ static getCurrentDateTimeString(): string;
108
+ /**
109
+ * @deprecated Use instance method instead
110
+ */
111
+ static formatDateTimeToString(date: Date): string;
104
112
  }
105
113
  //# sourceMappingURL=DateTimeFormattingDomainService.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimeFormattingDomainService.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/shared/domain/services/implementations/DateTimeFormattingDomainService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAGjF,OAAO,EAAE,gCAAgC,EAAE,MAAM,+CAA+C,CAAC;AAEjG;;;;GAIG;AACH,qBAAa,+BAAgC,YAAW,gCAAgC;IACtF,OAAO;WAIO,MAAM,IAAI,+BAA+B;IAIvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2D;IAEtF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyG;IAExI;;;;OAIG;IACI,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;IAmBrF;;;;OAIG;IACI,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;IAiB7F;;;;OAIG;IACI,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAsB9E;;;;OAIG;IACI,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAyBlF;;;OAGG;IACI,oBAAoB,IAAI,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAItE;;;OAGG;IACI,wBAAwB,IAAI,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAI1E;;;;OAIG;IACI,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC;IAyBjF;;;;OAIG;IACI,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC;IA4BzF;;;;OAIG;IACI,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;IAoChF;;;;OAIG;IACI,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;IAoCxF;;;;;OAKG;IACI,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC;IA0BtG;;;;;OAKG;IACI,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC;IA0BlH;;;OAGG;IACI,aAAa,IAAI,MAAM;IAI9B;;;OAGG;IACI,iBAAiB,IAAI,MAAM;IAOlC;;OAEG;WACW,oBAAoB,IAAI,MAAM;IAQ5C;;OAEG;WACW,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;CAOrD"}
1
+ {"version":3,"file":"DateTimeFormattingDomainService.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/shared/domain/services/implementations/DateTimeFormattingDomainService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAGjF,OAAO,EAAE,gCAAgC,EAAE,MAAM,+CAA+C,CAAC;AAEjG;;;;GAIG;AACH,qBAAa,+BAAgC,YAAW,gCAAgC;IACtF,OAAO;WAIO,MAAM,IAAI,+BAA+B;IAIvD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2D;IAEtF,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAyG;IAExI;;;;OAIG;IACI,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;IAmBrF;;;;OAIG;IACI,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;IAiB7F;;;;OAIG;IACI,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAsB9E;;;;OAIG;IACI,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAyBlF;;;OAGG;IACI,oBAAoB,IAAI,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAItE;;;OAGG;IACI,wBAAwB,IAAI,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC;IAI1E;;;;OAIG;IACI,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC;IAyBjF;;;;OAIG;IACI,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,IAAI,CAAC;IA4BzF;;;;OAIG;IACI,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;IAoChF;;;;OAIG;IACI,eAAe,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,OAAO,CAAC;IAoCxF;;;;;OAKG;IACI,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC;IA0BtG;;;;;OAKG;IACI,gBAAgB,CAAC,eAAe,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC;IA0BlH;;;OAGG;IACI,aAAa,IAAI,MAAM;IAI9B;;;OAGG;IACI,iBAAiB,IAAI,MAAM;IAOlC;;OAEG;WACW,oBAAoB,IAAI,MAAM;IAQ5C;;OAEG;WACW,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAQpD;;OAEG;WACW,wBAAwB,IAAI,MAAM;IAQhD;;OAEG;WACW,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;CAOzD"}
@@ -2,14 +2,15 @@ import { String } from './String';
2
2
  /**
3
3
  * Pure AggregateId Value Object with structured ID format
4
4
  *
5
- * Format: {PREFIX}_{UUID} where PREFIX can be BC or BC-SUB1-SUB2-...SUBn
6
- * Each prefix component can have 1+ uppercase letters (validated by specific Value Objects)
5
+ * Format: {PREFIX}_{ID} where PREFIX can be BC or BC-SUB1-SUB2-...SUBn
6
+ * and {ID} is either a UUID v4 (legacy) or a ULID (current standard).
7
+ * Each prefix component can have 1+ uppercase letters (validated by specific Value Objects).
7
8
  *
8
9
  * Examples:
9
- * - STC_550e8400-e29b-41d4-a716-446655440000 (BC-level entity, 3 letters)
10
- * - PMS-SC_550e8400-e29b-41d4-a716-446655440000 (subdomain entity, 3-2 letters)
11
- * - USR-STH-CHO_550e8400-e29b-41d4-a716-446655440000 (subdomain entity, 3-3-3 letters)
12
- * - ADC-SUB-FLD_123e4567-e89b-12d3-a456-426614174000 (N-level expansion, 3-3-3 letters)
10
+ * - STC_550e8400-e29b-41d4-a716-446655440000 (UUID v4 — legacy)
11
+ * - PMS-SC_550e8400-e29b-41d4-a716-446655440000 (UUID v4 — legacy)
12
+ * - ECP-PRC_01ARZ3NDEKTSV4RRFFQ69G5FAV (ULID — current standard)
13
+ * - ECP-JOB_01KQD1C12GGEAV6J63DK02VD5G (ULID — current standard)
13
14
  *
14
15
  * This is a PURE Value Object - no external dependencies or business logic.
15
16
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AggregateId.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/value-objects/AggregateId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,WAAY,SAAQ,MAAM;IACrC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,QAAQ;IAGvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAA4E;IAK5G,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAA6F;IAEvI,SAAS,aACP,KAAK,EAAE,MAAM,EACb,oBAAoB,EAAE,OAAO,EAC7B,YAAY,GAAE,MAA0C;WAanC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;WAI/B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;IAI9D;;OAEG;IACI,SAAS,IAAI,MAAM;IAQ1B;;OAEG;IACI,aAAa,IAAI,MAAM;IAQ9B;;OAEG;IACI,qBAAqB,IAAI,MAAM;IAKtC;;;OAGG;IACI,iBAAiB,IAAI,MAAM,EAAE;IAQpC;;;OAGG;IACI,uBAAuB,IAAI,MAAM;IAKxC;;OAEG;IACI,aAAa,IAAI,OAAO;IAI/B;;OAEG;WACW,qBAAqB,CACjC,EAAE,EAAE,MAAM,EACV,YAAY,GAAE,MAA0C,GACvD,IAAI;IAMP,SAAS,CAAC,MAAM,CAAC,wBAAwB,CACvC,KAAK,EAAE,MAAM,EACb,YAAY,GAAE,MAAa,GAC1B,IAAI;IAMP,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIjD,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIvD,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI/C,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;WAIvC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;WAInC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIvC,YAAY,IAAI,MAAM;CAGvC"}
1
+ {"version":3,"file":"AggregateId.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/value-objects/AggregateId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,WAAY,SAAQ,MAAM;IACrC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,QAAQ;IAIvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAqG;IAKrI,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAsH;IAEhK,SAAS,aACP,KAAK,EAAE,MAAM,EACb,oBAAoB,EAAE,OAAO,EAC7B,YAAY,GAAE,MAA0C;WAanC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;WAI/B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,WAAW;IAI9D;;OAEG;IACI,SAAS,IAAI,MAAM;IAQ1B;;OAEG;IACI,aAAa,IAAI,MAAM;IAQ9B;;OAEG;IACI,qBAAqB,IAAI,MAAM;IAKtC;;;OAGG;IACI,iBAAiB,IAAI,MAAM,EAAE;IAQpC;;;OAGG;IACI,uBAAuB,IAAI,MAAM;IAKxC;;OAEG;IACI,aAAa,IAAI,OAAO;IAI/B;;OAEG;WACW,qBAAqB,CACjC,EAAE,EAAE,MAAM,EACV,YAAY,GAAE,MAA0C,GACvD,IAAI;IAMP,SAAS,CAAC,MAAM,CAAC,wBAAwB,CACvC,KAAK,EAAE,MAAM,EACb,YAAY,GAAE,MAAa,GAC1B,IAAI;IAMP,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIjD,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIvD,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAI/C,SAAS,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;WAIvC,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;WAInC,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIvC,YAAY,IAAI,MAAM;CAGvC"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "browser": false
4
4
  },
5
5
  "name": "@carbonbox/domain",
6
- "version": "0.8.0",
6
+ "version": "0.8.2",
7
7
  "description": "Domain package for CarbonBox Project",
8
8
  "main": "build/main/index.js",
9
9
  "types": "build/types/main/index.d.ts",