@carbonbox/domain 0.31.0 → 0.32.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 (95) hide show
  1. package/build/carbonbox/reporting/report-instances/domain/entity/IReportInstance.js +2 -0
  2. package/build/carbonbox/reporting/report-instances/domain/entity/ReportInstance.js +371 -0
  3. package/build/carbonbox/reporting/report-instances/domain/enums/ReportInstanceStatus.js +38 -0
  4. package/build/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeApprovedByClientError.js +32 -0
  5. package/build/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeApprovedInternallyError.js +32 -0
  6. package/build/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeGeneratedError.js +32 -0
  7. package/build/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBePublishedError.js +32 -0
  8. package/build/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeRejectedError.js +32 -0
  9. package/build/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceInvalidStatusTransitionError.js +32 -0
  10. package/build/carbonbox/reporting/report-instances/domain/repository/IReportInstanceRepository.js +2 -0
  11. package/build/carbonbox/reporting/report-instances/domain/types/ReportInstancePrimitives.js +2 -0
  12. package/build/carbonbox/reporting/report-instances/domain/types/ReportInstanceProps.js +2 -0
  13. package/build/carbonbox/reporting/report-templates/domain/entity/IReportTemplate.js +2 -0
  14. package/build/carbonbox/reporting/report-templates/domain/entity/ReportTemplate.js +275 -0
  15. package/build/carbonbox/reporting/report-templates/domain/exceptions/ReportTemplateCannotBeActivatedError.js +32 -0
  16. package/build/carbonbox/reporting/report-templates/domain/exceptions/ReportTemplateCannotBeDeprecatedError.js +32 -0
  17. package/build/carbonbox/reporting/report-templates/domain/exceptions/ReportTemplateCannotBeVersionedError.js +32 -0
  18. package/build/carbonbox/reporting/report-templates/domain/repository/IReportTemplateRepository.js +2 -0
  19. package/build/carbonbox/reporting/shared/domain/types/AIExecutionRecordPrimitives.js +2 -0
  20. package/build/carbonbox/reporting/shared/domain/types/ApprovalRecordPrimitives.js +2 -0
  21. package/build/carbonbox/reporting/shared/domain/types/QuestionnaireAnswerPrimitives.js +2 -0
  22. package/build/carbonbox/reporting/shared/domain/types/ReportPeriodPrimitives.js +2 -0
  23. package/build/carbonbox/reporting/text-banks/domain/entity/ITextBank.js +2 -0
  24. package/build/carbonbox/reporting/text-banks/domain/entity/TextBank.js +173 -0
  25. package/build/carbonbox/reporting/text-banks/domain/repository/ITextBankRepository.js +2 -0
  26. package/build/carbonbox/reporting/text-banks/domain/types/TextBankEntryPrimitives.js +2 -0
  27. package/build/carbonbox/reporting/text-banks/domain/types/TextBankEntryProps.js +2 -0
  28. package/build/carbonbox/reporting/text-banks/domain/types/TextBankPrimitives.js +2 -0
  29. package/build/carbonbox/reporting/text-banks/domain/types/TextBankProps.js +2 -0
  30. package/build/carbonbox/shared/domain/enums/ErrorCode.js +11 -0
  31. package/build/types/carbonbox/reporting/report-instances/domain/entity/IReportInstance.d.ts +36 -0
  32. package/build/types/carbonbox/reporting/report-instances/domain/entity/IReportInstance.d.ts.map +1 -0
  33. package/build/types/carbonbox/reporting/report-instances/domain/entity/ReportInstance.d.ts +59 -0
  34. package/build/types/carbonbox/reporting/report-instances/domain/entity/ReportInstance.d.ts.map +1 -0
  35. package/build/types/carbonbox/reporting/report-instances/domain/enums/ReportInstanceStatus.d.ts +35 -0
  36. package/build/types/carbonbox/reporting/report-instances/domain/enums/ReportInstanceStatus.d.ts.map +1 -0
  37. package/build/types/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeApprovedByClientError.d.ts +7 -0
  38. package/build/types/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeApprovedByClientError.d.ts.map +1 -0
  39. package/build/types/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeApprovedInternallyError.d.ts +7 -0
  40. package/build/types/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeApprovedInternallyError.d.ts.map +1 -0
  41. package/build/types/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeGeneratedError.d.ts +7 -0
  42. package/build/types/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeGeneratedError.d.ts.map +1 -0
  43. package/build/types/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBePublishedError.d.ts +7 -0
  44. package/build/types/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBePublishedError.d.ts.map +1 -0
  45. package/build/types/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeRejectedError.d.ts +7 -0
  46. package/build/types/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeRejectedError.d.ts.map +1 -0
  47. package/build/types/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceInvalidStatusTransitionError.d.ts +7 -0
  48. package/build/types/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceInvalidStatusTransitionError.d.ts.map +1 -0
  49. package/build/types/carbonbox/reporting/report-instances/domain/repository/IReportInstanceRepository.d.ts +84 -0
  50. package/build/types/carbonbox/reporting/report-instances/domain/repository/IReportInstanceRepository.d.ts.map +1 -0
  51. package/build/types/carbonbox/reporting/report-instances/domain/types/ReportInstancePrimitives.d.ts +28 -0
  52. package/build/types/carbonbox/reporting/report-instances/domain/types/ReportInstancePrimitives.d.ts.map +1 -0
  53. package/build/types/carbonbox/reporting/report-instances/domain/types/ReportInstanceProps.d.ts +28 -0
  54. package/build/types/carbonbox/reporting/report-instances/domain/types/ReportInstanceProps.d.ts.map +1 -0
  55. package/build/types/carbonbox/reporting/report-templates/domain/entity/IReportTemplate.d.ts +24 -0
  56. package/build/types/carbonbox/reporting/report-templates/domain/entity/IReportTemplate.d.ts.map +1 -0
  57. package/build/types/carbonbox/reporting/report-templates/domain/entity/ReportTemplate.d.ts +43 -0
  58. package/build/types/carbonbox/reporting/report-templates/domain/entity/ReportTemplate.d.ts.map +1 -0
  59. package/build/types/carbonbox/reporting/report-templates/domain/exceptions/ReportTemplateCannotBeActivatedError.d.ts +7 -0
  60. package/build/types/carbonbox/reporting/report-templates/domain/exceptions/ReportTemplateCannotBeActivatedError.d.ts.map +1 -0
  61. package/build/types/carbonbox/reporting/report-templates/domain/exceptions/ReportTemplateCannotBeDeprecatedError.d.ts +7 -0
  62. package/build/types/carbonbox/reporting/report-templates/domain/exceptions/ReportTemplateCannotBeDeprecatedError.d.ts.map +1 -0
  63. package/build/types/carbonbox/reporting/report-templates/domain/exceptions/ReportTemplateCannotBeVersionedError.d.ts +7 -0
  64. package/build/types/carbonbox/reporting/report-templates/domain/exceptions/ReportTemplateCannotBeVersionedError.d.ts.map +1 -0
  65. package/build/types/carbonbox/reporting/report-templates/domain/repository/IReportTemplateRepository.d.ts +97 -0
  66. package/build/types/carbonbox/reporting/report-templates/domain/repository/IReportTemplateRepository.d.ts.map +1 -0
  67. package/build/types/carbonbox/reporting/report-templates/domain/types/ReportTemplatePrimitives.d.ts +15 -15
  68. package/build/types/carbonbox/reporting/report-templates/domain/types/ReportTemplatePrimitives.d.ts.map +1 -1
  69. package/build/types/carbonbox/reporting/report-templates/domain/types/ReportTemplateProps.d.ts +20 -16
  70. package/build/types/carbonbox/reporting/report-templates/domain/types/ReportTemplateProps.d.ts.map +1 -1
  71. package/build/types/carbonbox/reporting/shared/domain/types/AIExecutionRecordPrimitives.d.ts +14 -0
  72. package/build/types/carbonbox/reporting/shared/domain/types/AIExecutionRecordPrimitives.d.ts.map +1 -0
  73. package/build/types/carbonbox/reporting/shared/domain/types/ApprovalRecordPrimitives.d.ts +12 -0
  74. package/build/types/carbonbox/reporting/shared/domain/types/ApprovalRecordPrimitives.d.ts.map +1 -0
  75. package/build/types/carbonbox/reporting/shared/domain/types/QuestionnaireAnswerPrimitives.d.ts +11 -0
  76. package/build/types/carbonbox/reporting/shared/domain/types/QuestionnaireAnswerPrimitives.d.ts.map +1 -0
  77. package/build/types/carbonbox/reporting/shared/domain/types/ReportPeriodPrimitives.d.ts +9 -0
  78. package/build/types/carbonbox/reporting/shared/domain/types/ReportPeriodPrimitives.d.ts.map +1 -0
  79. package/build/types/carbonbox/reporting/text-banks/domain/entity/ITextBank.d.ts +16 -0
  80. package/build/types/carbonbox/reporting/text-banks/domain/entity/ITextBank.d.ts.map +1 -0
  81. package/build/types/carbonbox/reporting/text-banks/domain/entity/TextBank.d.ts +36 -0
  82. package/build/types/carbonbox/reporting/text-banks/domain/entity/TextBank.d.ts.map +1 -0
  83. package/build/types/carbonbox/reporting/text-banks/domain/repository/ITextBankRepository.d.ts +52 -0
  84. package/build/types/carbonbox/reporting/text-banks/domain/repository/ITextBankRepository.d.ts.map +1 -0
  85. package/build/types/carbonbox/reporting/text-banks/domain/types/TextBankEntryPrimitives.d.ts +45 -0
  86. package/build/types/carbonbox/reporting/text-banks/domain/types/TextBankEntryPrimitives.d.ts.map +1 -0
  87. package/build/types/carbonbox/reporting/text-banks/domain/types/TextBankEntryProps.d.ts +46 -0
  88. package/build/types/carbonbox/reporting/text-banks/domain/types/TextBankEntryProps.d.ts.map +1 -0
  89. package/build/types/carbonbox/reporting/text-banks/domain/types/TextBankPrimitives.d.ts +33 -0
  90. package/build/types/carbonbox/reporting/text-banks/domain/types/TextBankPrimitives.d.ts.map +1 -0
  91. package/build/types/carbonbox/reporting/text-banks/domain/types/TextBankProps.d.ts +37 -0
  92. package/build/types/carbonbox/reporting/text-banks/domain/types/TextBankProps.d.ts.map +1 -0
  93. package/build/types/carbonbox/shared/domain/enums/ErrorCode.d.ts +11 -0
  94. package/build/types/carbonbox/shared/domain/enums/ErrorCode.d.ts.map +1 -1
  95. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IReportInstance.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-instances/domain/entity/IReportInstance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AAEjG,MAAM,WAAW,eAAgB,SAAQ,cAAc;IAErD,KAAK,IAAI,MAAM,CAAC;IAChB,aAAa,IAAI,MAAM,CAAC;IACxB,kBAAkB,IAAI,MAAM,CAAC;IAC7B,iBAAiB,IAAI,MAAM,CAAC;IAC5B,SAAS,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC3C,UAAU,IAAI,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7C,uBAAuB,IAAI,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;IACvE,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACtD,SAAS,IAAI,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,IAAI,MAAM,CAAC;IACpB,YAAY,IAAI,wBAAwB,EAAE,CAAC;IAC3C,eAAe,IAAI,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACvD,YAAY,IAAI,MAAM,CAAC;IACvB,YAAY,IAAI,MAAM,CAAC;IAGvB,OAAO,IAAI,OAAO,CAAC;IACnB,YAAY,IAAI,OAAO,CAAC;IACxB,iBAAiB,IAAI,OAAO,CAAC;IAC7B,eAAe,IAAI,OAAO,CAAC;IAC3B,UAAU,IAAI,OAAO,CAAC;IACtB,WAAW,IAAI,OAAO,CAAC;IACvB,UAAU,IAAI,OAAO,CAAC;IAGtB,cAAc,IAAI,OAAO,CAAC;IAC1B,uBAAuB,IAAI,OAAO,CAAC;IACnC,qBAAqB,IAAI,OAAO,CAAC;IACjC,cAAc,IAAI,OAAO,CAAC;IAC1B,aAAa,IAAI,OAAO,CAAC;IAGzB,mBAAmB,IAAI,OAAO,CAAC;IAC/B,MAAM,IAAI,OAAO,CAAC;IAClB,sBAAsB,IAAI,OAAO,CAAC;CACnC"}
@@ -0,0 +1,59 @@
1
+ import { AggregateRoot } from '../../../../shared/domain/entities/AggregateRoot';
2
+ import { ReportInstanceProps } from '../types/ReportInstanceProps';
3
+ import { ReportInstancePrimitives } from '../types/ReportInstancePrimitives';
4
+ import { IReportInstance } from './IReportInstance';
5
+ import { ApprovalRecordPrimitives } from '../../../shared/domain/types/ApprovalRecordPrimitives';
6
+ import { ReportPeriodPrimitives } from '../../../shared/domain/types/ReportPeriodPrimitives';
7
+ import { QuestionnaireAnswerPrimitives } from '../../../shared/domain/types/QuestionnaireAnswerPrimitives';
8
+ import { AIExecutionRecordPrimitives } from '../../../shared/domain/types/AIExecutionRecordPrimitives';
9
+ export declare class ReportInstance extends AggregateRoot<ReportInstancePrimitives> implements IReportInstance {
10
+ #private;
11
+ private constructor();
12
+ static create(props: Omit<ReportInstanceProps, 'id' | 'createdAt' | 'updatedAt' | 'generatedContent' | 'pdfUrl' | 'status' | 'approvals' | 'aiExecutions'>): ReportInstance;
13
+ static fromPrimitives(primitives: ReportInstancePrimitives): ReportInstance;
14
+ get toPrimitives(): ReportInstancePrimitives;
15
+ toProps(): ReportInstanceProps;
16
+ getId(): string;
17
+ getTemplateId(): string;
18
+ getTemplateVersion(): number;
19
+ getCarbonClientId(): string;
20
+ getPeriod(): ReportPeriodPrimitives;
21
+ getFilters(): ReportInstanceProps['filters'];
22
+ getQuestionnaireAnswers(): QuestionnaireAnswerPrimitives[];
23
+ getDataSnapshot(): Record<string, unknown>;
24
+ getGeneratedContent(): Record<string, unknown> | null;
25
+ getPdfUrl(): string | null;
26
+ getStatus(): string;
27
+ getApprovals(): ApprovalRecordPrimitives[];
28
+ getAiExecutions(): AIExecutionRecordPrimitives[];
29
+ getCreatedAt(): string;
30
+ getUpdatedAt(): string;
31
+ isDraft(): boolean;
32
+ isGenerating(): boolean;
33
+ isPendingInternal(): boolean;
34
+ isPendingClient(): boolean;
35
+ isApproved(): boolean;
36
+ isPublished(): boolean;
37
+ isRejected(): boolean;
38
+ canBeGenerated(): boolean;
39
+ canBeApprovedInternally(): boolean;
40
+ canBeApprovedByClient(): boolean;
41
+ canBePublished(): boolean;
42
+ canBeRejected(): boolean;
43
+ startGeneration(): void;
44
+ completeGeneration(generatedContent: Record<string, unknown>): void;
45
+ approveInternally(approverUserId: string, comments?: string): void;
46
+ approveByClient(approverUserId: string, comments?: string): void;
47
+ reject(rejectorUserId: string, reason: string): void;
48
+ publish(pdfUrl: string): void;
49
+ addAiExecution(execution: AIExecutionRecordPrimitives): void;
50
+ hasGeneratedContent(): boolean;
51
+ hasPdf(): boolean;
52
+ requiresClientApproval(): boolean;
53
+ getApprovalCount(): number;
54
+ hasInternalApproval(): boolean;
55
+ hasClientApproval(): boolean;
56
+ getDataSnapshotHash(): string | null;
57
+ getTotalAiExecutions(): number;
58
+ }
59
+ //# sourceMappingURL=ReportInstance.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportInstance.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-instances/domain/entity/ReportInstance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AAEjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAC;AAC3G,OAAO,EAAE,2BAA2B,EAAE,MAAM,0DAA0D,CAAC;AAQvG,qBAAa,cAAe,SAAQ,aAAa,CAAC,wBAAwB,CAAE,YAAW,eAAe;;IAkCpG,OAAO;WAuBgB,MAAM,CAC3B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,GAAG,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,CAAC,GAC3I,cAAc;WAmBM,cAAc,CAAC,UAAU,EAAE,wBAAwB,GAAG,cAAc;IAsB3F,IAAoB,YAAY,IAAI,wBAAwB,CAkB3D;IAEM,OAAO,IAAI,mBAAmB;IAqB9B,KAAK,IAAI,MAAM;IAIf,aAAa,IAAI,MAAM;IAIvB,kBAAkB,IAAI,MAAM;IAI5B,iBAAiB,IAAI,MAAM;IAI3B,SAAS,IAAI,sBAAsB;IAInC,UAAU,IAAI,mBAAmB,CAAC,SAAS,CAAC;IAI5C,uBAAuB,IAAI,6BAA6B,EAAE;IAI1D,eAAe,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAI1C,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAIrD,SAAS,IAAI,MAAM,GAAG,IAAI;IAI1B,SAAS,IAAI,MAAM;IAInB,YAAY,IAAI,wBAAwB,EAAE;IAI1C,eAAe,IAAI,2BAA2B,EAAE;IAIhD,YAAY,IAAI,MAAM;IAItB,YAAY,IAAI,MAAM;IAKtB,OAAO,IAAI,OAAO;IAIlB,YAAY,IAAI,OAAO;IAIvB,iBAAiB,IAAI,OAAO;IAI5B,eAAe,IAAI,OAAO;IAI1B,UAAU,IAAI,OAAO;IAIrB,WAAW,IAAI,OAAO;IAItB,UAAU,IAAI,OAAO;IAKrB,cAAc,IAAI,OAAO;IAiBzB,uBAAuB,IAAI,OAAO;IAclC,qBAAqB,IAAI,OAAO;IAchC,cAAc,IAAI,OAAO;IAczB,aAAa,IAAI,OAAO;IAMxB,eAAe,IAAI,IAAI;IAiBvB,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAcnE,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IA+BlE,eAAe,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IA0BhE,MAAM,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAsBpD,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAkB7B,cAAc,CAAC,SAAS,EAAE,2BAA2B,GAAG,IAAI;IAM5D,mBAAmB,IAAI,OAAO;IAI9B,MAAM,IAAI,OAAO;IAIjB,sBAAsB,IAAI,OAAO;IAMjC,gBAAgB,IAAI,MAAM;IAI1B,mBAAmB,IAAI,OAAO;IAI9B,iBAAiB,IAAI,OAAO;IAI5B,mBAAmB,IAAI,MAAM,GAAG,IAAI;IAKpC,oBAAoB,IAAI,MAAM;CAGtC"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Report Instance Status enumeration
3
+ * Defines the lifecycle status of a report instance
4
+ */
5
+ export declare enum ReportInstanceStatus {
6
+ /**
7
+ * Draft - Report instance created but not yet generated
8
+ */
9
+ DRAFT = "DRAFT",
10
+ /**
11
+ * Generating - AI is currently generating report content
12
+ */
13
+ GENERATING = "GENERATING",
14
+ /**
15
+ * Pending Internal - Waiting for internal approval
16
+ */
17
+ PENDING_INTERNAL = "PENDING_INTERNAL",
18
+ /**
19
+ * Pending Client - Waiting for client approval
20
+ */
21
+ PENDING_CLIENT = "PENDING_CLIENT",
22
+ /**
23
+ * Approved - Report approved and ready for publication
24
+ */
25
+ APPROVED = "APPROVED",
26
+ /**
27
+ * Published - Report published and PDF generated
28
+ */
29
+ PUBLISHED = "PUBLISHED",
30
+ /**
31
+ * Rejected - Report rejected, needs revision
32
+ */
33
+ REJECTED = "REJECTED"
34
+ }
35
+ //# sourceMappingURL=ReportInstanceStatus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportInstanceStatus.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-instances/domain/enums/ReportInstanceStatus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,oBAAoB;IAC9B;;OAEG;IACH,KAAK,UAAU;IAEf;;OAEG;IACH,UAAU,eAAe;IAEzB;;OAEG;IACH,gBAAgB,qBAAqB;IAErC;;OAEG;IACH,cAAc,mBAAmB;IAEjC;;OAEG;IACH,QAAQ,aAAa;IAErB;;OAEG;IACH,SAAS,cAAc;IAEvB;;OAEG;IACH,QAAQ,aAAa;CACtB"}
@@ -0,0 +1,7 @@
1
+ import { CodedRootError } from '../../../../shared/domain/exceptions/CodedRootError';
2
+ export declare class ReportInstanceCannotBeApprovedByClientError extends CodedRootError {
3
+ private constructor();
4
+ static create(instanceId: string, currentStatus: string, reason: string): ReportInstanceCannotBeApprovedByClientError;
5
+ logError(): string;
6
+ }
7
+ //# sourceMappingURL=ReportInstanceCannotBeApprovedByClientError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportInstanceCannotBeApprovedByClientError.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeApprovedByClientError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAGrF,qBAAa,2CAA4C,SAAQ,cAAc;IAC7E,OAAO;WAsBgB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,2CAA2C;IAIrH,QAAQ,IAAI,MAAM;CAGnC"}
@@ -0,0 +1,7 @@
1
+ import { CodedRootError } from '../../../../shared/domain/exceptions/CodedRootError';
2
+ export declare class ReportInstanceCannotBeApprovedInternallyError extends CodedRootError {
3
+ private constructor();
4
+ static create(instanceId: string, currentStatus: string, reason: string): ReportInstanceCannotBeApprovedInternallyError;
5
+ logError(): string;
6
+ }
7
+ //# sourceMappingURL=ReportInstanceCannotBeApprovedInternallyError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportInstanceCannotBeApprovedInternallyError.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeApprovedInternallyError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAGrF,qBAAa,6CAA8C,SAAQ,cAAc;IAC/E,OAAO;WAsBgB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,6CAA6C;IAIvH,QAAQ,IAAI,MAAM;CAGnC"}
@@ -0,0 +1,7 @@
1
+ import { CodedRootError } from '../../../../shared/domain/exceptions/CodedRootError';
2
+ export declare class ReportInstanceCannotBeGeneratedError extends CodedRootError {
3
+ private constructor();
4
+ static create(instanceId: string, currentStatus: string, reason: string): ReportInstanceCannotBeGeneratedError;
5
+ logError(): string;
6
+ }
7
+ //# sourceMappingURL=ReportInstanceCannotBeGeneratedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportInstanceCannotBeGeneratedError.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeGeneratedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAGrF,qBAAa,oCAAqC,SAAQ,cAAc;IACtE,OAAO;WAsBgB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,oCAAoC;IAI9G,QAAQ,IAAI,MAAM;CAGnC"}
@@ -0,0 +1,7 @@
1
+ import { CodedRootError } from '../../../../shared/domain/exceptions/CodedRootError';
2
+ export declare class ReportInstanceCannotBePublishedError extends CodedRootError {
3
+ private constructor();
4
+ static create(instanceId: string, currentStatus: string, reason: string): ReportInstanceCannotBePublishedError;
5
+ logError(): string;
6
+ }
7
+ //# sourceMappingURL=ReportInstanceCannotBePublishedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportInstanceCannotBePublishedError.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBePublishedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAGrF,qBAAa,oCAAqC,SAAQ,cAAc;IACtE,OAAO;WAsBgB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,oCAAoC;IAI9G,QAAQ,IAAI,MAAM;CAGnC"}
@@ -0,0 +1,7 @@
1
+ import { CodedRootError } from '../../../../shared/domain/exceptions/CodedRootError';
2
+ export declare class ReportInstanceCannotBeRejectedError extends CodedRootError {
3
+ private constructor();
4
+ static create(instanceId: string, currentStatus: string, reason: string): ReportInstanceCannotBeRejectedError;
5
+ logError(): string;
6
+ }
7
+ //# sourceMappingURL=ReportInstanceCannotBeRejectedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportInstanceCannotBeRejectedError.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceCannotBeRejectedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAGrF,qBAAa,mCAAoC,SAAQ,cAAc;IACrE,OAAO;WAsBgB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,mCAAmC;IAI7G,QAAQ,IAAI,MAAM;CAGnC"}
@@ -0,0 +1,7 @@
1
+ import { CodedRootError } from '../../../../shared/domain/exceptions/CodedRootError';
2
+ export declare class ReportInstanceInvalidStatusTransitionError extends CodedRootError {
3
+ private constructor();
4
+ static create(instanceId: string, currentStatus: string, targetStatus: string): ReportInstanceInvalidStatusTransitionError;
5
+ logError(): string;
6
+ }
7
+ //# sourceMappingURL=ReportInstanceInvalidStatusTransitionError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportInstanceInvalidStatusTransitionError.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-instances/domain/exceptions/ReportInstanceInvalidStatusTransitionError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAGrF,qBAAa,0CAA2C,SAAQ,cAAc;IAC5E,OAAO;WAsBgB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,0CAA0C;IAI1H,QAAQ,IAAI,MAAM;CAGnC"}
@@ -0,0 +1,84 @@
1
+ import { Nullable } from '../../../../shared/domain/types/Nullable';
2
+ import { ReportInstance } from '../entity/ReportInstance';
3
+ import { ReportInstanceId } from '../value-objects/ReportInstanceId';
4
+ import { ReportInstanceStatus } from '../enums/ReportInstanceStatus';
5
+ /**
6
+ * Repository interface for ReportInstance aggregate following DDD principles.
7
+ * Manages persistence operations for report instances generated by clients.
8
+ */
9
+ export interface IReportInstanceRepository {
10
+ /**
11
+ * Persists a report instance (create or update)
12
+ * @param instance - The report instance aggregate to save
13
+ * @returns Promise that resolves when the operation completes
14
+ */
15
+ save(instance: ReportInstance): Promise<void>;
16
+ /**
17
+ * Finds a report instance by its ID
18
+ * @param id - The report instance ID
19
+ * @returns Promise resolving to the instance or null if not found
20
+ */
21
+ findById(id: ReportInstanceId): Promise<Nullable<ReportInstance>>;
22
+ /**
23
+ * Finds all instances for a specific template
24
+ * @param templateId - The template ID to filter by
25
+ * @returns Promise resolving to an array of matching instances
26
+ */
27
+ findAllByTemplateId(templateId: string): Promise<ReportInstance[]>;
28
+ /**
29
+ * Finds all instances for a specific template version
30
+ * @param templateId - The template ID
31
+ * @param templateVersion - The template version
32
+ * @returns Promise resolving to an array of matching instances
33
+ */
34
+ findAllByTemplateIdAndVersion(templateId: string, templateVersion: number): Promise<ReportInstance[]>;
35
+ /**
36
+ * Finds all instances for a specific carbon client
37
+ * @param carbonClientId - The carbon client ID to filter by
38
+ * @returns Promise resolving to an array of matching instances
39
+ */
40
+ findAllByCarbonClientId(carbonClientId: string): Promise<ReportInstance[]>;
41
+ /**
42
+ * Finds all instances with a specific status
43
+ * @param status - The report instance status to filter by
44
+ * @returns Promise resolving to an array of matching instances
45
+ */
46
+ findAllByStatus(status: ReportInstanceStatus): Promise<ReportInstance[]>;
47
+ /**
48
+ * Finds all instances for a specific carbon client with a specific status
49
+ * @param carbonClientId - The carbon client ID
50
+ * @param status - The report instance status
51
+ * @returns Promise resolving to an array of matching instances
52
+ */
53
+ findAllByCarbonClientIdAndStatus(carbonClientId: string, status: ReportInstanceStatus): Promise<ReportInstance[]>;
54
+ /**
55
+ * Finds all published instances for a specific carbon client
56
+ * @param carbonClientId - The carbon client ID
57
+ * @returns Promise resolving to an array of published instances
58
+ */
59
+ findAllPublishedByCarbonClientId(carbonClientId: string): Promise<ReportInstance[]>;
60
+ /**
61
+ * Finds all instances pending approval (internal or client)
62
+ * @returns Promise resolving to an array of instances pending approval
63
+ */
64
+ findAllPendingApproval(): Promise<ReportInstance[]>;
65
+ /**
66
+ * Finds all instances created within a date range
67
+ * @param startDate - The start date (ISO 8601 string)
68
+ * @param endDate - The end date (ISO 8601 string)
69
+ * @returns Promise resolving to an array of instances created in the range
70
+ */
71
+ findAllByCreatedAtRange(startDate: string, endDate: string): Promise<ReportInstance[]>;
72
+ /**
73
+ * Finds all report instances in the system
74
+ * @returns Promise resolving to an array of all instances
75
+ */
76
+ findAll(): Promise<ReportInstance[]>;
77
+ /**
78
+ * Deletes a report instance by its ID
79
+ * @param id - The instance ID to delete
80
+ * @returns Promise that resolves when the operation completes
81
+ */
82
+ deleteById(id: ReportInstanceId): Promise<void>;
83
+ }
84
+ //# sourceMappingURL=IReportInstanceRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IReportInstanceRepository.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-instances/domain/repository/IReportInstanceRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,IAAI,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAElE;;;;OAIG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEnE;;;;;OAKG;IACH,6BAA6B,CAAC,UAAU,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEtG;;;;OAIG;IACH,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAE3E;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEzE;;;;;OAKG;IACH,gCAAgC,CAC9B,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAE7B;;;;OAIG;IACH,gCAAgC,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEpF;;;OAGG;IACH,sBAAsB,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEpD;;;;;OAKG;IACH,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEvF;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAErC;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD"}
@@ -0,0 +1,28 @@
1
+ import { AggregateRootPrimitives } from '../../../../shared/domain/types/AggregateRootPrimitives';
2
+ import { ReportInstanceStatus } from '../enums/ReportInstanceStatus';
3
+ import { ReportPeriodPrimitives } from '../../../shared/domain/types/ReportPeriodPrimitives';
4
+ import { QuestionnaireAnswerPrimitives } from '../../../shared/domain/types/QuestionnaireAnswerPrimitives';
5
+ import { ApprovalRecordPrimitives } from '../../../shared/domain/types/ApprovalRecordPrimitives';
6
+ import { AIExecutionRecordPrimitives } from '../../../shared/domain/types/AIExecutionRecordPrimitives';
7
+ export type ReportInstancePrimitives = AggregateRootPrimitives & {
8
+ templateId: string;
9
+ templateVersion: number;
10
+ carbonClientId: string;
11
+ period: ReportPeriodPrimitives;
12
+ filters: {
13
+ facilities?: string[];
14
+ scopes?: string[];
15
+ categories?: string[];
16
+ segments?: string[];
17
+ };
18
+ questionnaireAnswers: QuestionnaireAnswerPrimitives[];
19
+ dataSnapshot: Record<string, unknown>;
20
+ generatedContent: Record<string, unknown> | null;
21
+ pdfUrl: string | null;
22
+ status: ReportInstanceStatus;
23
+ approvals: ApprovalRecordPrimitives[];
24
+ aiExecutions: AIExecutionRecordPrimitives[];
25
+ createdAt: string;
26
+ updatedAt: string;
27
+ };
28
+ //# sourceMappingURL=ReportInstancePrimitives.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportInstancePrimitives.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-instances/domain/types/ReportInstancePrimitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAClG,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAC;AAC3G,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,0DAA0D,CAAC;AAEvG,MAAM,MAAM,wBAAwB,GAAG,uBAAuB,GAAG;IAC/D,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,oBAAoB,EAAE,6BAA6B,EAAE,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,EAAE,wBAAwB,EAAE,CAAC;IACtC,YAAY,EAAE,2BAA2B,EAAE,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { AggregateRootProps } from '../../../../shared/domain/types/AggregateRootProps';
2
+ import { ReportInstanceStatus } from '../enums/ReportInstanceStatus';
3
+ import { ReportPeriodPrimitives } from '../../../shared/domain/types/ReportPeriodPrimitives';
4
+ import { QuestionnaireAnswerPrimitives } from '../../../shared/domain/types/QuestionnaireAnswerPrimitives';
5
+ import { ApprovalRecordPrimitives } from '../../../shared/domain/types/ApprovalRecordPrimitives';
6
+ import { AIExecutionRecordPrimitives } from '../../../shared/domain/types/AIExecutionRecordPrimitives';
7
+ export type ReportInstanceProps = AggregateRootProps & {
8
+ templateId: string;
9
+ templateVersion: number;
10
+ carbonClientId: string;
11
+ period: ReportPeriodPrimitives;
12
+ filters: {
13
+ facilities?: string[];
14
+ scopes?: string[];
15
+ categories?: string[];
16
+ segments?: string[];
17
+ };
18
+ questionnaireAnswers: QuestionnaireAnswerPrimitives[];
19
+ dataSnapshot: Record<string, unknown>;
20
+ generatedContent: Record<string, unknown> | null;
21
+ pdfUrl: string | null;
22
+ status: ReportInstanceStatus;
23
+ approvals: ApprovalRecordPrimitives[];
24
+ aiExecutions: AIExecutionRecordPrimitives[];
25
+ createdAt: string;
26
+ updatedAt: string;
27
+ };
28
+ //# sourceMappingURL=ReportInstanceProps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportInstanceProps.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-instances/domain/types/ReportInstanceProps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oDAAoD,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qDAAqD,CAAC;AAC7F,OAAO,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAC;AAC3G,OAAO,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AACjG,OAAO,EAAE,2BAA2B,EAAE,MAAM,0DAA0D,CAAC;AAEvG,MAAM,MAAM,mBAAmB,GAAG,kBAAkB,GAAG;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,sBAAsB,CAAC;IAC/B,OAAO,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;IACF,oBAAoB,EAAE,6BAA6B,EAAE,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACjD,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,EAAE,wBAAwB,EAAE,CAAC;IACtC,YAAY,EAAE,2BAA2B,EAAE,CAAC;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { IAggregateRoot } from '../../../../shared/domain/entities/IAggregateRoot';
2
+ import { ReportSectionPrimitives } from '../../../shared/domain/types/ReportSectionPrimitives';
3
+ export interface IReportTemplate extends IAggregateRoot {
4
+ getId(): string;
5
+ getVersion(): number;
6
+ getPreviousVersionId(): string | null;
7
+ getType(): string;
8
+ getFootprintType(): string;
9
+ getReportingStandard(): string;
10
+ requiresClientApproval(): boolean;
11
+ getStatus(): string;
12
+ getSections(): readonly ReportSectionPrimitives[];
13
+ getTextBankId(): string;
14
+ getCreatedBy(): string;
15
+ getCreatedAt(): string;
16
+ getUpdatedAt(): string;
17
+ isActive(): boolean;
18
+ isDraft(): boolean;
19
+ isDeprecated(): boolean;
20
+ canBeActivated(): boolean;
21
+ canBeModified(): boolean;
22
+ canBeDeprecated(): boolean;
23
+ }
24
+ //# sourceMappingURL=IReportTemplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IReportTemplate.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-templates/domain/entity/IReportTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mDAAmD,CAAC;AACnF,OAAO,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAE/F,MAAM,WAAW,eAAgB,SAAQ,cAAc;IACrD,KAAK,IAAI,MAAM,CAAC;IAChB,UAAU,IAAI,MAAM,CAAC;IACrB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CAAC;IACtC,OAAO,IAAI,MAAM,CAAC;IAClB,gBAAgB,IAAI,MAAM,CAAC;IAC3B,oBAAoB,IAAI,MAAM,CAAC;IAC/B,sBAAsB,IAAI,OAAO,CAAC;IAClC,SAAS,IAAI,MAAM,CAAC;IACpB,WAAW,IAAI,SAAS,uBAAuB,EAAE,CAAC;IAClD,aAAa,IAAI,MAAM,CAAC;IACxB,YAAY,IAAI,MAAM,CAAC;IACvB,YAAY,IAAI,MAAM,CAAC;IACvB,YAAY,IAAI,MAAM,CAAC;IAGvB,QAAQ,IAAI,OAAO,CAAC;IACpB,OAAO,IAAI,OAAO,CAAC;IACnB,YAAY,IAAI,OAAO,CAAC;IACxB,cAAc,IAAI,OAAO,CAAC;IAC1B,aAAa,IAAI,OAAO,CAAC;IACzB,eAAe,IAAI,OAAO,CAAC;CAC5B"}
@@ -0,0 +1,43 @@
1
+ import { AggregateRoot } from '../../../../shared/domain/entities/AggregateRoot';
2
+ import { ReportTemplateProps } from '../types/ReportTemplateProps';
3
+ import { ReportTemplatePrimitives } from '../types/ReportTemplatePrimitives';
4
+ import { IReportTemplate } from './IReportTemplate';
5
+ import { ReportSectionPrimitives } from '../../../shared/domain/types/ReportSectionPrimitives';
6
+ export declare class ReportTemplate extends AggregateRoot<ReportTemplatePrimitives> implements IReportTemplate {
7
+ #private;
8
+ private constructor();
9
+ static create(props: Omit<ReportTemplateProps, 'id' | 'createdAt' | 'updatedAt'>): ReportTemplate;
10
+ static fromPrimitives(primitives: ReportTemplatePrimitives): ReportTemplate;
11
+ get toPrimitives(): ReportTemplatePrimitives;
12
+ toProps(): ReportTemplateProps;
13
+ getId(): string;
14
+ getVersion(): number;
15
+ getPreviousVersionId(): string | null;
16
+ getType(): string;
17
+ getFootprintType(): string;
18
+ getReportingStandard(): string;
19
+ requiresClientApproval(): boolean;
20
+ getStatus(): string;
21
+ getSections(): readonly ReportSectionPrimitives[];
22
+ getTextBankId(): string;
23
+ getCreatedBy(): string;
24
+ getCreatedAt(): string;
25
+ getUpdatedAt(): string;
26
+ isActive(): boolean;
27
+ isDraft(): boolean;
28
+ isDeprecated(): boolean;
29
+ canBeActivated(): boolean;
30
+ canBeModified(): boolean;
31
+ canBeDeprecated(): boolean;
32
+ activate(): void;
33
+ deprecate(): void;
34
+ createNewVersion(createdBy: string): ReportTemplate;
35
+ isAuditable(): boolean;
36
+ isTechnical(): boolean;
37
+ isExecutive(): boolean;
38
+ isCustom(): boolean;
39
+ getTemplateTypeLabel(): string;
40
+ getTotalBlocks(): number;
41
+ hasTextBank(): boolean;
42
+ }
43
+ //# sourceMappingURL=ReportTemplate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportTemplate.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-templates/domain/entity/ReportTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AAEjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAIpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAO/F,qBAAa,cAAe,SAAQ,aAAa,CAAC,wBAAwB,CAAE,YAAW,eAAe;;IAyBpG,OAAO;WA4BgB,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,IAAI,GAAG,WAAW,GAAG,WAAW,CAAC,GAAG,cAAc;WAc1F,cAAc,CAAC,UAAU,EAAE,wBAAwB,GAAG,cAAc;IAoB3F,IAAoB,YAAY,IAAI,wBAAwB,CAgB3D;IAEM,OAAO,IAAI,mBAAmB;IAmB9B,KAAK,IAAI,MAAM;IAIf,UAAU,IAAI,MAAM;IAIpB,oBAAoB,IAAI,MAAM,GAAG,IAAI;IAIrC,OAAO,IAAI,MAAM;IAIjB,gBAAgB,IAAI,MAAM;IAI1B,oBAAoB,IAAI,MAAM;IAI9B,sBAAsB,IAAI,OAAO;IAIjC,SAAS,IAAI,MAAM;IAInB,WAAW,IAAI,SAAS,uBAAuB,EAAE;IAIjD,aAAa,IAAI,MAAM;IAIvB,YAAY,IAAI,MAAM;IAItB,YAAY,IAAI,MAAM;IAItB,YAAY,IAAI,MAAM;IAKtB,QAAQ,IAAI,OAAO;IAInB,OAAO,IAAI,OAAO;IAIlB,YAAY,IAAI,OAAO;IAKvB,cAAc,IAAI,OAAO;IAkBzB,aAAa,IAAI,OAAO;IAMxB,eAAe,IAAI,OAAO;IAM1B,QAAQ,IAAI,IAAI;IAuBhB,SAAS,IAAI,IAAI;IAejB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,cAAc;IA+BnD,WAAW,IAAI,OAAO;IAItB,WAAW,IAAI,OAAO;IAItB,WAAW,IAAI,OAAO;IAItB,QAAQ,IAAI,OAAO;IAInB,oBAAoB,IAAI,MAAM;IAW9B,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,OAAO;CAG9B"}
@@ -0,0 +1,7 @@
1
+ import { CodedRootError } from '../../../../shared/domain/exceptions/CodedRootError';
2
+ export declare class ReportTemplateCannotBeActivatedError extends CodedRootError {
3
+ private constructor();
4
+ static create(templateId: string, currentStatus: string, reason: string): ReportTemplateCannotBeActivatedError;
5
+ logError(): string;
6
+ }
7
+ //# sourceMappingURL=ReportTemplateCannotBeActivatedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportTemplateCannotBeActivatedError.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-templates/domain/exceptions/ReportTemplateCannotBeActivatedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAGrF,qBAAa,oCAAqC,SAAQ,cAAc;IACtE,OAAO;WAsBgB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,oCAAoC;IAI9G,QAAQ,IAAI,MAAM;CAGnC"}
@@ -0,0 +1,7 @@
1
+ import { CodedRootError } from '../../../../shared/domain/exceptions/CodedRootError';
2
+ export declare class ReportTemplateCannotBeDeprecatedError extends CodedRootError {
3
+ private constructor();
4
+ static create(templateId: string, currentStatus: string, reason: string): ReportTemplateCannotBeDeprecatedError;
5
+ logError(): string;
6
+ }
7
+ //# sourceMappingURL=ReportTemplateCannotBeDeprecatedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportTemplateCannotBeDeprecatedError.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-templates/domain/exceptions/ReportTemplateCannotBeDeprecatedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAGrF,qBAAa,qCAAsC,SAAQ,cAAc;IACvE,OAAO;WAsBgB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,qCAAqC;IAI/G,QAAQ,IAAI,MAAM;CAGnC"}
@@ -0,0 +1,7 @@
1
+ import { CodedRootError } from '../../../../shared/domain/exceptions/CodedRootError';
2
+ export declare class ReportTemplateCannotBeVersionedError extends CodedRootError {
3
+ private constructor();
4
+ static create(templateId: string, currentStatus: string, reason: string): ReportTemplateCannotBeVersionedError;
5
+ logError(): string;
6
+ }
7
+ //# sourceMappingURL=ReportTemplateCannotBeVersionedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReportTemplateCannotBeVersionedError.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-templates/domain/exceptions/ReportTemplateCannotBeVersionedError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qDAAqD,CAAC;AAGrF,qBAAa,oCAAqC,SAAQ,cAAc;IACtE,OAAO;WAsBgB,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,oCAAoC;IAI9G,QAAQ,IAAI,MAAM;CAGnC"}
@@ -0,0 +1,97 @@
1
+ import { Nullable } from '../../../../shared/domain/types/Nullable';
2
+ import { ReportTemplate } from '../entity/ReportTemplate';
3
+ import { ReportTemplateId } from '../value-objects/ReportTemplateId';
4
+ import { ReportType } from '../../../shared/domain/enums/ReportType';
5
+ import { ReportTemplateStatus } from '../enums/ReportTemplateStatus';
6
+ import { CarbonFootprint } from '../../../../carbon-footprint-configurations/shared/domain/enums/CarbonFootprint';
7
+ import { ReportingStandard } from '../../../../shared/domain/enums/ReportingStandard';
8
+ /**
9
+ * Repository interface for ReportTemplate aggregate following DDD principles.
10
+ * Manages persistence operations for report templates configured by the host.
11
+ */
12
+ export interface IReportTemplateRepository {
13
+ /**
14
+ * Persists a report template (create or update)
15
+ * @param template - The report template aggregate to save
16
+ * @returns Promise that resolves when the operation completes
17
+ */
18
+ save(template: ReportTemplate): Promise<void>;
19
+ /**
20
+ * Finds a report template by its ID
21
+ * @param id - The report template ID
22
+ * @returns Promise resolving to the template or null if not found
23
+ */
24
+ findById(id: ReportTemplateId): Promise<Nullable<ReportTemplate>>;
25
+ /**
26
+ * Finds a report template by type, footprint type, reporting standard, and version
27
+ * @param type - The report type
28
+ * @param footprintType - The carbon footprint type
29
+ * @param reportingStandard - The reporting standard
30
+ * @param version - The template version
31
+ * @returns Promise resolving to the template or null if not found
32
+ */
33
+ findByTypeAndStandardAndVersion(type: ReportType, footprintType: CarbonFootprint, reportingStandard: ReportingStandard, version: number): Promise<Nullable<ReportTemplate>>;
34
+ /**
35
+ * Finds all templates for a specific report type
36
+ * @param type - The report type to filter by
37
+ * @returns Promise resolving to an array of matching templates
38
+ */
39
+ findAllByType(type: ReportType): Promise<ReportTemplate[]>;
40
+ /**
41
+ * Finds all templates with a specific status
42
+ * @param status - The template status to filter by
43
+ * @returns Promise resolving to an array of matching templates
44
+ */
45
+ findAllByStatus(status: ReportTemplateStatus): Promise<ReportTemplate[]>;
46
+ /**
47
+ * Finds all active templates
48
+ * @returns Promise resolving to an array of active templates
49
+ */
50
+ findAllActive(): Promise<ReportTemplate[]>;
51
+ /**
52
+ * Finds all templates for a specific footprint type
53
+ * @param footprintType - The carbon footprint type to filter by
54
+ * @returns Promise resolving to an array of matching templates
55
+ */
56
+ findAllByFootprintType(footprintType: CarbonFootprint): Promise<ReportTemplate[]>;
57
+ /**
58
+ * Finds all templates for a specific reporting standard
59
+ * @param reportingStandard - The reporting standard to filter by
60
+ * @returns Promise resolving to an array of matching templates
61
+ */
62
+ findAllByReportingStandard(reportingStandard: ReportingStandard): Promise<ReportTemplate[]>;
63
+ /**
64
+ * Finds all versions of a template
65
+ * @param type - The report type
66
+ * @param footprintType - The carbon footprint type
67
+ * @param reportingStandard - The reporting standard
68
+ * @returns Promise resolving to an array of all versions, sorted by version number
69
+ */
70
+ findAllVersions(type: ReportType, footprintType: CarbonFootprint, reportingStandard: ReportingStandard): Promise<ReportTemplate[]>;
71
+ /**
72
+ * Finds the latest version of a template
73
+ * @param type - The report type
74
+ * @param footprintType - The carbon footprint type
75
+ * @param reportingStandard - The reporting standard
76
+ * @returns Promise resolving to the latest version or null if not found
77
+ */
78
+ findLatestVersion(type: ReportType, footprintType: CarbonFootprint, reportingStandard: ReportingStandard): Promise<Nullable<ReportTemplate>>;
79
+ /**
80
+ * Finds all templates created by a specific user
81
+ * @param createdBy - The user ID of the creator
82
+ * @returns Promise resolving to an array of templates created by the user
83
+ */
84
+ findAllByCreatedBy(createdBy: string): Promise<ReportTemplate[]>;
85
+ /**
86
+ * Finds all report templates in the system
87
+ * @returns Promise resolving to an array of all templates
88
+ */
89
+ findAll(): Promise<ReportTemplate[]>;
90
+ /**
91
+ * Deletes a report template by its ID
92
+ * @param id - The template ID to delete
93
+ * @returns Promise that resolves when the operation completes
94
+ */
95
+ deleteById(id: ReportTemplateId): Promise<void>;
96
+ }
97
+ //# sourceMappingURL=IReportTemplateRepository.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IReportTemplateRepository.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-templates/domain/repository/IReportTemplateRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0CAA0C,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,iFAAiF,CAAC;AAClH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AAEtF;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC;;;;OAIG;IACH,IAAI,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;;;OAIG;IACH,QAAQ,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAElE;;;;;;;OAOG;IACH,+BAA+B,CAC7B,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,eAAe,EAC9B,iBAAiB,EAAE,iBAAiB,EACpC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAErC;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAE3D;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEzE;;;OAGG;IACH,aAAa,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAE3C;;;;OAIG;IACH,sBAAsB,CAAC,aAAa,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAElF;;;;OAIG;IACH,0BAA0B,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAE5F;;;;;;OAMG;IACH,eAAe,CACb,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,eAAe,EAC9B,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAE7B;;;;;;OAMG;IACH,iBAAiB,CACf,IAAI,EAAE,UAAU,EAChB,aAAa,EAAE,eAAe,EAC9B,iBAAiB,EAAE,iBAAiB,GACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;IAErC;;;;OAIG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEjE;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAErC;;;;OAIG;IACH,UAAU,CAAC,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACjD"}
@@ -3,19 +3,19 @@ import { ReportType } from '../../../shared/domain/enums/ReportType';
3
3
  import { CarbonFootprint } from '../../../../carbon-footprint-configurations/shared/domain/enums/CarbonFootprint';
4
4
  import { ReportingStandard } from '../../../../shared/domain/enums/ReportingStandard';
5
5
  import { ReportTemplateStatus } from '../enums/ReportTemplateStatus';
6
- export interface ReportTemplatePrimitives {
7
- readonly id: string;
8
- readonly version: number;
9
- readonly previousVersionId: string | null;
10
- readonly type: ReportType;
11
- readonly footprintType: CarbonFootprint;
12
- readonly reportingStandard: ReportingStandard;
13
- readonly requiresClientApproval: boolean;
14
- readonly status: ReportTemplateStatus;
15
- readonly sections: ReportSectionPrimitives[];
16
- readonly textBankId: string;
17
- readonly createdBy: string;
18
- readonly createdAt: string;
19
- readonly updatedAt: string;
20
- }
6
+ import { AggregateRootPrimitives } from '../../../../shared/domain/types/AggregateRootPrimitives';
7
+ export type ReportTemplatePrimitives = AggregateRootPrimitives & {
8
+ version: number;
9
+ previousVersionId: string | null;
10
+ type: ReportType;
11
+ footprintType: CarbonFootprint;
12
+ reportingStandard: ReportingStandard;
13
+ requiresClientApproval: boolean;
14
+ status: ReportTemplateStatus;
15
+ sections: ReportSectionPrimitives[];
16
+ textBankId: string;
17
+ createdBy: string;
18
+ createdAt: string;
19
+ updatedAt: string;
20
+ };
21
21
  //# sourceMappingURL=ReportTemplatePrimitives.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ReportTemplatePrimitives.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-templates/domain/types/ReportTemplatePrimitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,iFAAiF,CAAC;AAClH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AAErE,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,aAAa,EAAE,eAAe,CAAC;IACxC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,sBAAsB,EAAE,OAAO,CAAC;IACzC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IAC7C,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B"}
1
+ {"version":3,"file":"ReportTemplatePrimitives.d.ts","sourceRoot":"","sources":["../../../../../../../src/carbonbox/reporting/report-templates/domain/types/ReportTemplatePrimitives.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAC/F,OAAO,EAAE,UAAU,EAAE,MAAM,yCAAyC,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,iFAAiF,CAAC;AAClH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mDAAmD,CAAC;AACtF,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAElG,MAAM,MAAM,wBAAwB,GAAG,uBAAuB,GAAG;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,IAAI,EAAE,UAAU,CAAC;IACjB,aAAa,EAAE,eAAe,CAAC;IAC/B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,sBAAsB,EAAE,OAAO,CAAC;IAChC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,QAAQ,EAAE,uBAAuB,EAAE,CAAC;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC"}