@muni-sanfer/types-gestor-documental 0.0.1-beta.13 → 0.0.1-beta.15
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.
- package/dist/base/entities.d.ts +61 -3
- package/dist/base/entities.js +4 -0
- package/dist/contracts/caseFile.contract.d.ts +59 -1
- package/dist/contracts/caseFile.contract.js +6 -0
- package/dist/contracts/document.contract.d.ts +33 -1
- package/dist/contracts/document.contract.js +3 -0
- package/dist/contracts/documentType.contract.d.ts +2 -0
- package/dist/contracts/index.d.ts +20 -1
- package/dist/contracts/index.js +3 -0
- package/dist/contracts/issuingEntity.contract.d.ts +52 -0
- package/dist/contracts/issuingEntity.contract.js +11 -0
- package/dist/contracts/partsOffice.contract.d.ts +6 -0
- package/dist/contracts/partsOffice.contract.js +1 -0
- package/dist/entities/caseFile/caseFile.entity.d.ts +77 -0
- package/dist/entities/document/document.entity.d.ts +43 -0
- package/dist/entities/documentType/documentType.entity.d.ts +13 -0
- package/dist/entities/index.d.ts +1 -0
- package/dist/entities/index.js +1 -0
- package/dist/entities/issuingEntity/index.d.ts +1 -0
- package/dist/entities/issuingEntity/index.js +17 -0
- package/dist/entities/issuingEntity/issuingEntity.entity.d.ts +20 -0
- package/dist/entities/issuingEntity/issuingEntity.entity.js +2 -0
- package/dist/entities/partsOffice/partsOffice.entity.d.ts +4 -0
- package/dist/entities/registerBook/registerBook.entity.d.ts +6 -0
- package/package.json +1 -1
- package/src/base/entities.ts +68 -3
- package/src/contracts/caseFile.contract.ts +50 -0
- package/src/contracts/document.contract.ts +30 -0
- package/src/contracts/documentType.contract.ts +6 -1
- package/src/contracts/index.ts +4 -0
- package/src/contracts/issuingEntity.contract.ts +55 -0
- package/src/contracts/partsOffice.contract.ts +3 -0
- package/src/entities/caseFile/caseFile.entity.ts +79 -0
- package/src/entities/document/document.entity.ts +45 -0
- package/src/entities/documentType/documentType.entity.ts +7 -0
- package/src/entities/index.ts +1 -0
- package/src/entities/issuingEntity/index.ts +1 -0
- package/src/entities/issuingEntity/issuingEntity.entity.ts +24 -0
- package/src/entities/partsOffice/partsOffice.entity.ts +4 -0
- package/src/entities/registerBook/registerBook.entity.ts +6 -0
package/dist/base/entities.d.ts
CHANGED
|
@@ -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';
|
|
36
|
+
export type DocumentTrackingAction = 'Created' | 'Updated' | 'Submitted' | 'Visaed' | 'Signed' | 'Rejected' | 'Finished' | 'Discarded' | 'Numbered' | 'NumberAnnulled' | 'Annulled' | 'Delivered' | 'Derived' | 'Reassigned' | 'Dispatched' | 'DispatchReturned' | 'Received' | 'EmailCopySent' | 'EmailCopyOpened';
|
|
37
37
|
export declare const DocumentTrackingAction: {
|
|
38
38
|
Created: "Created";
|
|
39
39
|
Updated: "Updated";
|
|
@@ -52,6 +52,8 @@ export declare const DocumentTrackingAction: {
|
|
|
52
52
|
Dispatched: "Dispatched";
|
|
53
53
|
DispatchReturned: "DispatchReturned";
|
|
54
54
|
Received: "Received";
|
|
55
|
+
EmailCopySent: "EmailCopySent";
|
|
56
|
+
EmailCopyOpened: "EmailCopyOpened";
|
|
55
57
|
};
|
|
56
58
|
export type DocumentOrigin = 'Internal' | 'DocDigital';
|
|
57
59
|
export declare const DocumentOrigin: {
|
|
@@ -144,7 +146,7 @@ export declare const CaseFileActorType: {
|
|
|
144
146
|
PrivateInstitution: "PrivateInstitution";
|
|
145
147
|
Official: "Official";
|
|
146
148
|
};
|
|
147
|
-
export type CaseFileTrackingAction = 'Created' | 'Updated' | 'EntryAdded' | 'EntryVoided' | 'EntryMoved' | 'ParticipantAdded' | 'ParticipantRemoved' | 'Closed' | 'Exported';
|
|
149
|
+
export type CaseFileTrackingAction = 'Created' | 'Updated' | 'EntryAdded' | 'EntryVoided' | 'EntryMoved' | 'ParticipantAdded' | 'ParticipantRemoved' | 'Closed' | 'Exported' | 'ShareLinkCreated' | 'ShareLinkRevoked';
|
|
148
150
|
export declare const CaseFileTrackingAction: {
|
|
149
151
|
Created: "Created";
|
|
150
152
|
Updated: "Updated";
|
|
@@ -155,6 +157,8 @@ export declare const CaseFileTrackingAction: {
|
|
|
155
157
|
ParticipantRemoved: "ParticipantRemoved";
|
|
156
158
|
Closed: "Closed";
|
|
157
159
|
Exported: "Exported";
|
|
160
|
+
ShareLinkCreated: "ShareLinkCreated";
|
|
161
|
+
ShareLinkRevoked: "ShareLinkRevoked";
|
|
158
162
|
};
|
|
159
163
|
export type CaseFileAccessAction = 'Viewed' | 'FileDownloaded' | 'Exported';
|
|
160
164
|
export declare const CaseFileAccessAction: {
|
|
@@ -178,6 +182,11 @@ export interface DocumentTypeEntity {
|
|
|
178
182
|
resetsYearly: boolean;
|
|
179
183
|
numbered: boolean;
|
|
180
184
|
directorateCodeReference?: number | null;
|
|
185
|
+
issuingEntity?: IssuingEntityEntity | null;
|
|
186
|
+
issuingEntityId?: string | null;
|
|
187
|
+
sharesNumberingWith?: DocumentTypeEntity | null;
|
|
188
|
+
sharesNumberingWithId?: string | null;
|
|
189
|
+
numberingMembers?: DocumentTypeEntity[];
|
|
181
190
|
enabled: boolean;
|
|
182
191
|
documents?: DocumentEntity[];
|
|
183
192
|
annulledNumbers?: DocumentAnnulledNumberEntity[];
|
|
@@ -237,6 +246,7 @@ export interface DocumentEntity {
|
|
|
237
246
|
caseFileEntries?: CaseFileEntryEntity[];
|
|
238
247
|
workFolderItems?: WorkFolderItemEntity[];
|
|
239
248
|
externalRecipients?: DocumentExternalRecipientEntity[];
|
|
249
|
+
emailCopies?: DocumentEmailCopyEntity[];
|
|
240
250
|
dispatch?: DocumentDispatchEntity | null;
|
|
241
251
|
docDigitalInbound?: DocDigitalInboundEntity | null;
|
|
242
252
|
deleted: boolean;
|
|
@@ -398,6 +408,7 @@ export interface CaseFileEntity {
|
|
|
398
408
|
trackings?: CaseFileTrackingEntity[];
|
|
399
409
|
metadataChanges?: CaseFileMetadataChangeEntity[];
|
|
400
410
|
accesses?: CaseFileAccessEntity[];
|
|
411
|
+
shareLinks?: CaseFileShareLinkEntity[];
|
|
401
412
|
createdAt: string;
|
|
402
413
|
updatedAt: string;
|
|
403
414
|
workFolder?: WorkFolderEntity | null;
|
|
@@ -483,10 +494,43 @@ export interface CaseFileAccessEntity {
|
|
|
483
494
|
id: string;
|
|
484
495
|
action: CaseFileAccessAction;
|
|
485
496
|
entryId?: string | null;
|
|
486
|
-
employeeId
|
|
497
|
+
employeeId?: string | null;
|
|
487
498
|
employeeFullName: string;
|
|
499
|
+
shareLink?: CaseFileShareLinkEntity | null;
|
|
500
|
+
shareLinkId?: string | null;
|
|
501
|
+
caseFile?: CaseFileEntity;
|
|
502
|
+
caseFileId: string;
|
|
503
|
+
createdAt: string;
|
|
504
|
+
}
|
|
505
|
+
export interface CaseFileShareLinkEntity {
|
|
506
|
+
id: string;
|
|
507
|
+
tokenHash: string;
|
|
508
|
+
recipient: string;
|
|
509
|
+
recipientEmail?: string | null;
|
|
510
|
+
purpose?: string | null;
|
|
511
|
+
allowExport: boolean;
|
|
512
|
+
expiresAt: string;
|
|
513
|
+
createdByEmployeeId: string;
|
|
514
|
+
createdByFullName: string;
|
|
515
|
+
revokedAt?: string | null;
|
|
516
|
+
revokedByEmployeeId?: string | null;
|
|
517
|
+
revokedByFullName?: string | null;
|
|
488
518
|
caseFile?: CaseFileEntity;
|
|
489
519
|
caseFileId: string;
|
|
520
|
+
accesses?: CaseFileAccessEntity[];
|
|
521
|
+
createdAt: string;
|
|
522
|
+
}
|
|
523
|
+
export interface DocumentEmailCopyEntity {
|
|
524
|
+
id: string;
|
|
525
|
+
name: string;
|
|
526
|
+
email: string;
|
|
527
|
+
tokenHash?: string | null;
|
|
528
|
+
expiresAt?: string | null;
|
|
529
|
+
issuedAt?: string | null;
|
|
530
|
+
openedAt?: string | null;
|
|
531
|
+
downloadCount: number;
|
|
532
|
+
document?: DocumentEntity;
|
|
533
|
+
documentId: string;
|
|
490
534
|
createdAt: string;
|
|
491
535
|
}
|
|
492
536
|
export interface DocumentExternalRecipientEntity {
|
|
@@ -535,6 +579,8 @@ export interface DocDigitalInboundEntity {
|
|
|
535
579
|
senderEntityName?: string | null;
|
|
536
580
|
senderName?: string | null;
|
|
537
581
|
senderPosition?: string | null;
|
|
582
|
+
recipientEntityId?: number | null;
|
|
583
|
+
recipientEntityName?: string | null;
|
|
538
584
|
fileId?: string | null;
|
|
539
585
|
fileName?: string | null;
|
|
540
586
|
attachments: JsonValue;
|
|
@@ -552,6 +598,18 @@ export interface DocDigitalInboundEntity {
|
|
|
552
598
|
createdAt: string;
|
|
553
599
|
updatedAt: string;
|
|
554
600
|
}
|
|
601
|
+
export interface IssuingEntityEntity {
|
|
602
|
+
id: string;
|
|
603
|
+
name: string;
|
|
604
|
+
shortName?: string | null;
|
|
605
|
+
directorateCodeReferences: number[];
|
|
606
|
+
docDigitalEntityId?: number | null;
|
|
607
|
+
enabled: boolean;
|
|
608
|
+
documentTypes?: DocumentTypeEntity[];
|
|
609
|
+
deleted: boolean;
|
|
610
|
+
createdAt: string;
|
|
611
|
+
updatedAt: string;
|
|
612
|
+
}
|
|
555
613
|
export interface IntakeSequenceEntity {
|
|
556
614
|
year: number;
|
|
557
615
|
next: number;
|
package/dist/base/entities.js
CHANGED
|
@@ -50,6 +50,8 @@ exports.DocumentTrackingAction = {
|
|
|
50
50
|
Dispatched: 'Dispatched',
|
|
51
51
|
DispatchReturned: 'DispatchReturned',
|
|
52
52
|
Received: 'Received',
|
|
53
|
+
EmailCopySent: 'EmailCopySent',
|
|
54
|
+
EmailCopyOpened: 'EmailCopyOpened',
|
|
53
55
|
};
|
|
54
56
|
exports.DocumentOrigin = {
|
|
55
57
|
Internal: 'Internal',
|
|
@@ -138,6 +140,8 @@ exports.CaseFileTrackingAction = {
|
|
|
138
140
|
ParticipantRemoved: 'ParticipantRemoved',
|
|
139
141
|
Closed: 'Closed',
|
|
140
142
|
Exported: 'Exported',
|
|
143
|
+
ShareLinkCreated: 'ShareLinkCreated',
|
|
144
|
+
ShareLinkRevoked: 'ShareLinkRevoked',
|
|
141
145
|
};
|
|
142
146
|
exports.CaseFileAccessAction = {
|
|
143
147
|
Viewed: 'Viewed',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
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 CaseFileUpdateResponseEntity } from '../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 } from '../entities';
|
|
3
3
|
import { type RpcPage } from './contract';
|
|
4
4
|
import { type DocumentActor } from './document.contract';
|
|
5
5
|
/** Patrones NATS de `caseFile`: `<servicio>.<recurso>.<acción>`. */
|
|
@@ -17,7 +17,25 @@ export declare const CaseFilePatterns: {
|
|
|
17
17
|
readonly close: "gestorDocumental.caseFile.close";
|
|
18
18
|
readonly getEntryFile: "gestorDocumental.caseFile.getEntryFile";
|
|
19
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";
|
|
20
26
|
};
|
|
27
|
+
/** Enlace temporal para que alguien de fuera consulte el expediente sin sesión. */
|
|
28
|
+
export interface CaseFileShareLinkPayload {
|
|
29
|
+
/** A quién se entrega. Ej: «Contraloría Regional». */
|
|
30
|
+
recipient: string;
|
|
31
|
+
/** Si se indica, el gateway le envía el enlace por correo. */
|
|
32
|
+
recipientEmail?: string | null;
|
|
33
|
+
purpose?: string | null;
|
|
34
|
+
/** Cuántos días dura: de 1 a 30. */
|
|
35
|
+
days: number;
|
|
36
|
+
/** Puede descargar el expediente completo (ZIP). Por omisión, sí. */
|
|
37
|
+
allowExport?: boolean;
|
|
38
|
+
}
|
|
21
39
|
/** Persona u organización relacionada con el expediente (MGDEE54). */
|
|
22
40
|
export interface CaseFileActorInput {
|
|
23
41
|
relation: CaseFileActorRelation;
|
|
@@ -181,5 +199,45 @@ export interface CaseFileContract {
|
|
|
181
199
|
payload: Pick<CaseFileEntity, 'id'> & CaseFileActorPayload;
|
|
182
200
|
response: CaseFileExportResponseEntity;
|
|
183
201
|
};
|
|
202
|
+
/** Crea un enlace temporal: solo su responsable. El token viaja solo en esta respuesta. */
|
|
203
|
+
[CaseFilePatterns.createShareLink]: {
|
|
204
|
+
payload: Pick<CaseFileEntity, 'id'> & CaseFileShareLinkPayload & {
|
|
205
|
+
actor: DocumentActor;
|
|
206
|
+
};
|
|
207
|
+
response: CaseFileShareLinkCreateResponseEntity;
|
|
208
|
+
};
|
|
209
|
+
/** Enlaces del expediente, vigentes o no, con cuántas veces se usaron: su responsable o quien ve todos. */
|
|
210
|
+
[CaseFilePatterns.getShareLinks]: {
|
|
211
|
+
payload: Pick<CaseFileEntity, 'id'> & CaseFileActorPayload;
|
|
212
|
+
response: CaseFileShareLinkResponseEntity[];
|
|
213
|
+
};
|
|
214
|
+
[CaseFilePatterns.revokeShareLink]: {
|
|
215
|
+
payload: Pick<CaseFileEntity, 'id'> & {
|
|
216
|
+
linkId: string;
|
|
217
|
+
actor: DocumentActor;
|
|
218
|
+
};
|
|
219
|
+
response: CaseFileUpdateResponseEntity;
|
|
220
|
+
};
|
|
221
|
+
/** Sin sesión, con el token del enlace: metadatos e índice. Queda en el registro de accesos. */
|
|
222
|
+
[CaseFilePatterns.getShared]: {
|
|
223
|
+
payload: {
|
|
224
|
+
token: string;
|
|
225
|
+
};
|
|
226
|
+
response: CaseFileSharedResponseEntity;
|
|
227
|
+
};
|
|
228
|
+
[CaseFilePatterns.getSharedEntryFile]: {
|
|
229
|
+
payload: {
|
|
230
|
+
token: string;
|
|
231
|
+
entryId: string;
|
|
232
|
+
};
|
|
233
|
+
response: CaseFileEntryFileResponseEntity;
|
|
234
|
+
};
|
|
235
|
+
/** El expediente completo, si el enlace lo permite. Queda en la trazabilidad y en el registro de accesos. */
|
|
236
|
+
[CaseFilePatterns.getSharedExport]: {
|
|
237
|
+
payload: {
|
|
238
|
+
token: string;
|
|
239
|
+
};
|
|
240
|
+
response: CaseFileExportResponseEntity;
|
|
241
|
+
};
|
|
184
242
|
}
|
|
185
243
|
export {};
|
|
@@ -16,4 +16,10 @@ exports.CaseFilePatterns = {
|
|
|
16
16
|
close: 'gestorDocumental.caseFile.close',
|
|
17
17
|
getEntryFile: 'gestorDocumental.caseFile.getEntryFile',
|
|
18
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',
|
|
19
25
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type DocumentAccessLevel, type DocumentAttachmentEntity, type DocumentDeliveryEntity, type DocumentEntity, type DocumentInstruction, type DocumentParticipantEntity, type DocumentStatus } from '../base/entities';
|
|
2
|
-
import { type DocumentAnnulResponseEntity, type DocumentCloseDeliveryResponseEntity, type DocumentCreateResponseEntity, type DocumentDeriveResponseEntity, type DocumentDiscardResponseEntity, type DocumentGetAllResponseEntity, type DocumentGetByIdResponseEntity, type DocumentGetSummaryResponseEntity, type DocumentInboxItemEntity, type DocumentPublicFileResponseEntity, type DocumentReassignResponseEntity, type DocumentReviewResponseEntity, type DocumentSignManyResponseEntity, type DocumentAgendaResponseEntity, type DocumentComposeResponseEntity, type DocumentComposition, type DocumentTrailExportEntity, type DocumentUpdateResponseEntity, type DocumentVerifyResponseEntity } from '../entities';
|
|
2
|
+
import { type DocumentAnnulResponseEntity, type DocumentCloseDeliveryResponseEntity, type DocumentCreateResponseEntity, type DocumentDeriveResponseEntity, type DocumentDiscardResponseEntity, type DocumentEmailCopyIssuedEntity, type DocumentEmailCopyViewEntity, type DocumentGetAllResponseEntity, type DocumentGetByIdResponseEntity, type DocumentGetSummaryResponseEntity, type DocumentInboxItemEntity, type DocumentPublicFileResponseEntity, type DocumentReassignResponseEntity, type DocumentReviewResponseEntity, type DocumentSignManyResponseEntity, type DocumentAgendaResponseEntity, type DocumentComposeResponseEntity, type DocumentComposition, type DocumentTrailExportEntity, type DocumentUpdateResponseEntity, type DocumentVerifyResponseEntity } from '../entities';
|
|
3
3
|
import { type RpcPage } from './contract';
|
|
4
4
|
/** Patrones NATS de `document`: `<servicio>.<recurso>.<acción>`. */
|
|
5
5
|
export declare const DocumentPatterns: {
|
|
@@ -22,6 +22,9 @@ export declare const DocumentPatterns: {
|
|
|
22
22
|
readonly getAgenda: "gestorDocumental.document.getAgenda";
|
|
23
23
|
readonly exportTrail: "gestorDocumental.document.exportTrail";
|
|
24
24
|
readonly compose: "gestorDocumental.document.compose";
|
|
25
|
+
readonly issueEmailCopies: "gestorDocumental.document.issueEmailCopies";
|
|
26
|
+
readonly getEmailCopy: "gestorDocumental.document.getEmailCopy";
|
|
27
|
+
readonly getEmailCopyFile: "gestorDocumental.document.getEmailCopyFile";
|
|
25
28
|
};
|
|
26
29
|
/**
|
|
27
30
|
* Funcionario que hace la operación y sus áreas (direcciones y departamentos a los que pertenece o que dirige). Lo
|
|
@@ -81,9 +84,15 @@ export interface DocumentWritePayload extends Pick<DocumentEntity, 'subject' | '
|
|
|
81
84
|
responseDueAt?: string | null;
|
|
82
85
|
replyToDocumentId?: string | null;
|
|
83
86
|
externalRecipients?: DocumentExternalRecipientInput[];
|
|
87
|
+
emailCopies?: DocumentEmailCopyInput[];
|
|
84
88
|
action?: 'Submit';
|
|
85
89
|
actor: DocumentActor;
|
|
86
90
|
}
|
|
91
|
+
/** Persona u organización fuera del Estado que recibe una copia por correo. */
|
|
92
|
+
export interface DocumentEmailCopyInput {
|
|
93
|
+
name: string;
|
|
94
|
+
email: string;
|
|
95
|
+
}
|
|
87
96
|
/** Destinatario externo: una institución de DocDigital y, si se indica, uno de sus usuarios. */
|
|
88
97
|
export interface DocumentExternalRecipientInput {
|
|
89
98
|
entityId: number;
|
|
@@ -295,6 +304,29 @@ export interface DocumentContract {
|
|
|
295
304
|
};
|
|
296
305
|
response: DocumentPublicFileResponseEntity;
|
|
297
306
|
};
|
|
307
|
+
/**
|
|
308
|
+
* Emite las copias por correo pendientes de estos documentos, si ya corresponde (finalizado y, si va por DocDigital,
|
|
309
|
+
* despachado): genera el enlace de cada una. Se puede pedir de más: lo ya emitido no se repite.
|
|
310
|
+
*/
|
|
311
|
+
[DocumentPatterns.issueEmailCopies]: {
|
|
312
|
+
payload: {
|
|
313
|
+
documentIds: string[];
|
|
314
|
+
};
|
|
315
|
+
response: DocumentEmailCopyIssuedEntity[];
|
|
316
|
+
};
|
|
317
|
+
/** Sin sesión, con el token de la copia: el documento y quién lo emitió. */
|
|
318
|
+
[DocumentPatterns.getEmailCopy]: {
|
|
319
|
+
payload: {
|
|
320
|
+
token: string;
|
|
321
|
+
};
|
|
322
|
+
response: DocumentEmailCopyViewEntity;
|
|
323
|
+
};
|
|
324
|
+
[DocumentPatterns.getEmailCopyFile]: {
|
|
325
|
+
payload: {
|
|
326
|
+
token: string;
|
|
327
|
+
};
|
|
328
|
+
response: DocumentPublicFileResponseEntity;
|
|
329
|
+
};
|
|
298
330
|
/** Carpeta de Drive de los documentos y sus anexos: el gateway la pide antes de subir cada archivo. */
|
|
299
331
|
[DocumentPatterns.getFilesFolder]: {
|
|
300
332
|
payload: Record<string, never>;
|
|
@@ -22,4 +22,7 @@ exports.DocumentPatterns = {
|
|
|
22
22
|
getAgenda: 'gestorDocumental.document.getAgenda',
|
|
23
23
|
exportTrail: 'gestorDocumental.document.exportTrail',
|
|
24
24
|
compose: 'gestorDocumental.document.compose',
|
|
25
|
+
issueEmailCopies: 'gestorDocumental.document.issueEmailCopies',
|
|
26
|
+
getEmailCopy: 'gestorDocumental.document.getEmailCopy',
|
|
27
|
+
getEmailCopyFile: 'gestorDocumental.document.getEmailCopyFile',
|
|
25
28
|
};
|
|
@@ -36,6 +36,8 @@ export interface DocumentTypeWritePayload {
|
|
|
36
36
|
resetsYearly?: boolean;
|
|
37
37
|
numbered?: boolean;
|
|
38
38
|
directorateCodeReference?: number | null;
|
|
39
|
+
issuingEntityId?: string | null;
|
|
40
|
+
sharesNumberingWithId?: string | null;
|
|
39
41
|
enabled?: boolean;
|
|
40
42
|
flowSteps?: DocumentFlowStepInput[];
|
|
41
43
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type CaseFileContract } from './caseFile.contract';
|
|
2
2
|
import { type DocumentContract } from './document.contract';
|
|
3
3
|
import { type DocumentTypeContract } from './documentType.contract';
|
|
4
|
+
import { type IssuingEntityContract } from './issuingEntity.contract';
|
|
4
5
|
import { type PartsOfficeContract } from './partsOffice.contract';
|
|
5
6
|
import { type ProcedureContract } from './procedure.contract';
|
|
6
7
|
import { type RegisterBookContract } from './registerBook.contract';
|
|
@@ -10,6 +11,7 @@ export * from './contract';
|
|
|
10
11
|
export * from './document.contract';
|
|
11
12
|
export * from './documentType.contract';
|
|
12
13
|
export * from './procedure.contract';
|
|
14
|
+
export * from './issuingEntity.contract';
|
|
13
15
|
export * from './caseFile.contract';
|
|
14
16
|
export * from './partsOffice.contract';
|
|
15
17
|
export * from './registerBook.contract';
|
|
@@ -44,6 +46,9 @@ export declare const GestorDocumentalPatterns: {
|
|
|
44
46
|
readonly getAgenda: "gestorDocumental.document.getAgenda";
|
|
45
47
|
readonly exportTrail: "gestorDocumental.document.exportTrail";
|
|
46
48
|
readonly compose: "gestorDocumental.document.compose";
|
|
49
|
+
readonly issueEmailCopies: "gestorDocumental.document.issueEmailCopies";
|
|
50
|
+
readonly getEmailCopy: "gestorDocumental.document.getEmailCopy";
|
|
51
|
+
readonly getEmailCopyFile: "gestorDocumental.document.getEmailCopyFile";
|
|
47
52
|
};
|
|
48
53
|
readonly procedure: {
|
|
49
54
|
readonly getAll: "gestorDocumental.procedure.getAll";
|
|
@@ -52,6 +57,13 @@ export declare const GestorDocumentalPatterns: {
|
|
|
52
57
|
readonly update: "gestorDocumental.procedure.update";
|
|
53
58
|
readonly setEnabled: "gestorDocumental.procedure.setEnabled";
|
|
54
59
|
};
|
|
60
|
+
readonly issuingEntity: {
|
|
61
|
+
readonly getAll: "gestorDocumental.issuingEntity.getAll";
|
|
62
|
+
readonly getById: "gestorDocumental.issuingEntity.getById";
|
|
63
|
+
readonly create: "gestorDocumental.issuingEntity.create";
|
|
64
|
+
readonly update: "gestorDocumental.issuingEntity.update";
|
|
65
|
+
readonly setEnabled: "gestorDocumental.issuingEntity.setEnabled";
|
|
66
|
+
};
|
|
55
67
|
readonly caseFile: {
|
|
56
68
|
readonly getAll: "gestorDocumental.caseFile.getAll";
|
|
57
69
|
readonly getById: "gestorDocumental.caseFile.getById";
|
|
@@ -66,11 +78,18 @@ export declare const GestorDocumentalPatterns: {
|
|
|
66
78
|
readonly close: "gestorDocumental.caseFile.close";
|
|
67
79
|
readonly getEntryFile: "gestorDocumental.caseFile.getEntryFile";
|
|
68
80
|
readonly getExport: "gestorDocumental.caseFile.getExport";
|
|
81
|
+
readonly createShareLink: "gestorDocumental.caseFile.createShareLink";
|
|
82
|
+
readonly getShareLinks: "gestorDocumental.caseFile.getShareLinks";
|
|
83
|
+
readonly revokeShareLink: "gestorDocumental.caseFile.revokeShareLink";
|
|
84
|
+
readonly getShared: "gestorDocumental.caseFile.getShared";
|
|
85
|
+
readonly getSharedEntryFile: "gestorDocumental.caseFile.getSharedEntryFile";
|
|
86
|
+
readonly getSharedExport: "gestorDocumental.caseFile.getSharedExport";
|
|
69
87
|
};
|
|
70
88
|
readonly partsOffice: {
|
|
71
89
|
readonly getStatus: "gestorDocumental.partsOffice.getStatus";
|
|
72
90
|
readonly getSummary: "gestorDocumental.partsOffice.getSummary";
|
|
73
91
|
readonly getEntities: "gestorDocumental.partsOffice.getEntities";
|
|
92
|
+
readonly getOwnEntities: "gestorDocumental.partsOffice.getOwnEntities";
|
|
74
93
|
readonly getUsers: "gestorDocumental.partsOffice.getUsers";
|
|
75
94
|
readonly getDocumentTypes: "gestorDocumental.partsOffice.getDocumentTypes";
|
|
76
95
|
readonly getDispatches: "gestorDocumental.partsOffice.getDispatches";
|
|
@@ -111,4 +130,4 @@ export declare const GestorDocumentalPatterns: {
|
|
|
111
130
|
};
|
|
112
131
|
};
|
|
113
132
|
/** Contrato completo de gestor-documental-ms: la unión de los contratos de sus recursos. */
|
|
114
|
-
export type GestorDocumentalContract = DocumentTypeContract & DocumentContract & ProcedureContract & CaseFileContract & PartsOfficeContract & RegisterBookContract & SignatureBatchContract & WorkFolderContract;
|
|
133
|
+
export type GestorDocumentalContract = DocumentTypeContract & DocumentContract & ProcedureContract & IssuingEntityContract & CaseFileContract & PartsOfficeContract & RegisterBookContract & SignatureBatchContract & WorkFolderContract;
|
package/dist/contracts/index.js
CHANGED
|
@@ -18,6 +18,7 @@ exports.GestorDocumentalPatterns = void 0;
|
|
|
18
18
|
const caseFile_contract_1 = require("./caseFile.contract");
|
|
19
19
|
const document_contract_1 = require("./document.contract");
|
|
20
20
|
const documentType_contract_1 = require("./documentType.contract");
|
|
21
|
+
const issuingEntity_contract_1 = require("./issuingEntity.contract");
|
|
21
22
|
const partsOffice_contract_1 = require("./partsOffice.contract");
|
|
22
23
|
const procedure_contract_1 = require("./procedure.contract");
|
|
23
24
|
const registerBook_contract_1 = require("./registerBook.contract");
|
|
@@ -27,6 +28,7 @@ __exportStar(require("./contract"), exports);
|
|
|
27
28
|
__exportStar(require("./document.contract"), exports);
|
|
28
29
|
__exportStar(require("./documentType.contract"), exports);
|
|
29
30
|
__exportStar(require("./procedure.contract"), exports);
|
|
31
|
+
__exportStar(require("./issuingEntity.contract"), exports);
|
|
30
32
|
__exportStar(require("./caseFile.contract"), exports);
|
|
31
33
|
__exportStar(require("./partsOffice.contract"), exports);
|
|
32
34
|
__exportStar(require("./registerBook.contract"), exports);
|
|
@@ -37,6 +39,7 @@ exports.GestorDocumentalPatterns = {
|
|
|
37
39
|
documentType: documentType_contract_1.DocumentTypePatterns,
|
|
38
40
|
document: document_contract_1.DocumentPatterns,
|
|
39
41
|
procedure: procedure_contract_1.ProcedurePatterns,
|
|
42
|
+
issuingEntity: issuingEntity_contract_1.IssuingEntityPatterns,
|
|
40
43
|
caseFile: caseFile_contract_1.CaseFilePatterns,
|
|
41
44
|
partsOffice: partsOffice_contract_1.PartsOfficePatterns,
|
|
42
45
|
registerBook: registerBook_contract_1.RegisterBookPatterns,
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { type IssuingEntityEntity } from '../base/entities';
|
|
2
|
+
import { type IssuingEntityCreateResponseEntity, type IssuingEntityGetAllResponseEntity, type IssuingEntityGetByIdResponseEntity, type IssuingEntityUpdateResponseEntity } from '../entities';
|
|
3
|
+
import { type RpcPage } from './contract';
|
|
4
|
+
/** Patrones NATS de `issuingEntity`: `<servicio>.<recurso>.<acción>`. */
|
|
5
|
+
export declare const IssuingEntityPatterns: {
|
|
6
|
+
readonly getAll: "gestorDocumental.issuingEntity.getAll";
|
|
7
|
+
readonly getById: "gestorDocumental.issuingEntity.getById";
|
|
8
|
+
readonly create: "gestorDocumental.issuingEntity.create";
|
|
9
|
+
readonly update: "gestorDocumental.issuingEntity.update";
|
|
10
|
+
readonly setEnabled: "gestorDocumental.issuingEntity.setEnabled";
|
|
11
|
+
};
|
|
12
|
+
/** Datos de una entidad emisora al crearla o editarla. */
|
|
13
|
+
export interface IssuingEntityWritePayload {
|
|
14
|
+
name: string;
|
|
15
|
+
shortName?: string | null;
|
|
16
|
+
/** Direcciones (código de caschile) cuyos funcionarios actúan por la entidad. */
|
|
17
|
+
directorateCodeReferences: number[];
|
|
18
|
+
/** Su entidad en DocDigital, entre las asociadas a las credenciales del gestor. */
|
|
19
|
+
docDigitalEntityId?: number | null;
|
|
20
|
+
enabled?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export interface IssuingEntityContract {
|
|
23
|
+
[IssuingEntityPatterns.getAll]: {
|
|
24
|
+
payload: {
|
|
25
|
+
pagination?: {
|
|
26
|
+
page?: number;
|
|
27
|
+
limit?: number;
|
|
28
|
+
};
|
|
29
|
+
filters?: {
|
|
30
|
+
search?: string;
|
|
31
|
+
enabled?: boolean;
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
response: RpcPage<IssuingEntityGetAllResponseEntity[]>;
|
|
35
|
+
};
|
|
36
|
+
[IssuingEntityPatterns.getById]: {
|
|
37
|
+
payload: Pick<IssuingEntityEntity, 'id'>;
|
|
38
|
+
response: IssuingEntityGetByIdResponseEntity;
|
|
39
|
+
};
|
|
40
|
+
[IssuingEntityPatterns.create]: {
|
|
41
|
+
payload: IssuingEntityWritePayload;
|
|
42
|
+
response: IssuingEntityCreateResponseEntity;
|
|
43
|
+
};
|
|
44
|
+
[IssuingEntityPatterns.update]: {
|
|
45
|
+
payload: IssuingEntityWritePayload & Pick<IssuingEntityEntity, 'id'>;
|
|
46
|
+
response: IssuingEntityUpdateResponseEntity;
|
|
47
|
+
};
|
|
48
|
+
[IssuingEntityPatterns.setEnabled]: {
|
|
49
|
+
payload: Pick<IssuingEntityEntity, 'id' | 'enabled'>;
|
|
50
|
+
response: IssuingEntityUpdateResponseEntity;
|
|
51
|
+
};
|
|
52
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IssuingEntityPatterns = void 0;
|
|
4
|
+
/** Patrones NATS de `issuingEntity`: `<servicio>.<recurso>.<acción>`. */
|
|
5
|
+
exports.IssuingEntityPatterns = {
|
|
6
|
+
getAll: 'gestorDocumental.issuingEntity.getAll',
|
|
7
|
+
getById: 'gestorDocumental.issuingEntity.getById',
|
|
8
|
+
create: 'gestorDocumental.issuingEntity.create',
|
|
9
|
+
update: 'gestorDocumental.issuingEntity.update',
|
|
10
|
+
setEnabled: 'gestorDocumental.issuingEntity.setEnabled',
|
|
11
|
+
};
|
|
@@ -7,6 +7,7 @@ export declare const PartsOfficePatterns: {
|
|
|
7
7
|
readonly getStatus: "gestorDocumental.partsOffice.getStatus";
|
|
8
8
|
readonly getSummary: "gestorDocumental.partsOffice.getSummary";
|
|
9
9
|
readonly getEntities: "gestorDocumental.partsOffice.getEntities";
|
|
10
|
+
readonly getOwnEntities: "gestorDocumental.partsOffice.getOwnEntities";
|
|
10
11
|
readonly getUsers: "gestorDocumental.partsOffice.getUsers";
|
|
11
12
|
readonly getDocumentTypes: "gestorDocumental.partsOffice.getDocumentTypes";
|
|
12
13
|
readonly getDispatches: "gestorDocumental.partsOffice.getDispatches";
|
|
@@ -62,6 +63,11 @@ export interface PartsOfficeContract {
|
|
|
62
63
|
};
|
|
63
64
|
response: DocDigitalEntityEntity[];
|
|
64
65
|
};
|
|
66
|
+
/** Entidades asociadas a las credenciales del gestor: la del municipio y las de sus entidades emisoras. */
|
|
67
|
+
[PartsOfficePatterns.getOwnEntities]: {
|
|
68
|
+
payload: Record<string, never>;
|
|
69
|
+
response: DocDigitalEntityEntity[];
|
|
70
|
+
};
|
|
65
71
|
[PartsOfficePatterns.getUsers]: {
|
|
66
72
|
payload: {
|
|
67
73
|
entityId: number;
|
|
@@ -6,6 +6,7 @@ exports.PartsOfficePatterns = {
|
|
|
6
6
|
getStatus: 'gestorDocumental.partsOffice.getStatus',
|
|
7
7
|
getSummary: 'gestorDocumental.partsOffice.getSummary',
|
|
8
8
|
getEntities: 'gestorDocumental.partsOffice.getEntities',
|
|
9
|
+
getOwnEntities: 'gestorDocumental.partsOffice.getOwnEntities',
|
|
9
10
|
getUsers: 'gestorDocumental.partsOffice.getUsers',
|
|
10
11
|
getDocumentTypes: 'gestorDocumental.partsOffice.getDocumentTypes',
|
|
11
12
|
getDispatches: 'gestorDocumental.partsOffice.getDispatches',
|
|
@@ -102,7 +102,10 @@ export interface CaseFileAccessResponseEntity {
|
|
|
102
102
|
entryId: CaseFileAccessEntity['entryId'];
|
|
103
103
|
/** Título del documento que se abrió, si el acceso fue a uno. */
|
|
104
104
|
entryTitle: string | null;
|
|
105
|
+
/** El funcionario o, si fue por un enlace temporal, su destinatario externo. */
|
|
105
106
|
employeeFullName: CaseFileAccessEntity['employeeFullName'];
|
|
107
|
+
/** Fue por un enlace temporal, sin sesión. */
|
|
108
|
+
external: boolean;
|
|
106
109
|
createdAt: CaseFileAccessEntity['createdAt'];
|
|
107
110
|
}
|
|
108
111
|
export interface CaseFileGetByIdResponseEntity extends CaseFileGetAllResponseEntity {
|
|
@@ -182,3 +185,77 @@ export interface CaseFileExportResponseEntity {
|
|
|
182
185
|
}
|
|
183
186
|
/** Expediente en que está incorporado un documento, visto desde el documento. */
|
|
184
187
|
export type DocumentCaseFileEntity = CaseFileLinkEntity;
|
|
188
|
+
/** Estado de un enlace temporal: vigente, vencido o revocado. */
|
|
189
|
+
export type CaseFileShareLinkStatus = 'Active' | 'Expired' | 'Revoked';
|
|
190
|
+
/** Enlace temporal de un expediente, como lo ve su responsable. El token no se vuelve a mostrar. */
|
|
191
|
+
export interface CaseFileShareLinkResponseEntity {
|
|
192
|
+
id: string;
|
|
193
|
+
recipient: string;
|
|
194
|
+
recipientEmail: string | null;
|
|
195
|
+
purpose: string | null;
|
|
196
|
+
allowExport: boolean;
|
|
197
|
+
expiresAt: string;
|
|
198
|
+
status: CaseFileShareLinkStatus;
|
|
199
|
+
createdByFullName: string;
|
|
200
|
+
createdAt: string;
|
|
201
|
+
revokedAt: string | null;
|
|
202
|
+
revokedByFullName: string | null;
|
|
203
|
+
/** Cuántas consultas, descargas y exportaciones se hicieron con él. */
|
|
204
|
+
accessCount: number;
|
|
205
|
+
lastAccessAt: string | null;
|
|
206
|
+
}
|
|
207
|
+
/** Enlace recién creado: el token va solo aquí; la dirección la arma quien lo muestra. */
|
|
208
|
+
export interface CaseFileShareLinkCreateResponseEntity {
|
|
209
|
+
id: string;
|
|
210
|
+
token: string;
|
|
211
|
+
recipient: string;
|
|
212
|
+
recipientEmail: string | null;
|
|
213
|
+
purpose: string | null;
|
|
214
|
+
expiresAt: string;
|
|
215
|
+
/** Para avisarle al destinatario: qué expediente, de qué órgano y quién se lo comparte. */
|
|
216
|
+
caseFile: {
|
|
217
|
+
code: string;
|
|
218
|
+
title: string;
|
|
219
|
+
};
|
|
220
|
+
organName: string;
|
|
221
|
+
createdByFullName: string;
|
|
222
|
+
}
|
|
223
|
+
/** Actuación del índice como la ve el destinatario externo. */
|
|
224
|
+
export interface CaseFileSharedEntryEntity {
|
|
225
|
+
id: string;
|
|
226
|
+
sequence: number;
|
|
227
|
+
folder: string | null;
|
|
228
|
+
kind: CaseFileEntryEntity['kind'];
|
|
229
|
+
actuationType: CaseFileEntryEntity['actuationType'];
|
|
230
|
+
title: string;
|
|
231
|
+
/** Tipo y número del documento («D.E. N° 590/2026») o el tipo declarado del archivo. */
|
|
232
|
+
reference: string | null;
|
|
233
|
+
originDate: string | null;
|
|
234
|
+
createdAt: string;
|
|
235
|
+
hasFile: boolean;
|
|
236
|
+
sha256: string | null;
|
|
237
|
+
hasAdvancedSignature: boolean;
|
|
238
|
+
physicalLocation: string | null;
|
|
239
|
+
pageCount: number | null;
|
|
240
|
+
voidedAt: string | null;
|
|
241
|
+
voidReason: string | null;
|
|
242
|
+
}
|
|
243
|
+
/** Expediente abierto con un enlace temporal: metadatos e índice, sin participantes ni registros internos. */
|
|
244
|
+
export interface CaseFileSharedResponseEntity {
|
|
245
|
+
code: string;
|
|
246
|
+
title: string;
|
|
247
|
+
subject: string;
|
|
248
|
+
summary: string | null;
|
|
249
|
+
procedureName: string;
|
|
250
|
+
status: CaseFileEntity['status'];
|
|
251
|
+
organName: string;
|
|
252
|
+
responsibleFullName: string;
|
|
253
|
+
responsiblePosition: string | null;
|
|
254
|
+
createdAt: string;
|
|
255
|
+
closedAt: string | null;
|
|
256
|
+
recipient: string;
|
|
257
|
+
purpose: string | null;
|
|
258
|
+
expiresAt: string;
|
|
259
|
+
allowExport: boolean;
|
|
260
|
+
entries: CaseFileSharedEntryEntity[];
|
|
261
|
+
}
|
|
@@ -114,6 +114,7 @@ export interface DocumentInboxItemEntity extends DocumentDeliveryResponseEntity
|
|
|
114
114
|
}
|
|
115
115
|
export interface DocumentGetByIdResponseEntity {
|
|
116
116
|
id: DocumentEntity['id'];
|
|
117
|
+
issuerName: string;
|
|
117
118
|
subject: DocumentEntity['subject'];
|
|
118
119
|
keywords: DocumentEntity['keywords'];
|
|
119
120
|
accessLevel: DocumentEntity['accessLevel'];
|
|
@@ -173,6 +174,7 @@ export interface DocumentGetByIdResponseEntity {
|
|
|
173
174
|
/** Instituciones de DocDigital a quienes va dirigido, y su despacho por Oficina de Partes. */
|
|
174
175
|
externalRecipients: DocumentExternalRecipientResponseEntity[];
|
|
175
176
|
dispatch: DocumentDispatchResponseEntity | null;
|
|
177
|
+
emailCopies: DocumentEmailCopyResponseEntity[];
|
|
176
178
|
documentType: DocumentTypeSummaryEntity;
|
|
177
179
|
participants: DocumentParticipantResponseEntity[];
|
|
178
180
|
attachments: {
|
|
@@ -282,6 +284,7 @@ export interface DocumentVerifyResponseEntity {
|
|
|
282
284
|
state: DocumentVerificationState;
|
|
283
285
|
verificationCode: string;
|
|
284
286
|
documentType: Pick<DocumentTypeSummaryEntity, 'name' | 'abbreviation'>;
|
|
287
|
+
issuerName: string;
|
|
285
288
|
correlative: DocumentEntity['correlative'];
|
|
286
289
|
correlativeYear: DocumentEntity['correlativeYear'];
|
|
287
290
|
numberedAt: DocumentEntity['numberedAt'];
|
|
@@ -401,3 +404,43 @@ export interface DocumentComposeResponseEntity {
|
|
|
401
404
|
fileId?: string;
|
|
402
405
|
contentBase64?: string;
|
|
403
406
|
}
|
|
407
|
+
/** Copia por correo de un documento, como la ve quien lo consulta en el gestor. */
|
|
408
|
+
export interface DocumentEmailCopyResponseEntity {
|
|
409
|
+
id: string;
|
|
410
|
+
name: string;
|
|
411
|
+
email: string;
|
|
412
|
+
/** Cuándo se envió (sin valor: aún no corresponde). */
|
|
413
|
+
issuedAt: string | null;
|
|
414
|
+
expiresAt: string | null;
|
|
415
|
+
openedAt: string | null;
|
|
416
|
+
downloadCount: number;
|
|
417
|
+
}
|
|
418
|
+
/** Copia recién emitida: el gateway le envía el enlace a su destinatario. El token viaja solo aquí. */
|
|
419
|
+
export interface DocumentEmailCopyIssuedEntity {
|
|
420
|
+
copyId: string;
|
|
421
|
+
documentId: string;
|
|
422
|
+
name: string;
|
|
423
|
+
email: string;
|
|
424
|
+
token: string;
|
|
425
|
+
expiresAt: string;
|
|
426
|
+
/** Cómo se cita: «D.E. N° 590/2026», o el tipo si no lleva número. */
|
|
427
|
+
folio: string;
|
|
428
|
+
subject: string;
|
|
429
|
+
issuerName: string;
|
|
430
|
+
}
|
|
431
|
+
/** El documento como lo ve quien abre su copia por correo. */
|
|
432
|
+
export interface DocumentEmailCopyViewEntity {
|
|
433
|
+
recipientName: string;
|
|
434
|
+
expiresAt: string;
|
|
435
|
+
documentTypeName: string;
|
|
436
|
+
folio: string;
|
|
437
|
+
subject: string;
|
|
438
|
+
issuerName: string;
|
|
439
|
+
finishedAt: string | null;
|
|
440
|
+
verificationCode: string | null;
|
|
441
|
+
signers: {
|
|
442
|
+
fullName: string;
|
|
443
|
+
position: string | null;
|
|
444
|
+
signedAt: string | null;
|
|
445
|
+
}[];
|
|
446
|
+
}
|