@muni-sanfer/types-gestor-documental 0.0.1-beta.25 → 0.0.1-beta.26

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.
@@ -33,7 +33,7 @@ export declare const DocumentParticipantStatus: {
33
33
  Resolved: "Resolved";
34
34
  Rejected: "Rejected";
35
35
  };
36
- export type DocumentTrackingAction = 'Created' | 'Updated' | 'Submitted' | 'Visaed' | 'Signed' | 'Rejected' | 'Finished' | 'Discarded' | 'Numbered' | 'NumberAnnulled' | 'Annulled' | 'Delivered' | 'Derived' | 'Reassigned' | 'Dispatched' | 'DispatchReturned' | 'Received' | 'EmailCopySent' | 'EmailCopyOpened' | 'DispositionRecorded';
36
+ export type DocumentTrackingAction = 'Created' | 'Updated' | 'Submitted' | 'Visaed' | 'Signed' | 'Rejected' | 'Finished' | 'Discarded' | 'Numbered' | 'NumberAnnulled' | 'Annulled' | 'Delivered' | 'Derived' | 'Reassigned' | 'Dispatched' | 'DispatchReturned' | 'DispatchedByContingency' | 'Received' | 'EmailCopySent' | 'EmailCopyOpened' | 'DispositionRecorded';
37
37
  export declare const DocumentTrackingAction: {
38
38
  Created: "Created";
39
39
  Updated: "Updated";
@@ -51,15 +51,24 @@ export declare const DocumentTrackingAction: {
51
51
  Reassigned: "Reassigned";
52
52
  Dispatched: "Dispatched";
53
53
  DispatchReturned: "DispatchReturned";
54
+ DispatchedByContingency: "DispatchedByContingency";
54
55
  Received: "Received";
55
56
  EmailCopySent: "EmailCopySent";
56
57
  EmailCopyOpened: "EmailCopyOpened";
57
58
  DispositionRecorded: "DispositionRecorded";
58
59
  };
59
- export type DocumentOrigin = 'Internal' | 'DocDigital';
60
+ export type DocumentOrigin = 'Internal' | 'DocDigital' | 'Manual';
60
61
  export declare const DocumentOrigin: {
61
62
  Internal: "Internal";
62
63
  DocDigital: "DocDigital";
64
+ Manual: "Manual";
65
+ };
66
+ export type CommunicationMeans = 'Paper' | 'Email' | 'Courier' | 'Other';
67
+ export declare const CommunicationMeans: {
68
+ Paper: "Paper";
69
+ Email: "Email";
70
+ Courier: "Courier";
71
+ Other: "Other";
63
72
  };
64
73
  export type DocumentDispatchStatus = 'Pending' | 'Dispatched' | 'Returned';
65
74
  export declare const DocumentDispatchStatus: {
@@ -324,6 +333,7 @@ export interface DocumentEntity {
324
333
  externalFolio?: string | null;
325
334
  externalSender?: string | null;
326
335
  externalDate?: string | null;
336
+ intakeMeans?: CommunicationMeans | null;
327
337
  composition?: JsonValue | null;
328
338
  contentText?: string | null;
329
339
  textExtractedAt?: string | null;
@@ -691,6 +701,11 @@ export interface DocumentDispatchEntity {
691
701
  returnedByEmployeeId?: string | null;
692
702
  returnedByFullName?: string | null;
693
703
  returnReason?: string | null;
704
+ contingencyMeans?: CommunicationMeans | null;
705
+ contingencySentTo?: string | null;
706
+ contingencyReason?: string | null;
707
+ contingencyReceiptFileId?: string | null;
708
+ contingencyReceiptName?: string | null;
694
709
  document?: DocumentEntity;
695
710
  documentId: string;
696
711
  createdAt: string;
@@ -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.AccessRequestEventAction = exports.AccessRequestResolution = exports.AccessRequestStatus = exports.AccessRequestChannel = exports.DispositionKind = exports.FinalDisposition = 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;
4
+ exports.AccessRequestEventAction = exports.AccessRequestResolution = exports.AccessRequestStatus = exports.AccessRequestChannel = exports.DispositionKind = exports.FinalDisposition = 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.CommunicationMeans = 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',
@@ -49,6 +49,7 @@ exports.DocumentTrackingAction = {
49
49
  Reassigned: 'Reassigned',
50
50
  Dispatched: 'Dispatched',
51
51
  DispatchReturned: 'DispatchReturned',
52
+ DispatchedByContingency: 'DispatchedByContingency',
52
53
  Received: 'Received',
53
54
  EmailCopySent: 'EmailCopySent',
54
55
  EmailCopyOpened: 'EmailCopyOpened',
@@ -57,6 +58,13 @@ exports.DocumentTrackingAction = {
57
58
  exports.DocumentOrigin = {
58
59
  Internal: 'Internal',
59
60
  DocDigital: 'DocDigital',
61
+ Manual: 'Manual',
62
+ };
63
+ exports.CommunicationMeans = {
64
+ Paper: 'Paper',
65
+ Email: 'Email',
66
+ Courier: 'Courier',
67
+ Other: 'Other',
60
68
  };
61
69
  exports.DocumentDispatchStatus = {
62
70
  Pending: 'Pending',
@@ -126,6 +126,8 @@ export declare const GestorDocumentalPatterns: {
126
126
  readonly returnInbound: "gestorDocumental.partsOffice.returnInbound";
127
127
  readonly getInboundFile: "gestorDocumental.partsOffice.getInboundFile";
128
128
  readonly checkEnablement: "gestorDocumental.partsOffice.checkEnablement";
129
+ readonly dispatchByContingency: "gestorDocumental.partsOffice.dispatchByContingency";
130
+ readonly registerManualIntake: "gestorDocumental.partsOffice.registerManualIntake";
129
131
  };
130
132
  readonly registerBook: {
131
133
  readonly get: "gestorDocumental.registerBook.get";
@@ -1,4 +1,4 @@
1
- import { type DocumentAccessLevel, type DocumentInstruction } from '../base/entities';
1
+ import { type CommunicationMeans, type DocumentAccessLevel, type DocumentInstruction } from '../base/entities';
2
2
  import { type DocDigitalDocumentTypeEntity, type DocDigitalEntityEntity, type PartsOfficeInboundEntity, type DocDigitalUserEntity, type EnablementPersonInput, type PartsOfficeEnablementEntity, type PartsOfficeDispatchEntity, type PartsOfficeFileEntity, type PartsOfficeOkResponseEntity, type PartsOfficeRegisterResponseEntity, type PartsOfficeStatusEntity, type PartsOfficeSummaryEntity, type PartsOfficeSyncResponseEntity } from '../entities';
3
3
  import { type RpcPage } from './contract';
4
4
  import { type DocumentActor, type DocumentExternalRecipientInput } from './document.contract';
@@ -22,6 +22,8 @@ export declare const PartsOfficePatterns: {
22
22
  readonly returnInbound: "gestorDocumental.partsOffice.returnInbound";
23
23
  readonly getInboundFile: "gestorDocumental.partsOffice.getInboundFile";
24
24
  readonly checkEnablement: "gestorDocumental.partsOffice.checkEnablement";
25
+ readonly dispatchByContingency: "gestorDocumental.partsOffice.dispatchByContingency";
26
+ readonly registerManualIntake: "gestorDocumental.partsOffice.registerManualIntake";
25
27
  };
26
28
  /** Destinatario interno de un ingreso, ya resuelto por el gateway (las áreas con sus integrantes). */
27
29
  export type PartsOfficeRecipientInput = {
@@ -48,6 +50,35 @@ interface IListPayload<S> {
48
50
  status?: S;
49
51
  };
50
52
  }
53
+ /** Lo que llegó fuera de DocDigital y Oficina de Partes ingresa a mano. */
54
+ export interface ManualIntakePayload {
55
+ file: {
56
+ fileId: string;
57
+ name: string;
58
+ };
59
+ attachments?: {
60
+ fileId: string;
61
+ name: string;
62
+ }[];
63
+ means: CommunicationMeans;
64
+ /** Cuándo llegó (ISO); sin él, ahora. */
65
+ receivedAt?: string | null;
66
+ senderEntityName: string;
67
+ senderName?: string | null;
68
+ externalFolio?: string | null;
69
+ externalDate?: string | null;
70
+ subject: string;
71
+ documentTypeId: string;
72
+ keywords: string[];
73
+ accessLevel?: DocumentAccessLevel;
74
+ hasSensitiveData?: boolean;
75
+ recipients: unknown[];
76
+ instruction: DocumentInstruction;
77
+ note?: string | null;
78
+ dueAt?: string | null;
79
+ dueBusinessDays?: number | null;
80
+ actor: DocumentActor;
81
+ }
51
82
  export interface PartsOfficeContract {
52
83
  [PartsOfficePatterns.getStatus]: {
53
84
  payload: Record<string, never>;
@@ -118,6 +149,7 @@ export interface PartsOfficeContract {
118
149
  [PartsOfficePatterns.getDispatchFile]: {
119
150
  payload: {
120
151
  id: string;
152
+ receipt?: boolean;
121
153
  };
122
154
  response: PartsOfficeFileEntity;
123
155
  };
@@ -184,5 +216,33 @@ export interface PartsOfficeContract {
184
216
  };
185
217
  response: PartsOfficeEnablementEntity;
186
218
  };
219
+ /**
220
+ * Registro por contingencia: el documento no se pudo despachar por DocDigital y salió por otro medio. Queda
221
+ * despachado, con el medio, a quién, el motivo y el comprobante; si después se registra en DocDigital, su número.
222
+ */
223
+ [PartsOfficePatterns.dispatchByContingency]: {
224
+ payload: {
225
+ id: string;
226
+ means: CommunicationMeans;
227
+ sentAt: string;
228
+ sentTo: string;
229
+ reason: string;
230
+ receipt?: {
231
+ fileId: string;
232
+ name: string;
233
+ } | null;
234
+ docDigitalDocumentId?: string | null;
235
+ actor: DocumentActor;
236
+ };
237
+ response: PartsOfficeOkResponseEntity;
238
+ };
239
+ /**
240
+ * Ingreso manual: lo que llegó fuera de DocDigital (papel, correo) entra con folio de ingreso, como lo recibido
241
+ * por DocDigital, y se deriva.
242
+ */
243
+ [PartsOfficePatterns.registerManualIntake]: {
244
+ payload: ManualIntakePayload;
245
+ response: PartsOfficeRegisterResponseEntity;
246
+ };
187
247
  }
188
248
  export {};
@@ -21,4 +21,6 @@ exports.PartsOfficePatterns = {
21
21
  returnInbound: 'gestorDocumental.partsOffice.returnInbound',
22
22
  getInboundFile: 'gestorDocumental.partsOffice.getInboundFile',
23
23
  checkEnablement: 'gestorDocumental.partsOffice.checkEnablement',
24
+ dispatchByContingency: 'gestorDocumental.partsOffice.dispatchByContingency',
25
+ registerManualIntake: 'gestorDocumental.partsOffice.registerManualIntake',
24
26
  };
@@ -1,4 +1,4 @@
1
- import { DocumentAnnulledNumberEntity, DocumentAttachmentEntity, DocumentDeliveryEntity, DocumentEntity, DocumentParticipantEntity, DocumentRecipientEntity, DocumentTrackingEntity, DocumentTypeEntity } from '../../base/entities';
1
+ import { type CommunicationMeans, DocumentAnnulledNumberEntity, DocumentAttachmentEntity, DocumentDeliveryEntity, DocumentEntity, DocumentParticipantEntity, DocumentRecipientEntity, DocumentTrackingEntity, DocumentTypeEntity } from '../../base/entities';
2
2
  /** Tipo documental de un documento, con lo necesario para citarlo. */
3
3
  export interface DocumentTypeSummaryEntity {
4
4
  id: DocumentTypeEntity['id'];
@@ -82,6 +82,14 @@ export interface DocumentDispatchResponseEntity {
82
82
  returnedAt: string | null;
83
83
  returnedByFullName: string | null;
84
84
  returnReason: string | null;
85
+ /** Registro por contingencia: salió por otro medio porque no se pudo por DocDigital. */
86
+ contingency: {
87
+ means: CommunicationMeans;
88
+ sentTo: string | null;
89
+ reason: string | null;
90
+ /** Nombre del comprobante, si se adjuntó. */
91
+ receiptName: string | null;
92
+ } | null;
85
93
  }
86
94
  export interface DocumentGetAllResponseEntity {
87
95
  id: DocumentEntity['id'];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@muni-sanfer/types-gestor-documental",
3
- "version": "0.0.1-beta.25",
3
+ "version": "0.0.1-beta.26",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -63,6 +63,7 @@ export type DocumentTrackingAction =
63
63
  | 'Reassigned'
64
64
  | 'Dispatched'
65
65
  | 'DispatchReturned'
66
+ | 'DispatchedByContingency'
66
67
  | 'Received'
67
68
  | 'EmailCopySent'
68
69
  | 'EmailCopyOpened'
@@ -85,19 +86,30 @@ export const DocumentTrackingAction = {
85
86
  Reassigned: 'Reassigned',
86
87
  Dispatched: 'Dispatched',
87
88
  DispatchReturned: 'DispatchReturned',
89
+ DispatchedByContingency: 'DispatchedByContingency',
88
90
  Received: 'Received',
89
91
  EmailCopySent: 'EmailCopySent',
90
92
  EmailCopyOpened: 'EmailCopyOpened',
91
93
  DispositionRecorded: 'DispositionRecorded',
92
94
  } satisfies Record<string, DocumentTrackingAction>;
93
95
 
94
- export type DocumentOrigin = 'Internal' | 'DocDigital';
96
+ export type DocumentOrigin = 'Internal' | 'DocDigital' | 'Manual';
95
97
 
96
98
  export const DocumentOrigin = {
97
99
  Internal: 'Internal',
98
100
  DocDigital: 'DocDigital',
101
+ Manual: 'Manual',
99
102
  } satisfies Record<string, DocumentOrigin>;
100
103
 
104
+ export type CommunicationMeans = 'Paper' | 'Email' | 'Courier' | 'Other';
105
+
106
+ export const CommunicationMeans = {
107
+ Paper: 'Paper',
108
+ Email: 'Email',
109
+ Courier: 'Courier',
110
+ Other: 'Other',
111
+ } satisfies Record<string, CommunicationMeans>;
112
+
101
113
  export type DocumentDispatchStatus = 'Pending' | 'Dispatched' | 'Returned';
102
114
 
103
115
  export const DocumentDispatchStatus = {
@@ -468,6 +480,7 @@ export interface DocumentEntity {
468
480
  externalFolio?: string | null;
469
481
  externalSender?: string | null;
470
482
  externalDate?: string | null;
483
+ intakeMeans?: CommunicationMeans | null;
471
484
  composition?: JsonValue | null;
472
485
  contentText?: string | null;
473
486
  textExtractedAt?: string | null;
@@ -857,6 +870,11 @@ export interface DocumentDispatchEntity {
857
870
  returnedByEmployeeId?: string | null;
858
871
  returnedByFullName?: string | null;
859
872
  returnReason?: string | null;
873
+ contingencyMeans?: CommunicationMeans | null;
874
+ contingencySentTo?: string | null;
875
+ contingencyReason?: string | null;
876
+ contingencyReceiptFileId?: string | null;
877
+ contingencyReceiptName?: string | null;
860
878
  document?: DocumentEntity;
861
879
  documentId: string;
862
880
  createdAt: string;
@@ -1,4 +1,4 @@
1
- import { type DocumentAccessLevel, type DocumentInstruction } from '../base/entities';
1
+ import { type CommunicationMeans, type DocumentAccessLevel, type DocumentInstruction } from '../base/entities';
2
2
  import {
3
3
  type DocDigitalDocumentTypeEntity,
4
4
  type DocDigitalEntityEntity,
@@ -37,6 +37,8 @@ export const PartsOfficePatterns = {
37
37
  returnInbound: 'gestorDocumental.partsOffice.returnInbound',
38
38
  getInboundFile: 'gestorDocumental.partsOffice.getInboundFile',
39
39
  checkEnablement: 'gestorDocumental.partsOffice.checkEnablement',
40
+ dispatchByContingency: 'gestorDocumental.partsOffice.dispatchByContingency',
41
+ registerManualIntake: 'gestorDocumental.partsOffice.registerManualIntake',
40
42
  } as const;
41
43
 
42
44
  /** Destinatario interno de un ingreso, ya resuelto por el gateway (las áreas con sus integrantes). */
@@ -50,6 +52,30 @@ interface IListPayload<S> {
50
52
  filters?: { search?: string; status?: S };
51
53
  }
52
54
 
55
+ /** Lo que llegó fuera de DocDigital y Oficina de Partes ingresa a mano. */
56
+ export interface ManualIntakePayload {
57
+ file: { fileId: string; name: string };
58
+ attachments?: { fileId: string; name: string }[];
59
+ means: CommunicationMeans;
60
+ /** Cuándo llegó (ISO); sin él, ahora. */
61
+ receivedAt?: string | null;
62
+ senderEntityName: string;
63
+ senderName?: string | null;
64
+ externalFolio?: string | null;
65
+ externalDate?: string | null;
66
+ subject: string;
67
+ documentTypeId: string;
68
+ keywords: string[];
69
+ accessLevel?: DocumentAccessLevel;
70
+ hasSensitiveData?: boolean;
71
+ recipients: unknown[];
72
+ instruction: DocumentInstruction;
73
+ note?: string | null;
74
+ dueAt?: string | null;
75
+ dueBusinessDays?: number | null;
76
+ actor: DocumentActor;
77
+ }
78
+
53
79
  export interface PartsOfficeContract {
54
80
  [PartsOfficePatterns.getStatus]: { payload: Record<string, never>; response: PartsOfficeStatusEntity };
55
81
  [PartsOfficePatterns.getSummary]: { payload: Record<string, never>; response: PartsOfficeSummaryEntity };
@@ -82,7 +108,11 @@ export interface PartsOfficeContract {
82
108
  response: PartsOfficeOkResponseEntity;
83
109
  };
84
110
  /** PDF firmado de un documento por despachar, para que Oficina de Partes lo revise. */
85
- [PartsOfficePatterns.getDispatchFile]: { payload: { id: string }; response: PartsOfficeFileEntity };
111
+ [PartsOfficePatterns.getDispatchFile]: {
112
+ // con `receipt`, el comprobante del despacho por contingencia
113
+ payload: { id: string; receipt?: boolean };
114
+ response: PartsOfficeFileEntity;
115
+ };
86
116
  [PartsOfficePatterns.getInbound]: {
87
117
  payload: IListPayload<'Pending' | 'Registered' | 'Returned'>;
88
118
  response: RpcPage<PartsOfficeInboundEntity[]>;
@@ -131,4 +161,29 @@ export interface PartsOfficeContract {
131
161
  payload: { people: EnablementPersonInput[] };
132
162
  response: PartsOfficeEnablementEntity;
133
163
  };
164
+ /**
165
+ * Registro por contingencia: el documento no se pudo despachar por DocDigital y salió por otro medio. Queda
166
+ * despachado, con el medio, a quién, el motivo y el comprobante; si después se registra en DocDigital, su número.
167
+ */
168
+ [PartsOfficePatterns.dispatchByContingency]: {
169
+ payload: {
170
+ id: string;
171
+ means: CommunicationMeans;
172
+ sentAt: string;
173
+ sentTo: string;
174
+ reason: string;
175
+ receipt?: { fileId: string; name: string } | null;
176
+ docDigitalDocumentId?: string | null;
177
+ actor: DocumentActor;
178
+ };
179
+ response: PartsOfficeOkResponseEntity;
180
+ };
181
+ /**
182
+ * Ingreso manual: lo que llegó fuera de DocDigital (papel, correo) entra con folio de ingreso, como lo recibido
183
+ * por DocDigital, y se deriva.
184
+ */
185
+ [PartsOfficePatterns.registerManualIntake]: {
186
+ payload: ManualIntakePayload;
187
+ response: PartsOfficeRegisterResponseEntity;
188
+ };
134
189
  }
@@ -1,4 +1,5 @@
1
1
  import {
2
+ type CommunicationMeans,
2
3
  DocumentAnnulledNumberEntity,
3
4
  DocumentAttachmentEntity,
4
5
  DocumentDeliveryEntity,
@@ -101,6 +102,14 @@ export interface DocumentDispatchResponseEntity {
101
102
  returnedAt: string | null;
102
103
  returnedByFullName: string | null;
103
104
  returnReason: string | null;
105
+ /** Registro por contingencia: salió por otro medio porque no se pudo por DocDigital. */
106
+ contingency: {
107
+ means: CommunicationMeans;
108
+ sentTo: string | null;
109
+ reason: string | null;
110
+ /** Nombre del comprobante, si se adjuntó. */
111
+ receiptName: string | null;
112
+ } | null;
104
113
  }
105
114
 
106
115
  export interface DocumentGetAllResponseEntity {