@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
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  // This file was auto-generated by prisma-generator-typescript-interfaces
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.DocumentInstruction = exports.DocumentDeliveryOrigin = exports.DocumentRecipientType = exports.DocumentAttachmentType = exports.DocumentTrackingAction = exports.DocumentParticipantStatus = exports.DocumentParticipantRole = exports.DocumentAccessLevel = exports.DocumentStatus = exports.DocumentCategory = void 0;
4
+ exports.AuditAction = exports.AuditEntity = exports.DocumentAccessAction = exports.QualityMetricKey = exports.ServiceOutageKind = exports.WorkFolderItemKind = exports.TextSnippetSection = exports.ScanSessionStatus = exports.CaseFileAccessAction = exports.CaseFileTrackingAction = exports.CaseFileActorType = exports.CaseFileActorRelation = exports.CaseFileEntryKind = exports.CaseFileActuationType = exports.CaseFileIncorporationMechanism = exports.CaseFileStatus = exports.DocumentInstruction = exports.DocumentDeliveryOrigin = exports.DocumentRecipientType = exports.DocumentAttachmentType = exports.DocumentFlowStepType = exports.DocDigitalInboundStatus = exports.DocumentDispatchStatus = exports.DocumentOrigin = exports.DocumentTrackingAction = exports.DocumentParticipantStatus = exports.DocumentParticipantRole = exports.DocumentAccessLevel = exports.DocumentStatus = exports.DocumentCategory = void 0;
5
5
  exports.DocumentCategory = {
6
6
  Decree: 'Decree',
7
7
  Communication: 'Communication',
@@ -46,6 +46,30 @@ exports.DocumentTrackingAction = {
46
46
  Annulled: 'Annulled',
47
47
  Delivered: 'Delivered',
48
48
  Derived: 'Derived',
49
+ Reassigned: 'Reassigned',
50
+ Dispatched: 'Dispatched',
51
+ DispatchReturned: 'DispatchReturned',
52
+ Received: 'Received',
53
+ EmailCopySent: 'EmailCopySent',
54
+ EmailCopyOpened: 'EmailCopyOpened',
55
+ };
56
+ exports.DocumentOrigin = {
57
+ Internal: 'Internal',
58
+ DocDigital: 'DocDigital',
59
+ };
60
+ exports.DocumentDispatchStatus = {
61
+ Pending: 'Pending',
62
+ Dispatched: 'Dispatched',
63
+ Returned: 'Returned',
64
+ };
65
+ exports.DocDigitalInboundStatus = {
66
+ Pending: 'Pending',
67
+ Registered: 'Registered',
68
+ Returned: 'Returned',
69
+ };
70
+ exports.DocumentFlowStepType = {
71
+ Employee: 'Employee',
72
+ DirectorateHead: 'DirectorateHead',
49
73
  };
50
74
  exports.DocumentAttachmentType = {
51
75
  File: 'File',
@@ -66,3 +90,111 @@ exports.DocumentInstruction = {
66
90
  Respond: 'Respond',
67
91
  Archive: 'Archive',
68
92
  };
93
+ exports.CaseFileStatus = {
94
+ Open: 'Open',
95
+ Closed: 'Closed',
96
+ };
97
+ exports.CaseFileIncorporationMechanism = {
98
+ Manual: 'Manual',
99
+ WebService: 'WebService',
100
+ Mixed: 'Mixed',
101
+ CitizenRepository: 'CitizenRepository',
102
+ Interoperability: 'Interoperability',
103
+ };
104
+ exports.CaseFileActuationType = {
105
+ AdministrativeAct: 'AdministrativeAct',
106
+ Notification: 'Notification',
107
+ OfficialCommunication: 'OfficialCommunication',
108
+ Interoperability: 'Interoperability',
109
+ RequestReception: 'RequestReception',
110
+ Subfolder: 'Subfolder',
111
+ PowerRegistration: 'PowerRegistration',
112
+ };
113
+ exports.CaseFileEntryKind = {
114
+ Document: 'Document',
115
+ File: 'File',
116
+ CaseFile: 'CaseFile',
117
+ Physical: 'Physical',
118
+ };
119
+ exports.CaseFileActorRelation = {
120
+ Responsible: 'Responsible',
121
+ Interested: 'Interested',
122
+ Author: 'Author',
123
+ Referred: 'Referred',
124
+ Recipient: 'Recipient',
125
+ MinisterOfFaith: 'MinisterOfFaith',
126
+ };
127
+ exports.CaseFileActorType = {
128
+ Citizen: 'Citizen',
129
+ Foreigner: 'Foreigner',
130
+ PrivateInstitution: 'PrivateInstitution',
131
+ Official: 'Official',
132
+ };
133
+ exports.CaseFileTrackingAction = {
134
+ Created: 'Created',
135
+ Updated: 'Updated',
136
+ EntryAdded: 'EntryAdded',
137
+ EntryVoided: 'EntryVoided',
138
+ EntryMoved: 'EntryMoved',
139
+ ParticipantAdded: 'ParticipantAdded',
140
+ ParticipantRemoved: 'ParticipantRemoved',
141
+ Closed: 'Closed',
142
+ Exported: 'Exported',
143
+ ShareLinkCreated: 'ShareLinkCreated',
144
+ ShareLinkRevoked: 'ShareLinkRevoked',
145
+ };
146
+ exports.CaseFileAccessAction = {
147
+ Viewed: 'Viewed',
148
+ FileDownloaded: 'FileDownloaded',
149
+ Exported: 'Exported',
150
+ };
151
+ exports.ScanSessionStatus = {
152
+ Open: 'Open',
153
+ Ready: 'Ready',
154
+ };
155
+ exports.TextSnippetSection = {
156
+ Vistos: 'Vistos',
157
+ Considerando: 'Considerando',
158
+ Resolutive: 'Resolutive',
159
+ Body: 'Body',
160
+ Closing: 'Closing',
161
+ };
162
+ exports.WorkFolderItemKind = {
163
+ Document: 'Document',
164
+ File: 'File',
165
+ };
166
+ exports.ServiceOutageKind = {
167
+ Unplanned: 'Unplanned',
168
+ Planned: 'Planned',
169
+ };
170
+ exports.QualityMetricKey = {
171
+ Effectiveness: 'Effectiveness',
172
+ Efficiency: 'Efficiency',
173
+ Availability: 'Availability',
174
+ ResponseTime: 'ResponseTime',
175
+ Accessibility: 'Accessibility',
176
+ FunctionalCompleteness: 'FunctionalCompleteness',
177
+ Interoperability: 'Interoperability',
178
+ };
179
+ exports.DocumentAccessAction = {
180
+ Viewed: 'Viewed',
181
+ FileDownloaded: 'FileDownloaded',
182
+ TrailExported: 'TrailExported',
183
+ };
184
+ exports.AuditEntity = {
185
+ DocumentType: 'DocumentType',
186
+ IssuingEntity: 'IssuingEntity',
187
+ ArchivalSeries: 'ArchivalSeries',
188
+ TextSnippet: 'TextSnippet',
189
+ Holiday: 'Holiday',
190
+ Procedure: 'Procedure',
191
+ QualityMetric: 'QualityMetric',
192
+ ServiceOutage: 'ServiceOutage',
193
+ };
194
+ exports.AuditAction = {
195
+ Created: 'Created',
196
+ Updated: 'Updated',
197
+ Enabled: 'Enabled',
198
+ Disabled: 'Disabled',
199
+ Removed: 'Removed',
200
+ };
@@ -0,0 +1,50 @@
1
+ import { type ArchivalSeriesEntity } from '../base/entities';
2
+ import { type ArchivalSeriesCreateResponseEntity, type ArchivalSeriesGetAllResponseEntity, type ArchivalSeriesGetByIdResponseEntity, type ArchivalSeriesUpdateResponseEntity } from '../entities';
3
+ import { type RpcPage } from './contract';
4
+ /** Patrones NATS de `archivalSeries` (series del Cuadro de Clasificación): `<servicio>.<recurso>.<acción>`. */
5
+ export declare const ArchivalSeriesPatterns: {
6
+ readonly getAll: "gestorDocumental.archivalSeries.getAll";
7
+ readonly getById: "gestorDocumental.archivalSeries.getById";
8
+ readonly create: "gestorDocumental.archivalSeries.create";
9
+ readonly update: "gestorDocumental.archivalSeries.update";
10
+ readonly setEnabled: "gestorDocumental.archivalSeries.setEnabled";
11
+ };
12
+ /** Datos de una serie documental al crearla o editarla. */
13
+ export interface ArchivalSeriesWritePayload {
14
+ code: string;
15
+ name: string;
16
+ section?: string | null;
17
+ description?: string | null;
18
+ enabled?: boolean;
19
+ }
20
+ export interface ArchivalSeriesContract {
21
+ [ArchivalSeriesPatterns.getAll]: {
22
+ payload: {
23
+ pagination?: {
24
+ page?: number;
25
+ limit?: number;
26
+ };
27
+ filters?: {
28
+ search?: string;
29
+ enabled?: boolean;
30
+ };
31
+ };
32
+ response: RpcPage<ArchivalSeriesGetAllResponseEntity[]>;
33
+ };
34
+ [ArchivalSeriesPatterns.getById]: {
35
+ payload: Pick<ArchivalSeriesEntity, 'id'>;
36
+ response: ArchivalSeriesGetByIdResponseEntity;
37
+ };
38
+ [ArchivalSeriesPatterns.create]: {
39
+ payload: ArchivalSeriesWritePayload;
40
+ response: ArchivalSeriesCreateResponseEntity;
41
+ };
42
+ [ArchivalSeriesPatterns.update]: {
43
+ payload: ArchivalSeriesWritePayload & Pick<ArchivalSeriesEntity, 'id'>;
44
+ response: ArchivalSeriesUpdateResponseEntity;
45
+ };
46
+ [ArchivalSeriesPatterns.setEnabled]: {
47
+ payload: Pick<ArchivalSeriesEntity, 'id' | 'enabled'>;
48
+ response: ArchivalSeriesUpdateResponseEntity;
49
+ };
50
+ }
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ArchivalSeriesPatterns = void 0;
4
+ /** Patrones NATS de `archivalSeries` (series del Cuadro de Clasificación): `<servicio>.<recurso>.<acción>`. */
5
+ exports.ArchivalSeriesPatterns = {
6
+ getAll: 'gestorDocumental.archivalSeries.getAll',
7
+ getById: 'gestorDocumental.archivalSeries.getById',
8
+ create: 'gestorDocumental.archivalSeries.create',
9
+ update: 'gestorDocumental.archivalSeries.update',
10
+ setEnabled: 'gestorDocumental.archivalSeries.setEnabled',
11
+ };
@@ -0,0 +1,32 @@
1
+ import { type AuditEventEntity, type AuditSource, type IndicatorsFileEntity } from '../entities';
2
+ import { type RpcPage } from './contract';
3
+ /** Patrones NATS de `audit`: la auditoría reúne todos los registros del gestor en una sola vista. */
4
+ export declare const AuditPatterns: {
5
+ readonly getEvents: "gestorDocumental.audit.getEvents";
6
+ readonly export: "gestorDocumental.audit.export";
7
+ };
8
+ /** Qué hechos: período (días de Chile «AAAA-MM-DD», hasta un año) y filtros optativos. */
9
+ export interface AuditQuery {
10
+ from: string;
11
+ to: string;
12
+ sources?: AuditSource[];
13
+ /** Parte del nombre de quien actuó. */
14
+ person?: string;
15
+ /** Parte del folio, materia, IUIe, título o nombre de lo afectado. */
16
+ reference?: string;
17
+ page?: number;
18
+ limit?: number;
19
+ }
20
+ export interface AuditContract {
21
+ [AuditPatterns.getEvents]: {
22
+ payload: AuditQuery;
23
+ response: RpcPage<AuditEventEntity[]>;
24
+ };
25
+ /** Los hechos filtrados (hasta 10.000) en Excel. `generatedBy`: quién la descarga. */
26
+ [AuditPatterns.export]: {
27
+ payload: Omit<AuditQuery, 'page' | 'limit'> & {
28
+ generatedBy: string;
29
+ };
30
+ response: IndicatorsFileEntity;
31
+ };
32
+ }
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AuditPatterns = void 0;
4
+ /** Patrones NATS de `audit`: la auditoría reúne todos los registros del gestor en una sola vista. */
5
+ exports.AuditPatterns = {
6
+ getEvents: 'gestorDocumental.audit.getEvents',
7
+ export: 'gestorDocumental.audit.export',
8
+ };
@@ -0,0 +1,262 @@
1
+ import { type CaseFileActorRelation, type CaseFileActorType, type CaseFileActuationType, type CaseFileEntity, type CaseFileStatus, type DocumentAccessLevel } from '../base/entities';
2
+ import { type CaseFileAddBatchResponseEntity, type CaseFileAddEntryResponseEntity, type CaseFileCreateResponseEntity, type CaseFileEntryFileResponseEntity, type CaseFileExportResponseEntity, type CaseFileGetAllResponseEntity, type CaseFileGetByIdResponseEntity, type CaseFileShareLinkCreateResponseEntity, type CaseFileShareLinkResponseEntity, type CaseFileSharedResponseEntity, type CaseFileUpdateResponseEntity, type CaseFileVerifyExportResponseEntity } from '../entities';
3
+ import { type RpcPage } from './contract';
4
+ import { type DocumentActor } from './document.contract';
5
+ /** Patrones NATS de `caseFile`: `<servicio>.<recurso>.<acción>`. */
6
+ export declare const CaseFilePatterns: {
7
+ readonly getAll: "gestorDocumental.caseFile.getAll";
8
+ readonly getById: "gestorDocumental.caseFile.getById";
9
+ readonly create: "gestorDocumental.caseFile.create";
10
+ readonly update: "gestorDocumental.caseFile.update";
11
+ readonly addEntry: "gestorDocumental.caseFile.addEntry";
12
+ readonly addBatch: "gestorDocumental.caseFile.addBatch";
13
+ readonly voidEntry: "gestorDocumental.caseFile.voidEntry";
14
+ readonly moveEntry: "gestorDocumental.caseFile.moveEntry";
15
+ readonly share: "gestorDocumental.caseFile.share";
16
+ readonly unshare: "gestorDocumental.caseFile.unshare";
17
+ readonly close: "gestorDocumental.caseFile.close";
18
+ readonly getEntryFile: "gestorDocumental.caseFile.getEntryFile";
19
+ readonly getExport: "gestorDocumental.caseFile.getExport";
20
+ readonly createShareLink: "gestorDocumental.caseFile.createShareLink";
21
+ readonly getShareLinks: "gestorDocumental.caseFile.getShareLinks";
22
+ readonly revokeShareLink: "gestorDocumental.caseFile.revokeShareLink";
23
+ readonly getShared: "gestorDocumental.caseFile.getShared";
24
+ readonly getSharedEntryFile: "gestorDocumental.caseFile.getSharedEntryFile";
25
+ readonly getSharedExport: "gestorDocumental.caseFile.getSharedExport";
26
+ readonly verifyExport: "gestorDocumental.caseFile.verifyExport";
27
+ };
28
+ /** Enlace temporal para que alguien de fuera consulte el expediente sin sesión. */
29
+ export interface CaseFileShareLinkPayload {
30
+ /** A quién se entrega. Ej: «Contraloría Regional». */
31
+ recipient: string;
32
+ /** Si se indica, el gateway le envía el enlace por correo. */
33
+ recipientEmail?: string | null;
34
+ purpose?: string | null;
35
+ /** Cuántos días dura: de 1 a 30. */
36
+ days: number;
37
+ /** Puede descargar el expediente completo (ZIP). Por omisión, sí. */
38
+ allowExport?: boolean;
39
+ }
40
+ /** Persona u organización relacionada con el expediente (MGDEE54). */
41
+ export interface CaseFileActorInput {
42
+ relation: CaseFileActorRelation;
43
+ actorType: CaseFileActorType;
44
+ identifier?: string | null;
45
+ name: string;
46
+ }
47
+ /** Metadatos del expediente que se ingresan a mano. */
48
+ export interface CaseFileWritePayload {
49
+ title: string;
50
+ subject: string;
51
+ summary?: string | null;
52
+ procedureId: string;
53
+ accessLevel: DocumentAccessLevel;
54
+ hasSensitiveData: boolean;
55
+ /** MGDEE8_2: fin de la restricción de acceso (ISO 8601), si no es público. */
56
+ restrictionEndsAt?: string | null;
57
+ /** MGDEE1_2: serie del Cuadro de Clasificación. */
58
+ archivalSeriesId?: string | null;
59
+ actors?: CaseFileActorInput[];
60
+ }
61
+ /** Actuación que se incorpora al índice: un documento del gestor, un archivo subido u otro expediente. */
62
+ export type CaseFileEntryInput = {
63
+ kind: 'Document';
64
+ actuationType: CaseFileActuationType;
65
+ documentId: string;
66
+ } | {
67
+ kind: 'File';
68
+ actuationType: CaseFileActuationType;
69
+ fileId: string;
70
+ fileName: string;
71
+ title: string;
72
+ documentTypeName?: string | null;
73
+ originDate?: string | null;
74
+ author?: string | null;
75
+ keywords: string[];
76
+ accessLevel: DocumentAccessLevel;
77
+ hasSensitiveData: boolean;
78
+ } | {
79
+ kind: 'CaseFile';
80
+ actuationType: CaseFileActuationType;
81
+ linkedCaseFileId: string;
82
+ } | {
83
+ kind: 'Physical';
84
+ actuationType: CaseFileActuationType;
85
+ title: string;
86
+ documentTypeName?: string | null;
87
+ originDate?: string | null;
88
+ author?: string | null;
89
+ /** Dónde está el papel: oficina, archivador, caja (MGDDE5_5). */
90
+ physicalLocation: string;
91
+ /** Por qué no se pudo digitalizar. */
92
+ physicalReason: string;
93
+ pageCount?: number | null;
94
+ keywords: string[];
95
+ accessLevel: DocumentAccessLevel;
96
+ hasSensitiveData: boolean;
97
+ };
98
+ /** Quién hace la operación (de la sesión) y si puede ver todos los expedientes. */
99
+ interface CaseFileActorPayload {
100
+ actor: DocumentActor;
101
+ viewAll?: boolean;
102
+ }
103
+ /** Ámbito del listado: los expedientes del funcionario (responsable o compartidos con él) o todos. */
104
+ export type CaseFileScope = 'mine' | 'all';
105
+ export interface CaseFileContract {
106
+ [CaseFilePatterns.getAll]: {
107
+ payload: {
108
+ pagination?: {
109
+ page?: number;
110
+ limit?: number;
111
+ };
112
+ filters?: {
113
+ search?: string;
114
+ status?: CaseFileStatus;
115
+ procedureId?: string;
116
+ scope?: CaseFileScope;
117
+ };
118
+ } & CaseFileActorPayload;
119
+ response: RpcPage<CaseFileGetAllResponseEntity[]>;
120
+ };
121
+ /** Por id o por su identificador (`EXP-2026-00001`), que es el del enlace persistente. Queda en el registro de accesos. */
122
+ [CaseFilePatterns.getById]: {
123
+ payload: {
124
+ id: string;
125
+ } & CaseFileActorPayload;
126
+ response: CaseFileGetByIdResponseEntity;
127
+ };
128
+ [CaseFilePatterns.create]: {
129
+ payload: CaseFileWritePayload & {
130
+ actor: DocumentActor;
131
+ };
132
+ response: CaseFileCreateResponseEntity;
133
+ };
134
+ [CaseFilePatterns.update]: {
135
+ payload: CaseFileWritePayload & Pick<CaseFileEntity, 'id'> & {
136
+ actor: DocumentActor;
137
+ };
138
+ response: CaseFileUpdateResponseEntity;
139
+ };
140
+ /** Incorpora los documentos finalizados de un lote de firma, en su orden; omite los que ya están en el expediente. */
141
+ [CaseFilePatterns.addBatch]: {
142
+ payload: {
143
+ id: string;
144
+ batchId: string;
145
+ actuationType: CaseFileActuationType;
146
+ } & CaseFileActorPayload;
147
+ response: CaseFileAddBatchResponseEntity;
148
+ };
149
+ [CaseFilePatterns.addEntry]: {
150
+ payload: Pick<CaseFileEntity, 'id'> & {
151
+ entry: CaseFileEntryInput;
152
+ folder?: string | null;
153
+ } & CaseFileActorPayload;
154
+ response: CaseFileAddEntryResponseEntity;
155
+ };
156
+ /** Deja una actuación sin efecto, con su motivo. No se elimina del índice. */
157
+ /** Pasa una actuación a otra subcarpeta del índice (`null`: a la raíz). El orden de incorporación no cambia. */
158
+ [CaseFilePatterns.moveEntry]: {
159
+ payload: {
160
+ id: string;
161
+ entryId: string;
162
+ folder: string | null;
163
+ } & CaseFileActorPayload;
164
+ response: CaseFileUpdateResponseEntity;
165
+ };
166
+ [CaseFilePatterns.voidEntry]: {
167
+ payload: Pick<CaseFileEntity, 'id'> & {
168
+ entryId: string;
169
+ reason: string;
170
+ actor: DocumentActor;
171
+ };
172
+ response: CaseFileUpdateResponseEntity;
173
+ };
174
+ [CaseFilePatterns.share]: {
175
+ payload: Pick<CaseFileEntity, 'id'> & {
176
+ employeeIds: string[];
177
+ actor: DocumentActor;
178
+ };
179
+ response: CaseFileUpdateResponseEntity;
180
+ };
181
+ [CaseFilePatterns.unshare]: {
182
+ payload: Pick<CaseFileEntity, 'id'> & {
183
+ participantId: string;
184
+ actor: DocumentActor;
185
+ };
186
+ response: CaseFileUpdateResponseEntity;
187
+ };
188
+ [CaseFilePatterns.close]: {
189
+ payload: Pick<CaseFileEntity, 'id'> & {
190
+ note?: string | null;
191
+ actor: DocumentActor;
192
+ };
193
+ response: CaseFileUpdateResponseEntity;
194
+ };
195
+ /** Archivo de una actuación del índice. Queda en el registro de accesos. */
196
+ [CaseFilePatterns.getEntryFile]: {
197
+ payload: Pick<CaseFileEntity, 'id'> & {
198
+ entryId: string;
199
+ } & CaseFileActorPayload;
200
+ response: CaseFileEntryFileResponseEntity;
201
+ };
202
+ /** Metadatos y archivos para exportar el expediente completo. Queda en la trazabilidad y en el registro de accesos. */
203
+ [CaseFilePatterns.getExport]: {
204
+ payload: Pick<CaseFileEntity, 'id'> & CaseFileActorPayload;
205
+ response: CaseFileExportResponseEntity;
206
+ };
207
+ /** Crea un enlace temporal: solo su responsable. El token viaja solo en esta respuesta. */
208
+ [CaseFilePatterns.createShareLink]: {
209
+ payload: Pick<CaseFileEntity, 'id'> & CaseFileShareLinkPayload & {
210
+ actor: DocumentActor;
211
+ };
212
+ response: CaseFileShareLinkCreateResponseEntity;
213
+ };
214
+ /** Enlaces del expediente, vigentes o no, con cuántas veces se usaron: su responsable o quien ve todos. */
215
+ [CaseFilePatterns.getShareLinks]: {
216
+ payload: Pick<CaseFileEntity, 'id'> & CaseFileActorPayload;
217
+ response: CaseFileShareLinkResponseEntity[];
218
+ };
219
+ [CaseFilePatterns.revokeShareLink]: {
220
+ payload: Pick<CaseFileEntity, 'id'> & {
221
+ linkId: string;
222
+ actor: DocumentActor;
223
+ };
224
+ response: CaseFileUpdateResponseEntity;
225
+ };
226
+ /** Sin sesión, con el token del enlace: metadatos e índice. Queda en el registro de accesos. */
227
+ [CaseFilePatterns.getShared]: {
228
+ payload: {
229
+ token: string;
230
+ };
231
+ response: CaseFileSharedResponseEntity;
232
+ };
233
+ [CaseFilePatterns.getSharedEntryFile]: {
234
+ payload: {
235
+ token: string;
236
+ entryId: string;
237
+ };
238
+ response: CaseFileEntryFileResponseEntity;
239
+ };
240
+ /** El expediente completo, si el enlace lo permite. Queda en la trazabilidad y en el registro de accesos. */
241
+ /**
242
+ * Verificador público del ZIP exportado: sin sesión, con el identificador del expediente y la huella SHA-256 que
243
+ * calculó el navegador para cada actuación (el ZIP no se sube). Se compara con las huellas registradas al incorporar.
244
+ */
245
+ [CaseFilePatterns.verifyExport]: {
246
+ payload: {
247
+ code: string;
248
+ entries: {
249
+ sequence: number;
250
+ sha256: string;
251
+ }[];
252
+ };
253
+ response: CaseFileVerifyExportResponseEntity;
254
+ };
255
+ [CaseFilePatterns.getSharedExport]: {
256
+ payload: {
257
+ token: string;
258
+ };
259
+ response: CaseFileExportResponseEntity;
260
+ };
261
+ }
262
+ export {};
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CaseFilePatterns = void 0;
4
+ /** Patrones NATS de `caseFile`: `<servicio>.<recurso>.<acción>`. */
5
+ exports.CaseFilePatterns = {
6
+ getAll: 'gestorDocumental.caseFile.getAll',
7
+ getById: 'gestorDocumental.caseFile.getById',
8
+ create: 'gestorDocumental.caseFile.create',
9
+ update: 'gestorDocumental.caseFile.update',
10
+ addEntry: 'gestorDocumental.caseFile.addEntry',
11
+ addBatch: 'gestorDocumental.caseFile.addBatch',
12
+ voidEntry: 'gestorDocumental.caseFile.voidEntry',
13
+ moveEntry: 'gestorDocumental.caseFile.moveEntry',
14
+ share: 'gestorDocumental.caseFile.share',
15
+ unshare: 'gestorDocumental.caseFile.unshare',
16
+ close: 'gestorDocumental.caseFile.close',
17
+ getEntryFile: 'gestorDocumental.caseFile.getEntryFile',
18
+ getExport: 'gestorDocumental.caseFile.getExport',
19
+ createShareLink: 'gestorDocumental.caseFile.createShareLink',
20
+ getShareLinks: 'gestorDocumental.caseFile.getShareLinks',
21
+ revokeShareLink: 'gestorDocumental.caseFile.revokeShareLink',
22
+ getShared: 'gestorDocumental.caseFile.getShared',
23
+ getSharedEntryFile: 'gestorDocumental.caseFile.getSharedEntryFile',
24
+ getSharedExport: 'gestorDocumental.caseFile.getSharedExport',
25
+ verifyExport: 'gestorDocumental.caseFile.verifyExport',
26
+ };