@carbonbox/domain 0.54.0 → 0.55.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.
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/constants/ACTIVITY_DATA_SUBMISSION_EVIDENCE_MAX_COUNT.js +10 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/constants/ACTIVITY_DATA_SUBMISSION_EVIDENCE_MAX_SIZE_IN_BYTES.js +11 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/entity/ActivityDataSubmission.js +201 -6
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/enums/SubmissionEvidenceContentType.js +21 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/exceptions/ActivityDataSubmissionEvidenceContentTypeNotAllowedError.js +34 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/exceptions/ActivityDataSubmissionEvidenceLimitReachedError.js +31 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/exceptions/ActivityDataSubmissionEvidenceNotFoundError.js +31 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/exceptions/ActivityDataSubmissionEvidenceTooLargeError.js +32 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/exceptions/ActivityDataSubmissionInvalidStatusTransitionError.js +35 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionEvidence.js +2 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionEvidencePrimitives.js +2 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionStatusChange.js +2 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionStatusChangePrimitives.js +2 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceContentType.js +44 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceFileName.js +36 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceId.js +40 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceSizeInBytes.js +33 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceStorageObjectKey.js +31 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceUploadedAt.js +26 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceUploadedByStakeholder.js +54 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidences.js +108 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionStatusChangedAt.js +27 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionStatusChangedByStakeholder.js +54 -0
- package/build/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionStatusHistory.js +114 -0
- package/build/carbonbox/carbon-footprint-audits/audit-findings/domain/enums/AuditFindingSubjectType.js +8 -0
- package/build/carbonbox/emission-calculation-results/emission-calculations/domain/entity/EmissionCalculation.js +11 -2
- package/build/carbonbox/emission-calculation-results/emission-calculations/domain/types/AppliedCalculationVariableValue.js +2 -0
- package/build/carbonbox/emission-calculation-results/emission-calculations/domain/types/AppliedCalculationVariableValuePrimitives.js +2 -0
- package/build/carbonbox/emission-calculation-results/emission-calculations/domain/value-objects/EmissionCalculationCalculationVariableValues.js +85 -0
- package/build/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/AppliedEmissionFactor.js +2 -0
- package/build/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/AppliedEmissionFactorPrimitives.js +2 -0
- package/build/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/AppliedGlobalWarmingPotential.js +2 -0
- package/build/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/AppliedGlobalWarmingPotentialPrimitives.js +2 -0
- package/build/carbonbox/emission-calculation-results/ghg-emission-results/domain/value-objects/GHGEmissionResultEmissionFactor.js +64 -16
- package/build/carbonbox/emission-calculation-results/ghg-emission-results/domain/value-objects/GHGEmissionResultGlobalWarmingPotential.js +57 -16
- package/build/carbonbox/shared/domain/enums/ErrorCode.js +6 -0
- package/build/carbonbox/shared/domain/enums/SemanticUuidPrefix.js +1 -0
- package/build/carbonbox/stakeholders/shared/domain/constants/CARBON_AUDITOR_PERMISSION_CEILING.js +2 -0
- package/build/main/index.js +64 -23
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/constants/ACTIVITY_DATA_SUBMISSION_EVIDENCE_MAX_COUNT.d.ts +8 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/constants/ACTIVITY_DATA_SUBMISSION_EVIDENCE_MAX_COUNT.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/constants/ACTIVITY_DATA_SUBMISSION_EVIDENCE_MAX_SIZE_IN_BYTES.d.ts +9 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/constants/ACTIVITY_DATA_SUBMISSION_EVIDENCE_MAX_SIZE_IN_BYTES.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/entity/ActivityDataSubmission.d.ts +63 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/entity/ActivityDataSubmission.d.ts.map +1 -1
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/entity/IActivityDataSubmission.d.ts +4 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/entity/IActivityDataSubmission.d.ts.map +1 -1
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/enums/SubmissionEvidenceContentType.d.ts +18 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/enums/SubmissionEvidenceContentType.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/exceptions/ActivityDataSubmissionEvidenceContentTypeNotAllowedError.d.ts +11 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/exceptions/ActivityDataSubmissionEvidenceContentTypeNotAllowedError.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/exceptions/ActivityDataSubmissionEvidenceLimitReachedError.d.ts +10 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/exceptions/ActivityDataSubmissionEvidenceLimitReachedError.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/exceptions/ActivityDataSubmissionEvidenceNotFoundError.d.ts +10 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/exceptions/ActivityDataSubmissionEvidenceNotFoundError.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/exceptions/ActivityDataSubmissionEvidenceTooLargeError.d.ts +10 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/exceptions/ActivityDataSubmissionEvidenceTooLargeError.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/exceptions/ActivityDataSubmissionInvalidStatusTransitionError.d.ts +13 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/exceptions/ActivityDataSubmissionInvalidStatusTransitionError.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionEvidence.d.ts +17 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionEvidence.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionEvidencePrimitives.d.ts +15 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionEvidencePrimitives.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionPrimitives.d.ts +4 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionPrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionProps.d.ts +4 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionProps.d.ts.map +1 -1
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionStatusChange.d.ts +13 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionStatusChange.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionStatusChangePrimitives.d.ts +12 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/types/ActivityDataSubmissionStatusChangePrimitives.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceContentType.d.ts +21 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceContentType.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceFileName.d.ts +15 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceFileName.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceId.d.ts +15 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceId.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceSizeInBytes.d.ts +14 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceSizeInBytes.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceStorageObjectKey.d.ts +14 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceStorageObjectKey.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceUploadedAt.d.ts +12 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceUploadedAt.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceUploadedByStakeholder.d.ts +18 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidenceUploadedByStakeholder.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidences.d.ts +30 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionEvidences.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionStatusChangedAt.d.ts +13 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionStatusChangedAt.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionStatusChangedByStakeholder.d.ts +18 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionStatusChangedByStakeholder.d.ts.map +1 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionStatusHistory.d.ts +39 -0
- package/build/types/carbonbox/activity-data-collection/activity-data-submissions/domain/value-objects/ActivityDataSubmissionStatusHistory.d.ts.map +1 -0
- package/build/types/carbonbox/carbon-footprint-audits/audit-findings/domain/enums/AuditFindingSubjectType.d.ts +8 -0
- package/build/types/carbonbox/carbon-footprint-audits/audit-findings/domain/enums/AuditFindingSubjectType.d.ts.map +1 -1
- package/build/types/carbonbox/emission-calculation-results/emission-calculations/domain/entity/EmissionCalculation.d.ts +2 -0
- package/build/types/carbonbox/emission-calculation-results/emission-calculations/domain/entity/EmissionCalculation.d.ts.map +1 -1
- package/build/types/carbonbox/emission-calculation-results/emission-calculations/domain/entity/IEmissionCalculation.d.ts +2 -0
- package/build/types/carbonbox/emission-calculation-results/emission-calculations/domain/entity/IEmissionCalculation.d.ts.map +1 -1
- package/build/types/carbonbox/emission-calculation-results/emission-calculations/domain/types/AppliedCalculationVariableValue.d.ts +13 -0
- package/build/types/carbonbox/emission-calculation-results/emission-calculations/domain/types/AppliedCalculationVariableValue.d.ts.map +1 -0
- package/build/types/carbonbox/emission-calculation-results/emission-calculations/domain/types/AppliedCalculationVariableValuePrimitives.d.ts +11 -0
- package/build/types/carbonbox/emission-calculation-results/emission-calculations/domain/types/AppliedCalculationVariableValuePrimitives.d.ts.map +1 -0
- package/build/types/carbonbox/emission-calculation-results/emission-calculations/domain/types/EmissionCalculationPrimitives.d.ts +2 -0
- package/build/types/carbonbox/emission-calculation-results/emission-calculations/domain/types/EmissionCalculationPrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/emission-calculation-results/emission-calculations/domain/types/EmissionCalculationProps.d.ts +2 -0
- package/build/types/carbonbox/emission-calculation-results/emission-calculations/domain/types/EmissionCalculationProps.d.ts.map +1 -1
- package/build/types/carbonbox/emission-calculation-results/emission-calculations/domain/value-objects/EmissionCalculationCalculationVariableValues.d.ts +27 -0
- package/build/types/carbonbox/emission-calculation-results/emission-calculations/domain/value-objects/EmissionCalculationCalculationVariableValues.d.ts.map +1 -0
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/repository/IGHGEmissionResultRepository.d.ts +6 -0
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/repository/IGHGEmissionResultRepository.d.ts.map +1 -1
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/AppliedEmissionFactor.d.ts +13 -0
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/AppliedEmissionFactor.d.ts.map +1 -0
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/AppliedEmissionFactorPrimitives.d.ts +11 -0
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/AppliedEmissionFactorPrimitives.d.ts.map +1 -0
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/AppliedGlobalWarmingPotential.d.ts +12 -0
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/AppliedGlobalWarmingPotential.d.ts.map +1 -0
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/AppliedGlobalWarmingPotentialPrimitives.d.ts +10 -0
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/AppliedGlobalWarmingPotentialPrimitives.d.ts.map +1 -0
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/GHGEmissionResultPrimitives.d.ts +4 -2
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/GHGEmissionResultPrimitives.d.ts.map +1 -1
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/GHGEmissionResultProps.d.ts +4 -2
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/types/GHGEmissionResultProps.d.ts.map +1 -1
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/value-objects/GHGEmissionResultEmissionFactor.d.ts +25 -5
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/value-objects/GHGEmissionResultEmissionFactor.d.ts.map +1 -1
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/value-objects/GHGEmissionResultGlobalWarmingPotential.d.ts +20 -5
- package/build/types/carbonbox/emission-calculation-results/ghg-emission-results/domain/value-objects/GHGEmissionResultGlobalWarmingPotential.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/enums/ErrorCode.d.ts +5 -0
- package/build/types/carbonbox/shared/domain/enums/ErrorCode.d.ts.map +1 -1
- package/build/types/carbonbox/shared/domain/enums/SemanticUuidPrefix.d.ts +1 -0
- package/build/types/carbonbox/shared/domain/enums/SemanticUuidPrefix.d.ts.map +1 -1
- package/build/types/carbonbox/stakeholders/shared/domain/constants/CARBON_AUDITOR_PERMISSION_CEILING.d.ts.map +1 -1
- package/build/types/main/index.d.ts +30 -0
- package/build/types/main/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.EmissionCalculationCalculationVariableValues = void 0;
|
|
4
|
+
const InvalidPropertyTypeError_1 = require("../../../../shared/domain/exceptions/InvalidPropertyTypeError");
|
|
5
|
+
const InvalidPropertyValueError_1 = require("../../../../shared/domain/exceptions/InvalidPropertyValueError");
|
|
6
|
+
const Numeric_1 = require("../../../../shared/domain/value-objects/Numeric");
|
|
7
|
+
const ValueObject_1 = require("../../../../shared/domain/value-objects/ValueObject");
|
|
8
|
+
const CalculationVariableCode_1 = require("../../../../emission-calculation-formulas/calculation-variables/domain/value-objects/CalculationVariableCode");
|
|
9
|
+
const CalculationVariableId_1 = require("../../../../emission-calculation-formulas/calculation-variables/domain/value-objects/CalculationVariableId");
|
|
10
|
+
const CalculationVariableName_1 = require("../../../../emission-calculation-formulas/calculation-variables/domain/value-objects/CalculationVariableName");
|
|
11
|
+
const CalculationVariableResolutionStrategy_1 = require("../../../../emission-calculation-formulas/calculation-variables/domain/value-objects/CalculationVariableResolutionStrategy");
|
|
12
|
+
const CalculationVariableSymbol_1 = require("../../../../emission-calculation-formulas/calculation-variables/domain/value-objects/CalculationVariableSymbol");
|
|
13
|
+
/**
|
|
14
|
+
* Values the formula variables took in an emission calculation (AUD-D20), in the order of the
|
|
15
|
+
* formula. With the formula snapshot (`emissionCalculationFormula.expression`) and the EF/GWP of
|
|
16
|
+
* each GHG emission result, a verifier reproduces the number without reading the current catalog.
|
|
17
|
+
*
|
|
18
|
+
* Invariants: each entry is a valid variable reference with a known resolution strategy and a
|
|
19
|
+
* finite value; a variable (id) and a symbol appear once. Empty only for a formula without
|
|
20
|
+
* variables.
|
|
21
|
+
*/
|
|
22
|
+
class EmissionCalculationCalculationVariableValues extends ValueObject_1.ValueObject {
|
|
23
|
+
constructor(value, skipDomainValidation) {
|
|
24
|
+
super(EmissionCalculationCalculationVariableValues.toPrimitivesArray(value), skipDomainValidation, EmissionCalculationCalculationVariableValues.PROPERTY_NAME, 'AppliedCalculationVariableValuePrimitives[]', { allowNull: false, allowUndefined: false });
|
|
25
|
+
}
|
|
26
|
+
static create(value) {
|
|
27
|
+
EmissionCalculationCalculationVariableValues.guardAgainstInvalidValues(value);
|
|
28
|
+
return new EmissionCalculationCalculationVariableValues(value, false);
|
|
29
|
+
}
|
|
30
|
+
static fromPrimitives(primitives) {
|
|
31
|
+
return new EmissionCalculationCalculationVariableValues(primitives, true);
|
|
32
|
+
}
|
|
33
|
+
static guardAgainstInvalidValues(value) {
|
|
34
|
+
const propertyName = EmissionCalculationCalculationVariableValues.PROPERTY_NAME;
|
|
35
|
+
if (Array.isArray(value) === false) {
|
|
36
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(propertyName, 'array of AppliedCalculationVariableValue', typeof value);
|
|
37
|
+
}
|
|
38
|
+
value.forEach((entry, index) => {
|
|
39
|
+
if (entry === null || typeof entry !== 'object' || entry.calculationVariable === null || typeof entry.calculationVariable !== 'object') {
|
|
40
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(`${propertyName}[${index}]`, 'AppliedCalculationVariableValue object', typeof entry);
|
|
41
|
+
}
|
|
42
|
+
CalculationVariableId_1.CalculationVariableId.create(entry.calculationVariable.id);
|
|
43
|
+
CalculationVariableCode_1.CalculationVariableCode.create(entry.calculationVariable.code);
|
|
44
|
+
CalculationVariableSymbol_1.CalculationVariableSymbol.create(entry.calculationVariable.symbol);
|
|
45
|
+
CalculationVariableName_1.CalculationVariableName.create(entry.calculationVariable.name);
|
|
46
|
+
CalculationVariableResolutionStrategy_1.CalculationVariableResolutionStrategy.create(entry.resolutionStrategy);
|
|
47
|
+
Numeric_1.Numeric.guardAgainstInvalidNumber(entry.value, `${propertyName}[${index}].value`);
|
|
48
|
+
});
|
|
49
|
+
EmissionCalculationCalculationVariableValues.guardAgainstDuplicates(value.map((entry) => entry.calculationVariable.id), `${propertyName}.calculationVariable.id`);
|
|
50
|
+
EmissionCalculationCalculationVariableValues.guardAgainstDuplicates(value.map((entry) => entry.calculationVariable.symbol), `${propertyName}.calculationVariable.symbol`);
|
|
51
|
+
}
|
|
52
|
+
static guardAgainstDuplicates(keys, propertyName) {
|
|
53
|
+
const duplicated = keys.filter((key, index) => keys.indexOf(key) !== index);
|
|
54
|
+
if (duplicated.length > 0) {
|
|
55
|
+
throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(propertyName, 'each variable once', `repeated: ${Array.from(new Set(duplicated)).join(', ')}`);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
static toPrimitivesArray(value) {
|
|
59
|
+
if (Array.isArray(value) === false) {
|
|
60
|
+
return value;
|
|
61
|
+
}
|
|
62
|
+
return value.map((entry) => ({
|
|
63
|
+
calculationVariable: {
|
|
64
|
+
id: entry.calculationVariable.id,
|
|
65
|
+
code: entry.calculationVariable.code,
|
|
66
|
+
symbol: entry.calculationVariable.symbol,
|
|
67
|
+
name: entry.calculationVariable.name,
|
|
68
|
+
},
|
|
69
|
+
resolutionStrategy: entry.resolutionStrategy,
|
|
70
|
+
value: entry.value,
|
|
71
|
+
}));
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* The value the variable with the given symbol took, or null when the formula has no such variable.
|
|
75
|
+
*/
|
|
76
|
+
findValueBySymbol(symbol) {
|
|
77
|
+
const entry = this.value.find((candidate) => candidate.calculationVariable.symbol === symbol);
|
|
78
|
+
return entry === undefined ? null : entry.value;
|
|
79
|
+
}
|
|
80
|
+
toPrimitives() {
|
|
81
|
+
return EmissionCalculationCalculationVariableValues.toPrimitivesArray(this.value);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.EmissionCalculationCalculationVariableValues = EmissionCalculationCalculationVariableValues;
|
|
85
|
+
EmissionCalculationCalculationVariableValues.PROPERTY_NAME = 'calculationVariableValues';
|
|
@@ -1,31 +1,79 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GHGEmissionResultEmissionFactor = void 0;
|
|
4
|
+
const CountryCode_1 = require("../../../../shared/domain/enums/CountryCode");
|
|
5
|
+
const InvalidPropertyTypeError_1 = require("../../../../shared/domain/exceptions/InvalidPropertyTypeError");
|
|
6
|
+
const InvalidPropertyValueError_1 = require("../../../../shared/domain/exceptions/InvalidPropertyValueError");
|
|
4
7
|
const Numeric_1 = require("../../../../shared/domain/value-objects/Numeric");
|
|
5
|
-
|
|
8
|
+
const ObjectValueObject_1 = require("../../../../shared/domain/value-objects/ObjectValueObject");
|
|
9
|
+
const EmissionFactorCode_1 = require("../../../../emission-calculation-formulas/emission-factors/domain/value-objects/EmissionFactorCode");
|
|
10
|
+
const EmissionFactorId_1 = require("../../../../emission-calculation-formulas/emission-factors/domain/value-objects/EmissionFactorId");
|
|
11
|
+
/**
|
|
12
|
+
* Emission factor applied to one greenhouse gas of a calculation (AUD-D20): the factor of the catalog
|
|
13
|
+
* (id and code), the country of the value applied and the value. A verifier recomputes
|
|
14
|
+
* `activity × factorValue × GWP` and follows the id to the factor without depending on the current
|
|
15
|
+
* catalog, which is edited in place.
|
|
16
|
+
*
|
|
17
|
+
* `factorValue` can be negative (removals) or zero (the factor declares no value for the gas) and has
|
|
18
|
+
* no cap on decimals (CAL-006). `country` is the country of the value the calculation took: the
|
|
19
|
+
* country of the activity, or the country of the fallback value when the factor is not split by
|
|
20
|
+
* country.
|
|
21
|
+
*/
|
|
22
|
+
class GHGEmissionResultEmissionFactor extends ObjectValueObject_1.ObjectValueObject {
|
|
6
23
|
constructor(value, skipDomainValidation) {
|
|
7
|
-
super(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
// decimales; se persiste como Float.
|
|
14
|
-
maxDecimalPlaces: Number.POSITIVE_INFINITY,
|
|
15
|
-
minValue: Number.NEGATIVE_INFINITY,
|
|
16
|
-
maxValue: Number.POSITIVE_INFINITY,
|
|
17
|
-
});
|
|
24
|
+
super({
|
|
25
|
+
id: value.id,
|
|
26
|
+
code: value.code,
|
|
27
|
+
country: value.country,
|
|
28
|
+
factorValue: value.factorValue,
|
|
29
|
+
}, skipDomainValidation, GHGEmissionResultEmissionFactor.PROPERTY_NAME, 'AppliedEmissionFactorPrimitives', { allowNull: false, allowUndefined: false });
|
|
18
30
|
}
|
|
19
31
|
static create(value) {
|
|
20
|
-
|
|
32
|
+
GHGEmissionResultEmissionFactor.guardAgainstInvalidAppliedEmissionFactor(value);
|
|
21
33
|
return new GHGEmissionResultEmissionFactor(value, false);
|
|
22
34
|
}
|
|
23
|
-
static fromPrimitives(
|
|
24
|
-
const value =
|
|
35
|
+
static fromPrimitives(primitives) {
|
|
36
|
+
const value = {
|
|
37
|
+
id: primitives.id,
|
|
38
|
+
code: primitives.code,
|
|
39
|
+
country: primitives.country,
|
|
40
|
+
factorValue: primitives.factorValue,
|
|
41
|
+
};
|
|
25
42
|
return new GHGEmissionResultEmissionFactor(value, true);
|
|
26
43
|
}
|
|
44
|
+
static guardAgainstInvalidAppliedEmissionFactor(value) {
|
|
45
|
+
if (value === null || value === undefined || typeof value !== 'object') {
|
|
46
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(GHGEmissionResultEmissionFactor.PROPERTY_NAME, 'AppliedEmissionFactor object', typeof value);
|
|
47
|
+
}
|
|
48
|
+
EmissionFactorId_1.EmissionFactorId.create(value.id);
|
|
49
|
+
EmissionFactorCode_1.EmissionFactorCode.create(value.code);
|
|
50
|
+
if (Object.values(CountryCode_1.CountryCode).includes(value.country) === false) {
|
|
51
|
+
throw InvalidPropertyValueError_1.InvalidPropertyValueError.create(`${GHGEmissionResultEmissionFactor.PROPERTY_NAME}.country`, 'a value of CountryCode', String(value.country));
|
|
52
|
+
}
|
|
53
|
+
Numeric_1.Numeric.guardAgainstInvalidNumber(value.factorValue, `${GHGEmissionResultEmissionFactor.PROPERTY_NAME}.factorValue`);
|
|
54
|
+
}
|
|
55
|
+
get id() {
|
|
56
|
+
return this.value.id;
|
|
57
|
+
}
|
|
58
|
+
get code() {
|
|
59
|
+
return this.value.code;
|
|
60
|
+
}
|
|
61
|
+
get country() {
|
|
62
|
+
return this.value.country;
|
|
63
|
+
}
|
|
64
|
+
get factorValue() {
|
|
65
|
+
return this.value.factorValue;
|
|
66
|
+
}
|
|
67
|
+
isFactor(emissionFactorId) {
|
|
68
|
+
return this.value.id === emissionFactorId;
|
|
69
|
+
}
|
|
27
70
|
toPrimitives() {
|
|
28
|
-
return
|
|
71
|
+
return {
|
|
72
|
+
id: this.value.id,
|
|
73
|
+
code: this.value.code,
|
|
74
|
+
country: this.value.country,
|
|
75
|
+
factorValue: this.value.factorValue,
|
|
76
|
+
};
|
|
29
77
|
}
|
|
30
78
|
}
|
|
31
79
|
exports.GHGEmissionResultEmissionFactor = GHGEmissionResultEmissionFactor;
|
|
@@ -1,31 +1,72 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.GHGEmissionResultGlobalWarmingPotential = void 0;
|
|
4
|
+
const InvalidPropertyTypeError_1 = require("../../../../shared/domain/exceptions/InvalidPropertyTypeError");
|
|
4
5
|
const Numeric_1 = require("../../../../shared/domain/value-objects/Numeric");
|
|
5
|
-
|
|
6
|
+
const ObjectValueObject_1 = require("../../../../shared/domain/value-objects/ObjectValueObject");
|
|
7
|
+
const GlobalWarmingPotentialId_1 = require("../../../../emission-calculation-formulas/global-warming-potentials/domain/value-objects/GlobalWarmingPotentialId");
|
|
8
|
+
const GlobalWarmingPotentialProtocolVersion_1 = require("../../../../emission-calculation-formulas/global-warming-potentials/domain/value-objects/GlobalWarmingPotentialProtocolVersion");
|
|
9
|
+
const GlobalWarmingPotentialTimeHorizonYears_1 = require("../../../../emission-calculation-formulas/global-warming-potentials/domain/value-objects/GlobalWarmingPotentialTimeHorizonYears");
|
|
10
|
+
/**
|
|
11
|
+
* Global warming potential applied to one greenhouse gas of a calculation (AUD-D20): the GWP table of
|
|
12
|
+
* the catalog (id), its protocol version (AR5, AR6...) and time horizon, and the potential applied.
|
|
13
|
+
* Frozen at calculation time, so the result does not depend on the current catalog.
|
|
14
|
+
*
|
|
15
|
+
* `potentialValue` is positive and has no cap on decimals (CAL-006).
|
|
16
|
+
*/
|
|
17
|
+
class GHGEmissionResultGlobalWarmingPotential extends ObjectValueObject_1.ObjectValueObject {
|
|
6
18
|
constructor(value, skipDomainValidation) {
|
|
7
|
-
super(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
// reventar la persistencia.
|
|
14
|
-
maxDecimalPlaces: Number.POSITIVE_INFINITY,
|
|
15
|
-
minValue: Number.MIN_VALUE, // o 0.0000000001 aprox si no quieres usar MIN_VALUE
|
|
16
|
-
maxValue: Number.POSITIVE_INFINITY,
|
|
17
|
-
});
|
|
19
|
+
super({
|
|
20
|
+
id: value.id,
|
|
21
|
+
protocolVersion: value.protocolVersion,
|
|
22
|
+
timeHorizonYears: value.timeHorizonYears,
|
|
23
|
+
potentialValue: value.potentialValue,
|
|
24
|
+
}, skipDomainValidation, GHGEmissionResultGlobalWarmingPotential.PROPERTY_NAME, 'AppliedGlobalWarmingPotentialPrimitives', { allowNull: false, allowUndefined: false });
|
|
18
25
|
}
|
|
19
26
|
static create(value) {
|
|
20
|
-
|
|
27
|
+
GHGEmissionResultGlobalWarmingPotential.guardAgainstInvalidAppliedGlobalWarmingPotential(value);
|
|
21
28
|
return new GHGEmissionResultGlobalWarmingPotential(value, false);
|
|
22
29
|
}
|
|
23
|
-
static fromPrimitives(
|
|
24
|
-
const value =
|
|
30
|
+
static fromPrimitives(primitives) {
|
|
31
|
+
const value = {
|
|
32
|
+
id: primitives.id,
|
|
33
|
+
protocolVersion: primitives.protocolVersion,
|
|
34
|
+
timeHorizonYears: primitives.timeHorizonYears,
|
|
35
|
+
potentialValue: primitives.potentialValue,
|
|
36
|
+
};
|
|
25
37
|
return new GHGEmissionResultGlobalWarmingPotential(value, true);
|
|
26
38
|
}
|
|
39
|
+
static guardAgainstInvalidAppliedGlobalWarmingPotential(value) {
|
|
40
|
+
if (value === null || value === undefined || typeof value !== 'object') {
|
|
41
|
+
throw InvalidPropertyTypeError_1.InvalidPropertyTypeError.create(GHGEmissionResultGlobalWarmingPotential.PROPERTY_NAME, 'AppliedGlobalWarmingPotential object', typeof value);
|
|
42
|
+
}
|
|
43
|
+
GlobalWarmingPotentialId_1.GlobalWarmingPotentialId.create(value.id);
|
|
44
|
+
GlobalWarmingPotentialProtocolVersion_1.GlobalWarmingPotentialProtocolVersion.create(value.protocolVersion);
|
|
45
|
+
GlobalWarmingPotentialTimeHorizonYears_1.GlobalWarmingPotentialTimeHorizonYears.create(value.timeHorizonYears);
|
|
46
|
+
Numeric_1.Numeric.guardAgainstNonPositiveValue(value.potentialValue, `${GHGEmissionResultGlobalWarmingPotential.PROPERTY_NAME}.potentialValue`);
|
|
47
|
+
}
|
|
48
|
+
get id() {
|
|
49
|
+
return this.value.id;
|
|
50
|
+
}
|
|
51
|
+
get protocolVersion() {
|
|
52
|
+
return this.value.protocolVersion;
|
|
53
|
+
}
|
|
54
|
+
get timeHorizonYears() {
|
|
55
|
+
return this.value.timeHorizonYears;
|
|
56
|
+
}
|
|
57
|
+
get potentialValue() {
|
|
58
|
+
return this.value.potentialValue;
|
|
59
|
+
}
|
|
60
|
+
isGlobalWarmingPotential(globalWarmingPotentialId) {
|
|
61
|
+
return this.value.id === globalWarmingPotentialId;
|
|
62
|
+
}
|
|
27
63
|
toPrimitives() {
|
|
28
|
-
return
|
|
64
|
+
return {
|
|
65
|
+
id: this.value.id,
|
|
66
|
+
protocolVersion: this.value.protocolVersion,
|
|
67
|
+
timeHorizonYears: this.value.timeHorizonYears,
|
|
68
|
+
potentialValue: this.value.potentialValue,
|
|
69
|
+
};
|
|
29
70
|
}
|
|
30
71
|
}
|
|
31
72
|
exports.GHGEmissionResultGlobalWarmingPotential = GHGEmissionResultGlobalWarmingPotential;
|
|
@@ -131,6 +131,12 @@ var ErrorCode;
|
|
|
131
131
|
ErrorCode["UNKNOWN_CONDITIONAL_ACTION_CATEGORY"] = "CBX-ADC-022";
|
|
132
132
|
// Activity Data Submission facility attribution (CBX-ADC-023)
|
|
133
133
|
ErrorCode["INVALID_SUBMISSION_FACILITY"] = "CBX-ADC-023";
|
|
134
|
+
// Activity Data Submission status history and evidences (CBX-ADC-024 to CBX-ADC-028) — AUD-D21/AUD-D22
|
|
135
|
+
ErrorCode["ACTIVITY_DATA_SUBMISSION_INVALID_STATUS_TRANSITION"] = "CBX-ADC-024";
|
|
136
|
+
ErrorCode["ACTIVITY_DATA_SUBMISSION_EVIDENCE_CONTENT_TYPE_NOT_ALLOWED"] = "CBX-ADC-025";
|
|
137
|
+
ErrorCode["ACTIVITY_DATA_SUBMISSION_EVIDENCE_TOO_LARGE"] = "CBX-ADC-026";
|
|
138
|
+
ErrorCode["ACTIVITY_DATA_SUBMISSION_EVIDENCE_LIMIT_REACHED"] = "CBX-ADC-027";
|
|
139
|
+
ErrorCode["ACTIVITY_DATA_SUBMISSION_EVIDENCE_NOT_FOUND"] = "CBX-ADC-028";
|
|
134
140
|
// Emission Calculation Errors (CBX-EMC-XXX)
|
|
135
141
|
ErrorCode["CALCULATION_FAILED"] = "CBX-EMC-001";
|
|
136
142
|
ErrorCode["MISSING_EMISSION_FACTOR"] = "CBX-EMC-002";
|
|
@@ -23,6 +23,7 @@ var SemanticUuidPrefix;
|
|
|
23
23
|
SemanticUuidPrefix["STC"] = "STC";
|
|
24
24
|
// Activity Data Collection
|
|
25
25
|
SemanticUuidPrefix["ADC_SUBMISSIONS"] = "ADC-SUB";
|
|
26
|
+
SemanticUuidPrefix["ADC_SUBMISSION_EVIDENCES"] = "ADC-SUB-EVD";
|
|
26
27
|
SemanticUuidPrefix["ADC_FIELDS"] = "ADC-FLD";
|
|
27
28
|
SemanticUuidPrefix["ADC_LOGIC"] = "ADC-LOG";
|
|
28
29
|
SemanticUuidPrefix["ADC_LABELS"] = "ADC-LBL";
|
package/build/carbonbox/stakeholders/shared/domain/constants/CARBON_AUDITOR_PERMISSION_CEILING.js
CHANGED
|
@@ -49,7 +49,9 @@ exports.CARBON_AUDITOR_PERMISSION_CEILING = [
|
|
|
49
49
|
Permission_1.Permission.ACTIVITY_DATA_COLLECTION_VIEW_ACTIVITY_DATA_SUBMISSION,
|
|
50
50
|
Permission_1.Permission.ACTIVITY_DATA_COLLECTION_VIEW_ACTIVITY_DATA_SUBMISSION_LIST,
|
|
51
51
|
Permission_1.Permission.ACTIVITY_DATA_COLLECTION_VIEW_COLLECTION_FIELD,
|
|
52
|
+
Permission_1.Permission.ACTIVITY_DATA_COLLECTION_VIEW_COLLECTION_FIELD_LIST,
|
|
52
53
|
Permission_1.Permission.ACTIVITY_DATA_COLLECTION_VIEW_DYNAMIC_FORM,
|
|
54
|
+
Permission_1.Permission.ACTIVITY_DATA_COLLECTION_VIEW_DYNAMIC_FORM_LIST,
|
|
53
55
|
// === Emission Calculation Process (read) ===
|
|
54
56
|
Permission_1.Permission.EMISSION_CALCULATION_PROCESS_VIEW_CALCULATION_PROCESS,
|
|
55
57
|
Permission_1.Permission.EMISSION_CALCULATION_PROCESS_VIEW_CALCULATION_PROCESS_LIST,
|