@muni-sanfer/types-gestor-documental 0.0.1-beta.35 → 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.
@@ -660,6 +660,7 @@ export interface CaseFileEntity {
660
660
  metadataChanges?: CaseFileMetadataChangeEntity[];
661
661
  accesses?: CaseFileAccessEntity[];
662
662
  shareLinks?: CaseFileShareLinkEntity[];
663
+ integratedPdf?: JsonValue | null;
663
664
  createdAt: string;
664
665
  updatedAt: string;
665
666
  workFolder?: WorkFolderEntity | null;
@@ -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";
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@muni-sanfer/types-gestor-documental",
3
- "version": "0.0.1-beta.35",
3
+ "version": "0.0.1-beta.36",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -864,6 +864,7 @@ export interface CaseFileEntity {
864
864
  metadataChanges?: CaseFileMetadataChangeEntity[];
865
865
  accesses?: CaseFileAccessEntity[];
866
866
  shareLinks?: CaseFileShareLinkEntity[];
867
+ integratedPdf?: JsonValue | null;
867
868
  createdAt: string;
868
869
  updatedAt: string;
869
870
  workFolder?: WorkFolderEntity | null;
@@ -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 };
@@ -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[];