@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.
- package/dist/base/entities.d.ts +10 -0
- package/dist/contracts/documentTemplate.contract.d.ts +6 -47
- package/dist/contracts/documentTemplate.contract.js +4 -6
- package/dist/contracts/index.d.ts +2 -8
- package/dist/contracts/procedure.contract.d.ts +14 -23
- package/dist/contracts/procedure.contract.js +6 -4
- package/dist/entities/documentTemplate/documentTemplate.entity.d.ts +3 -36
- package/dist/entities/procedure/procedure.entity.d.ts +27 -6
- package/package.json +1 -1
- package/src/base/entities.ts +11 -0
- package/src/contracts/documentTemplate.contract.ts +6 -50
- package/src/contracts/procedure.contract.ts +11 -27
- package/src/entities/documentTemplate/documentTemplate.entity.ts +3 -41
- package/src/entities/procedure/procedure.entity.ts +27 -6
package/dist/base/entities.d.ts
CHANGED
|
@@ -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
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
|
|
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
|
-
/**
|
|
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
|
|
103
|
-
readonly
|
|
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
|
|
2
|
+
import { type ProcedureCpatStatusEntity, type ProcedureGetAllResponseEntity, type ProcedureGetByIdResponseEntity, type ProcedureSyncResponseEntity } from '../entities';
|
|
3
3
|
import { type RpcPage } from './contract';
|
|
4
|
-
/**
|
|
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
|
|
9
|
-
readonly
|
|
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.
|
|
39
|
-
payload:
|
|
40
|
-
response:
|
|
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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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
|
-
/**
|
|
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
|
-
|
|
9
|
-
|
|
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
|
|
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
|
-
/**
|
|
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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
package/src/base/entities.ts
CHANGED
|
@@ -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
|
|
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
|
-
/**
|
|
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
|
-
|
|
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
|
|
3
|
+
type ProcedureCpatStatusEntity,
|
|
4
4
|
type ProcedureGetAllResponseEntity,
|
|
5
5
|
type ProcedureGetByIdResponseEntity,
|
|
6
|
-
type
|
|
6
|
+
type ProcedureSyncResponseEntity,
|
|
7
7
|
} from '../entities';
|
|
8
8
|
import { type RpcPage } from './contract';
|
|
9
9
|
|
|
10
|
-
/**
|
|
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
|
-
|
|
15
|
-
|
|
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.
|
|
42
|
-
|
|
43
|
-
|
|
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
|
|
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
|
-
/**
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
}
|