@carbonbox/domain 0.16.4 → 0.17.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.
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EmissionCalculationFormulaId = void 0;
4
4
  const AggregateId_1 = require("../../../shared/domain/value-objects/AggregateId");
5
+ const SemanticUuidPrefix_1 = require("../../../shared/domain/enums/SemanticUuidPrefix");
6
+ const InvalidAggregatePrefixError_1 = require("../../../shared/domain/exceptions/InvalidAggregatePrefixError");
5
7
  class EmissionCalculationFormulaId extends AggregateId_1.AggregateId {
6
8
  constructor(value, skipDomainValidation) {
7
9
  super(value, skipDomainValidation, EmissionCalculationFormulaId.PROPERTY_NAME);
@@ -10,8 +12,31 @@ class EmissionCalculationFormulaId extends AggregateId_1.AggregateId {
10
12
  AggregateId_1.AggregateId.guardAgainstEmptyValue(value, EmissionCalculationFormulaId.PROPERTY_NAME);
11
13
  AggregateId_1.AggregateId.guardAgainstInvalidType(value, EmissionCalculationFormulaId.PROPERTY_NAME);
12
14
  AggregateId_1.AggregateId.guardAgainstInvalidId(value, EmissionCalculationFormulaId.PROPERTY_NAME);
15
+ // Validate that the prefix is valid for EmissionCalculationFormula
16
+ EmissionCalculationFormulaId.guardAgainstInvalidPrefix(value);
13
17
  return new EmissionCalculationFormulaId(value, false);
14
18
  }
19
+ /**
20
+ * Validates that the UUID has a valid EmissionCalculationFormula prefix
21
+ */
22
+ static guardAgainstInvalidPrefix(value) {
23
+ try {
24
+ const tempInstance = new EmissionCalculationFormulaId(value, true);
25
+ const prefix = tempInstance.extractPrefix();
26
+ if (EmissionCalculationFormulaId.VALID_PREFIXES.includes(prefix) === false) {
27
+ throw InvalidAggregatePrefixError_1.InvalidAggregatePrefixError.create(value, 'EmissionCalculationFormula', prefix, EmissionCalculationFormulaId.VALID_PREFIXES, EmissionCalculationFormulaId.PROPERTY_NAME);
28
+ }
29
+ }
30
+ catch (error) {
31
+ if (error instanceof InvalidAggregatePrefixError_1.InvalidAggregatePrefixError) {
32
+ throw error;
33
+ }
34
+ if (error instanceof Error) {
35
+ throw InvalidAggregatePrefixError_1.InvalidAggregatePrefixError.create(value, 'EmissionCalculationFormula', 'UNKNOWN', EmissionCalculationFormulaId.VALID_PREFIXES, EmissionCalculationFormulaId.PROPERTY_NAME);
36
+ }
37
+ throw error;
38
+ }
39
+ }
15
40
  static fromPrimitives(primitive) {
16
41
  const value = primitive;
17
42
  return new EmissionCalculationFormulaId(value, true);
@@ -22,3 +47,6 @@ class EmissionCalculationFormulaId extends AggregateId_1.AggregateId {
22
47
  }
23
48
  exports.EmissionCalculationFormulaId = EmissionCalculationFormulaId;
24
49
  EmissionCalculationFormulaId.PROPERTY_NAME = 'id';
50
+ EmissionCalculationFormulaId.VALID_PREFIXES = [
51
+ SemanticUuidPrefix_1.SemanticUuidPrefix.ECF_FORMULA,
52
+ ];
@@ -49,6 +49,7 @@ var SemanticUuidPrefix;
49
49
  SemanticUuidPrefix["CPR_FACILITIES"] = "CPR-FAC";
50
50
  SemanticUuidPrefix["CPR_PRODUCTS"] = "CPR-PRD";
51
51
  // Emission Calculation Formulas
52
+ SemanticUuidPrefix["ECF_FORMULA"] = "ECF-FORMULA";
52
53
  SemanticUuidPrefix["ECF_VARIABLES"] = "ECF-VAR";
53
54
  SemanticUuidPrefix["ECF_FACTORS"] = "ECF-FAC";
54
55
  SemanticUuidPrefix["ECF_GWP"] = "ECF-GWP";
@@ -67,6 +67,7 @@ class AggregateIdDomainService {
67
67
  [SemanticUuidPrefix_1.SemanticUuidPrefix.CPR_FACILITIES]: 'Company Resources Facilities',
68
68
  [SemanticUuidPrefix_1.SemanticUuidPrefix.CPR_PRODUCTS]: 'Company Resources Products',
69
69
  // Emission Calculation Formulas bounded context
70
+ [SemanticUuidPrefix_1.SemanticUuidPrefix.ECF_FORMULA]: 'Emission Calculation Formula',
70
71
  [SemanticUuidPrefix_1.SemanticUuidPrefix.ECF_VARIABLES]: 'Emission Calculation Formula Variables',
71
72
  [SemanticUuidPrefix_1.SemanticUuidPrefix.ECF_FACTORS]: 'Emission Calculation Formula Factors',
72
73
  [SemanticUuidPrefix_1.SemanticUuidPrefix.ECF_GWP]: 'Emission Calculation Formula GWP',
@@ -146,6 +147,7 @@ class AggregateIdDomainService {
146
147
  'Company Resources Events': [SemanticUuidPrefix_1.SemanticUuidPrefix.CPR_EVENTS],
147
148
  'Company Resources Facilities': [SemanticUuidPrefix_1.SemanticUuidPrefix.CPR_FACILITIES],
148
149
  'Company Resources Products': [SemanticUuidPrefix_1.SemanticUuidPrefix.CPR_PRODUCTS],
150
+ 'Emission Calculation Formula': [SemanticUuidPrefix_1.SemanticUuidPrefix.ECF_FORMULA],
149
151
  'Emission Calculation Formula Variables': [SemanticUuidPrefix_1.SemanticUuidPrefix.ECF_VARIABLES],
150
152
  'Emission Calculation Formula Factors': [SemanticUuidPrefix_1.SemanticUuidPrefix.ECF_FACTORS],
151
153
  'Emission Calculation Formula GWP': [SemanticUuidPrefix_1.SemanticUuidPrefix.ECF_GWP],
@@ -1,8 +1,13 @@
1
1
  import { AggregateId } from '../../../shared/domain/value-objects/AggregateId';
2
2
  export declare class EmissionCalculationFormulaId extends AggregateId {
3
3
  private static readonly PROPERTY_NAME;
4
+ private static readonly VALID_PREFIXES;
4
5
  private constructor();
5
6
  static create(value: string): EmissionCalculationFormulaId;
7
+ /**
8
+ * Validates that the UUID has a valid EmissionCalculationFormula prefix
9
+ */
10
+ private static guardAgainstInvalidPrefix;
6
11
  static fromPrimitives(primitive: string): EmissionCalculationFormulaId;
7
12
  toPrimitives(): string;
8
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EmissionCalculationFormulaId.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/emission-calculation-formulas/domain/value-objects/EmissionCalculationFormulaId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAE/E,qBAAa,4BACX,SAAQ,WAAW;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAQ;IAE7C,OAAO;WAIgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,4BAA4B;WAOnD,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,4BAA4B;IAMtE,YAAY,IAAI,MAAM;CAGvC"}
1
+ {"version":3,"file":"EmissionCalculationFormulaId.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/emission-calculation-formulas/domain/value-objects/EmissionCalculationFormulaId.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAI/E,qBAAa,4BACX,SAAQ,WAAW;IACnB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAQ;IAE7C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAEpC;IAEF,OAAO;WAIgB,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,4BAA4B;IAW1E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;WA+BjB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,4BAA4B;IAMtE,YAAY,IAAI,MAAM;CAGvC"}
@@ -40,6 +40,7 @@ export declare enum SemanticUuidPrefix {
40
40
  CPR_EVENT_EDITION = "CPR-EVT-EDT",
41
41
  CPR_FACILITIES = "CPR-FAC",
42
42
  CPR_PRODUCTS = "CPR-PRD",
43
+ ECF_FORMULA = "ECF-FORMULA",
43
44
  ECF_VARIABLES = "ECF-VAR",
44
45
  ECF_FACTORS = "ECF-FAC",
45
46
  ECF_GWP = "ECF-GWP",
@@ -1 +1 @@
1
- {"version":3,"file":"SemanticUuidPrefix.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/enums/SemanticUuidPrefix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,oBAAY,kBAAkB;IAE5B,GAAG,QAAQ,CAAE,0CAA0C;IAGvD,eAAe,YAAY;IAC3B,UAAU,YAAY;IACtB,SAAS,YAAY;IACrB,UAAU,YAAY;IACtB,SAAS,YAAY;IACrB,eAAe,YAAY;IAC3B,oBAAoB,YAAY;IAGhC,aAAa,YAAY;IACzB,qBAAqB,gBAAgB;IACrC,wBAAwB,gBAAgB;IACxC,SAAS,YAAY;IACrB,mBAAmB,gBAAgB;IACnC,oBAAoB,gBAAgB;IACpC,WAAW,YAAY;IACvB,mBAAmB,gBAAgB;IACnC,sBAAsB,gBAAgB;IACtC,oBAAoB,gBAAgB;IACpC,aAAa,YAAY;IACzB,WAAW,YAAY;IACvB,cAAc,YAAY;IAG1B,UAAU,YAAY;IACtB,iBAAiB,gBAAgB;IACjC,cAAc,YAAY;IAC1B,YAAY,YAAY;IAGxB,aAAa,YAAY;IACzB,WAAW,YAAY;IACvB,OAAO,YAAY;IAGnB,QAAQ,YAAY;IACpB,aAAa,YAAY;IACzB,aAAa,YAAY;IAGzB,gBAAgB,YAAY;IAC5B,gBAAgB,YAAY;IAC5B,eAAe,YAAY;IAG3B,GAAG,QAAQ,CAAE,0BAA0B;IAGvC,cAAc,gBAAgB;IAC9B,mBAAmB,gBAAgB;IACnC,YAAY,gBAAgB;IAC5B,eAAe,gBAAgB;IAG/B,mBAAmB,WAAW;IAC9B,mBAAmB,WAAW;IAC9B,qBAAqB,WAAW;IAChC,kBAAkB,WAAW;IAC7B,uBAAuB,WAAW;IAGlC,UAAU,YAAY;IACtB,UAAU,YAAY;CAMvB"}
1
+ {"version":3,"file":"SemanticUuidPrefix.d.ts","sourceRoot":"","sources":["../../../../../../src/carbonbox/shared/domain/enums/SemanticUuidPrefix.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,oBAAY,kBAAkB;IAE5B,GAAG,QAAQ,CAAE,0CAA0C;IAGvD,eAAe,YAAY;IAC3B,UAAU,YAAY;IACtB,SAAS,YAAY;IACrB,UAAU,YAAY;IACtB,SAAS,YAAY;IACrB,eAAe,YAAY;IAC3B,oBAAoB,YAAY;IAGhC,aAAa,YAAY;IACzB,qBAAqB,gBAAgB;IACrC,wBAAwB,gBAAgB;IACxC,SAAS,YAAY;IACrB,mBAAmB,gBAAgB;IACnC,oBAAoB,gBAAgB;IACpC,WAAW,YAAY;IACvB,mBAAmB,gBAAgB;IACnC,sBAAsB,gBAAgB;IACtC,oBAAoB,gBAAgB;IACpC,aAAa,YAAY;IACzB,WAAW,YAAY;IACvB,cAAc,YAAY;IAG1B,UAAU,YAAY;IACtB,iBAAiB,gBAAgB;IACjC,cAAc,YAAY;IAC1B,YAAY,YAAY;IAGxB,WAAW,gBAAgB;IAC3B,aAAa,YAAY;IACzB,WAAW,YAAY;IACvB,OAAO,YAAY;IAGnB,QAAQ,YAAY;IACpB,aAAa,YAAY;IACzB,aAAa,YAAY;IAGzB,gBAAgB,YAAY;IAC5B,gBAAgB,YAAY;IAC5B,eAAe,YAAY;IAG3B,GAAG,QAAQ,CAAE,0BAA0B;IAGvC,cAAc,gBAAgB;IAC9B,mBAAmB,gBAAgB;IACnC,YAAY,gBAAgB;IAC5B,eAAe,gBAAgB;IAG/B,mBAAmB,WAAW;IAC9B,mBAAmB,WAAW;IAC9B,qBAAqB,WAAW;IAChC,kBAAkB,WAAW;IAC7B,uBAAuB,WAAW;IAGlC,UAAU,YAAY;IACtB,UAAU,YAAY;CAMvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"AggregateIdDomainService.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/shared/domain/services/implementations/AggregateIdDomainService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAI/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF;;;;;;;GAOG;AACH,qBAAa,wBAAyB,YAAW,yBAAyB;IACxE,OAAO;WAIO,MAAM,IAAI,wBAAwB;IAKhD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiG;IAGpI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4E;IAErG;;OAEG;IACI,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,OAAO,CAAC;IAmBrF;;OAEG;IACI,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAqEpG;;OAEG;IACI,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAqB/F;;OAEG;IACI,cAAc,IAAI,OAAO,CAAC,6BAA6B,EAAE,MAAM,EAAE,CAAC;IAazE;;OAEG;IACI,2BAA2B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,kBAAkB,EAAE,CAAC;IAoDxH;;OAEG;IACI,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,OAAO,CAAC;IAmBtG;;OAEG;IACI,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAwBzF;;OAEG;IACI,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAiCrF;;OAEG;IACI,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAarG;;OAEG;IACI,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,MAAM,EAAE,CAAC;IAiB/F;;OAEG;IACI,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,OAAO,CAAC;IAI1F;;OAEG;IACI,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;CAaxF"}
1
+ {"version":3,"file":"AggregateIdDomainService.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/shared/domain/services/implementations/AggregateIdDomainService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,gDAAgD,CAAC;AAI/F,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AAEnF;;;;;;;GAOG;AACH,qBAAa,wBAAyB,YAAW,yBAAyB;IACxE,OAAO;WAIO,MAAM,IAAI,wBAAwB;IAKhD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAiG;IAGpI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4E;IAErG;;OAEG;IACI,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,OAAO,CAAC;IAmBrF;;OAEG;IACI,iBAAiB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAsEpG;;OAEG;IACI,YAAY,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAqB/F;;OAEG;IACI,cAAc,IAAI,OAAO,CAAC,6BAA6B,EAAE,MAAM,EAAE,CAAC;IAazE;;OAEG;IACI,2BAA2B,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,kBAAkB,EAAE,CAAC;IAqDxH;;OAEG;IACI,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,OAAO,CAAC;IAmBtG;;OAEG;IACI,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAwBzF;;OAEG;IACI,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAiCrF;;OAEG;IACI,yBAAyB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;IAarG;;OAEG;IACI,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,MAAM,EAAE,CAAC;IAiB/F;;OAEG;IACI,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,OAAO,CAAC;IAI1F;;OAEG;IACI,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,6BAA6B,EAAE,MAAM,CAAC;CAaxF"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "browser": false
4
4
  },
5
5
  "name": "@carbonbox/domain",
6
- "version": "0.16.4",
6
+ "version": "0.17.0",
7
7
  "description": "Domain package for CarbonBox Project",
8
8
  "main": "build/main/index.js",
9
9
  "types": "build/types/main/index.d.ts",