@muni-sanfer/types-pre-obligado 0.0.11 → 0.0.12

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 (34) hide show
  1. package/dist/base/entities.d.ts +28 -2
  2. package/dist/base/entities.js +13 -1
  3. package/dist/contracts/budgetAvailability.contract.d.ts +178 -0
  4. package/dist/contracts/budgetAvailability.contract.js +25 -0
  5. package/dist/contracts/budgetAvailabilityGenerator.contract.d.ts +26 -0
  6. package/dist/contracts/budgetAvailabilityGenerator.contract.js +9 -0
  7. package/dist/contracts/budgetAvailabilityPurchaseRequest.contract.d.ts +199 -0
  8. package/dist/contracts/budgetAvailabilityPurchaseRequest.contract.js +11 -0
  9. package/dist/contracts/budgetAvailabilitySignature.contract.d.ts +129 -0
  10. package/dist/contracts/budgetAvailabilitySignature.contract.js +9 -0
  11. package/dist/contracts/budgetAvailabilityTemplate.contract.d.ts +51 -0
  12. package/dist/contracts/budgetAvailabilityTemplate.contract.js +13 -0
  13. package/dist/contracts/contract.d.ts +37 -0
  14. package/dist/contracts/contract.js +2 -0
  15. package/dist/contracts/index.d.ts +63 -0
  16. package/dist/contracts/index.js +36 -0
  17. package/dist/entities/budgetAvailability/budgetAvailability.entity.d.ts +10 -1
  18. package/dist/entities/budgetAvailability/budgetAvailability.entity.js +15 -2
  19. package/dist/entities/budgetAvailabilityTemplate/budgetAvailabilityTemplate.entity.d.ts +16 -0
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.js +1 -0
  22. package/package.json +3 -3
  23. package/src/base/entities.ts +32 -2
  24. package/src/contracts/budgetAvailability.contract.ts +147 -0
  25. package/src/contracts/budgetAvailabilityGenerator.contract.ts +32 -0
  26. package/src/contracts/budgetAvailabilityPurchaseRequest.contract.ts +154 -0
  27. package/src/contracts/budgetAvailabilitySignature.contract.ts +126 -0
  28. package/src/contracts/budgetAvailabilityTemplate.contract.ts +67 -0
  29. package/src/contracts/contract.ts +35 -0
  30. package/src/contracts/index.ts +40 -0
  31. package/src/entities/budgetAvailability/budgetAvailability.entity.ts +12 -0
  32. package/src/entities/budgetAvailabilityTemplate/budgetAvailabilityTemplate.entity.ts +9 -0
  33. package/src/index.ts +1 -0
  34. package/tsconfig.json +1 -1
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BudgetAvailabilitySignaturePatterns = void 0;
4
+ /** Patrones NATS de `budgetAvailabilitySignature`: `<servicio>.<recurso>.<acción>`. */
5
+ exports.BudgetAvailabilitySignaturePatterns = {
6
+ getAllPending: 'preObligado.budgetAvailabilitySignature.getAllPending',
7
+ getFlow: 'preObligado.budgetAvailabilitySignature.getFlow',
8
+ resolve: 'preObligado.budgetAvailabilitySignature.resolve',
9
+ };
@@ -0,0 +1,51 @@
1
+ import { type BudgetAvailabilityTemplateEntity, type BudgetAvailabilityTemplateSignatureEntity } from '../base/entities';
2
+ import { type BudgetAvailabilityTemplateCreateResponseEntity, type BudgetAvailabilityTemplateDeleteResponseEntity, type BudgetAvailabilityTemplateGetAllResponseEntity, type BudgetAvailabilityTemplateGetByIdResponseEntity, type BudgetAvailabilityTemplateGetByYearResponseEntity, type BudgetAvailabilityTemplateUpdateResponseEntity } from '../entities';
3
+ import { type RpcListFilter, type RpcPage } from './contract';
4
+ /** Patrones NATS de `budgetAvailabilityTemplate`: `<servicio>.<recurso>.<acción>`. */
5
+ export declare const BudgetAvailabilityTemplatePatterns: {
6
+ readonly getAll: "preObligado.budgetAvailabilityTemplate.getAll";
7
+ readonly getById: "preObligado.budgetAvailabilityTemplate.getById";
8
+ readonly getByYear: "preObligado.budgetAvailabilityTemplate.getByYear";
9
+ readonly getActive: "preObligado.budgetAvailabilityTemplate.getActive";
10
+ readonly create: "preObligado.budgetAvailabilityTemplate.create";
11
+ readonly update: "preObligado.budgetAvailabilityTemplate.update";
12
+ readonly delete: "preObligado.budgetAvailabilityTemplate.delete";
13
+ };
14
+ /**
15
+ * Qué se envía y qué se responde en cada patrón. Generado desde los handlers y los DTO del microservicio.
16
+ */
17
+ export interface BudgetAvailabilityTemplateContract {
18
+ [BudgetAvailabilityTemplatePatterns.getAll]: {
19
+ payload: RpcListFilter;
20
+ response: RpcPage<BudgetAvailabilityTemplateGetAllResponseEntity[]>;
21
+ };
22
+ [BudgetAvailabilityTemplatePatterns.getById]: {
23
+ payload: Pick<BudgetAvailabilityTemplateEntity, 'id'>;
24
+ response: BudgetAvailabilityTemplateGetByIdResponseEntity;
25
+ };
26
+ [BudgetAvailabilityTemplatePatterns.getByYear]: {
27
+ payload: Pick<BudgetAvailabilityTemplateEntity, 'year'>;
28
+ response: BudgetAvailabilityTemplateGetByYearResponseEntity;
29
+ };
30
+ [BudgetAvailabilityTemplatePatterns.getActive]: {
31
+ payload: Record<string, never>;
32
+ response: BudgetAvailabilityTemplateGetByIdResponseEntity;
33
+ };
34
+ [BudgetAvailabilityTemplatePatterns.create]: {
35
+ payload: Omit<BudgetAvailabilityTemplateEntity, 'id'> & {
36
+ budgetAvailabilityTemplateSignature: Omit<BudgetAvailabilityTemplateSignatureEntity, 'id' | 'deleted' | 'budgetAvailabilityTemplateId' | 'createdAt' | 'updatedAt'>[];
37
+ };
38
+ response: BudgetAvailabilityTemplateCreateResponseEntity;
39
+ };
40
+ [BudgetAvailabilityTemplatePatterns.update]: {
41
+ payload: Omit<BudgetAvailabilityTemplateEntity, 'id'> & {
42
+ id: BudgetAvailabilityTemplateEntity['id'];
43
+ budgetAvailabilityTemplateSignature?: Array<BudgetAvailabilityTemplateSignatureEntity> | null;
44
+ };
45
+ response: BudgetAvailabilityTemplateUpdateResponseEntity;
46
+ };
47
+ [BudgetAvailabilityTemplatePatterns.delete]: {
48
+ payload: Pick<BudgetAvailabilityTemplateEntity, 'id'>;
49
+ response: BudgetAvailabilityTemplateDeleteResponseEntity;
50
+ };
51
+ }
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BudgetAvailabilityTemplatePatterns = void 0;
4
+ /** Patrones NATS de `budgetAvailabilityTemplate`: `<servicio>.<recurso>.<acción>`. */
5
+ exports.BudgetAvailabilityTemplatePatterns = {
6
+ getAll: 'preObligado.budgetAvailabilityTemplate.getAll',
7
+ getById: 'preObligado.budgetAvailabilityTemplate.getById',
8
+ getByYear: 'preObligado.budgetAvailabilityTemplate.getByYear',
9
+ getActive: 'preObligado.budgetAvailabilityTemplate.getActive',
10
+ create: 'preObligado.budgetAvailabilityTemplate.create',
11
+ update: 'preObligado.budgetAvailabilityTemplate.update',
12
+ delete: 'preObligado.budgetAvailabilityTemplate.delete',
13
+ };
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Contrato de mensajes NATS de un servicio: por cada patrón, qué se envía (`payload`) y qué se responde (`response`).
3
+ * Lo comparten quien atiende el mensaje (el microservicio) y quien lo envía (el gateway u otro microservicio), para
4
+ * que el patrón y sus datos se verifiquen al compilar en vez de escribirse como texto en cada lado.
5
+ */
6
+ export type RpcContract = Record<string, {
7
+ payload: unknown;
8
+ response: unknown;
9
+ }>;
10
+ /** Datos que se envían con el patrón `K` del contrato `C`. */
11
+ export type RpcPayload<C, K extends keyof C> = C[K] extends {
12
+ payload: infer P;
13
+ } ? P : never;
14
+ /** Respuesta del patrón `K` del contrato `C`. */
15
+ export type RpcResponse<C, K extends keyof C> = C[K] extends {
16
+ response: infer R;
17
+ } ? R : never;
18
+ /** Página de resultados que entregan los listados paginados. */
19
+ export interface RpcPage<T> {
20
+ total: number;
21
+ totalPages: number;
22
+ currentPage: number;
23
+ nextPage: number | null;
24
+ prevPage: number | null;
25
+ results: T;
26
+ }
27
+ /** Filtros comunes de los listados; llegan desde la URL, por eso admiten texto. */
28
+ export interface RpcListFilter {
29
+ page?: number | string;
30
+ limit?: number | string;
31
+ search?: string;
32
+ }
33
+ /**
34
+ * Datos cuya forma aún no está descrita en el contrato (el tipo vive dentro del microservicio). El microservicio los
35
+ * valida igual con su esquema; aquí solo no se verifican al compilar.
36
+ */
37
+ export type RpcData = Record<string, unknown>;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,63 @@
1
+ import { type BudgetAvailabilityContract } from './budgetAvailability.contract';
2
+ import { type BudgetAvailabilityGeneratorContract } from './budgetAvailabilityGenerator.contract';
3
+ import { type BudgetAvailabilityPurchaseRequestContract } from './budgetAvailabilityPurchaseRequest.contract';
4
+ import { type BudgetAvailabilitySignatureContract } from './budgetAvailabilitySignature.contract';
5
+ import { type BudgetAvailabilityTemplateContract } from './budgetAvailabilityTemplate.contract';
6
+ export * from './contract';
7
+ export * from './budgetAvailability.contract';
8
+ export * from './budgetAvailabilityGenerator.contract';
9
+ export * from './budgetAvailabilityPurchaseRequest.contract';
10
+ export * from './budgetAvailabilitySignature.contract';
11
+ export * from './budgetAvailabilityTemplate.contract';
12
+ /** Patrones NATS de pre-obligado-ms, por recurso: `preObligado.<recurso>.<acción>`. */
13
+ export declare const PreObligadoPatterns: {
14
+ readonly budgetAvailability: {
15
+ readonly getAll: "preObligado.budgetAvailability.getAll";
16
+ readonly getAllByManagementArea: "preObligado.budgetAvailability.getAllByManagementArea";
17
+ readonly getAllByCostCenter: "preObligado.budgetAvailability.getAllByCostCenter";
18
+ readonly getAllByAccountPlan: "preObligado.budgetAvailability.getAllByAccountPlan";
19
+ readonly getById: "preObligado.budgetAvailability.getById";
20
+ readonly getByOriginDocumentId: "preObligado.budgetAvailability.getByOriginDocumentId";
21
+ readonly getAmounts: "preObligado.budgetAvailability.getAmounts";
22
+ readonly create: "preObligado.budgetAvailability.create";
23
+ readonly createBatch: "preObligado.budgetAvailability.createBatch";
24
+ readonly discard: "preObligado.budgetAvailability.discard";
25
+ readonly getPdfById: "preObligado.budgetAvailability.getPdfById";
26
+ readonly getAllDetailsByCostCenter: "preObligado.budgetAvailability.getAllDetailsByCostCenter";
27
+ readonly getAllDetailsByAccount: "preObligado.budgetAvailability.getAllDetailsByAccount";
28
+ readonly signComptroller: "preObligado.budgetAvailability.signComptroller";
29
+ readonly getData: "preObligado.budgetAvailability.getData";
30
+ readonly export: "preObligado.budgetAvailability.export";
31
+ readonly exportByManagementArea: "preObligado.budgetAvailability.exportByManagementArea";
32
+ readonly exportByAccountPlan: "preObligado.budgetAvailability.exportByAccountPlan";
33
+ readonly exportByCostCenter: "preObligado.budgetAvailability.exportByCostCenter";
34
+ };
35
+ readonly budgetAvailabilityGenerator: {
36
+ readonly getAll: "preObligado.budgetAvailabilityGenerator.getAll";
37
+ readonly create: "preObligado.budgetAvailabilityGenerator.create";
38
+ readonly delete: "preObligado.budgetAvailabilityGenerator.delete";
39
+ };
40
+ readonly budgetAvailabilityPurchaseRequest: {
41
+ readonly getAll: "preObligado.budgetAvailabilityPurchaseRequest.getAll";
42
+ readonly getById: "preObligado.budgetAvailabilityPurchaseRequest.getById";
43
+ readonly generate: "preObligado.budgetAvailabilityPurchaseRequest.generate";
44
+ readonly discardByPurchaseRequest: "preObligado.budgetAvailabilityPurchaseRequest.discardByPurchaseRequest";
45
+ readonly reject: "preObligado.budgetAvailabilityPurchaseRequest.reject";
46
+ };
47
+ readonly budgetAvailabilitySignature: {
48
+ readonly getAllPending: "preObligado.budgetAvailabilitySignature.getAllPending";
49
+ readonly getFlow: "preObligado.budgetAvailabilitySignature.getFlow";
50
+ readonly resolve: "preObligado.budgetAvailabilitySignature.resolve";
51
+ };
52
+ readonly budgetAvailabilityTemplate: {
53
+ readonly getAll: "preObligado.budgetAvailabilityTemplate.getAll";
54
+ readonly getById: "preObligado.budgetAvailabilityTemplate.getById";
55
+ readonly getByYear: "preObligado.budgetAvailabilityTemplate.getByYear";
56
+ readonly getActive: "preObligado.budgetAvailabilityTemplate.getActive";
57
+ readonly create: "preObligado.budgetAvailabilityTemplate.create";
58
+ readonly update: "preObligado.budgetAvailabilityTemplate.update";
59
+ readonly delete: "preObligado.budgetAvailabilityTemplate.delete";
60
+ };
61
+ };
62
+ /** Contrato completo de pre-obligado-ms: la unión de los contratos de sus recursos. */
63
+ export type PreObligadoContract = BudgetAvailabilityContract & BudgetAvailabilityGeneratorContract & BudgetAvailabilityPurchaseRequestContract & BudgetAvailabilitySignatureContract & BudgetAvailabilityTemplateContract;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.PreObligadoPatterns = void 0;
18
+ const budgetAvailability_contract_1 = require("./budgetAvailability.contract");
19
+ const budgetAvailabilityGenerator_contract_1 = require("./budgetAvailabilityGenerator.contract");
20
+ const budgetAvailabilityPurchaseRequest_contract_1 = require("./budgetAvailabilityPurchaseRequest.contract");
21
+ const budgetAvailabilitySignature_contract_1 = require("./budgetAvailabilitySignature.contract");
22
+ const budgetAvailabilityTemplate_contract_1 = require("./budgetAvailabilityTemplate.contract");
23
+ __exportStar(require("./contract"), exports);
24
+ __exportStar(require("./budgetAvailability.contract"), exports);
25
+ __exportStar(require("./budgetAvailabilityGenerator.contract"), exports);
26
+ __exportStar(require("./budgetAvailabilityPurchaseRequest.contract"), exports);
27
+ __exportStar(require("./budgetAvailabilitySignature.contract"), exports);
28
+ __exportStar(require("./budgetAvailabilityTemplate.contract"), exports);
29
+ /** Patrones NATS de pre-obligado-ms, por recurso: `preObligado.<recurso>.<acción>`. */
30
+ exports.PreObligadoPatterns = {
31
+ budgetAvailability: budgetAvailability_contract_1.BudgetAvailabilityPatterns,
32
+ budgetAvailabilityGenerator: budgetAvailabilityGenerator_contract_1.BudgetAvailabilityGeneratorPatterns,
33
+ budgetAvailabilityPurchaseRequest: budgetAvailabilityPurchaseRequest_contract_1.BudgetAvailabilityPurchaseRequestPatterns,
34
+ budgetAvailabilitySignature: budgetAvailabilitySignature_contract_1.BudgetAvailabilitySignaturePatterns,
35
+ budgetAvailabilityTemplate: budgetAvailabilityTemplate_contract_1.BudgetAvailabilityTemplatePatterns,
36
+ };
@@ -49,13 +49,16 @@ export declare class BudgetAvailabilityGetAllResponseEntity {
49
49
  id: DepartmentEntity["id"];
50
50
  name: DepartmentEntity["name"];
51
51
  } | null | undefined;
52
+ totalSignatureSteps?: number | undefined;
53
+ resolvedSignatureSteps?: number | undefined;
54
+ signatureCompletedAt?: string | null | undefined;
52
55
  constructor(id: BudgetAvailabilityEntity['id'], type: BudgetAvailabilityEntity['type'], date: BudgetAvailabilityEntity['date'], year: BudgetAvailabilityEntity['year'], correlative: BudgetAvailabilityEntity['correlative'], concept: BudgetAvailabilityEntity['concept'], originDocumentId: BudgetAvailabilityEntity['originDocumentId'], originDocumentFolio: BudgetAvailabilityEntity['originDocumentFolio'], originDocumentType: BudgetAvailabilityEntity['originDocumentType'], status: BudgetAvailabilityEntity['status'], cumulativeAmount: BudgetAvailabilityDetailEntity['cumulativeAmount'], directorate?: {
53
56
  Codigo_Direccion: DirectorateEntity["Codigo_Direccion"];
54
57
  DESCRIPCION: DirectorateEntity["DESCRIPCION"];
55
58
  } | null | undefined, department?: {
56
59
  id: DepartmentEntity["id"];
57
60
  name: DepartmentEntity["name"];
58
- } | null | undefined);
61
+ } | null | undefined, totalSignatureSteps?: number | undefined, resolvedSignatureSteps?: number | undefined, signatureCompletedAt?: string | null | undefined);
59
62
  }
60
63
  export declare class BudgetAvailabilityGetByIdResponseEntity {
61
64
  id: BudgetAvailabilityEntity['id'];
@@ -278,3 +281,9 @@ export declare class BudgetAvailabilityComptrollerSignResponseEntity {
278
281
  ok: boolean;
279
282
  constructor(id: BudgetAvailabilityComptrollerEntity['id'], ok: boolean);
280
283
  }
284
+ /** Resultado de generar en lote los CDP de un documento (uno por cuenta). */
285
+ export declare class BudgetAvailabilitiesBatchCreateResponseEntity {
286
+ ids: string[];
287
+ ok: boolean;
288
+ constructor(ids: string[], ok: boolean);
289
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BudgetAvailabilityComptrollerSignResponseEntity = exports.ExportBudgetAvailabilitiesByCostCenterResponseEntity = exports.ExportBudgetAvailabilitiesByAccountPlanResponseEntity = exports.ExportBudgetAvailabilitiesByManagementAreaResponseEntity = exports.ExportBudgetAvailabilitiesResponseEntity = exports.BudgetAvailabilityGetByOriginDocumentIdResponseEntity = exports.BudgetAvailabilityDiscardResponseEntity = exports.BudgetAvailabilityCreateResponseEntity = exports.BudgetAvailabilityGetAmountsResponseEntity = exports.BudgetAvailabilityGetByIdResponseEntity = exports.BudgetAvailabilityGetAllResponseEntity = exports.BudgetAvailabilityGetAllByAccountPlanResponseEntity = exports.BudgetAvailabilityGetAllByCostCenterResponseEntity = exports.BudgetAvailabilityGetAllByManagementAreaResponseEntity = void 0;
3
+ exports.BudgetAvailabilitiesBatchCreateResponseEntity = exports.BudgetAvailabilityComptrollerSignResponseEntity = exports.ExportBudgetAvailabilitiesByCostCenterResponseEntity = exports.ExportBudgetAvailabilitiesByAccountPlanResponseEntity = exports.ExportBudgetAvailabilitiesByManagementAreaResponseEntity = exports.ExportBudgetAvailabilitiesResponseEntity = exports.BudgetAvailabilityGetByOriginDocumentIdResponseEntity = exports.BudgetAvailabilityDiscardResponseEntity = exports.BudgetAvailabilityCreateResponseEntity = exports.BudgetAvailabilityGetAmountsResponseEntity = exports.BudgetAvailabilityGetByIdResponseEntity = exports.BudgetAvailabilityGetAllResponseEntity = exports.BudgetAvailabilityGetAllByAccountPlanResponseEntity = exports.BudgetAvailabilityGetAllByCostCenterResponseEntity = exports.BudgetAvailabilityGetAllByManagementAreaResponseEntity = void 0;
4
4
  class BudgetAvailabilityGetAllByManagementAreaResponseEntity {
5
5
  constructor(CodigoAG, NombreAG, PresupuestoInicial, Aumento, Disminucion, cumulativeAmount) {
6
6
  this.CodigoAG = CodigoAG;
@@ -36,7 +36,9 @@ class BudgetAvailabilityGetAllByAccountPlanResponseEntity {
36
36
  }
37
37
  exports.BudgetAvailabilityGetAllByAccountPlanResponseEntity = BudgetAvailabilityGetAllByAccountPlanResponseEntity;
38
38
  class BudgetAvailabilityGetAllResponseEntity {
39
- constructor(id, type, date, year, correlative, concept, originDocumentId, originDocumentFolio, originDocumentType, status, cumulativeAmount, directorate, department) {
39
+ constructor(id, type, date, year, correlative, concept, originDocumentId, originDocumentFolio, originDocumentType, status, cumulativeAmount, directorate, department,
40
+ // Avance del procedimiento de firmas / visaciones del certificado.
41
+ totalSignatureSteps, resolvedSignatureSteps, signatureCompletedAt) {
40
42
  this.id = id;
41
43
  this.type = type;
42
44
  this.date = date;
@@ -50,6 +52,9 @@ class BudgetAvailabilityGetAllResponseEntity {
50
52
  this.cumulativeAmount = cumulativeAmount;
51
53
  this.directorate = directorate;
52
54
  this.department = department;
55
+ this.totalSignatureSteps = totalSignatureSteps;
56
+ this.resolvedSignatureSteps = resolvedSignatureSteps;
57
+ this.signatureCompletedAt = signatureCompletedAt;
53
58
  }
54
59
  }
55
60
  exports.BudgetAvailabilityGetAllResponseEntity = BudgetAvailabilityGetAllResponseEntity;
@@ -166,3 +171,11 @@ class BudgetAvailabilityComptrollerSignResponseEntity {
166
171
  }
167
172
  }
168
173
  exports.BudgetAvailabilityComptrollerSignResponseEntity = BudgetAvailabilityComptrollerSignResponseEntity;
174
+ /** Resultado de generar en lote los CDP de un documento (uno por cuenta). */
175
+ class BudgetAvailabilitiesBatchCreateResponseEntity {
176
+ constructor(ids, ok) {
177
+ this.ids = ids;
178
+ this.ok = ok;
179
+ }
180
+ }
181
+ exports.BudgetAvailabilitiesBatchCreateResponseEntity = BudgetAvailabilitiesBatchCreateResponseEntity;
@@ -20,6 +20,11 @@ export declare class BudgetAvailabilityTemplateGetByIdResponseEntity {
20
20
  type: BudgetAvailabilityTemplateSignatureEntity['type'];
21
21
  title: BudgetAvailabilityTemplateSignatureEntity['title'];
22
22
  subTitle: BudgetAvailabilityTemplateSignatureEntity['subTitle'];
23
+ access: BudgetAvailabilityTemplateSignatureEntity['access'];
24
+ actions: BudgetAvailabilityTemplateSignatureEntity['actions'];
25
+ description: BudgetAvailabilityTemplateSignatureEntity['description'];
26
+ directorateCode?: BudgetAvailabilityTemplateSignatureEntity['directorateCode'];
27
+ departmentId?: BudgetAvailabilityTemplateSignatureEntity['departmentId'];
23
28
  directorate?: {
24
29
  Codigo_Direccion: DirectorateEntity['Codigo_Direccion'];
25
30
  DESCRIPCION: DirectorateEntity['DESCRIPCION'];
@@ -35,6 +40,11 @@ export declare class BudgetAvailabilityTemplateGetByIdResponseEntity {
35
40
  type: BudgetAvailabilityTemplateSignatureEntity['type'];
36
41
  title: BudgetAvailabilityTemplateSignatureEntity['title'];
37
42
  subTitle: BudgetAvailabilityTemplateSignatureEntity['subTitle'];
43
+ access: BudgetAvailabilityTemplateSignatureEntity['access'];
44
+ actions: BudgetAvailabilityTemplateSignatureEntity['actions'];
45
+ description: BudgetAvailabilityTemplateSignatureEntity['description'];
46
+ directorateCode?: BudgetAvailabilityTemplateSignatureEntity['directorateCode'];
47
+ departmentId?: BudgetAvailabilityTemplateSignatureEntity['departmentId'];
38
48
  directorate?: {
39
49
  Codigo_Direccion: DirectorateEntity['Codigo_Direccion'];
40
50
  DESCRIPCION: DirectorateEntity['DESCRIPCION'];
@@ -57,6 +67,9 @@ export declare class BudgetAvailabilityTemplateGetByYearResponseEntity {
57
67
  type: BudgetAvailabilityTemplateSignatureEntity['type'];
58
68
  title: BudgetAvailabilityTemplateSignatureEntity['title'];
59
69
  subTitle: BudgetAvailabilityTemplateSignatureEntity['subTitle'];
70
+ access: BudgetAvailabilityTemplateSignatureEntity['access'];
71
+ actions: BudgetAvailabilityTemplateSignatureEntity['actions'];
72
+ description: BudgetAvailabilityTemplateSignatureEntity['description'];
60
73
  directorate?: {
61
74
  Codigo_Direccion: DirectorateEntity['Codigo_Direccion'];
62
75
  DESCRIPCION: DirectorateEntity['DESCRIPCION'];
@@ -72,6 +85,9 @@ export declare class BudgetAvailabilityTemplateGetByYearResponseEntity {
72
85
  type: BudgetAvailabilityTemplateSignatureEntity['type'];
73
86
  title: BudgetAvailabilityTemplateSignatureEntity['title'];
74
87
  subTitle: BudgetAvailabilityTemplateSignatureEntity['subTitle'];
88
+ access: BudgetAvailabilityTemplateSignatureEntity['access'];
89
+ actions: BudgetAvailabilityTemplateSignatureEntity['actions'];
90
+ description: BudgetAvailabilityTemplateSignatureEntity['description'];
75
91
  directorate?: {
76
92
  Codigo_Direccion: DirectorateEntity['Codigo_Direccion'];
77
93
  DESCRIPCION: DirectorateEntity['DESCRIPCION'];
package/dist/index.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './entities';
2
2
  export * from './base/entities';
3
+ export * from './contracts';
package/dist/index.js CHANGED
@@ -16,3 +16,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./entities"), exports);
18
18
  __exportStar(require("./base/entities"), exports);
19
+ __exportStar(require("./contracts"), exports);
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@muni-sanfer/types-pre-obligado",
3
- "version": "0.0.11",
3
+ "version": "0.0.12",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
7
7
  "build": "tsc"
8
8
  },
9
9
  "devDependencies": {
10
- "@muni-sanfer/types-caschile": "^0.0.9",
11
- "@muni-sanfer/types-organizacion": "^0.0.29"
10
+ "@muni-sanfer/types-caschile": "0.0.11",
11
+ "@muni-sanfer/types-organizacion": "0.0.42"
12
12
  }
13
13
  }
@@ -21,18 +21,36 @@ export const OriginDocumentType = {
21
21
  PurchaseRequest: 'PurchaseRequest',
22
22
  } satisfies Record<string, OriginDocumentType>;
23
23
 
24
- export type BudgetAvailabilitySignatureType = 'FEA' | 'Visa';
24
+ export type BudgetAvailabilitySignatureType = 'FEA' | 'Visa' | 'Approval';
25
25
 
26
26
  export const BudgetAvailabilitySignatureType = {
27
27
  FEA: 'FEA',
28
28
  Visa: 'Visa',
29
+ Approval: 'Approval',
29
30
  } satisfies Record<string, BudgetAvailabilitySignatureType>;
30
31
 
31
- export type BudgetAvailabilitySignatureStatus = 'Pending' | 'Done';
32
+ export type BudgetAvailabilityStepAccess = 'SpecificArea' | 'AllAreas';
33
+
34
+ export const BudgetAvailabilityStepAccess = {
35
+ SpecificArea: 'SpecificArea',
36
+ AllAreas: 'AllAreas',
37
+ } satisfies Record<string, BudgetAvailabilityStepAccess>;
38
+
39
+ export type BudgetAvailabilityStepAction = 'Approve' | 'Reject' | 'Hold';
40
+
41
+ export const BudgetAvailabilityStepAction = {
42
+ Approve: 'Approve',
43
+ Reject: 'Reject',
44
+ Hold: 'Hold',
45
+ } satisfies Record<string, BudgetAvailabilityStepAction>;
46
+
47
+ export type BudgetAvailabilitySignatureStatus = 'Pending' | 'Done' | 'Rejected' | 'OnHold';
32
48
 
33
49
  export const BudgetAvailabilitySignatureStatus = {
34
50
  Pending: 'Pending',
35
51
  Done: 'Done',
52
+ Rejected: 'Rejected',
53
+ OnHold: 'OnHold',
36
54
  } satisfies Record<string, BudgetAvailabilitySignatureStatus>;
37
55
 
38
56
  export type BudgetAvailabilityComptrollerType = 'SubTitle222433' | 'SubTitle31';
@@ -55,6 +73,10 @@ export interface BudgetAvailabilityEntity {
55
73
  originDocumentType?: OriginDocumentType | null;
56
74
  originDocumentDate?: string | null;
57
75
  observations?: string | null;
76
+ signedFileId?: string | null;
77
+ signedFileUrl?: string | null;
78
+ signatureCompletedAt?: string | null;
79
+ originDocumentNotifiedAt?: string | null;
58
80
  directorateCode?: number | null;
59
81
  departmentId?: string | null;
60
82
  employeeId?: string | null;
@@ -102,6 +124,9 @@ export interface BudgetAvailabilityTemplateSignatureEntity {
102
124
  type: BudgetAvailabilitySignatureType;
103
125
  title: string;
104
126
  subTitle?: string | null;
127
+ access: BudgetAvailabilityStepAccess;
128
+ actions: BudgetAvailabilityStepAction[];
129
+ description?: string | null;
105
130
  directorateCode?: number | null;
106
131
  departmentId?: string | null;
107
132
  budgetAvailabilityTemplate?: BudgetAvailabilityTemplateEntity;
@@ -118,6 +143,11 @@ export interface BudgetAvailabilitySignatureEntity {
118
143
  status: BudgetAvailabilitySignatureStatus;
119
144
  url?: string | null;
120
145
  fileId?: string | null;
146
+ observation?: string | null;
147
+ resolvedAt?: string | null;
148
+ employeeId?: string | null;
149
+ directorateCode?: number | null;
150
+ departmentId?: string | null;
121
151
  currentBudgetAvailability?: BudgetAvailabilityEntity | null;
122
152
  currentBudgetAvailabilityId?: string | null;
123
153
  budgetAvailability?: BudgetAvailabilityEntity | null;
@@ -0,0 +1,147 @@
1
+ import {
2
+ type BudgetAvailabilityComptrollerEntity,
3
+ type BudgetAvailabilityDetailEntity,
4
+ type BudgetAvailabilityEntity,
5
+ } from '../base/entities';
6
+ import {
7
+ type BudgetAvailabilitiesBatchCreateResponseEntity,
8
+ type BudgetAvailabilityComptrollerSignResponseEntity,
9
+ type BudgetAvailabilityCreateResponseEntity,
10
+ type BudgetAvailabilityDiscardResponseEntity,
11
+ type BudgetAvailabilityGetAllByAccountPlanResponseEntity,
12
+ type BudgetAvailabilityGetAllByCostCenterResponseEntity,
13
+ type BudgetAvailabilityGetAllByManagementAreaResponseEntity,
14
+ type BudgetAvailabilityGetAllResponseEntity,
15
+ type BudgetAvailabilityGetAmountsResponseEntity,
16
+ type BudgetAvailabilityGetByIdResponseEntity,
17
+ type BudgetAvailabilityGetByOriginDocumentIdResponseEntity,
18
+ type ExportBudgetAvailabilitiesResponseEntity,
19
+ } from '../entities';
20
+ import { type RpcListFilter, type RpcPage } from './contract';
21
+
22
+ /** Patrones NATS de `budgetAvailability`: `<servicio>.<recurso>.<acción>`. */
23
+ export const BudgetAvailabilityPatterns = {
24
+ getAll: 'preObligado.budgetAvailability.getAll',
25
+ getAllByManagementArea: 'preObligado.budgetAvailability.getAllByManagementArea',
26
+ getAllByCostCenter: 'preObligado.budgetAvailability.getAllByCostCenter',
27
+ getAllByAccountPlan: 'preObligado.budgetAvailability.getAllByAccountPlan',
28
+ getById: 'preObligado.budgetAvailability.getById',
29
+ getByOriginDocumentId: 'preObligado.budgetAvailability.getByOriginDocumentId',
30
+ getAmounts: 'preObligado.budgetAvailability.getAmounts',
31
+ create: 'preObligado.budgetAvailability.create',
32
+ createBatch: 'preObligado.budgetAvailability.createBatch',
33
+ discard: 'preObligado.budgetAvailability.discard',
34
+ getPdfById: 'preObligado.budgetAvailability.getPdfById',
35
+ getAllDetailsByCostCenter: 'preObligado.budgetAvailability.getAllDetailsByCostCenter',
36
+ getAllDetailsByAccount: 'preObligado.budgetAvailability.getAllDetailsByAccount',
37
+ signComptroller: 'preObligado.budgetAvailability.signComptroller',
38
+ getData: 'preObligado.budgetAvailability.getData',
39
+ export: 'preObligado.budgetAvailability.export',
40
+ exportByManagementArea: 'preObligado.budgetAvailability.exportByManagementArea',
41
+ exportByAccountPlan: 'preObligado.budgetAvailability.exportByAccountPlan',
42
+ exportByCostCenter: 'preObligado.budgetAvailability.exportByCostCenter',
43
+ } as const;
44
+
45
+ /**
46
+ * Qué se envía y qué se responde en cada patrón. Generado desde los handlers y los DTO del microservicio.
47
+ */
48
+ export interface BudgetAvailabilityContract {
49
+ [BudgetAvailabilityPatterns.getAll]: {
50
+ payload: {
51
+ // sin `page` y `limit` el microservicio usa sus valores por defecto
52
+ pagination: { page?: number; limit?: number };
53
+ filters: { search?: string } & { costCenters?: number[]; accounts?: string[] };
54
+ };
55
+ response: RpcPage<BudgetAvailabilityGetAllResponseEntity[]>;
56
+ };
57
+ [BudgetAvailabilityPatterns.getAllByManagementArea]: {
58
+ payload: RpcListFilter & { year: number };
59
+ response: RpcPage<BudgetAvailabilityGetAllByManagementAreaResponseEntity[]>;
60
+ };
61
+ [BudgetAvailabilityPatterns.getAllByCostCenter]: {
62
+ payload: RpcListFilter & { year: number };
63
+ response: RpcPage<BudgetAvailabilityGetAllByCostCenterResponseEntity[]>;
64
+ };
65
+ [BudgetAvailabilityPatterns.getAllByAccountPlan]: {
66
+ payload: RpcListFilter & { year: number };
67
+ response: RpcPage<BudgetAvailabilityGetAllByAccountPlanResponseEntity[]>;
68
+ };
69
+ [BudgetAvailabilityPatterns.getById]: {
70
+ payload: Pick<BudgetAvailabilityEntity, 'id'>;
71
+ response: BudgetAvailabilityGetByIdResponseEntity;
72
+ };
73
+ [BudgetAvailabilityPatterns.getByOriginDocumentId]: {
74
+ payload: Pick<BudgetAvailabilityEntity, 'originDocumentId'>;
75
+ response: BudgetAvailabilityGetByOriginDocumentIdResponseEntity;
76
+ };
77
+ [BudgetAvailabilityPatterns.getAmounts]: {
78
+ payload: {
79
+ dataAmounts: {
80
+ year: BudgetAvailabilityEntity['year'];
81
+ costCenterCodeReference: BudgetAvailabilityDetailEntity['costCenterCodeReference'];
82
+ accountCodeReference: BudgetAvailabilityDetailEntity['accountCodeReference'];
83
+ }[];
84
+ };
85
+ response: BudgetAvailabilityGetAmountsResponseEntity[];
86
+ };
87
+ [BudgetAvailabilityPatterns.create]: {
88
+ payload: Omit<BudgetAvailabilityEntity, 'id' | 'correlative'> & {
89
+ budgetAvailabilityDetail: Omit<BudgetAvailabilityDetailEntity, 'id' | 'budgetAvailabilityId'>[];
90
+ };
91
+ response: BudgetAvailabilityCreateResponseEntity;
92
+ };
93
+ [BudgetAvailabilityPatterns.createBatch]: {
94
+ payload: {
95
+ date: Date;
96
+ year: number;
97
+ concept: string;
98
+ observations?: string | null;
99
+ directorateCode?: number | null;
100
+ departmentId?: string | null;
101
+ employeeId?: string | null;
102
+ originDocumentId: string;
103
+ originDocumentFolio: string;
104
+ originDocumentDate?: Date | null;
105
+ accounts: {
106
+ accountCodeReference: string;
107
+ budgetAvailabilityDetail: {
108
+ costCenterCodeReference: number;
109
+ accountCodeReference: string;
110
+ requestedAmount: number;
111
+ }[];
112
+ }[];
113
+ };
114
+ response: BudgetAvailabilitiesBatchCreateResponseEntity;
115
+ };
116
+ [BudgetAvailabilityPatterns.discard]: {
117
+ payload: Pick<BudgetAvailabilityEntity, 'id'>;
118
+ response: BudgetAvailabilityDiscardResponseEntity;
119
+ };
120
+ [BudgetAvailabilityPatterns.getPdfById]: {
121
+ payload: Pick<BudgetAvailabilityEntity, 'id'>;
122
+ response: { filename: string; type: 'local' | 'drive'; file: string };
123
+ };
124
+ [BudgetAvailabilityPatterns.getAllDetailsByCostCenter]: {
125
+ payload: { year: number; costCenterCodeReference: number };
126
+ response: BudgetAvailabilityGetAllByAccountPlanResponseEntity[];
127
+ };
128
+ [BudgetAvailabilityPatterns.getAllDetailsByAccount]: {
129
+ payload: { year: number; accountCodeReference: string };
130
+ response: BudgetAvailabilityGetAllByCostCenterResponseEntity[];
131
+ };
132
+ [BudgetAvailabilityPatterns.signComptroller]: {
133
+ payload: {
134
+ id: BudgetAvailabilityComptrollerEntity['id'];
135
+ signer: { rut: string; fullName: string; role: string; areaName: string };
136
+ };
137
+ response: BudgetAvailabilityComptrollerSignResponseEntity;
138
+ };
139
+ [BudgetAvailabilityPatterns.getData]: {
140
+ payload: { year: string };
141
+ response: ExportBudgetAvailabilitiesResponseEntity[];
142
+ };
143
+ [BudgetAvailabilityPatterns.export]: { payload: { year: string }; response: string };
144
+ [BudgetAvailabilityPatterns.exportByManagementArea]: { payload: { year: string }; response: string };
145
+ [BudgetAvailabilityPatterns.exportByAccountPlan]: { payload: { year: string }; response: string };
146
+ [BudgetAvailabilityPatterns.exportByCostCenter]: { payload: { year: string }; response: string };
147
+ }
@@ -0,0 +1,32 @@
1
+ import { type BudgetAvailabilityGeneratorEntity } from '../base/entities';
2
+ import {
3
+ type BudgetAvailabilityGeneratorCreateResponseEntity,
4
+ type BudgetAvailabilityGeneratorDeleteResponseEntity,
5
+ type BudgetAvailabilityGeneratorGetAllResponseEntity,
6
+ } from '../entities';
7
+ import { type RpcListFilter, type RpcPage } from './contract';
8
+
9
+ /** Patrones NATS de `budgetAvailabilityGenerator`: `<servicio>.<recurso>.<acción>`. */
10
+ export const BudgetAvailabilityGeneratorPatterns = {
11
+ getAll: 'preObligado.budgetAvailabilityGenerator.getAll',
12
+ create: 'preObligado.budgetAvailabilityGenerator.create',
13
+ delete: 'preObligado.budgetAvailabilityGenerator.delete',
14
+ } as const;
15
+
16
+ /**
17
+ * Qué se envía y qué se responde en cada patrón. Generado desde los handlers y los DTO del microservicio.
18
+ */
19
+ export interface BudgetAvailabilityGeneratorContract {
20
+ [BudgetAvailabilityGeneratorPatterns.getAll]: {
21
+ payload: RpcListFilter;
22
+ response: RpcPage<BudgetAvailabilityGeneratorGetAllResponseEntity[]>;
23
+ };
24
+ [BudgetAvailabilityGeneratorPatterns.create]: {
25
+ payload: Omit<BudgetAvailabilityGeneratorEntity, 'id'>;
26
+ response: BudgetAvailabilityGeneratorCreateResponseEntity;
27
+ };
28
+ [BudgetAvailabilityGeneratorPatterns.delete]: {
29
+ payload: Pick<BudgetAvailabilityGeneratorEntity, 'id'>;
30
+ response: BudgetAvailabilityGeneratorDeleteResponseEntity;
31
+ };
32
+ }