@muni-sanfer/types-gestor-documental 0.0.1-beta.54 → 0.0.1-beta.56
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 +11 -1
- package/dist/base/entities.js +7 -2
- package/dist/contracts/document.contract.d.ts +18 -1
- package/dist/contracts/document.contract.js +1 -0
- package/dist/contracts/index.d.ts +1 -0
- package/dist/entities/document/document.entity.d.ts +31 -1
- package/package.json +1 -1
- package/src/base/entities.ts +14 -1
- package/src/contracts/document.contract.ts +19 -0
- package/src/entities/document/document.entity.ts +30 -1
package/dist/base/entities.d.ts
CHANGED
|
@@ -38,7 +38,7 @@ export declare const DocumentParticipantStatus: {
|
|
|
38
38
|
Resolved: "Resolved";
|
|
39
39
|
Rejected: "Rejected";
|
|
40
40
|
};
|
|
41
|
-
export type DocumentTrackingAction = 'Created' | 'Updated' | 'Submitted' | 'Visaed' | 'Signed' | 'Rejected' | 'Finished' | 'Discarded' | 'Numbered' | 'NumberAnnulled' | 'Annulled' | 'Delivered' | 'Derived' | 'Reassigned' | 'Dispatched' | 'DispatchReturned' | 'DispatchedByContingency' | 'Received' | 'EmailCopySent' | 'EmailCopyOpened' | 'DispositionRecorded' | 'TransparencyRedacted' | 'TransparencyPublished' | 'TransparencyExcluded' | 'TransparencyWithdrawn' | 'DraftReviewRequested' | 'DraftReviewApproved' | 'DraftReviewRejected' | 'DraftReviewCancelled';
|
|
41
|
+
export type DocumentTrackingAction = 'Created' | 'Updated' | 'Submitted' | 'Visaed' | 'Signed' | 'Rejected' | 'Finished' | 'Discarded' | 'Numbered' | 'NumberAnnulled' | 'Annulled' | 'Delivered' | 'Derived' | 'Reassigned' | 'Dispatched' | 'DispatchReturned' | 'DispatchedByContingency' | 'Received' | 'EmailCopySent' | 'EmailCopyOpened' | 'DispositionRecorded' | 'TransparencyRedacted' | 'TransparencyPublished' | 'TransparencyExcluded' | 'TransparencyWithdrawn' | 'DraftReviewRequested' | 'DraftReviewApproved' | 'DraftReviewRejected' | 'DraftReviewCancelled' | 'DraftCorrected';
|
|
42
42
|
export declare const DocumentTrackingAction: {
|
|
43
43
|
Created: "Created";
|
|
44
44
|
Updated: "Updated";
|
|
@@ -69,6 +69,12 @@ export declare const DocumentTrackingAction: {
|
|
|
69
69
|
DraftReviewApproved: "DraftReviewApproved";
|
|
70
70
|
DraftReviewRejected: "DraftReviewRejected";
|
|
71
71
|
DraftReviewCancelled: "DraftReviewCancelled";
|
|
72
|
+
DraftCorrected: "DraftCorrected";
|
|
73
|
+
};
|
|
74
|
+
export type DraftReviewStage = 'Draft' | 'Official';
|
|
75
|
+
export declare const DraftReviewStage: {
|
|
76
|
+
Draft: "Draft";
|
|
77
|
+
Official: "Official";
|
|
72
78
|
};
|
|
73
79
|
export type DraftReviewStatus = 'Pending' | 'Approved' | 'Rejected' | 'Cancelled';
|
|
74
80
|
export declare const DraftReviewStatus: {
|
|
@@ -512,6 +518,8 @@ export interface DocumentEntity {
|
|
|
512
518
|
departmentId?: string | null;
|
|
513
519
|
issuingUnitName?: string | null;
|
|
514
520
|
issuingDirectorateName?: string | null;
|
|
521
|
+
selfValidated: boolean;
|
|
522
|
+
selfValidationNote?: string | null;
|
|
515
523
|
createdByEmployeeId: string;
|
|
516
524
|
createdByFullName: string;
|
|
517
525
|
originalFileId: string;
|
|
@@ -1023,6 +1031,7 @@ export interface DocumentDraftReviewEntity {
|
|
|
1023
1031
|
documentId: string;
|
|
1024
1032
|
document?: DocumentEntity;
|
|
1025
1033
|
round: number;
|
|
1034
|
+
stage: DraftReviewStage;
|
|
1026
1035
|
versionNumber: number;
|
|
1027
1036
|
directorateCodeReference: number;
|
|
1028
1037
|
directorateName: string;
|
|
@@ -1430,6 +1439,7 @@ export interface DocumentVersionEntity {
|
|
|
1430
1439
|
composition?: JsonValue | null;
|
|
1431
1440
|
note?: string | null;
|
|
1432
1441
|
status: DocumentStatus;
|
|
1442
|
+
correction: boolean;
|
|
1433
1443
|
createdByEmployeeId: string;
|
|
1434
1444
|
createdByFullName: string;
|
|
1435
1445
|
createdAt: string;
|
package/dist/base/entities.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
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.
|
|
5
|
-
exports.DraftingRequestEventAction = exports.DraftingRequestStatus = exports.MailAuthentication = exports.MailIntakeStatus = exports.DeskFileTarget = exports.DeskFileSource = exports.DataBreachNoticeMeans = void 0;
|
|
4
|
+
exports.DataBreachStatus = exports.DataBreachKind = exports.DataRightsEventAction = exports.DataRightsResolution = exports.DataRightsRequestStatus = exports.DataRightsChannel = exports.DataRight = exports.DataLegalBasis = exports.TransparencyStatus = 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.HolidaySource = 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.DraftReviewStatus = exports.DraftReviewStage = exports.DocumentTrackingAction = exports.DocumentParticipantStatus = exports.DocumentParticipantRole = exports.DocumentAccessLevel = exports.DocumentStatus = exports.DocumentNumberingScope = exports.DocumentCategory = void 0;
|
|
5
|
+
exports.DraftingRequestEventAction = exports.DraftingRequestStatus = exports.MailAuthentication = exports.MailIntakeStatus = exports.DeskFileTarget = exports.DeskFileSource = exports.DataBreachNoticeMeans = exports.DataBreachEventAction = void 0;
|
|
6
6
|
exports.DocumentCategory = {
|
|
7
7
|
Decree: 'Decree',
|
|
8
8
|
Communication: 'Communication',
|
|
@@ -67,6 +67,11 @@ exports.DocumentTrackingAction = {
|
|
|
67
67
|
DraftReviewApproved: 'DraftReviewApproved',
|
|
68
68
|
DraftReviewRejected: 'DraftReviewRejected',
|
|
69
69
|
DraftReviewCancelled: 'DraftReviewCancelled',
|
|
70
|
+
DraftCorrected: 'DraftCorrected',
|
|
71
|
+
};
|
|
72
|
+
exports.DraftReviewStage = {
|
|
73
|
+
Draft: 'Draft',
|
|
74
|
+
Official: 'Official',
|
|
70
75
|
};
|
|
71
76
|
exports.DraftReviewStatus = {
|
|
72
77
|
Pending: 'Pending',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type DocumentAccessAction, 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 DocumentEmailCopyIssuedEntity, type DocumentEmailCopyViewEntity, type DocumentReminderEntity, 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, type DocumentCommentResponseEntity, type DocumentCommentsResponseEntity, type DocumentVersionResponseEntity, type DocumentDraftReviewResponseEntity } from '../entities';
|
|
2
|
+
import { type DocumentAnnulResponseEntity, type DocumentCloseDeliveryResponseEntity, type DocumentCreateResponseEntity, type DocumentDeriveResponseEntity, type DocumentDiscardResponseEntity, type DocumentEmailCopyIssuedEntity, type DocumentEmailCopyViewEntity, type DocumentReminderEntity, 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, type DocumentCommentResponseEntity, type DocumentCommentsResponseEntity, type DocumentVersionResponseEntity, type DocumentDraftCorrectionResponseEntity, type DocumentDraftReviewResponseEntity } 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: {
|
|
@@ -14,6 +14,7 @@ export declare const DocumentPatterns: {
|
|
|
14
14
|
readonly reassign: "gestorDocumental.document.reassign";
|
|
15
15
|
readonly requestDraftReview: "gestorDocumental.document.requestDraftReview";
|
|
16
16
|
readonly resolveDraftReview: "gestorDocumental.document.resolveDraftReview";
|
|
17
|
+
readonly correctDraft: "gestorDocumental.document.correctDraft";
|
|
17
18
|
readonly discard: "gestorDocumental.document.discard";
|
|
18
19
|
readonly annul: "gestorDocumental.document.annul";
|
|
19
20
|
readonly derive: "gestorDocumental.document.derive";
|
|
@@ -92,6 +93,8 @@ export interface DocumentWritePayload extends Pick<DocumentEntity, 'subject' | '
|
|
|
92
93
|
departmentId?: string | null;
|
|
93
94
|
issuingUnitName?: string | null;
|
|
94
95
|
issuingDirectorateName?: string | null;
|
|
96
|
+
selfValidated?: boolean;
|
|
97
|
+
selfValidationNote?: string | null;
|
|
95
98
|
externalCorrelative?: number | null;
|
|
96
99
|
externalCorrelativeYear?: number | null;
|
|
97
100
|
file: {
|
|
@@ -296,6 +299,20 @@ export interface DocumentContract {
|
|
|
296
299
|
};
|
|
297
300
|
response: DocumentDraftReviewResponseEntity;
|
|
298
301
|
};
|
|
302
|
+
/**
|
|
303
|
+
* La jefatura que tiene la revisión pendiente corrige el texto redactado con la plantilla, sin devolverlo: el sistema
|
|
304
|
+
* arma el PDF y guarda una versión nueva a su nombre con la justificación. La revisión sigue pendiente, ahora de esa
|
|
305
|
+
* versión.
|
|
306
|
+
*/
|
|
307
|
+
[DocumentPatterns.correctDraft]: {
|
|
308
|
+
payload: Pick<DocumentEntity, 'id'> & {
|
|
309
|
+
subject: string;
|
|
310
|
+
composition: DocumentComposition;
|
|
311
|
+
reason: string;
|
|
312
|
+
actor: DocumentActor;
|
|
313
|
+
};
|
|
314
|
+
response: DocumentDraftCorrectionResponseEntity;
|
|
315
|
+
};
|
|
299
316
|
[DocumentPatterns.reassign]: {
|
|
300
317
|
payload: Pick<DocumentEntity, 'id'> & {
|
|
301
318
|
participantId: DocumentParticipantEntity['id'];
|
|
@@ -14,6 +14,7 @@ exports.DocumentPatterns = {
|
|
|
14
14
|
reassign: 'gestorDocumental.document.reassign',
|
|
15
15
|
requestDraftReview: 'gestorDocumental.document.requestDraftReview',
|
|
16
16
|
resolveDraftReview: 'gestorDocumental.document.resolveDraftReview',
|
|
17
|
+
correctDraft: 'gestorDocumental.document.correctDraft',
|
|
17
18
|
discard: 'gestorDocumental.document.discard',
|
|
18
19
|
annul: 'gestorDocumental.document.annul',
|
|
19
20
|
derive: 'gestorDocumental.document.derive',
|
|
@@ -78,6 +78,7 @@ export declare const GestorDocumentalPatterns: {
|
|
|
78
78
|
readonly reassign: "gestorDocumental.document.reassign";
|
|
79
79
|
readonly requestDraftReview: "gestorDocumental.document.requestDraftReview";
|
|
80
80
|
readonly resolveDraftReview: "gestorDocumental.document.resolveDraftReview";
|
|
81
|
+
readonly correctDraft: "gestorDocumental.document.correctDraft";
|
|
81
82
|
readonly discard: "gestorDocumental.document.discard";
|
|
82
83
|
readonly annul: "gestorDocumental.document.annul";
|
|
83
84
|
readonly derive: "gestorDocumental.document.derive";
|
|
@@ -211,6 +211,8 @@ export interface DocumentGetByIdResponseEntity {
|
|
|
211
211
|
* más reciente primero) y si la versión vigente ya está aprobada. `null` si el tipo no la exige.
|
|
212
212
|
*/
|
|
213
213
|
draftReview: DocumentDraftReviewInfoEntity | null;
|
|
214
|
+
/** Se subió como validado: no pasó por la revisión del tipo. */
|
|
215
|
+
selfValidation: DocumentSelfValidationEntity | null;
|
|
214
216
|
/** Solicitud de redacción que atiende, si se redactó a pedido de otra área. */
|
|
215
217
|
draftingRequest: DocumentDraftingRequestEntity | null;
|
|
216
218
|
replies: DocumentLinkEntity[];
|
|
@@ -304,6 +306,8 @@ export interface DocumentCreateResponseEntity {
|
|
|
304
306
|
export interface DocumentUpdateResponseEntity {
|
|
305
307
|
id: DocumentEntity['id'];
|
|
306
308
|
ok: boolean;
|
|
309
|
+
/** Se envió con el borrador aprobado: el documento oficial quedó en revisión (hay que avisar a quien lo revisa). */
|
|
310
|
+
officialReview?: DocumentDraftReviewResponseEntity;
|
|
307
311
|
}
|
|
308
312
|
export interface DocumentReviewResponseEntity {
|
|
309
313
|
id: DocumentEntity['id'];
|
|
@@ -650,6 +654,8 @@ export interface DocumentVersionResponseEntity {
|
|
|
650
654
|
composition: DocumentComposition | null;
|
|
651
655
|
note: string | null;
|
|
652
656
|
status: DocumentStatus;
|
|
657
|
+
/** La guardó la jefatura revisora al corregir el texto; `note` es su justificación. */
|
|
658
|
+
correction: boolean;
|
|
653
659
|
createdByFullName: string;
|
|
654
660
|
createdAt: string;
|
|
655
661
|
/** Visaciones, firmas y rechazos mientras fue la versión vigente. */
|
|
@@ -683,6 +689,8 @@ export interface DocumentCommentsResponseEntity {
|
|
|
683
689
|
export interface DocumentDraftReviewRoundEntity {
|
|
684
690
|
id: string;
|
|
685
691
|
round: number;
|
|
692
|
+
/** Qué se revisó: el borrador (su contenido) o el documento oficial, antes de entrar a tramitación. */
|
|
693
|
+
stage: 'Draft' | 'Official';
|
|
686
694
|
/** Versión del borrador que se revisó. */
|
|
687
695
|
versionNumber: number;
|
|
688
696
|
directorateName: string;
|
|
@@ -699,20 +707,42 @@ export interface DocumentDraftReviewInfoEntity {
|
|
|
699
707
|
directorateCodeReference: number;
|
|
700
708
|
directorateName: string;
|
|
701
709
|
rounds: DocumentDraftReviewRoundEntity[];
|
|
702
|
-
/**
|
|
710
|
+
/**
|
|
711
|
+
* La versión vigente del borrador está aprobada: quien redacta completa visación, firma y destinatarios y lo envía,
|
|
712
|
+
* y el documento oficial va a revisión de quien aprobó el borrador.
|
|
713
|
+
*/
|
|
703
714
|
approved: boolean;
|
|
704
715
|
/** Hay una ronda esperando respuesta: el borrador no se edita mientras tanto. */
|
|
705
716
|
pending: boolean;
|
|
717
|
+
/** Qué espera la ronda pendiente, si la hay. */
|
|
718
|
+
pendingStage: DocumentDraftReviewRoundEntity['stage'] | null;
|
|
719
|
+
}
|
|
720
|
+
/** PDF subido que quien redacta declaró validado, con su justificación: se saltó la revisión que exige el tipo. */
|
|
721
|
+
export interface DocumentSelfValidationEntity {
|
|
722
|
+
note: string;
|
|
706
723
|
}
|
|
707
724
|
/** Resultado de pedir, resolver o retirar una revisión del borrador. */
|
|
708
725
|
export interface DocumentDraftReviewResponseEntity {
|
|
709
726
|
id: string;
|
|
710
727
|
ok: boolean;
|
|
711
728
|
round: number;
|
|
729
|
+
stage: DocumentDraftReviewRoundEntity['stage'];
|
|
712
730
|
status: DocumentDraftReviewRoundEntity['status'];
|
|
713
731
|
/** A quién avisar: la jefatura revisora (al pedirla) o el redactor (al resolverla). */
|
|
714
732
|
notify: {
|
|
715
733
|
employeeId: string;
|
|
716
734
|
fullName: string;
|
|
717
735
|
} | null;
|
|
736
|
+
/** Al aprobar el oficial, el documento entró a tramitación: hay que avisar a quien tiene el primer turno. */
|
|
737
|
+
submitted?: boolean;
|
|
738
|
+
}
|
|
739
|
+
/** Resultado de la corrección de la jefatura revisora: la versión nueva y a quién avisar (quien redacta). */
|
|
740
|
+
export interface DocumentDraftCorrectionResponseEntity {
|
|
741
|
+
id: string;
|
|
742
|
+
ok: boolean;
|
|
743
|
+
versionNumber: number;
|
|
744
|
+
notify: {
|
|
745
|
+
employeeId: string;
|
|
746
|
+
fullName: string;
|
|
747
|
+
} | null;
|
|
718
748
|
}
|
package/package.json
CHANGED
package/src/base/entities.ts
CHANGED
|
@@ -82,7 +82,8 @@ export type DocumentTrackingAction =
|
|
|
82
82
|
| 'DraftReviewRequested'
|
|
83
83
|
| 'DraftReviewApproved'
|
|
84
84
|
| 'DraftReviewRejected'
|
|
85
|
-
| 'DraftReviewCancelled'
|
|
85
|
+
| 'DraftReviewCancelled'
|
|
86
|
+
| 'DraftCorrected';
|
|
86
87
|
|
|
87
88
|
export const DocumentTrackingAction = {
|
|
88
89
|
Created: 'Created',
|
|
@@ -114,8 +115,16 @@ export const DocumentTrackingAction = {
|
|
|
114
115
|
DraftReviewApproved: 'DraftReviewApproved',
|
|
115
116
|
DraftReviewRejected: 'DraftReviewRejected',
|
|
116
117
|
DraftReviewCancelled: 'DraftReviewCancelled',
|
|
118
|
+
DraftCorrected: 'DraftCorrected',
|
|
117
119
|
} satisfies Record<string, DocumentTrackingAction>;
|
|
118
120
|
|
|
121
|
+
export type DraftReviewStage = 'Draft' | 'Official';
|
|
122
|
+
|
|
123
|
+
export const DraftReviewStage = {
|
|
124
|
+
Draft: 'Draft',
|
|
125
|
+
Official: 'Official',
|
|
126
|
+
} satisfies Record<string, DraftReviewStage>;
|
|
127
|
+
|
|
119
128
|
export type DraftReviewStatus = 'Pending' | 'Approved' | 'Rejected' | 'Cancelled';
|
|
120
129
|
|
|
121
130
|
export const DraftReviewStatus = {
|
|
@@ -722,6 +731,8 @@ export interface DocumentEntity {
|
|
|
722
731
|
departmentId?: string | null;
|
|
723
732
|
issuingUnitName?: string | null;
|
|
724
733
|
issuingDirectorateName?: string | null;
|
|
734
|
+
selfValidated: boolean;
|
|
735
|
+
selfValidationNote?: string | null;
|
|
725
736
|
createdByEmployeeId: string;
|
|
726
737
|
createdByFullName: string;
|
|
727
738
|
originalFileId: string;
|
|
@@ -1264,6 +1275,7 @@ export interface DocumentDraftReviewEntity {
|
|
|
1264
1275
|
documentId: string;
|
|
1265
1276
|
document?: DocumentEntity;
|
|
1266
1277
|
round: number;
|
|
1278
|
+
stage: DraftReviewStage;
|
|
1267
1279
|
versionNumber: number;
|
|
1268
1280
|
directorateCodeReference: number;
|
|
1269
1281
|
directorateName: string;
|
|
@@ -1696,6 +1708,7 @@ export interface DocumentVersionEntity {
|
|
|
1696
1708
|
composition?: JsonValue | null;
|
|
1697
1709
|
note?: string | null;
|
|
1698
1710
|
status: DocumentStatus;
|
|
1711
|
+
correction: boolean;
|
|
1699
1712
|
createdByEmployeeId: string;
|
|
1700
1713
|
createdByFullName: string;
|
|
1701
1714
|
createdAt: string;
|
|
@@ -34,6 +34,7 @@ import {
|
|
|
34
34
|
type DocumentCommentResponseEntity,
|
|
35
35
|
type DocumentCommentsResponseEntity,
|
|
36
36
|
type DocumentVersionResponseEntity,
|
|
37
|
+
type DocumentDraftCorrectionResponseEntity,
|
|
37
38
|
type DocumentDraftReviewResponseEntity,
|
|
38
39
|
} from '../entities';
|
|
39
40
|
import { type RpcPage } from './contract';
|
|
@@ -51,6 +52,7 @@ export const DocumentPatterns = {
|
|
|
51
52
|
reassign: 'gestorDocumental.document.reassign',
|
|
52
53
|
requestDraftReview: 'gestorDocumental.document.requestDraftReview',
|
|
53
54
|
resolveDraftReview: 'gestorDocumental.document.resolveDraftReview',
|
|
55
|
+
correctDraft: 'gestorDocumental.document.correctDraft',
|
|
54
56
|
discard: 'gestorDocumental.document.discard',
|
|
55
57
|
annul: 'gestorDocumental.document.annul',
|
|
56
58
|
derive: 'gestorDocumental.document.derive',
|
|
@@ -134,6 +136,9 @@ export interface DocumentWritePayload extends Pick<DocumentEntity, 'subject' | '
|
|
|
134
136
|
// Nombres del área responsable y de su dirección: los pone el gateway, no el navegador.
|
|
135
137
|
issuingUnitName?: string | null;
|
|
136
138
|
issuingDirectorateName?: string | null;
|
|
139
|
+
// PDF subido que quien redacta declara validado, con su justificación: no pasa por la revisión que exige el tipo.
|
|
140
|
+
selfValidated?: boolean;
|
|
141
|
+
selfValidationNote?: string | null;
|
|
137
142
|
// El documento llegó ya numerado (su tipo lo admite): su número y año.
|
|
138
143
|
externalCorrelative?: number | null;
|
|
139
144
|
externalCorrelativeYear?: number | null;
|
|
@@ -328,6 +333,20 @@ export interface DocumentContract {
|
|
|
328
333
|
};
|
|
329
334
|
response: DocumentDraftReviewResponseEntity;
|
|
330
335
|
};
|
|
336
|
+
/**
|
|
337
|
+
* La jefatura que tiene la revisión pendiente corrige el texto redactado con la plantilla, sin devolverlo: el sistema
|
|
338
|
+
* arma el PDF y guarda una versión nueva a su nombre con la justificación. La revisión sigue pendiente, ahora de esa
|
|
339
|
+
* versión.
|
|
340
|
+
*/
|
|
341
|
+
[DocumentPatterns.correctDraft]: {
|
|
342
|
+
payload: Pick<DocumentEntity, 'id'> & {
|
|
343
|
+
subject: string;
|
|
344
|
+
composition: DocumentComposition;
|
|
345
|
+
reason: string;
|
|
346
|
+
actor: DocumentActor;
|
|
347
|
+
};
|
|
348
|
+
response: DocumentDraftCorrectionResponseEntity;
|
|
349
|
+
};
|
|
331
350
|
[DocumentPatterns.reassign]: {
|
|
332
351
|
payload: Pick<DocumentEntity, 'id'> & {
|
|
333
352
|
participantId: DocumentParticipantEntity['id'];
|
|
@@ -244,6 +244,8 @@ export interface DocumentGetByIdResponseEntity {
|
|
|
244
244
|
* más reciente primero) y si la versión vigente ya está aprobada. `null` si el tipo no la exige.
|
|
245
245
|
*/
|
|
246
246
|
draftReview: DocumentDraftReviewInfoEntity | null;
|
|
247
|
+
/** Se subió como validado: no pasó por la revisión del tipo. */
|
|
248
|
+
selfValidation: DocumentSelfValidationEntity | null;
|
|
247
249
|
/** Solicitud de redacción que atiende, si se redactó a pedido de otra área. */
|
|
248
250
|
draftingRequest: DocumentDraftingRequestEntity | null;
|
|
249
251
|
replies: DocumentLinkEntity[];
|
|
@@ -338,6 +340,8 @@ export interface DocumentCreateResponseEntity {
|
|
|
338
340
|
export interface DocumentUpdateResponseEntity {
|
|
339
341
|
id: DocumentEntity['id'];
|
|
340
342
|
ok: boolean;
|
|
343
|
+
/** Se envió con el borrador aprobado: el documento oficial quedó en revisión (hay que avisar a quien lo revisa). */
|
|
344
|
+
officialReview?: DocumentDraftReviewResponseEntity;
|
|
341
345
|
}
|
|
342
346
|
|
|
343
347
|
export interface DocumentReviewResponseEntity {
|
|
@@ -685,6 +689,8 @@ export interface DocumentVersionResponseEntity {
|
|
|
685
689
|
composition: DocumentComposition | null;
|
|
686
690
|
note: string | null;
|
|
687
691
|
status: DocumentStatus;
|
|
692
|
+
/** La guardó la jefatura revisora al corregir el texto; `note` es su justificación. */
|
|
693
|
+
correction: boolean;
|
|
688
694
|
createdByFullName: string;
|
|
689
695
|
createdAt: string;
|
|
690
696
|
/** Visaciones, firmas y rechazos mientras fue la versión vigente. */
|
|
@@ -721,6 +727,8 @@ export interface DocumentCommentsResponseEntity {
|
|
|
721
727
|
export interface DocumentDraftReviewRoundEntity {
|
|
722
728
|
id: string;
|
|
723
729
|
round: number;
|
|
730
|
+
/** Qué se revisó: el borrador (su contenido) o el documento oficial, antes de entrar a tramitación. */
|
|
731
|
+
stage: 'Draft' | 'Official';
|
|
724
732
|
/** Versión del borrador que se revisó. */
|
|
725
733
|
versionNumber: number;
|
|
726
734
|
directorateName: string;
|
|
@@ -738,10 +746,20 @@ export interface DocumentDraftReviewInfoEntity {
|
|
|
738
746
|
directorateCodeReference: number;
|
|
739
747
|
directorateName: string;
|
|
740
748
|
rounds: DocumentDraftReviewRoundEntity[];
|
|
741
|
-
/**
|
|
749
|
+
/**
|
|
750
|
+
* La versión vigente del borrador está aprobada: quien redacta completa visación, firma y destinatarios y lo envía,
|
|
751
|
+
* y el documento oficial va a revisión de quien aprobó el borrador.
|
|
752
|
+
*/
|
|
742
753
|
approved: boolean;
|
|
743
754
|
/** Hay una ronda esperando respuesta: el borrador no se edita mientras tanto. */
|
|
744
755
|
pending: boolean;
|
|
756
|
+
/** Qué espera la ronda pendiente, si la hay. */
|
|
757
|
+
pendingStage: DocumentDraftReviewRoundEntity['stage'] | null;
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
/** PDF subido que quien redacta declaró validado, con su justificación: se saltó la revisión que exige el tipo. */
|
|
761
|
+
export interface DocumentSelfValidationEntity {
|
|
762
|
+
note: string;
|
|
745
763
|
}
|
|
746
764
|
|
|
747
765
|
/** Resultado de pedir, resolver o retirar una revisión del borrador. */
|
|
@@ -749,7 +767,18 @@ export interface DocumentDraftReviewResponseEntity {
|
|
|
749
767
|
id: string;
|
|
750
768
|
ok: boolean;
|
|
751
769
|
round: number;
|
|
770
|
+
stage: DocumentDraftReviewRoundEntity['stage'];
|
|
752
771
|
status: DocumentDraftReviewRoundEntity['status'];
|
|
753
772
|
/** A quién avisar: la jefatura revisora (al pedirla) o el redactor (al resolverla). */
|
|
754
773
|
notify: { employeeId: string; fullName: string } | null;
|
|
774
|
+
/** Al aprobar el oficial, el documento entró a tramitación: hay que avisar a quien tiene el primer turno. */
|
|
775
|
+
submitted?: boolean;
|
|
776
|
+
}
|
|
777
|
+
|
|
778
|
+
/** Resultado de la corrección de la jefatura revisora: la versión nueva y a quién avisar (quien redacta). */
|
|
779
|
+
export interface DocumentDraftCorrectionResponseEntity {
|
|
780
|
+
id: string;
|
|
781
|
+
ok: boolean;
|
|
782
|
+
versionNumber: number;
|
|
783
|
+
notify: { employeeId: string; fullName: string } | null;
|
|
755
784
|
}
|