@muni-sanfer/types-gestor-documental 0.0.1-beta.46 → 0.0.1-beta.48

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,10 @@ export interface ProcedureEntity {
660
660
  cpatId?: string | null;
661
661
  cpatCode?: string | null;
662
662
  description?: string | null;
663
+ kind?: string | null;
664
+ responsibleArea?: string | null;
665
+ cpatStatus?: string | null;
666
+ fromCpat: boolean;
663
667
  enabled: boolean;
664
668
  caseFiles?: CaseFileEntity[];
665
669
  documents?: DocumentEntity[];
@@ -926,6 +930,12 @@ export interface HolidayEntity {
926
930
  createdAt: string;
927
931
  updatedAt: string;
928
932
  }
933
+ export interface ProcedureSyncEntity {
934
+ institutionCode: string;
935
+ syncedAt: string;
936
+ total: number;
937
+ resourceName: string;
938
+ }
929
939
  export interface HolidaySyncEntity {
930
940
  year: number;
931
941
  syncedAt: string;
@@ -1,54 +1,13 @@
1
- import { type DocumentTemplateEntity } from '../base/entities';
2
- import { type DocumentTemplateAvailableResponseEntity, type DocumentTemplateContent, type DocumentTemplateCreateResponseEntity, type DocumentTemplateGetAllResponseEntity, type DocumentTemplateGetByIdResponseEntity, type DocumentTemplateUpdateResponseEntity } from '../entities';
3
- import { type RpcPage } from './contract';
4
- /** Patrones NATS de `documentTemplate` (plantillas propias del editor): `<servicio>.<recurso>.<acción>`. */
1
+ import { type DocumentTemplateAvailableResponseEntity } from '../entities';
2
+ /**
3
+ * Patrones NATS de `documentTemplate`. La plantilla de cada tipo documental se define y edita con el tipo
4
+ * (`documentType.create` y `documentType.update`); aquí solo se consulta al redactar.
5
+ */
5
6
  export declare const DocumentTemplatePatterns: {
6
- readonly getAll: "gestorDocumental.documentTemplate.getAll";
7
- readonly getById: "gestorDocumental.documentTemplate.getById";
8
- readonly create: "gestorDocumental.documentTemplate.create";
9
- readonly update: "gestorDocumental.documentTemplate.update";
10
- readonly setEnabled: "gestorDocumental.documentTemplate.setEnabled";
11
7
  readonly getAvailable: "gestorDocumental.documentTemplate.getAvailable";
12
8
  };
13
- /** Datos de una plantilla propia al crearla o editarla. */
14
- export interface DocumentTemplateWritePayload {
15
- name: string;
16
- description?: string | null;
17
- documentTypeIds?: string[];
18
- content: DocumentTemplateContent;
19
- enabled?: boolean;
20
- }
21
9
  export interface DocumentTemplateContract {
22
- [DocumentTemplatePatterns.getAll]: {
23
- payload: {
24
- pagination?: {
25
- page?: number;
26
- limit?: number;
27
- };
28
- filters?: {
29
- search?: string;
30
- enabled?: boolean;
31
- };
32
- };
33
- response: RpcPage<DocumentTemplateGetAllResponseEntity[]>;
34
- };
35
- [DocumentTemplatePatterns.getById]: {
36
- payload: Pick<DocumentTemplateEntity, 'id'>;
37
- response: DocumentTemplateGetByIdResponseEntity;
38
- };
39
- [DocumentTemplatePatterns.create]: {
40
- payload: DocumentTemplateWritePayload;
41
- response: DocumentTemplateCreateResponseEntity;
42
- };
43
- [DocumentTemplatePatterns.update]: {
44
- payload: DocumentTemplateWritePayload & Pick<DocumentTemplateEntity, 'id'>;
45
- response: DocumentTemplateUpdateResponseEntity;
46
- };
47
- [DocumentTemplatePatterns.setEnabled]: {
48
- payload: Pick<DocumentTemplateEntity, 'id' | 'enabled'>;
49
- response: DocumentTemplateUpdateResponseEntity;
50
- };
51
- /** Las habilitadas que se ofrecen al redactar un documento del tipo (las de todos los tipos y las suyas). */
10
+ /** La plantilla habilitada del tipo documental, si tiene (una lista de a lo sumo una). */
52
11
  [DocumentTemplatePatterns.getAvailable]: {
53
12
  payload: {
54
13
  documentTypeId: string;
@@ -1,12 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DocumentTemplatePatterns = void 0;
4
- /** Patrones NATS de `documentTemplate` (plantillas propias del editor): `<servicio>.<recurso>.<acción>`. */
4
+ /**
5
+ * Patrones NATS de `documentTemplate`. La plantilla de cada tipo documental se define y edita con el tipo
6
+ * (`documentType.create` y `documentType.update`); aquí solo se consulta al redactar.
7
+ */
5
8
  exports.DocumentTemplatePatterns = {
6
- getAll: 'gestorDocumental.documentTemplate.getAll',
7
- getById: 'gestorDocumental.documentTemplate.getById',
8
- create: 'gestorDocumental.documentTemplate.create',
9
- update: 'gestorDocumental.documentTemplate.update',
10
- setEnabled: 'gestorDocumental.documentTemplate.setEnabled',
11
9
  getAvailable: 'gestorDocumental.documentTemplate.getAvailable',
12
10
  };
@@ -99,9 +99,8 @@ export declare const GestorDocumentalPatterns: {
99
99
  readonly procedure: {
100
100
  readonly getAll: "gestorDocumental.procedure.getAll";
101
101
  readonly getById: "gestorDocumental.procedure.getById";
102
- readonly create: "gestorDocumental.procedure.create";
103
- readonly update: "gestorDocumental.procedure.update";
104
- readonly setEnabled: "gestorDocumental.procedure.setEnabled";
102
+ readonly getCpatStatus: "gestorDocumental.procedure.getCpatStatus";
103
+ readonly sync: "gestorDocumental.procedure.sync";
105
104
  };
106
105
  readonly issuingEntity: {
107
106
  readonly getAll: "gestorDocumental.issuingEntity.getAll";
@@ -203,11 +202,6 @@ export declare const GestorDocumentalPatterns: {
203
202
  readonly setEnabled: "gestorDocumental.textSnippet.setEnabled";
204
203
  };
205
204
  readonly documentTemplate: {
206
- readonly getAll: "gestorDocumental.documentTemplate.getAll";
207
- readonly getById: "gestorDocumental.documentTemplate.getById";
208
- readonly create: "gestorDocumental.documentTemplate.create";
209
- readonly update: "gestorDocumental.documentTemplate.update";
210
- readonly setEnabled: "gestorDocumental.documentTemplate.setEnabled";
211
205
  readonly getAvailable: "gestorDocumental.documentTemplate.getAvailable";
212
206
  };
213
207
  readonly holiday: {
@@ -1,22 +1,16 @@
1
1
  import { type ProcedureEntity } from '../base/entities';
2
- import { type ProcedureCreateResponseEntity, type ProcedureGetAllResponseEntity, type ProcedureGetByIdResponseEntity, type ProcedureUpdateResponseEntity } from '../entities';
2
+ import { type ProcedureCpatStatusEntity, type ProcedureGetAllResponseEntity, type ProcedureGetByIdResponseEntity, type ProcedureSyncResponseEntity } from '../entities';
3
3
  import { type RpcPage } from './contract';
4
- /** Patrones NATS de `procedure`: `<servicio>.<recurso>.<acción>`. */
4
+ /**
5
+ * Patrones NATS de `procedure`: los procedimientos administrativos vienen del CPAT (nómina en datos.gob.cl) y no se
6
+ * crean ni editan en el gestor.
7
+ */
5
8
  export declare const ProcedurePatterns: {
6
9
  readonly getAll: "gestorDocumental.procedure.getAll";
7
10
  readonly getById: "gestorDocumental.procedure.getById";
8
- readonly create: "gestorDocumental.procedure.create";
9
- readonly update: "gestorDocumental.procedure.update";
10
- readonly setEnabled: "gestorDocumental.procedure.setEnabled";
11
+ readonly getCpatStatus: "gestorDocumental.procedure.getCpatStatus";
12
+ readonly sync: "gestorDocumental.procedure.sync";
11
13
  };
12
- /** Datos de un procedimiento administrativo al crearlo o editarlo. */
13
- export interface ProcedureWritePayload {
14
- name: string;
15
- cpatId?: string | null;
16
- cpatCode?: string | null;
17
- description?: string | null;
18
- enabled?: boolean;
19
- }
20
14
  export interface ProcedureContract {
21
15
  [ProcedurePatterns.getAll]: {
22
16
  payload: {
@@ -35,16 +29,13 @@ export interface ProcedureContract {
35
29
  payload: Pick<ProcedureEntity, 'id'>;
36
30
  response: ProcedureGetByIdResponseEntity;
37
31
  };
38
- [ProcedurePatterns.create]: {
39
- payload: ProcedureWritePayload;
40
- response: ProcedureCreateResponseEntity;
41
- };
42
- [ProcedurePatterns.update]: {
43
- payload: ProcedureWritePayload & Pick<ProcedureEntity, 'id'>;
44
- response: ProcedureUpdateResponseEntity;
32
+ [ProcedurePatterns.getCpatStatus]: {
33
+ payload: Record<string, never>;
34
+ response: ProcedureCpatStatusEntity;
45
35
  };
46
- [ProcedurePatterns.setEnabled]: {
47
- payload: Pick<ProcedureEntity, 'id' | 'enabled'>;
48
- response: ProcedureUpdateResponseEntity;
36
+ /** Trae del CPAT los procedimientos de la institución `CPAT_INSTITUTION_CODE`. */
37
+ [ProcedurePatterns.sync]: {
38
+ payload: Record<string, never>;
39
+ response: ProcedureSyncResponseEntity;
49
40
  };
50
41
  }
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ProcedurePatterns = void 0;
4
- /** Patrones NATS de `procedure`: `<servicio>.<recurso>.<acción>`. */
4
+ /**
5
+ * Patrones NATS de `procedure`: los procedimientos administrativos vienen del CPAT (nómina en datos.gob.cl) y no se
6
+ * crean ni editan en el gestor.
7
+ */
5
8
  exports.ProcedurePatterns = {
6
9
  getAll: 'gestorDocumental.procedure.getAll',
7
10
  getById: 'gestorDocumental.procedure.getById',
8
- create: 'gestorDocumental.procedure.create',
9
- update: 'gestorDocumental.procedure.update',
10
- setEnabled: 'gestorDocumental.procedure.setEnabled',
11
+ getCpatStatus: 'gestorDocumental.procedure.getCpatStatus',
12
+ sync: 'gestorDocumental.procedure.sync',
11
13
  };
@@ -2,8 +2,8 @@ import { type DocumentTemplateEntity } from '../../base/entities';
2
2
  import { type RichBlock, type RichField } from '../document/document.entity';
3
3
  import { type RichLetterhead, type RichPage } from '../document/richStyle';
4
4
  /**
5
- * Contenido de una plantilla propia: los bloques del editor (con sus partes fijas) y los campos que completa quien
6
- * redacta (en la plantilla, sin valor).
5
+ * Contenido de la plantilla de un tipo documental: los bloques del editor (con sus partes fijas) y los campos que
6
+ * completa quien redacta (en la plantilla, sin valor).
7
7
  */
8
8
  export interface DocumentTemplateContent {
9
9
  blocks: RichBlock[];
@@ -13,30 +13,7 @@ export interface DocumentTemplateContent {
13
13
  /** Membrete con logo. Sin valor, el nombre de la municipalidad y de la unidad. */
14
14
  letterhead?: RichLetterhead;
15
15
  }
16
- /** Plantilla propia en el listado de quien las administra. */
17
- export interface DocumentTemplateGetAllResponseEntity {
18
- id: DocumentTemplateEntity['id'];
19
- name: DocumentTemplateEntity['name'];
20
- description: string | null;
21
- /** Tipos documentales donde se ofrece; vacío, en todos. */
22
- documentTypeIds: DocumentTemplateEntity['documentTypeIds'];
23
- documentTypeNames: string[];
24
- version: DocumentTemplateEntity['version'];
25
- enabled: DocumentTemplateEntity['enabled'];
26
- updatedAt: DocumentTemplateEntity['updatedAt'];
27
- updatedByFullName: string | null;
28
- }
29
- /** Una versión del contenido de una plantilla. */
30
- export interface DocumentTemplateVersionResponseEntity {
31
- version: number;
32
- createdAt: string;
33
- createdByFullName: string | null;
34
- }
35
- export interface DocumentTemplateGetByIdResponseEntity extends DocumentTemplateGetAllResponseEntity {
36
- content: DocumentTemplateContent;
37
- versions: DocumentTemplateVersionResponseEntity[];
38
- }
39
- /** Plantilla que se ofrece al redactar un documento de un tipo: con su contenido, lista para usar. */
16
+ /** La plantilla de un tipo documental, que se aplica al redactar uno de sus documentos: lista para usar. */
40
17
  export interface DocumentTemplateAvailableResponseEntity {
41
18
  id: DocumentTemplateEntity['id'];
42
19
  name: DocumentTemplateEntity['name'];
@@ -46,13 +23,3 @@ export interface DocumentTemplateAvailableResponseEntity {
46
23
  /** Es la plantilla del tipo documental pedido: se aplica sola al redactar. */
47
24
  ownedByType: boolean;
48
25
  }
49
- export interface DocumentTemplateCreateResponseEntity {
50
- id: DocumentTemplateEntity['id'];
51
- ok: boolean;
52
- }
53
- export interface DocumentTemplateUpdateResponseEntity {
54
- id: DocumentTemplateEntity['id'];
55
- ok: boolean;
56
- /** Versión vigente: sube solo si cambió el contenido. */
57
- version: number;
58
- }
@@ -1,20 +1,41 @@
1
1
  import { ProcedureEntity } from '../../base/entities';
2
+ /** Procedimiento administrativo de la municipalidad, como lo informa el CPAT. */
2
3
  export interface ProcedureGetAllResponseEntity {
3
4
  id: ProcedureEntity['id'];
4
5
  name: ProcedureEntity['name'];
5
6
  cpatId: ProcedureEntity['cpatId'];
6
7
  cpatCode: ProcedureEntity['cpatCode'];
7
8
  description: ProcedureEntity['description'];
9
+ /** Tipo de registro en el CPAT: de función común, de función específica u otra tramitación. */
10
+ kind: string | null;
11
+ responsibleArea: string | null;
12
+ /** Estado del registro en el CPAT: completado o pendiente. */
13
+ cpatStatus: string | null;
14
+ /** Viene del CPAT; si no, es uno de los cargados a mano antes, que quedan solo para sus expedientes. */
15
+ fromCpat: boolean;
16
+ /** Se puede elegir: está en la última nómina del CPAT. */
8
17
  enabled: ProcedureEntity['enabled'];
9
18
  /** Cuántos expedientes pertenecen a este procedimiento. */
10
19
  caseFiles: number;
11
20
  }
12
21
  export type ProcedureGetByIdResponseEntity = ProcedureGetAllResponseEntity;
13
- export interface ProcedureCreateResponseEntity {
14
- id: ProcedureEntity['id'];
15
- ok: boolean;
22
+ /** De qué institución y nómina del CPAT vienen los procedimientos, y cuándo se trajeron. */
23
+ export interface ProcedureCpatStatusEntity {
24
+ /** Código de la municipalidad en el CPAT (`CPAT_INSTITUTION_CODE`); `null` si no está configurado. */
25
+ institutionCode: string | null;
26
+ syncedAt: string | null;
27
+ total: number | null;
28
+ /** Nómina de datos.gob.cl. Ej: «Nómina CPAT septiembre 2026». */
29
+ resourceName: string | null;
16
30
  }
17
- export interface ProcedureUpdateResponseEntity {
18
- id: ProcedureEntity['id'];
19
- ok: boolean;
31
+ /** Resultado de traer los procedimientos del CPAT. */
32
+ export interface ProcedureSyncResponseEntity {
33
+ institutionCode: string;
34
+ resourceName: string;
35
+ added: number;
36
+ updated: number;
37
+ /** Los que ya no informa el CPAT: dejan de elegirse, pero siguen en sus expedientes. */
38
+ retired: number;
39
+ total: number;
40
+ syncedAt: string;
20
41
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@muni-sanfer/types-gestor-documental",
3
- "version": "0.0.1-beta.46",
3
+ "version": "0.0.1-beta.48",
4
4
  "main": "dist/index.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "scripts": {
@@ -876,6 +876,10 @@ export interface ProcedureEntity {
876
876
  cpatId?: string | null;
877
877
  cpatCode?: string | null;
878
878
  description?: string | null;
879
+ kind?: string | null;
880
+ responsibleArea?: string | null;
881
+ cpatStatus?: string | null;
882
+ fromCpat: boolean;
879
883
  enabled: boolean;
880
884
  caseFiles?: CaseFileEntity[];
881
885
  documents?: DocumentEntity[];
@@ -1158,6 +1162,13 @@ export interface HolidayEntity {
1158
1162
  updatedAt: string;
1159
1163
  }
1160
1164
 
1165
+ export interface ProcedureSyncEntity {
1166
+ institutionCode: string;
1167
+ syncedAt: string;
1168
+ total: number;
1169
+ resourceName: string;
1170
+ }
1171
+
1161
1172
  export interface HolidaySyncEntity {
1162
1173
  year: number;
1163
1174
  syncedAt: string;
@@ -1,59 +1,15 @@
1
- import { type DocumentTemplateEntity } from '../base/entities';
2
- import {
3
- type DocumentTemplateAvailableResponseEntity,
4
- type DocumentTemplateContent,
5
- type DocumentTemplateCreateResponseEntity,
6
- type DocumentTemplateGetAllResponseEntity,
7
- type DocumentTemplateGetByIdResponseEntity,
8
- type DocumentTemplateUpdateResponseEntity,
9
- } from '../entities';
10
- import { type RpcPage } from './contract';
1
+ import { type DocumentTemplateAvailableResponseEntity } from '../entities';
11
2
 
12
- /** Patrones NATS de `documentTemplate` (plantillas propias del editor): `<servicio>.<recurso>.<acción>`. */
3
+ /**
4
+ * Patrones NATS de `documentTemplate`. La plantilla de cada tipo documental se define y edita con el tipo
5
+ * (`documentType.create` y `documentType.update`); aquí solo se consulta al redactar.
6
+ */
13
7
  export const DocumentTemplatePatterns = {
14
- getAll: 'gestorDocumental.documentTemplate.getAll',
15
- getById: 'gestorDocumental.documentTemplate.getById',
16
- create: 'gestorDocumental.documentTemplate.create',
17
- update: 'gestorDocumental.documentTemplate.update',
18
- setEnabled: 'gestorDocumental.documentTemplate.setEnabled',
19
8
  getAvailable: 'gestorDocumental.documentTemplate.getAvailable',
20
9
  } as const;
21
10
 
22
- /** Datos de una plantilla propia al crearla o editarla. */
23
- export interface DocumentTemplateWritePayload {
24
- name: string;
25
- description?: string | null;
26
- documentTypeIds?: string[];
27
- content: DocumentTemplateContent;
28
- enabled?: boolean;
29
- }
30
-
31
11
  export interface DocumentTemplateContract {
32
- [DocumentTemplatePatterns.getAll]: {
33
- // sin `page` y `limit` responde todas en una sola página
34
- payload: {
35
- pagination?: { page?: number; limit?: number };
36
- filters?: { search?: string; enabled?: boolean };
37
- };
38
- response: RpcPage<DocumentTemplateGetAllResponseEntity[]>;
39
- };
40
- [DocumentTemplatePatterns.getById]: {
41
- payload: Pick<DocumentTemplateEntity, 'id'>;
42
- response: DocumentTemplateGetByIdResponseEntity;
43
- };
44
- [DocumentTemplatePatterns.create]: {
45
- payload: DocumentTemplateWritePayload;
46
- response: DocumentTemplateCreateResponseEntity;
47
- };
48
- [DocumentTemplatePatterns.update]: {
49
- payload: DocumentTemplateWritePayload & Pick<DocumentTemplateEntity, 'id'>;
50
- response: DocumentTemplateUpdateResponseEntity;
51
- };
52
- [DocumentTemplatePatterns.setEnabled]: {
53
- payload: Pick<DocumentTemplateEntity, 'id' | 'enabled'>;
54
- response: DocumentTemplateUpdateResponseEntity;
55
- };
56
- /** Las habilitadas que se ofrecen al redactar un documento del tipo (las de todos los tipos y las suyas). */
12
+ /** La plantilla habilitada del tipo documental, si tiene (una lista de a lo sumo una). */
57
13
  [DocumentTemplatePatterns.getAvailable]: {
58
14
  payload: { documentTypeId: string };
59
15
  response: DocumentTemplateAvailableResponseEntity[];
@@ -1,30 +1,23 @@
1
1
  import { type ProcedureEntity } from '../base/entities';
2
2
  import {
3
- type ProcedureCreateResponseEntity,
3
+ type ProcedureCpatStatusEntity,
4
4
  type ProcedureGetAllResponseEntity,
5
5
  type ProcedureGetByIdResponseEntity,
6
- type ProcedureUpdateResponseEntity,
6
+ type ProcedureSyncResponseEntity,
7
7
  } from '../entities';
8
8
  import { type RpcPage } from './contract';
9
9
 
10
- /** Patrones NATS de `procedure`: `<servicio>.<recurso>.<acción>`. */
10
+ /**
11
+ * Patrones NATS de `procedure`: los procedimientos administrativos vienen del CPAT (nómina en datos.gob.cl) y no se
12
+ * crean ni editan en el gestor.
13
+ */
11
14
  export const ProcedurePatterns = {
12
15
  getAll: 'gestorDocumental.procedure.getAll',
13
16
  getById: 'gestorDocumental.procedure.getById',
14
- create: 'gestorDocumental.procedure.create',
15
- update: 'gestorDocumental.procedure.update',
16
- setEnabled: 'gestorDocumental.procedure.setEnabled',
17
+ getCpatStatus: 'gestorDocumental.procedure.getCpatStatus',
18
+ sync: 'gestorDocumental.procedure.sync',
17
19
  } as const;
18
20
 
19
- /** Datos de un procedimiento administrativo al crearlo o editarlo. */
20
- export interface ProcedureWritePayload {
21
- name: string;
22
- cpatId?: string | null;
23
- cpatCode?: string | null;
24
- description?: string | null;
25
- enabled?: boolean;
26
- }
27
-
28
21
  export interface ProcedureContract {
29
22
  [ProcedurePatterns.getAll]: {
30
23
  // sin `page` y `limit` responde todos en una sola página
@@ -38,16 +31,7 @@ export interface ProcedureContract {
38
31
  payload: Pick<ProcedureEntity, 'id'>;
39
32
  response: ProcedureGetByIdResponseEntity;
40
33
  };
41
- [ProcedurePatterns.create]: {
42
- payload: ProcedureWritePayload;
43
- response: ProcedureCreateResponseEntity;
44
- };
45
- [ProcedurePatterns.update]: {
46
- payload: ProcedureWritePayload & Pick<ProcedureEntity, 'id'>;
47
- response: ProcedureUpdateResponseEntity;
48
- };
49
- [ProcedurePatterns.setEnabled]: {
50
- payload: Pick<ProcedureEntity, 'id' | 'enabled'>;
51
- response: ProcedureUpdateResponseEntity;
52
- };
34
+ [ProcedurePatterns.getCpatStatus]: { payload: Record<string, never>; response: ProcedureCpatStatusEntity };
35
+ /** Trae del CPAT los procedimientos de la institución `CPAT_INSTITUTION_CODE`. */
36
+ [ProcedurePatterns.sync]: { payload: Record<string, never>; response: ProcedureSyncResponseEntity };
53
37
  }
@@ -3,8 +3,8 @@ import { type RichBlock, type RichField } from '../document/document.entity';
3
3
  import { type RichLetterhead, type RichPage } from '../document/richStyle';
4
4
 
5
5
  /**
6
- * Contenido de una plantilla propia: los bloques del editor (con sus partes fijas) y los campos que completa quien
7
- * redacta (en la plantilla, sin valor).
6
+ * Contenido de la plantilla de un tipo documental: los bloques del editor (con sus partes fijas) y los campos que
7
+ * completa quien redacta (en la plantilla, sin valor).
8
8
  */
9
9
  export interface DocumentTemplateContent {
10
10
  blocks: RichBlock[];
@@ -15,33 +15,7 @@ export interface DocumentTemplateContent {
15
15
  letterhead?: RichLetterhead;
16
16
  }
17
17
 
18
- /** Plantilla propia en el listado de quien las administra. */
19
- export interface DocumentTemplateGetAllResponseEntity {
20
- id: DocumentTemplateEntity['id'];
21
- name: DocumentTemplateEntity['name'];
22
- description: string | null;
23
- /** Tipos documentales donde se ofrece; vacío, en todos. */
24
- documentTypeIds: DocumentTemplateEntity['documentTypeIds'];
25
- documentTypeNames: string[];
26
- version: DocumentTemplateEntity['version'];
27
- enabled: DocumentTemplateEntity['enabled'];
28
- updatedAt: DocumentTemplateEntity['updatedAt'];
29
- updatedByFullName: string | null;
30
- }
31
-
32
- /** Una versión del contenido de una plantilla. */
33
- export interface DocumentTemplateVersionResponseEntity {
34
- version: number;
35
- createdAt: string;
36
- createdByFullName: string | null;
37
- }
38
-
39
- export interface DocumentTemplateGetByIdResponseEntity extends DocumentTemplateGetAllResponseEntity {
40
- content: DocumentTemplateContent;
41
- versions: DocumentTemplateVersionResponseEntity[];
42
- }
43
-
44
- /** Plantilla que se ofrece al redactar un documento de un tipo: con su contenido, lista para usar. */
18
+ /** La plantilla de un tipo documental, que se aplica al redactar uno de sus documentos: lista para usar. */
45
19
  export interface DocumentTemplateAvailableResponseEntity {
46
20
  id: DocumentTemplateEntity['id'];
47
21
  name: DocumentTemplateEntity['name'];
@@ -51,15 +25,3 @@ export interface DocumentTemplateAvailableResponseEntity {
51
25
  /** Es la plantilla del tipo documental pedido: se aplica sola al redactar. */
52
26
  ownedByType: boolean;
53
27
  }
54
-
55
- export interface DocumentTemplateCreateResponseEntity {
56
- id: DocumentTemplateEntity['id'];
57
- ok: boolean;
58
- }
59
-
60
- export interface DocumentTemplateUpdateResponseEntity {
61
- id: DocumentTemplateEntity['id'];
62
- ok: boolean;
63
- /** Versión vigente: sube solo si cambió el contenido. */
64
- version: number;
65
- }
@@ -1,11 +1,20 @@
1
1
  import { ProcedureEntity } from '../../base/entities';
2
2
 
3
+ /** Procedimiento administrativo de la municipalidad, como lo informa el CPAT. */
3
4
  export interface ProcedureGetAllResponseEntity {
4
5
  id: ProcedureEntity['id'];
5
6
  name: ProcedureEntity['name'];
6
7
  cpatId: ProcedureEntity['cpatId'];
7
8
  cpatCode: ProcedureEntity['cpatCode'];
8
9
  description: ProcedureEntity['description'];
10
+ /** Tipo de registro en el CPAT: de función común, de función específica u otra tramitación. */
11
+ kind: string | null;
12
+ responsibleArea: string | null;
13
+ /** Estado del registro en el CPAT: completado o pendiente. */
14
+ cpatStatus: string | null;
15
+ /** Viene del CPAT; si no, es uno de los cargados a mano antes, que quedan solo para sus expedientes. */
16
+ fromCpat: boolean;
17
+ /** Se puede elegir: está en la última nómina del CPAT. */
9
18
  enabled: ProcedureEntity['enabled'];
10
19
  /** Cuántos expedientes pertenecen a este procedimiento. */
11
20
  caseFiles: number;
@@ -13,12 +22,24 @@ export interface ProcedureGetAllResponseEntity {
13
22
 
14
23
  export type ProcedureGetByIdResponseEntity = ProcedureGetAllResponseEntity;
15
24
 
16
- export interface ProcedureCreateResponseEntity {
17
- id: ProcedureEntity['id'];
18
- ok: boolean;
25
+ /** De qué institución y nómina del CPAT vienen los procedimientos, y cuándo se trajeron. */
26
+ export interface ProcedureCpatStatusEntity {
27
+ /** Código de la municipalidad en el CPAT (`CPAT_INSTITUTION_CODE`); `null` si no está configurado. */
28
+ institutionCode: string | null;
29
+ syncedAt: string | null;
30
+ total: number | null;
31
+ /** Nómina de datos.gob.cl. Ej: «Nómina CPAT septiembre 2026». */
32
+ resourceName: string | null;
19
33
  }
20
34
 
21
- export interface ProcedureUpdateResponseEntity {
22
- id: ProcedureEntity['id'];
23
- ok: boolean;
35
+ /** Resultado de traer los procedimientos del CPAT. */
36
+ export interface ProcedureSyncResponseEntity {
37
+ institutionCode: string;
38
+ resourceName: string;
39
+ added: number;
40
+ updated: number;
41
+ /** Los que ya no informa el CPAT: dejan de elegirse, pero siguen en sus expedientes. */
42
+ retired: number;
43
+ total: number;
44
+ syncedAt: string;
24
45
  }