@muni-sanfer/types-gestor-documental 0.0.1-beta.34 → 0.0.1-beta.36
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 +3 -0
- package/dist/contracts/caseFile.contract.d.ts +11 -1
- package/dist/contracts/caseFile.contract.js +1 -0
- package/dist/contracts/index.d.ts +1 -0
- package/dist/entities/caseFile/caseFile.entity.d.ts +2 -0
- package/dist/entities/document/document.entity.d.ts +5 -0
- package/dist/entities/signatureCheck/signatureCheck.entity.d.ts +11 -0
- package/package.json +1 -1
- package/src/base/entities.ts +3 -0
- package/src/contracts/caseFile.contract.ts +11 -0
- package/src/entities/caseFile/caseFile.entity.ts +2 -0
- package/src/entities/document/document.entity.ts +5 -0
- package/src/entities/signatureCheck/signatureCheck.entity.ts +12 -0
package/dist/base/entities.d.ts
CHANGED
|
@@ -461,6 +461,7 @@ export interface DocumentEntity {
|
|
|
461
461
|
originalFileName: string;
|
|
462
462
|
currentFileId?: string | null;
|
|
463
463
|
currentFileUrl?: string | null;
|
|
464
|
+
fileFormat?: string | null;
|
|
464
465
|
submittedAt?: string | null;
|
|
465
466
|
finishedAt?: string | null;
|
|
466
467
|
documentType?: DocumentTypeEntity;
|
|
@@ -659,6 +660,7 @@ export interface CaseFileEntity {
|
|
|
659
660
|
metadataChanges?: CaseFileMetadataChangeEntity[];
|
|
660
661
|
accesses?: CaseFileAccessEntity[];
|
|
661
662
|
shareLinks?: CaseFileShareLinkEntity[];
|
|
663
|
+
integratedPdf?: JsonValue | null;
|
|
662
664
|
createdAt: string;
|
|
663
665
|
updatedAt: string;
|
|
664
666
|
workFolder?: WorkFolderEntity | null;
|
|
@@ -709,6 +711,7 @@ export interface CaseFileEntryEntity {
|
|
|
709
711
|
sha256?: string | null;
|
|
710
712
|
size?: number | null;
|
|
711
713
|
hasAdvancedSignature: boolean;
|
|
714
|
+
fileFormat?: string | null;
|
|
712
715
|
signatureCheck?: JsonValue | null;
|
|
713
716
|
incorporatedByEmployeeId: string;
|
|
714
717
|
incorporatedByFullName: string;
|
|
@@ -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 CaseFileShareLinkCreateResponseEntity, type CaseFileShareLinkResponseEntity, type CaseFileSharedResponseEntity, type CaseFileUpdateResponseEntity, type CaseFileVerifyExportResponseEntity } 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, type CaseFileVerifyExportResponseEntity, type DocumentPublicFileResponseEntity } 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,6 +17,7 @@ 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 getIntegratedPdf: "gestorDocumental.caseFile.getIntegratedPdf";
|
|
20
21
|
readonly createShareLink: "gestorDocumental.caseFile.createShareLink";
|
|
21
22
|
readonly getShareLinks: "gestorDocumental.caseFile.getShareLinks";
|
|
22
23
|
readonly revokeShareLink: "gestorDocumental.caseFile.revokeShareLink";
|
|
@@ -204,6 +205,15 @@ export interface CaseFileContract {
|
|
|
204
205
|
payload: Pick<CaseFileEntity, 'id'> & CaseFileActorPayload;
|
|
205
206
|
response: CaseFileExportResponseEntity;
|
|
206
207
|
};
|
|
208
|
+
/**
|
|
209
|
+
* PDF integrador: todas las actuaciones en un solo PDF, en orden de incorporación, con portada e índice. Queda en la
|
|
210
|
+
* trazabilidad y en el registro de accesos, como la exportación. Sin el sello de copia autorizada (necesita firma
|
|
211
|
+
* desatendida).
|
|
212
|
+
*/
|
|
213
|
+
[CaseFilePatterns.getIntegratedPdf]: {
|
|
214
|
+
payload: Pick<CaseFileEntity, 'id'> & CaseFileActorPayload;
|
|
215
|
+
response: DocumentPublicFileResponseEntity;
|
|
216
|
+
};
|
|
207
217
|
/** Crea un enlace temporal: solo su responsable. El token viaja solo en esta respuesta. */
|
|
208
218
|
[CaseFilePatterns.createShareLink]: {
|
|
209
219
|
payload: Pick<CaseFileEntity, 'id'> & CaseFileShareLinkPayload & {
|
|
@@ -16,6 +16,7 @@ exports.CaseFilePatterns = {
|
|
|
16
16
|
close: 'gestorDocumental.caseFile.close',
|
|
17
17
|
getEntryFile: 'gestorDocumental.caseFile.getEntryFile',
|
|
18
18
|
getExport: 'gestorDocumental.caseFile.getExport',
|
|
19
|
+
getIntegratedPdf: 'gestorDocumental.caseFile.getIntegratedPdf',
|
|
19
20
|
createShareLink: 'gestorDocumental.caseFile.createShareLink',
|
|
20
21
|
getShareLinks: 'gestorDocumental.caseFile.getShareLinks',
|
|
21
22
|
revokeShareLink: 'gestorDocumental.caseFile.revokeShareLink',
|
|
@@ -114,6 +114,7 @@ export declare const GestorDocumentalPatterns: {
|
|
|
114
114
|
readonly close: "gestorDocumental.caseFile.close";
|
|
115
115
|
readonly getEntryFile: "gestorDocumental.caseFile.getEntryFile";
|
|
116
116
|
readonly getExport: "gestorDocumental.caseFile.getExport";
|
|
117
|
+
readonly getIntegratedPdf: "gestorDocumental.caseFile.getIntegratedPdf";
|
|
117
118
|
readonly createShareLink: "gestorDocumental.caseFile.createShareLink";
|
|
118
119
|
readonly getShareLinks: "gestorDocumental.caseFile.getShareLinks";
|
|
119
120
|
readonly revokeShareLink: "gestorDocumental.caseFile.revokeShareLink";
|
|
@@ -59,6 +59,8 @@ export interface CaseFileEntryResponseEntity {
|
|
|
59
59
|
sha256: CaseFileEntryEntity['sha256'];
|
|
60
60
|
size: CaseFileEntryEntity['size'];
|
|
61
61
|
hasAdvancedSignature: CaseFileEntryEntity['hasAdvancedSignature'];
|
|
62
|
+
/** Conformidad PDF/A que declara el archivo («PDF/A-2B»), «PDF», o `null` si no es un PDF o no se revisó. */
|
|
63
|
+
fileFormat: CaseFileEntryEntity['fileFormat'];
|
|
62
64
|
/** Revisión de sus firmas al incorporarlo, en los archivos externos en PDF. */
|
|
63
65
|
signatureCheck: PdfSignatureReportEntity | null;
|
|
64
66
|
incorporatedByEmployeeId: CaseFileEntryEntity['incorporatedByEmployeeId'];
|
|
@@ -139,6 +139,11 @@ export interface DocumentGetByIdResponseEntity {
|
|
|
139
139
|
keywords: DocumentEntity['keywords'];
|
|
140
140
|
accessLevel: DocumentEntity['accessLevel'];
|
|
141
141
|
hasSensitiveData: DocumentEntity['hasSensitiveData'];
|
|
142
|
+
/**
|
|
143
|
+
* Formato del archivo vigente: la conformidad PDF/A que declara («PDF/A-2B») o «PDF». `null` si no se revisó (los
|
|
144
|
+
* documentos anteriores a esta revisión, o aún sin firmar).
|
|
145
|
+
*/
|
|
146
|
+
fileFormat: DocumentEntity['fileFormat'];
|
|
142
147
|
status: DocumentEntity['status'];
|
|
143
148
|
correlative: DocumentEntity['correlative'];
|
|
144
149
|
correlativeYear: DocumentEntity['correlativeYear'];
|
|
@@ -4,6 +4,15 @@
|
|
|
4
4
|
*/
|
|
5
5
|
export type PdfSignatureStatus = 'Valid' | 'Invalid' | 'Indeterminate';
|
|
6
6
|
/** Una firma electrónica de un PDF, como se pudo comprobar. */
|
|
7
|
+
/** Si el certificado de una firma fue revocado, según su emisor (OCSP o lista de revocación). */
|
|
8
|
+
export interface PdfRevocationEntity {
|
|
9
|
+
/** `NotChecked`: la revisión está desactivada en el servidor. `Unknown`: no se pudo confirmar. */
|
|
10
|
+
status: 'Good' | 'Revoked' | 'Unknown' | 'NotChecked';
|
|
11
|
+
source: 'OCSP' | 'CRL' | null;
|
|
12
|
+
revokedAt: string | null;
|
|
13
|
+
/** Por qué no se pudo confirmar. */
|
|
14
|
+
detail: string | null;
|
|
15
|
+
}
|
|
7
16
|
export interface PdfSignatureEntity {
|
|
8
17
|
/** Orden en el archivo: 1 es la primera. */
|
|
9
18
|
index: number;
|
|
@@ -31,6 +40,8 @@ export interface PdfSignatureEntity {
|
|
|
31
40
|
certificateValidAtSigning: boolean | null;
|
|
32
41
|
/** Cadena hasta un certificado raíz de confianza. `null` si no hay raíces configuradas. */
|
|
33
42
|
trusted: boolean | null;
|
|
43
|
+
/** Si el certificado fue revocado. Falta en las revisiones anteriores a que se consultara. */
|
|
44
|
+
revocation?: PdfRevocationEntity;
|
|
34
45
|
status: PdfSignatureStatus;
|
|
35
46
|
/** Lo que no cuadra o no se pudo confirmar, en palabras. */
|
|
36
47
|
problems: string[];
|
package/package.json
CHANGED
package/src/base/entities.ts
CHANGED
|
@@ -654,6 +654,7 @@ export interface DocumentEntity {
|
|
|
654
654
|
originalFileName: string;
|
|
655
655
|
currentFileId?: string | null;
|
|
656
656
|
currentFileUrl?: string | null;
|
|
657
|
+
fileFormat?: string | null;
|
|
657
658
|
submittedAt?: string | null;
|
|
658
659
|
finishedAt?: string | null;
|
|
659
660
|
documentType?: DocumentTypeEntity;
|
|
@@ -863,6 +864,7 @@ export interface CaseFileEntity {
|
|
|
863
864
|
metadataChanges?: CaseFileMetadataChangeEntity[];
|
|
864
865
|
accesses?: CaseFileAccessEntity[];
|
|
865
866
|
shareLinks?: CaseFileShareLinkEntity[];
|
|
867
|
+
integratedPdf?: JsonValue | null;
|
|
866
868
|
createdAt: string;
|
|
867
869
|
updatedAt: string;
|
|
868
870
|
workFolder?: WorkFolderEntity | null;
|
|
@@ -916,6 +918,7 @@ export interface CaseFileEntryEntity {
|
|
|
916
918
|
sha256?: string | null;
|
|
917
919
|
size?: number | null;
|
|
918
920
|
hasAdvancedSignature: boolean;
|
|
921
|
+
fileFormat?: string | null;
|
|
919
922
|
signatureCheck?: JsonValue | null;
|
|
920
923
|
incorporatedByEmployeeId: string;
|
|
921
924
|
incorporatedByFullName: string;
|
|
@@ -19,6 +19,7 @@ import {
|
|
|
19
19
|
type CaseFileSharedResponseEntity,
|
|
20
20
|
type CaseFileUpdateResponseEntity,
|
|
21
21
|
type CaseFileVerifyExportResponseEntity,
|
|
22
|
+
type DocumentPublicFileResponseEntity,
|
|
22
23
|
} from '../entities';
|
|
23
24
|
import { type RpcPage } from './contract';
|
|
24
25
|
import { type DocumentActor } from './document.contract';
|
|
@@ -38,6 +39,7 @@ export const CaseFilePatterns = {
|
|
|
38
39
|
close: 'gestorDocumental.caseFile.close',
|
|
39
40
|
getEntryFile: 'gestorDocumental.caseFile.getEntryFile',
|
|
40
41
|
getExport: 'gestorDocumental.caseFile.getExport',
|
|
42
|
+
getIntegratedPdf: 'gestorDocumental.caseFile.getIntegratedPdf',
|
|
41
43
|
createShareLink: 'gestorDocumental.caseFile.createShareLink',
|
|
42
44
|
getShareLinks: 'gestorDocumental.caseFile.getShareLinks',
|
|
43
45
|
revokeShareLink: 'gestorDocumental.caseFile.revokeShareLink',
|
|
@@ -189,6 +191,15 @@ export interface CaseFileContract {
|
|
|
189
191
|
payload: Pick<CaseFileEntity, 'id'> & CaseFileActorPayload;
|
|
190
192
|
response: CaseFileExportResponseEntity;
|
|
191
193
|
};
|
|
194
|
+
/**
|
|
195
|
+
* PDF integrador: todas las actuaciones en un solo PDF, en orden de incorporación, con portada e índice. Queda en la
|
|
196
|
+
* trazabilidad y en el registro de accesos, como la exportación. Sin el sello de copia autorizada (necesita firma
|
|
197
|
+
* desatendida).
|
|
198
|
+
*/
|
|
199
|
+
[CaseFilePatterns.getIntegratedPdf]: {
|
|
200
|
+
payload: Pick<CaseFileEntity, 'id'> & CaseFileActorPayload;
|
|
201
|
+
response: DocumentPublicFileResponseEntity;
|
|
202
|
+
};
|
|
192
203
|
/** Crea un enlace temporal: solo su responsable. El token viaja solo en esta respuesta. */
|
|
193
204
|
[CaseFilePatterns.createShareLink]: {
|
|
194
205
|
payload: Pick<CaseFileEntity, 'id'> & CaseFileShareLinkPayload & { actor: DocumentActor };
|
|
@@ -73,6 +73,8 @@ export interface CaseFileEntryResponseEntity {
|
|
|
73
73
|
sha256: CaseFileEntryEntity['sha256'];
|
|
74
74
|
size: CaseFileEntryEntity['size'];
|
|
75
75
|
hasAdvancedSignature: CaseFileEntryEntity['hasAdvancedSignature'];
|
|
76
|
+
/** Conformidad PDF/A que declara el archivo («PDF/A-2B»), «PDF», o `null` si no es un PDF o no se revisó. */
|
|
77
|
+
fileFormat: CaseFileEntryEntity['fileFormat'];
|
|
76
78
|
/** Revisión de sus firmas al incorporarlo, en los archivos externos en PDF. */
|
|
77
79
|
signatureCheck: PdfSignatureReportEntity | null;
|
|
78
80
|
incorporatedByEmployeeId: CaseFileEntryEntity['incorporatedByEmployeeId'];
|
|
@@ -163,6 +163,11 @@ export interface DocumentGetByIdResponseEntity {
|
|
|
163
163
|
keywords: DocumentEntity['keywords'];
|
|
164
164
|
accessLevel: DocumentEntity['accessLevel'];
|
|
165
165
|
hasSensitiveData: DocumentEntity['hasSensitiveData'];
|
|
166
|
+
/**
|
|
167
|
+
* Formato del archivo vigente: la conformidad PDF/A que declara («PDF/A-2B») o «PDF». `null` si no se revisó (los
|
|
168
|
+
* documentos anteriores a esta revisión, o aún sin firmar).
|
|
169
|
+
*/
|
|
170
|
+
fileFormat: DocumentEntity['fileFormat'];
|
|
166
171
|
status: DocumentEntity['status'];
|
|
167
172
|
correlative: DocumentEntity['correlative'];
|
|
168
173
|
correlativeYear: DocumentEntity['correlativeYear'];
|
|
@@ -5,6 +5,16 @@
|
|
|
5
5
|
export type PdfSignatureStatus = 'Valid' | 'Invalid' | 'Indeterminate';
|
|
6
6
|
|
|
7
7
|
/** Una firma electrónica de un PDF, como se pudo comprobar. */
|
|
8
|
+
/** Si el certificado de una firma fue revocado, según su emisor (OCSP o lista de revocación). */
|
|
9
|
+
export interface PdfRevocationEntity {
|
|
10
|
+
/** `NotChecked`: la revisión está desactivada en el servidor. `Unknown`: no se pudo confirmar. */
|
|
11
|
+
status: 'Good' | 'Revoked' | 'Unknown' | 'NotChecked';
|
|
12
|
+
source: 'OCSP' | 'CRL' | null;
|
|
13
|
+
revokedAt: string | null;
|
|
14
|
+
/** Por qué no se pudo confirmar. */
|
|
15
|
+
detail: string | null;
|
|
16
|
+
}
|
|
17
|
+
|
|
8
18
|
export interface PdfSignatureEntity {
|
|
9
19
|
/** Orden en el archivo: 1 es la primera. */
|
|
10
20
|
index: number;
|
|
@@ -32,6 +42,8 @@ export interface PdfSignatureEntity {
|
|
|
32
42
|
certificateValidAtSigning: boolean | null;
|
|
33
43
|
/** Cadena hasta un certificado raíz de confianza. `null` si no hay raíces configuradas. */
|
|
34
44
|
trusted: boolean | null;
|
|
45
|
+
/** Si el certificado fue revocado. Falta en las revisiones anteriores a que se consultara. */
|
|
46
|
+
revocation?: PdfRevocationEntity;
|
|
35
47
|
status: PdfSignatureStatus;
|
|
36
48
|
/** Lo que no cuadra o no se pudo confirmar, en palabras. */
|
|
37
49
|
problems: string[];
|