@muni-sanfer/types-gestor-documental 0.0.1-beta.43 → 0.0.1-beta.45
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 +19 -0
- package/dist/base/entities.js +6 -2
- package/dist/contracts/document.contract.d.ts +5 -0
- package/dist/contracts/holiday.contract.d.ts +13 -4
- package/dist/contracts/holiday.contract.js +1 -0
- package/dist/contracts/index.d.ts +1 -0
- package/dist/entities/document/document.entity.d.ts +9 -0
- package/dist/entities/holiday/holiday.entity.d.ts +22 -0
- package/package.json +1 -1
- package/src/base/entities.ts +22 -0
- package/src/contracts/document.contract.ts +6 -1
- package/src/contracts/holiday.contract.ts +13 -4
- package/src/entities/document/document.entity.ts +7 -1
- package/src/entities/holiday/holiday.entity.ts +25 -0
package/dist/base/entities.d.ts
CHANGED
|
@@ -205,6 +205,11 @@ export declare const TextSnippetSection: {
|
|
|
205
205
|
Body: "Body";
|
|
206
206
|
Closing: "Closing";
|
|
207
207
|
};
|
|
208
|
+
export type HolidaySource = 'Manual' | 'Api';
|
|
209
|
+
export declare const HolidaySource: {
|
|
210
|
+
Manual: "Manual";
|
|
211
|
+
Api: "Api";
|
|
212
|
+
};
|
|
208
213
|
export type WorkFolderItemKind = 'Document' | 'File';
|
|
209
214
|
export declare const WorkFolderItemKind: {
|
|
210
215
|
Document: "Document";
|
|
@@ -458,6 +463,7 @@ export interface DocumentTypeEntity {
|
|
|
458
463
|
export interface DocumentEntity {
|
|
459
464
|
id: string;
|
|
460
465
|
subject: string;
|
|
466
|
+
description?: string | null;
|
|
461
467
|
keywords: string[];
|
|
462
468
|
accessLevel: DocumentAccessLevel;
|
|
463
469
|
hasSensitiveData: boolean;
|
|
@@ -471,6 +477,9 @@ export interface DocumentEntity {
|
|
|
471
477
|
annulledAt?: string | null;
|
|
472
478
|
annulmentReason?: string | null;
|
|
473
479
|
responseDueAt?: string | null;
|
|
480
|
+
responseDueBusinessDays?: number | null;
|
|
481
|
+
procedure?: ProcedureEntity | null;
|
|
482
|
+
procedureId?: string | null;
|
|
474
483
|
origin: DocumentOrigin;
|
|
475
484
|
intakeNumber?: number | null;
|
|
476
485
|
intakeYear?: number | null;
|
|
@@ -653,6 +662,7 @@ export interface ProcedureEntity {
|
|
|
653
662
|
description?: string | null;
|
|
654
663
|
enabled: boolean;
|
|
655
664
|
caseFiles?: CaseFileEntity[];
|
|
665
|
+
documents?: DocumentEntity[];
|
|
656
666
|
deleted: boolean;
|
|
657
667
|
createdAt: string;
|
|
658
668
|
updatedAt: string;
|
|
@@ -910,7 +920,16 @@ export interface HolidayEntity {
|
|
|
910
920
|
id: string;
|
|
911
921
|
date: string;
|
|
912
922
|
name: string;
|
|
923
|
+
source: HolidaySource;
|
|
924
|
+
kind?: string | null;
|
|
925
|
+
excluded: boolean;
|
|
913
926
|
createdAt: string;
|
|
927
|
+
updatedAt: string;
|
|
928
|
+
}
|
|
929
|
+
export interface HolidaySyncEntity {
|
|
930
|
+
year: number;
|
|
931
|
+
syncedAt: string;
|
|
932
|
+
total: number;
|
|
914
933
|
}
|
|
915
934
|
export interface TextSnippetEntity {
|
|
916
935
|
id: 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 = void 0;
|
|
4
|
+
exports.DataBreachNoticeMeans = exports.DataBreachEventAction = 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.DocumentTrackingAction = exports.DocumentParticipantStatus = exports.DocumentParticipantRole = exports.DocumentAccessLevel = exports.DocumentStatus = exports.DocumentCategory = void 0;
|
|
5
|
+
exports.DraftingRequestEventAction = exports.DraftingRequestStatus = exports.MailAuthentication = exports.MailIntakeStatus = exports.DeskFileTarget = exports.DeskFileSource = void 0;
|
|
6
6
|
exports.DocumentCategory = {
|
|
7
7
|
Decree: 'Decree',
|
|
8
8
|
Communication: 'Communication',
|
|
@@ -184,6 +184,10 @@ exports.TextSnippetSection = {
|
|
|
184
184
|
Body: 'Body',
|
|
185
185
|
Closing: 'Closing',
|
|
186
186
|
};
|
|
187
|
+
exports.HolidaySource = {
|
|
188
|
+
Manual: 'Manual',
|
|
189
|
+
Api: 'Api',
|
|
190
|
+
};
|
|
187
191
|
exports.WorkFolderItemKind = {
|
|
188
192
|
Document: 'Document',
|
|
189
193
|
File: 'File',
|
|
@@ -78,6 +78,10 @@ export type DocumentReviewAction = 'Visa' | 'Sign' | 'Reject';
|
|
|
78
78
|
*/
|
|
79
79
|
export interface DocumentWritePayload extends Pick<DocumentEntity, 'subject' | 'documentTypeId'> {
|
|
80
80
|
keywords: string[];
|
|
81
|
+
/** Resumen breve (hasta 250 caracteres): va a DocDigital como «descripcion» al despacharlo. */
|
|
82
|
+
description?: string | null;
|
|
83
|
+
/** Procedimiento administrativo del catálogo propio. */
|
|
84
|
+
procedureId?: string | null;
|
|
81
85
|
/** Qué cambió, si el guardado crea una versión nueva (otro PDF, otro texto u otro asunto). */
|
|
82
86
|
versionNote?: string | null;
|
|
83
87
|
/** Al crearlo: solicitud de redacción que atiende (la tomó quien redacta). */
|
|
@@ -99,6 +103,7 @@ export interface DocumentWritePayload extends Pick<DocumentEntity, 'subject' | '
|
|
|
99
103
|
signatureSheet?: boolean;
|
|
100
104
|
recipients?: DocumentRecipientInput[];
|
|
101
105
|
responseDueAt?: string | null;
|
|
106
|
+
responseDueBusinessDays?: number | null;
|
|
102
107
|
replyToDocumentId?: string | null;
|
|
103
108
|
externalRecipients?: DocumentExternalRecipientInput[];
|
|
104
109
|
restrictionEndsAt?: string | null;
|
|
@@ -1,19 +1,20 @@
|
|
|
1
|
-
import { type HolidayRemoveResponseEntity, type HolidayResponseEntity } from '../entities';
|
|
1
|
+
import { type HolidayListResponseEntity, type HolidayRemoveResponseEntity, type HolidayResponseEntity, type HolidaySyncResponseEntity } from '../entities';
|
|
2
2
|
/** Patrones NATS de `holiday`: feriados para contar días hábiles. */
|
|
3
3
|
export declare const HolidayPatterns: {
|
|
4
4
|
readonly getAll: "gestorDocumental.holiday.getAll";
|
|
5
5
|
readonly create: "gestorDocumental.holiday.create";
|
|
6
6
|
readonly remove: "gestorDocumental.holiday.remove";
|
|
7
|
+
readonly sync: "gestorDocumental.holiday.sync";
|
|
7
8
|
};
|
|
8
9
|
export interface HolidayContract {
|
|
9
|
-
/** Feriados de un año, en orden. */
|
|
10
|
+
/** Feriados de un año, en orden (también los de la API que se quitaron a mano). */
|
|
10
11
|
[HolidayPatterns.getAll]: {
|
|
11
12
|
payload: {
|
|
12
13
|
year: number;
|
|
13
14
|
};
|
|
14
|
-
response:
|
|
15
|
+
response: HolidayListResponseEntity;
|
|
15
16
|
};
|
|
16
|
-
/** `date` como «AAAA-MM-DD». */
|
|
17
|
+
/** `date` como «AAAA-MM-DD». Si es uno de la API que se había quitado, vuelve a contar. */
|
|
17
18
|
[HolidayPatterns.create]: {
|
|
18
19
|
payload: {
|
|
19
20
|
date: string;
|
|
@@ -21,10 +22,18 @@ export interface HolidayContract {
|
|
|
21
22
|
};
|
|
22
23
|
response: HolidayResponseEntity;
|
|
23
24
|
};
|
|
25
|
+
/** Uno cargado a mano se borra; uno de la API se marca como quitado. */
|
|
24
26
|
[HolidayPatterns.remove]: {
|
|
25
27
|
payload: {
|
|
26
28
|
id: string;
|
|
27
29
|
};
|
|
28
30
|
response: HolidayRemoveResponseEntity;
|
|
29
31
|
};
|
|
32
|
+
/** Trae de la API pública los feriados de un año. Lo cargado o quitado a mano se respeta. */
|
|
33
|
+
[HolidayPatterns.sync]: {
|
|
34
|
+
payload: {
|
|
35
|
+
year: number;
|
|
36
|
+
};
|
|
37
|
+
response: HolidaySyncResponseEntity;
|
|
38
|
+
};
|
|
30
39
|
}
|
|
@@ -214,6 +214,7 @@ export declare const GestorDocumentalPatterns: {
|
|
|
214
214
|
readonly getAll: "gestorDocumental.holiday.getAll";
|
|
215
215
|
readonly create: "gestorDocumental.holiday.create";
|
|
216
216
|
readonly remove: "gestorDocumental.holiday.remove";
|
|
217
|
+
readonly sync: "gestorDocumental.holiday.sync";
|
|
217
218
|
};
|
|
218
219
|
readonly indicators: {
|
|
219
220
|
readonly getManagement: "gestorDocumental.indicators.getManagement";
|
|
@@ -138,6 +138,14 @@ export interface DocumentGetByIdResponseEntity {
|
|
|
138
138
|
} | null;
|
|
139
139
|
restrictionEndsAt: string | null;
|
|
140
140
|
subject: DocumentEntity['subject'];
|
|
141
|
+
/** Resumen breve; va a DocDigital como «descripcion» al despacharlo. */
|
|
142
|
+
description: string | null;
|
|
143
|
+
/** Procedimiento administrativo al que corresponde. */
|
|
144
|
+
procedure: {
|
|
145
|
+
id: string;
|
|
146
|
+
name: string;
|
|
147
|
+
cpatCode: string | null;
|
|
148
|
+
} | null;
|
|
141
149
|
keywords: DocumentEntity['keywords'];
|
|
142
150
|
accessLevel: DocumentEntity['accessLevel'];
|
|
143
151
|
hasSensitiveData: DocumentEntity['hasSensitiveData'];
|
|
@@ -173,6 +181,7 @@ export interface DocumentGetByIdResponseEntity {
|
|
|
173
181
|
createdAt: DocumentAnnulledNumberEntity['createdAt'];
|
|
174
182
|
}[];
|
|
175
183
|
responseDueAt: DocumentEntity['responseDueAt'];
|
|
184
|
+
responseDueBusinessDays: number | null;
|
|
176
185
|
recipients: DocumentRecipientResponseEntity[];
|
|
177
186
|
deliveries: DocumentDeliveryResponseEntity[];
|
|
178
187
|
replyTo: DocumentLinkEntity | null;
|
|
@@ -1,10 +1,32 @@
|
|
|
1
|
+
import { type HolidaySource } from '../../base/entities';
|
|
1
2
|
/** Feriado: el día («AAAA-MM-DD») no cuenta como hábil en los plazos. */
|
|
2
3
|
export interface HolidayResponseEntity {
|
|
3
4
|
id: string;
|
|
4
5
|
date: string;
|
|
5
6
|
name: string;
|
|
7
|
+
/** Cargado a mano o traído de la API pública de feriados. */
|
|
8
|
+
source: HolidaySource;
|
|
9
|
+
/** Como lo informa la API. Ej: «Civil e Irrenunciable». */
|
|
10
|
+
kind: string | null;
|
|
11
|
+
/** Uno de la API que se quitó a mano: no cuenta, y la próxima actualización no lo vuelve a agregar. */
|
|
12
|
+
excluded: boolean;
|
|
13
|
+
}
|
|
14
|
+
/** Feriados de un año y cuándo se trajeron de la API por última vez (`null` si nunca). */
|
|
15
|
+
export interface HolidayListResponseEntity {
|
|
16
|
+
holidays: HolidayResponseEntity[];
|
|
17
|
+
syncedAt: string | null;
|
|
6
18
|
}
|
|
7
19
|
export interface HolidayRemoveResponseEntity {
|
|
8
20
|
id: string;
|
|
9
21
|
ok: boolean;
|
|
10
22
|
}
|
|
23
|
+
/** Resultado de traer de la API los feriados de un año: los agregados, actualizados y quitados por la API. */
|
|
24
|
+
export interface HolidaySyncResponseEntity {
|
|
25
|
+
year: number;
|
|
26
|
+
added: number;
|
|
27
|
+
updated: number;
|
|
28
|
+
removed: number;
|
|
29
|
+
/** Cuántos informó la API para ese año. */
|
|
30
|
+
total: number;
|
|
31
|
+
syncedAt: string;
|
|
32
|
+
}
|
package/package.json
CHANGED
package/src/base/entities.ts
CHANGED
|
@@ -310,6 +310,13 @@ export const TextSnippetSection = {
|
|
|
310
310
|
Closing: 'Closing',
|
|
311
311
|
} satisfies Record<string, TextSnippetSection>;
|
|
312
312
|
|
|
313
|
+
export type HolidaySource = 'Manual' | 'Api';
|
|
314
|
+
|
|
315
|
+
export const HolidaySource = {
|
|
316
|
+
Manual: 'Manual',
|
|
317
|
+
Api: 'Api',
|
|
318
|
+
} satisfies Record<string, HolidaySource>;
|
|
319
|
+
|
|
313
320
|
export type WorkFolderItemKind = 'Document' | 'File';
|
|
314
321
|
|
|
315
322
|
export const WorkFolderItemKind = {
|
|
@@ -663,6 +670,7 @@ export interface DocumentTypeEntity {
|
|
|
663
670
|
export interface DocumentEntity {
|
|
664
671
|
id: string;
|
|
665
672
|
subject: string;
|
|
673
|
+
description?: string | null;
|
|
666
674
|
keywords: string[];
|
|
667
675
|
accessLevel: DocumentAccessLevel;
|
|
668
676
|
hasSensitiveData: boolean;
|
|
@@ -676,6 +684,9 @@ export interface DocumentEntity {
|
|
|
676
684
|
annulledAt?: string | null;
|
|
677
685
|
annulmentReason?: string | null;
|
|
678
686
|
responseDueAt?: string | null;
|
|
687
|
+
responseDueBusinessDays?: number | null;
|
|
688
|
+
procedure?: ProcedureEntity | null;
|
|
689
|
+
procedureId?: string | null;
|
|
679
690
|
origin: DocumentOrigin;
|
|
680
691
|
intakeNumber?: number | null;
|
|
681
692
|
intakeYear?: number | null;
|
|
@@ -867,6 +878,7 @@ export interface ProcedureEntity {
|
|
|
867
878
|
description?: string | null;
|
|
868
879
|
enabled: boolean;
|
|
869
880
|
caseFiles?: CaseFileEntity[];
|
|
881
|
+
documents?: DocumentEntity[];
|
|
870
882
|
deleted: boolean;
|
|
871
883
|
createdAt: string;
|
|
872
884
|
updatedAt: string;
|
|
@@ -1139,7 +1151,17 @@ export interface HolidayEntity {
|
|
|
1139
1151
|
id: string;
|
|
1140
1152
|
date: string;
|
|
1141
1153
|
name: string;
|
|
1154
|
+
source: HolidaySource;
|
|
1155
|
+
kind?: string | null;
|
|
1156
|
+
excluded: boolean;
|
|
1142
1157
|
createdAt: string;
|
|
1158
|
+
updatedAt: string;
|
|
1159
|
+
}
|
|
1160
|
+
|
|
1161
|
+
export interface HolidaySyncEntity {
|
|
1162
|
+
year: number;
|
|
1163
|
+
syncedAt: string;
|
|
1164
|
+
total: number;
|
|
1143
1165
|
}
|
|
1144
1166
|
|
|
1145
1167
|
export interface TextSnippetEntity {
|
|
@@ -118,6 +118,10 @@ export type DocumentReviewAction = 'Visa' | 'Sign' | 'Reject';
|
|
|
118
118
|
*/
|
|
119
119
|
export interface DocumentWritePayload extends Pick<DocumentEntity, 'subject' | 'documentTypeId'> {
|
|
120
120
|
keywords: string[];
|
|
121
|
+
/** Resumen breve (hasta 250 caracteres): va a DocDigital como «descripcion» al despacharlo. */
|
|
122
|
+
description?: string | null;
|
|
123
|
+
/** Procedimiento administrativo del catálogo propio. */
|
|
124
|
+
procedureId?: string | null;
|
|
121
125
|
/** Qué cambió, si el guardado crea una versión nueva (otro PDF, otro texto u otro asunto). */
|
|
122
126
|
versionNote?: string | null;
|
|
123
127
|
/** Al crearlo: solicitud de redacción que atiende (la tomó quien redacta). */
|
|
@@ -142,8 +146,9 @@ export interface DocumentWritePayload extends Pick<DocumentEntity, 'subject' | '
|
|
|
142
146
|
signatureSheet?: boolean;
|
|
143
147
|
// A quién va dirigido: le llega a su bandeja cuando el documento termina su tramitación.
|
|
144
148
|
recipients?: DocumentRecipientInput[];
|
|
145
|
-
// Plazo en que se espera respuesta de los destinatarios (ISO 8601).
|
|
149
|
+
// Plazo en que se espera respuesta de los destinatarios (ISO 8601), o en días hábiles desde que lo reciben (uno u otro).
|
|
146
150
|
responseDueAt?: string | null;
|
|
151
|
+
responseDueBusinessDays?: number | null;
|
|
147
152
|
// Documento al que este responde.
|
|
148
153
|
replyToDocumentId?: string | null;
|
|
149
154
|
// Instituciones (y usuarios) de DocDigital a quienes va: al terminar la firma pasa a Oficina de Partes.
|
|
@@ -1,16 +1,25 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
type HolidayListResponseEntity,
|
|
3
|
+
type HolidayRemoveResponseEntity,
|
|
4
|
+
type HolidayResponseEntity,
|
|
5
|
+
type HolidaySyncResponseEntity,
|
|
6
|
+
} from '../entities';
|
|
2
7
|
|
|
3
8
|
/** Patrones NATS de `holiday`: feriados para contar días hábiles. */
|
|
4
9
|
export const HolidayPatterns = {
|
|
5
10
|
getAll: 'gestorDocumental.holiday.getAll',
|
|
6
11
|
create: 'gestorDocumental.holiday.create',
|
|
7
12
|
remove: 'gestorDocumental.holiday.remove',
|
|
13
|
+
sync: 'gestorDocumental.holiday.sync',
|
|
8
14
|
} as const;
|
|
9
15
|
|
|
10
16
|
export interface HolidayContract {
|
|
11
|
-
/** Feriados de un año, en orden. */
|
|
12
|
-
[HolidayPatterns.getAll]: { payload: { year: number }; response:
|
|
13
|
-
/** `date` como «AAAA-MM-DD». */
|
|
17
|
+
/** Feriados de un año, en orden (también los de la API que se quitaron a mano). */
|
|
18
|
+
[HolidayPatterns.getAll]: { payload: { year: number }; response: HolidayListResponseEntity };
|
|
19
|
+
/** `date` como «AAAA-MM-DD». Si es uno de la API que se había quitado, vuelve a contar. */
|
|
14
20
|
[HolidayPatterns.create]: { payload: { date: string; name: string }; response: HolidayResponseEntity };
|
|
21
|
+
/** Uno cargado a mano se borra; uno de la API se marca como quitado. */
|
|
15
22
|
[HolidayPatterns.remove]: { payload: { id: string }; response: HolidayRemoveResponseEntity };
|
|
23
|
+
/** Trae de la API pública los feriados de un año. Lo cargado o quitado a mano se respeta. */
|
|
24
|
+
[HolidayPatterns.sync]: { payload: { year: number }; response: HolidaySyncResponseEntity };
|
|
16
25
|
}
|
|
@@ -162,6 +162,10 @@ export interface DocumentGetByIdResponseEntity {
|
|
|
162
162
|
// Fin de la restricción de acceso: desde entonces se consulta como público si no tiene datos sensibles.
|
|
163
163
|
restrictionEndsAt: string | null;
|
|
164
164
|
subject: DocumentEntity['subject'];
|
|
165
|
+
/** Resumen breve; va a DocDigital como «descripcion» al despacharlo. */
|
|
166
|
+
description: string | null;
|
|
167
|
+
/** Procedimiento administrativo al que corresponde. */
|
|
168
|
+
procedure: { id: string; name: string; cpatCode: string | null } | null;
|
|
165
169
|
keywords: DocumentEntity['keywords'];
|
|
166
170
|
accessLevel: DocumentEntity['accessLevel'];
|
|
167
171
|
hasSensitiveData: DocumentEntity['hasSensitiveData'];
|
|
@@ -202,8 +206,10 @@ export interface DocumentGetByIdResponseEntity {
|
|
|
202
206
|
employeeFullName: DocumentAnnulledNumberEntity['employeeFullName'];
|
|
203
207
|
createdAt: DocumentAnnulledNumberEntity['createdAt'];
|
|
204
208
|
}[];
|
|
205
|
-
// Plazo en que el redactor espera respuesta de los destinatarios
|
|
209
|
+
// Plazo en que el redactor espera respuesta de los destinatarios: una fecha o, mientras no se finaliza, N días
|
|
210
|
+
// hábiles desde que lo reciban (al finalizar queda la fecha en `responseDueAt`).
|
|
206
211
|
responseDueAt: DocumentEntity['responseDueAt'];
|
|
212
|
+
responseDueBusinessDays: number | null;
|
|
207
213
|
// A quién va dirigido, como lo indicó el redactor (personas y áreas).
|
|
208
214
|
recipients: DocumentRecipientResponseEntity[];
|
|
209
215
|
// En la bandeja de quién está: destinatarios y derivaciones, con su lectura y atención.
|
|
@@ -1,11 +1,36 @@
|
|
|
1
|
+
import { type HolidaySource } from '../../base/entities';
|
|
2
|
+
|
|
1
3
|
/** Feriado: el día («AAAA-MM-DD») no cuenta como hábil en los plazos. */
|
|
2
4
|
export interface HolidayResponseEntity {
|
|
3
5
|
id: string;
|
|
4
6
|
date: string;
|
|
5
7
|
name: string;
|
|
8
|
+
/** Cargado a mano o traído de la API pública de feriados. */
|
|
9
|
+
source: HolidaySource;
|
|
10
|
+
/** Como lo informa la API. Ej: «Civil e Irrenunciable». */
|
|
11
|
+
kind: string | null;
|
|
12
|
+
/** Uno de la API que se quitó a mano: no cuenta, y la próxima actualización no lo vuelve a agregar. */
|
|
13
|
+
excluded: boolean;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/** Feriados de un año y cuándo se trajeron de la API por última vez (`null` si nunca). */
|
|
17
|
+
export interface HolidayListResponseEntity {
|
|
18
|
+
holidays: HolidayResponseEntity[];
|
|
19
|
+
syncedAt: string | null;
|
|
6
20
|
}
|
|
7
21
|
|
|
8
22
|
export interface HolidayRemoveResponseEntity {
|
|
9
23
|
id: string;
|
|
10
24
|
ok: boolean;
|
|
11
25
|
}
|
|
26
|
+
|
|
27
|
+
/** Resultado de traer de la API los feriados de un año: los agregados, actualizados y quitados por la API. */
|
|
28
|
+
export interface HolidaySyncResponseEntity {
|
|
29
|
+
year: number;
|
|
30
|
+
added: number;
|
|
31
|
+
updated: number;
|
|
32
|
+
removed: number;
|
|
33
|
+
/** Cuántos informó la API para ese año. */
|
|
34
|
+
total: number;
|
|
35
|
+
syncedAt: string;
|
|
36
|
+
}
|