@muni-sanfer/types-gestor-documental 0.0.1-beta.2 → 0.0.1-beta.21

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 (146) hide show
  1. package/dist/base/entities.d.ts +607 -1
  2. package/dist/base/entities.js +133 -1
  3. package/dist/contracts/archivalSeries.contract.d.ts +50 -0
  4. package/dist/contracts/archivalSeries.contract.js +11 -0
  5. package/dist/contracts/audit.contract.d.ts +32 -0
  6. package/dist/contracts/audit.contract.js +8 -0
  7. package/dist/contracts/caseFile.contract.d.ts +262 -0
  8. package/dist/contracts/caseFile.contract.js +26 -0
  9. package/dist/contracts/document.contract.d.ts +145 -2
  10. package/dist/contracts/document.contract.js +9 -0
  11. package/dist/contracts/documentType.contract.d.ts +24 -1
  12. package/dist/contracts/holiday.contract.d.ts +30 -0
  13. package/dist/contracts/holiday.contract.js +9 -0
  14. package/dist/contracts/index.d.ts +162 -1
  15. package/dist/contracts/index.js +42 -0
  16. package/dist/contracts/indicators.contract.d.ts +103 -0
  17. package/dist/contracts/indicators.contract.js +15 -0
  18. package/dist/contracts/issuingEntity.contract.d.ts +52 -0
  19. package/dist/contracts/issuingEntity.contract.js +11 -0
  20. package/dist/contracts/partsOffice.contract.d.ts +177 -0
  21. package/dist/contracts/partsOffice.contract.js +23 -0
  22. package/dist/contracts/procedure.contract.d.ts +50 -0
  23. package/dist/contracts/procedure.contract.js +11 -0
  24. package/dist/contracts/registerBook.contract.d.ts +27 -0
  25. package/dist/contracts/registerBook.contract.js +8 -0
  26. package/dist/contracts/scan.contract.d.ts +63 -0
  27. package/dist/contracts/scan.contract.js +12 -0
  28. package/dist/contracts/signatureBatch.contract.d.ts +109 -0
  29. package/dist/contracts/signatureBatch.contract.js +12 -0
  30. package/dist/contracts/signatureCheck.contract.d.ts +14 -0
  31. package/dist/contracts/signatureCheck.contract.js +7 -0
  32. package/dist/contracts/textSnippet.contract.d.ts +51 -0
  33. package/dist/contracts/textSnippet.contract.js +11 -0
  34. package/dist/contracts/workFolder.contract.d.ts +114 -0
  35. package/dist/contracts/workFolder.contract.js +16 -0
  36. package/dist/entities/archivalSeries/archivalSeries.entity.d.ts +27 -0
  37. package/dist/entities/archivalSeries/archivalSeries.entity.js +2 -0
  38. package/dist/entities/archivalSeries/index.d.ts +1 -0
  39. package/dist/entities/archivalSeries/index.js +17 -0
  40. package/dist/entities/audit/audit.entity.d.ts +27 -0
  41. package/dist/entities/audit/audit.entity.js +2 -0
  42. package/dist/entities/audit/index.d.ts +1 -0
  43. package/dist/entities/audit/index.js +17 -0
  44. package/dist/entities/caseFile/caseFile.entity.d.ts +300 -0
  45. package/dist/entities/caseFile/caseFile.entity.js +2 -0
  46. package/dist/entities/caseFile/index.d.ts +1 -0
  47. package/dist/entities/caseFile/index.js +17 -0
  48. package/dist/entities/document/document.entity.d.ts +252 -0
  49. package/dist/entities/documentType/documentType.entity.d.ts +37 -1
  50. package/dist/entities/holiday/holiday.entity.d.ts +10 -0
  51. package/dist/entities/holiday/holiday.entity.js +2 -0
  52. package/dist/entities/holiday/index.d.ts +1 -0
  53. package/dist/entities/holiday/index.js +17 -0
  54. package/dist/entities/index.d.ts +14 -0
  55. package/dist/entities/index.js +14 -0
  56. package/dist/entities/indicators/index.d.ts +1 -0
  57. package/dist/entities/indicators/index.js +17 -0
  58. package/dist/entities/indicators/indicators.entity.d.ts +152 -0
  59. package/dist/entities/indicators/indicators.entity.js +2 -0
  60. package/dist/entities/issuingEntity/index.d.ts +1 -0
  61. package/dist/entities/issuingEntity/index.js +17 -0
  62. package/dist/entities/issuingEntity/issuingEntity.entity.d.ts +20 -0
  63. package/dist/entities/issuingEntity/issuingEntity.entity.js +2 -0
  64. package/dist/entities/partsOffice/index.d.ts +1 -0
  65. package/dist/entities/partsOffice/index.js +17 -0
  66. package/dist/entities/partsOffice/partsOffice.entity.d.ts +105 -0
  67. package/dist/entities/partsOffice/partsOffice.entity.js +2 -0
  68. package/dist/entities/procedure/index.d.ts +1 -0
  69. package/dist/entities/procedure/index.js +17 -0
  70. package/dist/entities/procedure/procedure.entity.d.ts +20 -0
  71. package/dist/entities/procedure/procedure.entity.js +2 -0
  72. package/dist/entities/registerBook/index.d.ts +1 -0
  73. package/dist/entities/registerBook/index.js +17 -0
  74. package/dist/entities/registerBook/registerBook.entity.d.ts +48 -0
  75. package/dist/entities/registerBook/registerBook.entity.js +2 -0
  76. package/dist/entities/scan/index.d.ts +1 -0
  77. package/dist/entities/scan/index.js +17 -0
  78. package/dist/entities/scan/scan.entity.d.ts +29 -0
  79. package/dist/entities/scan/scan.entity.js +2 -0
  80. package/dist/entities/signatureBatch/index.d.ts +1 -0
  81. package/dist/entities/signatureBatch/index.js +17 -0
  82. package/dist/entities/signatureBatch/signatureBatch.entity.d.ts +107 -0
  83. package/dist/entities/signatureBatch/signatureBatch.entity.js +2 -0
  84. package/dist/entities/signatureCheck/index.d.ts +1 -0
  85. package/dist/entities/signatureCheck/index.js +17 -0
  86. package/dist/entities/signatureCheck/signatureCheck.entity.d.ts +49 -0
  87. package/dist/entities/signatureCheck/signatureCheck.entity.js +2 -0
  88. package/dist/entities/textSnippet/index.d.ts +1 -0
  89. package/dist/entities/textSnippet/index.js +17 -0
  90. package/dist/entities/textSnippet/textSnippet.entity.d.ts +20 -0
  91. package/dist/entities/textSnippet/textSnippet.entity.js +2 -0
  92. package/dist/entities/workFolder/index.d.ts +1 -0
  93. package/dist/entities/workFolder/index.js +17 -0
  94. package/dist/entities/workFolder/workFolder.entity.d.ts +83 -0
  95. package/dist/entities/workFolder/workFolder.entity.js +2 -0
  96. package/package.json +1 -1
  97. package/src/base/entities.ts +716 -1
  98. package/src/contracts/archivalSeries.contract.ts +53 -0
  99. package/src/contracts/audit.contract.ts +30 -0
  100. package/src/contracts/caseFile.contract.ts +228 -0
  101. package/src/contracts/document.contract.ts +151 -2
  102. package/src/contracts/documentType.contract.ts +32 -2
  103. package/src/contracts/holiday.contract.ts +16 -0
  104. package/src/contracts/index.ts +58 -1
  105. package/src/contracts/indicators.contract.ts +80 -0
  106. package/src/contracts/issuingEntity.contract.ts +55 -0
  107. package/src/contracts/partsOffice.contract.ts +123 -0
  108. package/src/contracts/procedure.contract.ts +53 -0
  109. package/src/contracts/registerBook.contract.ts +24 -0
  110. package/src/contracts/scan.contract.ts +52 -0
  111. package/src/contracts/signatureBatch.contract.ts +96 -0
  112. package/src/contracts/signatureCheck.contract.ts +11 -0
  113. package/src/contracts/textSnippet.contract.ts +53 -0
  114. package/src/contracts/workFolder.contract.ts +75 -0
  115. package/src/entities/archivalSeries/archivalSeries.entity.ts +32 -0
  116. package/src/entities/archivalSeries/index.ts +1 -0
  117. package/src/entities/audit/audit.entity.ts +30 -0
  118. package/src/entities/audit/index.ts +1 -0
  119. package/src/entities/caseFile/caseFile.entity.ts +324 -0
  120. package/src/entities/caseFile/index.ts +1 -0
  121. package/src/entities/document/document.entity.ts +250 -0
  122. package/src/entities/documentType/documentType.entity.ts +31 -1
  123. package/src/entities/holiday/holiday.entity.ts +11 -0
  124. package/src/entities/holiday/index.ts +1 -0
  125. package/src/entities/index.ts +14 -0
  126. package/src/entities/indicators/index.ts +1 -0
  127. package/src/entities/indicators/indicators.entity.ts +157 -0
  128. package/src/entities/issuingEntity/index.ts +1 -0
  129. package/src/entities/issuingEntity/issuingEntity.entity.ts +24 -0
  130. package/src/entities/partsOffice/index.ts +1 -0
  131. package/src/entities/partsOffice/partsOffice.entity.ts +110 -0
  132. package/src/entities/procedure/index.ts +1 -0
  133. package/src/entities/procedure/procedure.entity.ts +24 -0
  134. package/src/entities/registerBook/index.ts +1 -0
  135. package/src/entities/registerBook/registerBook.entity.ts +52 -0
  136. package/src/entities/scan/index.ts +1 -0
  137. package/src/entities/scan/scan.entity.ts +32 -0
  138. package/src/entities/signatureBatch/index.ts +1 -0
  139. package/src/entities/signatureBatch/signatureBatch.entity.ts +110 -0
  140. package/src/entities/signatureCheck/index.ts +1 -0
  141. package/src/entities/signatureCheck/signatureCheck.entity.ts +51 -0
  142. package/src/entities/textSnippet/index.ts +1 -0
  143. package/src/entities/textSnippet/textSnippet.entity.ts +24 -0
  144. package/src/entities/workFolder/index.ts +1 -0
  145. package/src/entities/workFolder/workFolder.entity.ts +84 -0
  146. package/tsconfig.json +1 -3
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SignatureBatchPatterns = void 0;
4
+ /** Patrones NATS de `signatureBatch` (lotes de firma): `<servicio>.<recurso>.<acción>`. */
5
+ exports.SignatureBatchPatterns = {
6
+ getAll: 'gestorDocumental.signatureBatch.getAll',
7
+ getById: 'gestorDocumental.signatureBatch.getById',
8
+ create: 'gestorDocumental.signatureBatch.create',
9
+ visa: 'gestorDocumental.signatureBatch.visa',
10
+ sign: 'gestorDocumental.signatureBatch.sign',
11
+ reject: 'gestorDocumental.signatureBatch.reject',
12
+ };
@@ -0,0 +1,14 @@
1
+ import { type PdfSignatureReportEntity } from '../entities';
2
+ /** Patrones NATS de `signatureCheck`: revisión de las firmas electrónicas de un PDF. */
3
+ export declare const SignatureCheckPatterns: {
4
+ readonly check: "gestorDocumental.signatureCheck.check";
5
+ };
6
+ export interface SignatureCheckContract {
7
+ /** Revisa un PDF ya subido al gestor de archivos (la herramienta «Validar firmas» lo sube antes). */
8
+ [SignatureCheckPatterns.check]: {
9
+ payload: {
10
+ fileId: string;
11
+ };
12
+ response: PdfSignatureReportEntity;
13
+ };
14
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SignatureCheckPatterns = void 0;
4
+ /** Patrones NATS de `signatureCheck`: revisión de las firmas electrónicas de un PDF. */
5
+ exports.SignatureCheckPatterns = {
6
+ check: 'gestorDocumental.signatureCheck.check',
7
+ };
@@ -0,0 +1,51 @@
1
+ import { type TextSnippetEntity, type TextSnippetSection } from '../base/entities';
2
+ import { type TextSnippetCreateResponseEntity, type TextSnippetGetAllResponseEntity, type TextSnippetGetByIdResponseEntity, type TextSnippetUpdateResponseEntity } from '../entities';
3
+ import { type RpcPage } from './contract';
4
+ /** Patrones NATS de `textSnippet` (biblioteca de vistos y cláusulas): `<servicio>.<recurso>.<acción>`. */
5
+ export declare const TextSnippetPatterns: {
6
+ readonly getAll: "gestorDocumental.textSnippet.getAll";
7
+ readonly getById: "gestorDocumental.textSnippet.getById";
8
+ readonly create: "gestorDocumental.textSnippet.create";
9
+ readonly update: "gestorDocumental.textSnippet.update";
10
+ readonly setEnabled: "gestorDocumental.textSnippet.setEnabled";
11
+ };
12
+ /** Datos de un texto de la biblioteca al crearlo o editarlo. */
13
+ export interface TextSnippetWritePayload {
14
+ title: string;
15
+ text: string;
16
+ section: TextSnippetSection;
17
+ keywords?: string[];
18
+ enabled?: boolean;
19
+ }
20
+ export interface TextSnippetContract {
21
+ [TextSnippetPatterns.getAll]: {
22
+ payload: {
23
+ pagination?: {
24
+ page?: number;
25
+ limit?: number;
26
+ };
27
+ filters?: {
28
+ search?: string;
29
+ enabled?: boolean;
30
+ section?: TextSnippetSection;
31
+ };
32
+ };
33
+ response: RpcPage<TextSnippetGetAllResponseEntity[]>;
34
+ };
35
+ [TextSnippetPatterns.getById]: {
36
+ payload: Pick<TextSnippetEntity, 'id'>;
37
+ response: TextSnippetGetByIdResponseEntity;
38
+ };
39
+ [TextSnippetPatterns.create]: {
40
+ payload: TextSnippetWritePayload;
41
+ response: TextSnippetCreateResponseEntity;
42
+ };
43
+ [TextSnippetPatterns.update]: {
44
+ payload: TextSnippetWritePayload & Pick<TextSnippetEntity, 'id'>;
45
+ response: TextSnippetUpdateResponseEntity;
46
+ };
47
+ [TextSnippetPatterns.setEnabled]: {
48
+ payload: Pick<TextSnippetEntity, 'id' | 'enabled'>;
49
+ response: TextSnippetUpdateResponseEntity;
50
+ };
51
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TextSnippetPatterns = void 0;
4
+ /** Patrones NATS de `textSnippet` (biblioteca de vistos y cláusulas): `<servicio>.<recurso>.<acción>`. */
5
+ exports.TextSnippetPatterns = {
6
+ getAll: 'gestorDocumental.textSnippet.getAll',
7
+ getById: 'gestorDocumental.textSnippet.getById',
8
+ create: 'gestorDocumental.textSnippet.create',
9
+ update: 'gestorDocumental.textSnippet.update',
10
+ setEnabled: 'gestorDocumental.textSnippet.setEnabled',
11
+ };
@@ -0,0 +1,114 @@
1
+ import { type WorkFolderConvertInput, type WorkFolderConvertResponseEntity, type WorkFolderGetAllResponseEntity, type WorkFolderGetByIdResponseEntity, type WorkFolderWriteResponseEntity } from '../entities';
2
+ import { type RpcPage } from './contract';
3
+ import { type DocumentActor } from './document.contract';
4
+ /** Patrones NATS de `workFolder` (carpetas de trabajo): `<servicio>.<recurso>.<acción>`. */
5
+ export declare const WorkFolderPatterns: {
6
+ readonly getAll: "gestorDocumental.workFolder.getAll";
7
+ readonly getById: "gestorDocumental.workFolder.getById";
8
+ readonly create: "gestorDocumental.workFolder.create";
9
+ readonly update: "gestorDocumental.workFolder.update";
10
+ readonly share: "gestorDocumental.workFolder.share";
11
+ readonly unshare: "gestorDocumental.workFolder.unshare";
12
+ readonly addItem: "gestorDocumental.workFolder.addItem";
13
+ readonly removeItem: "gestorDocumental.workFolder.removeItem";
14
+ readonly remove: "gestorDocumental.workFolder.remove";
15
+ readonly convert: "gestorDocumental.workFolder.convert";
16
+ };
17
+ /** Lo que se agrega a una carpeta: un documento finalizado del gestor o un archivo ya subido. */
18
+ export type WorkFolderItemInput = {
19
+ kind: 'Document';
20
+ documentId: string;
21
+ } | {
22
+ kind: 'File';
23
+ fileId: string;
24
+ fileName: string;
25
+ title: string;
26
+ };
27
+ type TActor = {
28
+ actor: DocumentActor;
29
+ };
30
+ /**
31
+ * Carpetas de trabajo: agrupan y comparten documentos y archivos sin procedimiento asociado. Las ven su responsable y
32
+ * aquellos con quienes la compartió.
33
+ */
34
+ export interface WorkFolderContract {
35
+ [WorkFolderPatterns.getAll]: {
36
+ payload: {
37
+ pagination?: {
38
+ page?: number;
39
+ limit?: number;
40
+ };
41
+ filters?: {
42
+ search?: string;
43
+ };
44
+ } & TActor;
45
+ response: RpcPage<WorkFolderGetAllResponseEntity[]>;
46
+ };
47
+ [WorkFolderPatterns.getById]: {
48
+ payload: {
49
+ id: string;
50
+ } & TActor;
51
+ response: WorkFolderGetByIdResponseEntity;
52
+ };
53
+ [WorkFolderPatterns.create]: {
54
+ payload: {
55
+ name: string;
56
+ description?: string | null;
57
+ } & TActor;
58
+ response: WorkFolderWriteResponseEntity;
59
+ };
60
+ [WorkFolderPatterns.update]: {
61
+ payload: {
62
+ id: string;
63
+ name: string;
64
+ description?: string | null;
65
+ } & TActor;
66
+ response: WorkFolderWriteResponseEntity;
67
+ };
68
+ [WorkFolderPatterns.share]: {
69
+ payload: {
70
+ id: string;
71
+ employeeIds: string[];
72
+ } & TActor;
73
+ response: WorkFolderWriteResponseEntity;
74
+ };
75
+ [WorkFolderPatterns.unshare]: {
76
+ payload: {
77
+ id: string;
78
+ participantId: string;
79
+ } & TActor;
80
+ response: WorkFolderWriteResponseEntity;
81
+ };
82
+ [WorkFolderPatterns.addItem]: {
83
+ payload: {
84
+ id: string;
85
+ item: WorkFolderItemInput;
86
+ } & TActor;
87
+ response: WorkFolderWriteResponseEntity;
88
+ };
89
+ [WorkFolderPatterns.removeItem]: {
90
+ payload: {
91
+ id: string;
92
+ itemId: string;
93
+ } & TActor;
94
+ response: WorkFolderWriteResponseEntity;
95
+ };
96
+ /** La carpeta deja de verse. Lo que contiene no se toca: los documentos siguen en el gestor. */
97
+ [WorkFolderPatterns.remove]: {
98
+ payload: {
99
+ id: string;
100
+ } & TActor;
101
+ response: WorkFolderWriteResponseEntity;
102
+ };
103
+ /**
104
+ * La convierte en expediente: lo crea con estos metadatos, lo comparte con los mismos funcionarios e incorpora sus
105
+ * ítems al índice en el orden en que se agregaron. Desde ahí la carpeta queda solo de consulta.
106
+ */
107
+ [WorkFolderPatterns.convert]: {
108
+ payload: {
109
+ id: string;
110
+ } & WorkFolderConvertInput & TActor;
111
+ response: WorkFolderConvertResponseEntity;
112
+ };
113
+ }
114
+ export {};
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkFolderPatterns = void 0;
4
+ /** Patrones NATS de `workFolder` (carpetas de trabajo): `<servicio>.<recurso>.<acción>`. */
5
+ exports.WorkFolderPatterns = {
6
+ getAll: 'gestorDocumental.workFolder.getAll',
7
+ getById: 'gestorDocumental.workFolder.getById',
8
+ create: 'gestorDocumental.workFolder.create',
9
+ update: 'gestorDocumental.workFolder.update',
10
+ share: 'gestorDocumental.workFolder.share',
11
+ unshare: 'gestorDocumental.workFolder.unshare',
12
+ addItem: 'gestorDocumental.workFolder.addItem',
13
+ removeItem: 'gestorDocumental.workFolder.removeItem',
14
+ remove: 'gestorDocumental.workFolder.remove',
15
+ convert: 'gestorDocumental.workFolder.convert',
16
+ };
@@ -0,0 +1,27 @@
1
+ import { ArchivalSeriesEntity } from '../../base/entities';
2
+ export interface ArchivalSeriesGetAllResponseEntity {
3
+ id: ArchivalSeriesEntity['id'];
4
+ code: ArchivalSeriesEntity['code'];
5
+ name: ArchivalSeriesEntity['name'];
6
+ section: ArchivalSeriesEntity['section'];
7
+ description: ArchivalSeriesEntity['description'];
8
+ enabled: ArchivalSeriesEntity['enabled'];
9
+ /** Cuántos tipos documentales y expedientes la usan. */
10
+ documentTypes: number;
11
+ caseFiles: number;
12
+ }
13
+ export type ArchivalSeriesGetByIdResponseEntity = ArchivalSeriesGetAllResponseEntity;
14
+ /** Cómo se cita una serie donde se usa: código y nombre. */
15
+ export interface ArchivalSeriesSummaryEntity {
16
+ id: string;
17
+ code: string;
18
+ name: string;
19
+ }
20
+ export interface ArchivalSeriesCreateResponseEntity {
21
+ id: ArchivalSeriesEntity['id'];
22
+ ok: boolean;
23
+ }
24
+ export interface ArchivalSeriesUpdateResponseEntity {
25
+ id: ArchivalSeriesEntity['id'];
26
+ ok: boolean;
27
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export * from './archivalSeries.entity';
@@ -0,0 +1,17 @@
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
+ __exportStar(require("./archivalSeries.entity"), exports);
@@ -0,0 +1,27 @@
1
+ import { type AuditEntity } from '../../base/entities';
2
+ /** De dónde sale un hecho de la auditoría. */
3
+ export type AuditSource = 'Document' | 'DocumentAccess' | 'CaseFile' | 'CaseFileAccess' | 'Configuration';
4
+ /**
5
+ * Un hecho de la auditoría, de cualquiera de los registros: trazabilidad de documentos y expedientes, accesos y
6
+ * cambios de configuración. `action` es la acción del registro de origen (p. ej. `Signed`, `Viewed`, `Updated`).
7
+ */
8
+ export interface AuditEventEntity {
9
+ id: string;
10
+ source: AuditSource;
11
+ action: string;
12
+ employeeId: string | null;
13
+ employeeFullName: string | null;
14
+ /** Documento, expediente o elemento de configuración al que se refiere. */
15
+ targetId: string | null;
16
+ /** Cómo se cita: folio o materia del documento, IUIe y título del expediente, nombre de lo configurado. */
17
+ reference: string;
18
+ /** Qué se configuró, en los cambios de configuración. */
19
+ entity: AuditEntity | null;
20
+ observation: string | null;
21
+ createdAt: string;
22
+ }
23
+ /** Quién hace un cambio de configuración, según la sesión. Lo agrega el gateway; el ms lo deja en la bitácora. */
24
+ export interface AuditActorInput {
25
+ employeeId: string | null;
26
+ fullName: string;
27
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export * from './audit.entity';
@@ -0,0 +1,17 @@
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
+ __exportStar(require("./audit.entity"), exports);
@@ -0,0 +1,300 @@
1
+ import { CaseFileAccessEntity, CaseFileActorEntity, CaseFileEntity, CaseFileEntryEntity, CaseFileMetadataChangeEntity, CaseFileParticipantEntity, CaseFileTrackingEntity, DocumentEntity, ProcedureEntity } from '../../base/entities';
2
+ import { DocumentTypeSummaryEntity } from '../document';
3
+ import { type PdfSignatureReportEntity } from '../signatureCheck';
4
+ /** Expediente al que se hace referencia desde otro lado: cómo se cita y en qué estado está. */
5
+ export interface CaseFileLinkEntity {
6
+ id: CaseFileEntity['id'];
7
+ code: CaseFileEntity['code'];
8
+ title: CaseFileEntity['title'];
9
+ status: CaseFileEntity['status'];
10
+ }
11
+ export interface CaseFileGetAllResponseEntity extends CaseFileLinkEntity {
12
+ subject: CaseFileEntity['subject'];
13
+ accessLevel: CaseFileEntity['accessLevel'];
14
+ hasSensitiveData: CaseFileEntity['hasSensitiveData'];
15
+ procedure: Pick<ProcedureEntity, 'id' | 'name'>;
16
+ responsibleEmployeeId: CaseFileEntity['responsibleEmployeeId'];
17
+ responsibleFullName: CaseFileEntity['responsibleFullName'];
18
+ /** Actuaciones vigentes del índice (las que quedaron sin efecto no cuentan). */
19
+ entries: number;
20
+ participants: number;
21
+ createdAt: CaseFileEntity['createdAt'];
22
+ closedAt: CaseFileEntity['closedAt'];
23
+ }
24
+ /** Documento del gestor incorporado al expediente. */
25
+ export interface CaseFileEntryDocumentEntity {
26
+ id: DocumentEntity['id'];
27
+ subject: DocumentEntity['subject'];
28
+ status: DocumentEntity['status'];
29
+ correlative: DocumentEntity['correlative'];
30
+ correlativeYear: DocumentEntity['correlativeYear'];
31
+ documentType: DocumentTypeSummaryEntity;
32
+ }
33
+ /** Entrada del índice electrónico: una actuación, en su orden de incorporación. */
34
+ export interface CaseFileEntryResponseEntity {
35
+ id: CaseFileEntryEntity['id'];
36
+ sequence: CaseFileEntryEntity['sequence'];
37
+ /** Subcarpeta del índice (sin valor: en la raíz). */
38
+ folder: CaseFileEntryEntity['folder'];
39
+ /** Documento en papel: dónde está, por qué no se digitalizó y cuántas páginas tiene. */
40
+ physicalLocation: CaseFileEntryEntity['physicalLocation'];
41
+ physicalReason: CaseFileEntryEntity['physicalReason'];
42
+ pageCount: CaseFileEntryEntity['pageCount'];
43
+ kind: CaseFileEntryEntity['kind'];
44
+ actuationType: CaseFileEntryEntity['actuationType'];
45
+ title: CaseFileEntryEntity['title'];
46
+ document: CaseFileEntryDocumentEntity | null;
47
+ fileName: CaseFileEntryEntity['fileName'];
48
+ documentTypeName: CaseFileEntryEntity['documentTypeName'];
49
+ originDate: CaseFileEntryEntity['originDate'];
50
+ author: CaseFileEntryEntity['author'];
51
+ keywords: CaseFileEntryEntity['keywords'];
52
+ accessLevel: CaseFileEntryEntity['accessLevel'];
53
+ hasSensitiveData: CaseFileEntryEntity['hasSensitiveData'];
54
+ linkedCaseFile: CaseFileLinkEntity | null;
55
+ /** `true` si la entrada tiene un archivo que se puede abrir (un documento o un archivo subido). */
56
+ hasFile: boolean;
57
+ sha256: CaseFileEntryEntity['sha256'];
58
+ size: CaseFileEntryEntity['size'];
59
+ hasAdvancedSignature: CaseFileEntryEntity['hasAdvancedSignature'];
60
+ /** Revisión de sus firmas al incorporarlo, en los archivos externos en PDF. */
61
+ signatureCheck: PdfSignatureReportEntity | null;
62
+ incorporatedByEmployeeId: CaseFileEntryEntity['incorporatedByEmployeeId'];
63
+ incorporatedByFullName: CaseFileEntryEntity['incorporatedByFullName'];
64
+ createdAt: CaseFileEntryEntity['createdAt'];
65
+ voidedAt: CaseFileEntryEntity['voidedAt'];
66
+ voidedByFullName: CaseFileEntryEntity['voidedByFullName'];
67
+ voidReason: CaseFileEntryEntity['voidReason'];
68
+ /** `true` si quien consulta puede dejarla sin efecto: el responsable o quien la incorporó, con el expediente abierto. */
69
+ canVoid: boolean;
70
+ }
71
+ export interface CaseFileParticipantResponseEntity {
72
+ id: CaseFileParticipantEntity['id'];
73
+ employeeId: CaseFileParticipantEntity['employeeId'];
74
+ fullName: CaseFileParticipantEntity['fullName'];
75
+ position: CaseFileParticipantEntity['position'];
76
+ addedByFullName: CaseFileParticipantEntity['addedByFullName'];
77
+ createdAt: CaseFileParticipantEntity['createdAt'];
78
+ }
79
+ export interface CaseFileActorResponseEntity {
80
+ id: CaseFileActorEntity['id'];
81
+ relation: CaseFileActorEntity['relation'];
82
+ actorType: CaseFileActorEntity['actorType'];
83
+ identifier: CaseFileActorEntity['identifier'];
84
+ name: CaseFileActorEntity['name'];
85
+ }
86
+ export interface CaseFileTrackingResponseEntity {
87
+ id: CaseFileTrackingEntity['id'];
88
+ action: CaseFileTrackingEntity['action'];
89
+ observation: CaseFileTrackingEntity['observation'];
90
+ employeeFullName: CaseFileTrackingEntity['employeeFullName'];
91
+ createdAt: CaseFileTrackingEntity['createdAt'];
92
+ }
93
+ export interface CaseFileMetadataChangeResponseEntity {
94
+ id: CaseFileMetadataChangeEntity['id'];
95
+ /** Código oficial del metadato. Ej: `MGDEE1_5`. */
96
+ field: CaseFileMetadataChangeEntity['field'];
97
+ previousValue: CaseFileMetadataChangeEntity['previousValue'];
98
+ newValue: CaseFileMetadataChangeEntity['newValue'];
99
+ employeeFullName: CaseFileMetadataChangeEntity['employeeFullName'];
100
+ createdAt: CaseFileMetadataChangeEntity['createdAt'];
101
+ }
102
+ export interface CaseFileAccessResponseEntity {
103
+ id: CaseFileAccessEntity['id'];
104
+ action: CaseFileAccessEntity['action'];
105
+ entryId: CaseFileAccessEntity['entryId'];
106
+ /** Título del documento que se abrió, si el acceso fue a uno. */
107
+ entryTitle: string | null;
108
+ /** El funcionario o, si fue por un enlace temporal, su destinatario externo. */
109
+ employeeFullName: CaseFileAccessEntity['employeeFullName'];
110
+ /** Fue por un enlace temporal, sin sesión. */
111
+ external: boolean;
112
+ createdAt: CaseFileAccessEntity['createdAt'];
113
+ }
114
+ export interface CaseFileGetByIdResponseEntity extends CaseFileGetAllResponseEntity {
115
+ summary: CaseFileEntity['summary'];
116
+ procedure: Pick<ProcedureEntity, 'id' | 'name' | 'cpatId' | 'cpatCode'>;
117
+ responsiblePosition: CaseFileEntity['responsiblePosition'];
118
+ incorporationMechanism: CaseFileEntity['incorporationMechanism'];
119
+ schemaVersion: CaseFileEntity['schemaVersion'];
120
+ /** Enlace persistente del expediente (MGDEE4_2). `null` si el servicio no tiene configurada la dirección. */
121
+ uri: string | null;
122
+ closedByFullName: CaseFileEntity['closedByFullName'];
123
+ closingNote: CaseFileEntity['closingNote'];
124
+ /** Expediente híbrido: tiene documentos en papel que no se pudieron digitalizar. */
125
+ isHybrid: boolean;
126
+ /** MGDEE1_2: serie del Cuadro de Clasificación. */
127
+ archivalSeries: {
128
+ id: string;
129
+ code: string;
130
+ name: string;
131
+ } | null;
132
+ /** MGDEE8_2: fin de la restricción de acceso. */
133
+ restrictionEndsAt: string | null;
134
+ index: CaseFileEntryResponseEntity[];
135
+ sharedWith: CaseFileParticipantResponseEntity[];
136
+ actors: CaseFileActorResponseEntity[];
137
+ trackings: CaseFileTrackingResponseEntity[];
138
+ metadataChanges: CaseFileMetadataChangeResponseEntity[];
139
+ /** Registro de accesos. Solo lo recibe el responsable y quien puede ver todos los expedientes. */
140
+ accesses: CaseFileAccessResponseEntity[];
141
+ /** Qué puede hacer con el expediente quien lo consulta. Sin `actor` en la consulta, no viene. */
142
+ actorCapabilities?: {
143
+ isResponsible: boolean;
144
+ /** Editar sus metadatos y cerrarlo: el responsable, mientras esté abierto. */
145
+ canEdit: boolean;
146
+ /** Incorporar actuaciones: el responsable y aquellos con quienes se compartió, mientras esté abierto. */
147
+ canIncorporate: boolean;
148
+ /** Compartirlo con otros funcionarios: el responsable, también después de cerrado. */
149
+ canShare: boolean;
150
+ };
151
+ }
152
+ export interface CaseFileCreateResponseEntity {
153
+ id: CaseFileEntity['id'];
154
+ code: CaseFileEntity['code'];
155
+ ok: boolean;
156
+ }
157
+ export interface CaseFileUpdateResponseEntity {
158
+ id: CaseFileEntity['id'];
159
+ ok: boolean;
160
+ }
161
+ /** Lote incorporado: cuántos documentos entraron y cuántos se omitieron (ya estaban, o no finalizados). */
162
+ export interface CaseFileAddBatchResponseEntity {
163
+ id: CaseFileEntity['id'];
164
+ added: number;
165
+ skipped: number;
166
+ ok: boolean;
167
+ }
168
+ export interface CaseFileAddEntryResponseEntity {
169
+ id: CaseFileEntity['id'];
170
+ entryId: CaseFileEntryEntity['id'];
171
+ sequence: CaseFileEntryEntity['sequence'];
172
+ ok: boolean;
173
+ }
174
+ /** Archivo de una entrada del índice, para servirlo a quien puede ver el expediente. */
175
+ export interface CaseFileEntryFileResponseEntity {
176
+ fileId: string;
177
+ fileName: string;
178
+ }
179
+ /** Archivo que va dentro del expediente exportado, con la huella que tenía al incorporarse. */
180
+ export interface CaseFileExportFileEntity {
181
+ entryId: CaseFileEntryEntity['id'];
182
+ sequence: CaseFileEntryEntity['sequence'];
183
+ /** Ruta dentro del ZIP. Ej: `documentos/001-decreto-alcaldicio-exento-590-2026.pdf`. */
184
+ path: string;
185
+ fileId: string;
186
+ sha256: string | null;
187
+ }
188
+ /**
189
+ * Expediente listo para exportar: los metadatos con sus códigos oficiales (va tal cual como `expediente.json`) y los
190
+ * archivos que hay que agregar. El ZIP lo arma el gateway.
191
+ */
192
+ export interface CaseFileExportResponseEntity {
193
+ code: CaseFileEntity['code'];
194
+ manifest: Record<string, unknown>;
195
+ files: CaseFileExportFileEntity[];
196
+ }
197
+ /** Expediente en que está incorporado un documento, visto desde el documento. */
198
+ export type DocumentCaseFileEntity = CaseFileLinkEntity;
199
+ /** Estado de un enlace temporal: vigente, vencido o revocado. */
200
+ export type CaseFileShareLinkStatus = 'Active' | 'Expired' | 'Revoked';
201
+ /** Enlace temporal de un expediente, como lo ve su responsable. El token no se vuelve a mostrar. */
202
+ export interface CaseFileShareLinkResponseEntity {
203
+ id: string;
204
+ recipient: string;
205
+ recipientEmail: string | null;
206
+ purpose: string | null;
207
+ allowExport: boolean;
208
+ expiresAt: string;
209
+ status: CaseFileShareLinkStatus;
210
+ createdByFullName: string;
211
+ createdAt: string;
212
+ revokedAt: string | null;
213
+ revokedByFullName: string | null;
214
+ /** Cuántas consultas, descargas y exportaciones se hicieron con él. */
215
+ accessCount: number;
216
+ lastAccessAt: string | null;
217
+ }
218
+ /** Enlace recién creado: el token va solo aquí; la dirección la arma quien lo muestra. */
219
+ export interface CaseFileShareLinkCreateResponseEntity {
220
+ id: string;
221
+ token: string;
222
+ recipient: string;
223
+ recipientEmail: string | null;
224
+ purpose: string | null;
225
+ expiresAt: string;
226
+ /** Para avisarle al destinatario: qué expediente, de qué órgano y quién se lo comparte. */
227
+ caseFile: {
228
+ code: string;
229
+ title: string;
230
+ };
231
+ organName: string;
232
+ createdByFullName: string;
233
+ }
234
+ /** Actuación del índice como la ve el destinatario externo. */
235
+ export interface CaseFileSharedEntryEntity {
236
+ id: string;
237
+ sequence: number;
238
+ folder: string | null;
239
+ kind: CaseFileEntryEntity['kind'];
240
+ actuationType: CaseFileEntryEntity['actuationType'];
241
+ title: string;
242
+ /** Tipo y número del documento («D.E. N° 590/2026») o el tipo declarado del archivo. */
243
+ reference: string | null;
244
+ originDate: string | null;
245
+ createdAt: string;
246
+ hasFile: boolean;
247
+ sha256: string | null;
248
+ hasAdvancedSignature: boolean;
249
+ physicalLocation: string | null;
250
+ pageCount: number | null;
251
+ voidedAt: string | null;
252
+ voidReason: string | null;
253
+ }
254
+ /** Expediente abierto con un enlace temporal: metadatos e índice, sin participantes ni registros internos. */
255
+ export interface CaseFileSharedResponseEntity {
256
+ code: string;
257
+ title: string;
258
+ subject: string;
259
+ summary: string | null;
260
+ procedureName: string;
261
+ status: CaseFileEntity['status'];
262
+ organName: string;
263
+ responsibleFullName: string;
264
+ responsiblePosition: string | null;
265
+ createdAt: string;
266
+ closedAt: string | null;
267
+ recipient: string;
268
+ purpose: string | null;
269
+ expiresAt: string;
270
+ allowExport: boolean;
271
+ entries: CaseFileSharedEntryEntity[];
272
+ }
273
+ /** Resultado de una actuación al verificar un ZIP exportado. */
274
+ export type CaseFileVerifyEntryResult =
275
+ /** La huella coincide con la registrada al incorporarla. */
276
+ 'Match'
277
+ /** La huella no coincide: el archivo cambió. */
278
+ | 'Altered'
279
+ /** El ZIP trae una actuación con esa secuencia que el expediente no tiene. */
280
+ | 'NotInRegistry'
281
+ /** El expediente tiene esa actuación con archivo, pero el ZIP no la trae. */
282
+ | 'Missing'
283
+ /** La actuación no tiene huella registrada (incorporada antes de que se guardaran). */
284
+ | 'NoFingerprint';
285
+ export interface CaseFileVerifyExportResponseEntity {
286
+ code: string;
287
+ status: CaseFileEntity['status'];
288
+ closedAt: string | null;
289
+ /** Solo si el expediente es público y sin datos sensibles. */
290
+ title: string | null;
291
+ /** Cuántas actuaciones con archivo tiene el expediente registradas. */
292
+ registeredFiles: number;
293
+ /** `true` si todo lo registrado está en el ZIP y todo coincide. */
294
+ intact: boolean;
295
+ entries: {
296
+ sequence: number;
297
+ result: CaseFileVerifyEntryResult;
298
+ voided: boolean;
299
+ }[];
300
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export * from './caseFile.entity';
@@ -0,0 +1,17 @@
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
+ __exportStar(require("./caseFile.entity"), exports);