@substrat-run/engine-absence 0.5.22 → 0.5.24
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/index.d.ts +3 -3
- package/dist/operations.d.ts +21 -21
- package/dist/schemas.d.ts +27 -20
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +13 -6
- package/dist/schemas.js.map +1 -1
- package/package.json +6 -6
package/dist/index.d.ts
CHANGED
|
@@ -162,7 +162,7 @@ declare const entryRow: z.ZodObject<{
|
|
|
162
162
|
reversal: "reversal";
|
|
163
163
|
}>;
|
|
164
164
|
delta: z.ZodString;
|
|
165
|
-
effective_date: z.
|
|
165
|
+
effective_date: z.ZodISODate;
|
|
166
166
|
request_id: z.ZodNullable<z.ZodString>;
|
|
167
167
|
note: z.ZodNullable<z.ZodString>;
|
|
168
168
|
created_by: z.ZodString;
|
|
@@ -175,8 +175,8 @@ declare const requestRow: z.ZodObject<{
|
|
|
175
175
|
subject_id: z.ZodString;
|
|
176
176
|
data_subject_id: z.ZodString;
|
|
177
177
|
leave_type_key: z.ZodString;
|
|
178
|
-
start_date: z.
|
|
179
|
-
end_date: z.
|
|
178
|
+
start_date: z.ZodISODate;
|
|
179
|
+
end_date: z.ZodISODate;
|
|
180
180
|
days: z.ZodString;
|
|
181
181
|
status: z.ZodEnum<{
|
|
182
182
|
approved: "approved";
|
package/dist/operations.d.ts
CHANGED
|
@@ -102,7 +102,7 @@ export declare const absenceOperations: {
|
|
|
102
102
|
correction: "correction";
|
|
103
103
|
}>;
|
|
104
104
|
delta: import("zod").ZodString;
|
|
105
|
-
effectiveDate: import("zod").
|
|
105
|
+
effectiveDate: import("zod").ZodISODate;
|
|
106
106
|
note: import("zod").ZodOptional<import("zod").ZodString>;
|
|
107
107
|
}, import("zod/v4/core").$strip>;
|
|
108
108
|
readonly output: import("zod").ZodObject<{
|
|
@@ -120,7 +120,7 @@ export declare const absenceOperations: {
|
|
|
120
120
|
reversal: "reversal";
|
|
121
121
|
}>;
|
|
122
122
|
delta: import("zod").ZodString;
|
|
123
|
-
effectiveDate: import("zod").
|
|
123
|
+
effectiveDate: import("zod").ZodISODate;
|
|
124
124
|
requestId: import("zod").ZodNullable<import("zod").ZodString>;
|
|
125
125
|
note: import("zod").ZodNullable<import("zod").ZodString>;
|
|
126
126
|
createdBy: import("zod").ZodString;
|
|
@@ -152,8 +152,8 @@ export declare const absenceOperations: {
|
|
|
152
152
|
dataSubjectId: import("zod/v4/core").$ZodBranded<import("zod").ZodString, "DataSubjectId", "out">;
|
|
153
153
|
}, import("zod/v4/core").$strip>;
|
|
154
154
|
leaveTypeKey: import("zod").ZodString;
|
|
155
|
-
startDate: import("zod").
|
|
156
|
-
endDate: import("zod").
|
|
155
|
+
startDate: import("zod").ZodISODate;
|
|
156
|
+
endDate: import("zod").ZodISODate;
|
|
157
157
|
days: import("zod").ZodString;
|
|
158
158
|
note: import("zod").ZodOptional<import("zod").ZodString>;
|
|
159
159
|
}, import("zod/v4/core").$strip>;
|
|
@@ -164,8 +164,8 @@ export declare const absenceOperations: {
|
|
|
164
164
|
entityId: import("zod").ZodString;
|
|
165
165
|
}, import("zod/v4/core").$strip>;
|
|
166
166
|
leaveTypeKey: import("zod").ZodString;
|
|
167
|
-
startDate: import("zod").
|
|
168
|
-
endDate: import("zod").
|
|
167
|
+
startDate: import("zod").ZodISODate;
|
|
168
|
+
endDate: import("zod").ZodISODate;
|
|
169
169
|
days: import("zod").ZodString;
|
|
170
170
|
status: import("zod").ZodEnum<{
|
|
171
171
|
approved: "approved";
|
|
@@ -199,8 +199,8 @@ export declare const absenceOperations: {
|
|
|
199
199
|
entityId: import("zod").ZodString;
|
|
200
200
|
}, import("zod/v4/core").$strip>;
|
|
201
201
|
leaveTypeKey: import("zod").ZodString;
|
|
202
|
-
startDate: import("zod").
|
|
203
|
-
endDate: import("zod").
|
|
202
|
+
startDate: import("zod").ZodISODate;
|
|
203
|
+
endDate: import("zod").ZodISODate;
|
|
204
204
|
days: import("zod").ZodString;
|
|
205
205
|
status: import("zod").ZodEnum<{
|
|
206
206
|
approved: "approved";
|
|
@@ -229,7 +229,7 @@ export declare const absenceOperations: {
|
|
|
229
229
|
reversal: "reversal";
|
|
230
230
|
}>;
|
|
231
231
|
delta: import("zod").ZodString;
|
|
232
|
-
effectiveDate: import("zod").
|
|
232
|
+
effectiveDate: import("zod").ZodISODate;
|
|
233
233
|
requestId: import("zod").ZodNullable<import("zod").ZodString>;
|
|
234
234
|
note: import("zod").ZodNullable<import("zod").ZodString>;
|
|
235
235
|
createdBy: import("zod").ZodString;
|
|
@@ -252,8 +252,8 @@ export declare const absenceOperations: {
|
|
|
252
252
|
entityId: import("zod").ZodString;
|
|
253
253
|
}, import("zod/v4/core").$strip>;
|
|
254
254
|
leaveTypeKey: import("zod").ZodString;
|
|
255
|
-
startDate: import("zod").
|
|
256
|
-
endDate: import("zod").
|
|
255
|
+
startDate: import("zod").ZodISODate;
|
|
256
|
+
endDate: import("zod").ZodISODate;
|
|
257
257
|
days: import("zod").ZodString;
|
|
258
258
|
status: import("zod").ZodEnum<{
|
|
259
259
|
approved: "approved";
|
|
@@ -282,7 +282,7 @@ export declare const absenceOperations: {
|
|
|
282
282
|
reversal: "reversal";
|
|
283
283
|
}>;
|
|
284
284
|
delta: import("zod").ZodString;
|
|
285
|
-
effectiveDate: import("zod").
|
|
285
|
+
effectiveDate: import("zod").ZodISODate;
|
|
286
286
|
requestId: import("zod").ZodNullable<import("zod").ZodString>;
|
|
287
287
|
note: import("zod").ZodNullable<import("zod").ZodString>;
|
|
288
288
|
createdBy: import("zod").ZodString;
|
|
@@ -309,7 +309,7 @@ export declare const absenceOperations: {
|
|
|
309
309
|
entityId: import("zod").ZodString;
|
|
310
310
|
}, import("zod/v4/core").$strip>;
|
|
311
311
|
leaveTypeKey: import("zod").ZodString;
|
|
312
|
-
asOf: import("zod").ZodOptional<import("zod").
|
|
312
|
+
asOf: import("zod").ZodOptional<import("zod").ZodISODate>;
|
|
313
313
|
}, import("zod/v4/core").$strip>;
|
|
314
314
|
readonly output: import("zod").ZodObject<{
|
|
315
315
|
balance: import("zod").ZodString;
|
|
@@ -326,12 +326,12 @@ export declare const absenceOperations: {
|
|
|
326
326
|
entityType: import("zod").ZodString;
|
|
327
327
|
entityId: import("zod").ZodString;
|
|
328
328
|
}, import("zod/v4/core").$strip>;
|
|
329
|
-
from: import("zod").
|
|
330
|
-
to: import("zod").
|
|
329
|
+
from: import("zod").ZodISODate;
|
|
330
|
+
to: import("zod").ZodISODate;
|
|
331
331
|
}, import("zod/v4/core").$strip>;
|
|
332
332
|
readonly output: import("zod").ZodObject<{
|
|
333
333
|
days: import("zod").ZodArray<import("zod").ZodObject<{
|
|
334
|
-
date: import("zod").
|
|
334
|
+
date: import("zod").ZodISODate;
|
|
335
335
|
leaveTypeKey: import("zod").ZodString;
|
|
336
336
|
requestId: import("zod").ZodString;
|
|
337
337
|
}, import("zod/v4/core").$strip>>;
|
|
@@ -342,8 +342,8 @@ export declare const absenceOperations: {
|
|
|
342
342
|
entityId: import("zod").ZodString;
|
|
343
343
|
}, import("zod/v4/core").$strip>;
|
|
344
344
|
leaveTypeKey: import("zod").ZodString;
|
|
345
|
-
startDate: import("zod").
|
|
346
|
-
endDate: import("zod").
|
|
345
|
+
startDate: import("zod").ZodISODate;
|
|
346
|
+
endDate: import("zod").ZodISODate;
|
|
347
347
|
days: import("zod").ZodString;
|
|
348
348
|
status: import("zod").ZodEnum<{
|
|
349
349
|
approved: "approved";
|
|
@@ -382,8 +382,8 @@ export declare const absenceOperations: {
|
|
|
382
382
|
entityId: import("zod").ZodString;
|
|
383
383
|
}, import("zod/v4/core").$strip>;
|
|
384
384
|
leaveTypeKey: import("zod").ZodString;
|
|
385
|
-
startDate: import("zod").
|
|
386
|
-
endDate: import("zod").
|
|
385
|
+
startDate: import("zod").ZodISODate;
|
|
386
|
+
endDate: import("zod").ZodISODate;
|
|
387
387
|
days: import("zod").ZodString;
|
|
388
388
|
status: import("zod").ZodEnum<{
|
|
389
389
|
approved: "approved";
|
|
@@ -429,7 +429,7 @@ export declare const absenceOperations: {
|
|
|
429
429
|
reversal: "reversal";
|
|
430
430
|
}>;
|
|
431
431
|
delta: import("zod").ZodString;
|
|
432
|
-
effectiveDate: import("zod").
|
|
432
|
+
effectiveDate: import("zod").ZodISODate;
|
|
433
433
|
requestId: import("zod").ZodNullable<import("zod").ZodString>;
|
|
434
434
|
note: import("zod").ZodNullable<import("zod").ZodString>;
|
|
435
435
|
createdBy: import("zod").ZodString;
|
package/dist/schemas.d.ts
CHANGED
|
@@ -19,7 +19,14 @@ import { z } from '@substrat-run/contracts';
|
|
|
19
19
|
* `active: boolean` and one `EntityRef` — `toLeaveType` / `toEntry` / `toRequest`
|
|
20
20
|
* in `index.ts` are the one crossing.
|
|
21
21
|
*/
|
|
22
|
-
|
|
22
|
+
/**
|
|
23
|
+
* A leave day is a CALENDAR date, never an instant: the platform's `calendarDate`
|
|
24
|
+
* (#117) — `YYYY-MM-DD`, no time, no zone, and a real month/day check rather
|
|
25
|
+
* than the shape regex this used to be (`2026-13-45` passed it). It holds in
|
|
26
|
+
* both directions: what is accepted below AND the date fields this engine
|
|
27
|
+
* answers, so the published shape carries `format: date` too.
|
|
28
|
+
*/
|
|
29
|
+
export declare const isoDate: z.ZodISODate;
|
|
23
30
|
export declare const posDecimal: z.ZodString;
|
|
24
31
|
export declare const signedDecimal: z.ZodString;
|
|
25
32
|
/**
|
|
@@ -68,7 +75,7 @@ export declare const absenceEntry: z.ZodObject<{
|
|
|
68
75
|
reversal: "reversal";
|
|
69
76
|
}>;
|
|
70
77
|
delta: z.ZodString;
|
|
71
|
-
effectiveDate: z.
|
|
78
|
+
effectiveDate: z.ZodISODate;
|
|
72
79
|
requestId: z.ZodNullable<z.ZodString>;
|
|
73
80
|
note: z.ZodNullable<z.ZodString>;
|
|
74
81
|
createdBy: z.ZodString;
|
|
@@ -88,8 +95,8 @@ export declare const absenceRequest: z.ZodObject<{
|
|
|
88
95
|
entityId: z.ZodString;
|
|
89
96
|
}, z.core.$strip>;
|
|
90
97
|
leaveTypeKey: z.ZodString;
|
|
91
|
-
startDate: z.
|
|
92
|
-
endDate: z.
|
|
98
|
+
startDate: z.ZodISODate;
|
|
99
|
+
endDate: z.ZodISODate;
|
|
93
100
|
days: z.ZodString;
|
|
94
101
|
status: z.ZodEnum<{
|
|
95
102
|
approved: "approved";
|
|
@@ -106,7 +113,7 @@ export declare const absenceRequest: z.ZodObject<{
|
|
|
106
113
|
export type AbsenceRequest = z.infer<typeof absenceRequest>;
|
|
107
114
|
/** One calendar day an approved request covers (D-C). */
|
|
108
115
|
export declare const absenceDay: z.ZodObject<{
|
|
109
|
-
date: z.
|
|
116
|
+
date: z.ZodISODate;
|
|
110
117
|
leaveTypeKey: z.ZodString;
|
|
111
118
|
requestId: z.ZodString;
|
|
112
119
|
}, z.core.$strip>;
|
|
@@ -122,8 +129,8 @@ export declare const decideAnswer: z.ZodObject<{
|
|
|
122
129
|
entityId: z.ZodString;
|
|
123
130
|
}, z.core.$strip>;
|
|
124
131
|
leaveTypeKey: z.ZodString;
|
|
125
|
-
startDate: z.
|
|
126
|
-
endDate: z.
|
|
132
|
+
startDate: z.ZodISODate;
|
|
133
|
+
endDate: z.ZodISODate;
|
|
127
134
|
days: z.ZodString;
|
|
128
135
|
status: z.ZodEnum<{
|
|
129
136
|
approved: "approved";
|
|
@@ -152,7 +159,7 @@ export declare const decideAnswer: z.ZodObject<{
|
|
|
152
159
|
reversal: "reversal";
|
|
153
160
|
}>;
|
|
154
161
|
delta: z.ZodString;
|
|
155
|
-
effectiveDate: z.
|
|
162
|
+
effectiveDate: z.ZodISODate;
|
|
156
163
|
requestId: z.ZodNullable<z.ZodString>;
|
|
157
164
|
note: z.ZodNullable<z.ZodString>;
|
|
158
165
|
createdBy: z.ZodString;
|
|
@@ -167,8 +174,8 @@ export declare const cancelAnswer: z.ZodObject<{
|
|
|
167
174
|
entityId: z.ZodString;
|
|
168
175
|
}, z.core.$strip>;
|
|
169
176
|
leaveTypeKey: z.ZodString;
|
|
170
|
-
startDate: z.
|
|
171
|
-
endDate: z.
|
|
177
|
+
startDate: z.ZodISODate;
|
|
178
|
+
endDate: z.ZodISODate;
|
|
172
179
|
days: z.ZodString;
|
|
173
180
|
status: z.ZodEnum<{
|
|
174
181
|
approved: "approved";
|
|
@@ -197,7 +204,7 @@ export declare const cancelAnswer: z.ZodObject<{
|
|
|
197
204
|
reversal: "reversal";
|
|
198
205
|
}>;
|
|
199
206
|
delta: z.ZodString;
|
|
200
|
-
effectiveDate: z.
|
|
207
|
+
effectiveDate: z.ZodISODate;
|
|
201
208
|
requestId: z.ZodNullable<z.ZodString>;
|
|
202
209
|
note: z.ZodNullable<z.ZodString>;
|
|
203
210
|
createdBy: z.ZodString;
|
|
@@ -206,7 +213,7 @@ export declare const cancelAnswer: z.ZodObject<{
|
|
|
206
213
|
}, z.core.$strip>;
|
|
207
214
|
export declare const availabilityAnswer: z.ZodObject<{
|
|
208
215
|
days: z.ZodArray<z.ZodObject<{
|
|
209
|
-
date: z.
|
|
216
|
+
date: z.ZodISODate;
|
|
210
217
|
leaveTypeKey: z.ZodString;
|
|
211
218
|
requestId: z.ZodString;
|
|
212
219
|
}, z.core.$strip>>;
|
|
@@ -217,8 +224,8 @@ export declare const availabilityAnswer: z.ZodObject<{
|
|
|
217
224
|
entityId: z.ZodString;
|
|
218
225
|
}, z.core.$strip>;
|
|
219
226
|
leaveTypeKey: z.ZodString;
|
|
220
|
-
startDate: z.
|
|
221
|
-
endDate: z.
|
|
227
|
+
startDate: z.ZodISODate;
|
|
228
|
+
endDate: z.ZodISODate;
|
|
222
229
|
days: z.ZodString;
|
|
223
230
|
status: z.ZodEnum<{
|
|
224
231
|
approved: "approved";
|
|
@@ -257,7 +264,7 @@ export declare const recordEntryInput: z.ZodObject<{
|
|
|
257
264
|
correction: "correction";
|
|
258
265
|
}>;
|
|
259
266
|
delta: z.ZodString;
|
|
260
|
-
effectiveDate: z.
|
|
267
|
+
effectiveDate: z.ZodISODate;
|
|
261
268
|
note: z.ZodOptional<z.ZodString>;
|
|
262
269
|
}, z.core.$strip>;
|
|
263
270
|
export type RecordEntryInput = z.infer<typeof recordEntryInput>;
|
|
@@ -270,8 +277,8 @@ export declare const requestAbsenceInput: z.ZodObject<{
|
|
|
270
277
|
dataSubjectId: z.core.$ZodBranded<z.ZodString, "DataSubjectId", "out">;
|
|
271
278
|
}, z.core.$strip>;
|
|
272
279
|
leaveTypeKey: z.ZodString;
|
|
273
|
-
startDate: z.
|
|
274
|
-
endDate: z.
|
|
280
|
+
startDate: z.ZodISODate;
|
|
281
|
+
endDate: z.ZodISODate;
|
|
275
282
|
days: z.ZodString;
|
|
276
283
|
note: z.ZodOptional<z.ZodString>;
|
|
277
284
|
}, z.core.$strip>;
|
|
@@ -297,15 +304,15 @@ export declare const balanceInput: z.ZodObject<{
|
|
|
297
304
|
entityId: z.ZodString;
|
|
298
305
|
}, z.core.$strip>;
|
|
299
306
|
leaveTypeKey: z.ZodString;
|
|
300
|
-
asOf: z.ZodOptional<z.
|
|
307
|
+
asOf: z.ZodOptional<z.ZodISODate>;
|
|
301
308
|
}, z.core.$strip>;
|
|
302
309
|
export declare const availabilityInput: z.ZodObject<{
|
|
303
310
|
subject: z.ZodObject<{
|
|
304
311
|
entityType: z.ZodString;
|
|
305
312
|
entityId: z.ZodString;
|
|
306
313
|
}, z.core.$strip>;
|
|
307
|
-
from: z.
|
|
308
|
-
to: z.
|
|
314
|
+
from: z.ZodISODate;
|
|
315
|
+
to: z.ZodISODate;
|
|
309
316
|
}, z.core.$strip>;
|
|
310
317
|
export declare const listEntriesInput: z.ZodObject<{
|
|
311
318
|
subject: z.ZodObject<{
|
package/dist/schemas.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0D,CAAC,EAAE,MAAM,yBAAyB,CAAC;AAEpG;;;;;;;;;;;;;;;;;;;GAmBG;AAMH;;;;;;GAMG;AACH,eAAO,MAAM,OAAO,cAAe,CAAC;AACpC,eAAO,MAAM,UAAU,aAA0E,CAAC;AAClG,eAAO,MAAM,aAAa,aAA+D,CAAC;AAE1F;;;;;;;;GAQG;AACH,eAAO,MAAM,cAAc;;;;;;iBAGzB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAM5D,eAAO,MAAM,SAAS;;;;;iBAKpB,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,eAAO,MAAM,SAAS;;;;;;EAAwE,CAAC;AAE/F,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;iBAWvB,CAAC;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAExD,eAAO,MAAM,aAAa;;;;;EAA6D,CAAC;AAExF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;iBAazB,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,yDAAyD;AACzD,eAAO,MAAM,UAAU;;;;iBAIrB,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAEpD,eAAO,MAAM,aAAa;;iBAAoC,CAAC;AAC/D,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGvB,CAAC;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAGvB,CAAC;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG7B,CAAC;AACH,eAAO,MAAM,aAAa;;iBAAoC,CAAC;AAM/D,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAE9E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;iBAO3B,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEhE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;iBAO9B,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAEtE,eAAO,MAAM,kBAAkB;;;;;;;iBAI7B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEpE,gFAAgF;AAChF,eAAO,MAAM,YAAY;;;;;;;iBAIvB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;iBAI5B,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;iBAG3B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;iBAG5B,CAAC"}
|
package/dist/schemas.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { compareDecimal, dataSubjectId, entityRef, z } from '@substrat-run/contracts';
|
|
1
|
+
import { calendarDate, compareDecimal, dataSubjectId, entityRef, z } from '@substrat-run/contracts';
|
|
2
2
|
/**
|
|
3
3
|
* engine-absence' schemas — what it ACCEPTS and what it ANSWERS (#707/#896).
|
|
4
4
|
*
|
|
@@ -22,7 +22,14 @@ import { compareDecimal, dataSubjectId, entityRef, z } from '@substrat-run/contr
|
|
|
22
22
|
// ---------------------------------------------------------------------------
|
|
23
23
|
// Primitives
|
|
24
24
|
// ---------------------------------------------------------------------------
|
|
25
|
-
|
|
25
|
+
/**
|
|
26
|
+
* A leave day is a CALENDAR date, never an instant: the platform's `calendarDate`
|
|
27
|
+
* (#117) — `YYYY-MM-DD`, no time, no zone, and a real month/day check rather
|
|
28
|
+
* than the shape regex this used to be (`2026-13-45` passed it). It holds in
|
|
29
|
+
* both directions: what is accepted below AND the date fields this engine
|
|
30
|
+
* answers, so the published shape carries `format: date` too.
|
|
31
|
+
*/
|
|
32
|
+
export const isoDate = calendarDate;
|
|
26
33
|
export const posDecimal = z.string().regex(/^\d+(\.\d{1,6})?$/, 'must be a non-negative decimal');
|
|
27
34
|
export const signedDecimal = z.string().regex(/^-?\d+(\.\d{1,6})?$/, 'must be a decimal');
|
|
28
35
|
/**
|
|
@@ -54,7 +61,7 @@ export const absenceEntry = z.object({
|
|
|
54
61
|
leaveTypeKey: z.string(),
|
|
55
62
|
entryKind,
|
|
56
63
|
delta: z.string(),
|
|
57
|
-
effectiveDate:
|
|
64
|
+
effectiveDate: isoDate,
|
|
58
65
|
requestId: z.string().nullable(),
|
|
59
66
|
note: z.string().nullable(),
|
|
60
67
|
createdBy: z.string(),
|
|
@@ -65,8 +72,8 @@ export const absenceRequest = z.object({
|
|
|
65
72
|
id: z.string(),
|
|
66
73
|
subject: entityRef,
|
|
67
74
|
leaveTypeKey: z.string(),
|
|
68
|
-
startDate:
|
|
69
|
-
endDate:
|
|
75
|
+
startDate: isoDate,
|
|
76
|
+
endDate: isoDate,
|
|
70
77
|
days: z.string(),
|
|
71
78
|
status: requestStatus,
|
|
72
79
|
note: z.string().nullable(),
|
|
@@ -77,7 +84,7 @@ export const absenceRequest = z.object({
|
|
|
77
84
|
});
|
|
78
85
|
/** One calendar day an approved request covers (D-C). */
|
|
79
86
|
export const absenceDay = z.object({
|
|
80
|
-
date:
|
|
87
|
+
date: isoDate,
|
|
81
88
|
leaveTypeKey: z.string(),
|
|
82
89
|
requestId: z.string(),
|
|
83
90
|
});
|
package/dist/schemas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@substrat-run/engine-absence",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.24",
|
|
4
4
|
"description": "Substrat engine: approved absence — an append-only entry ledger over an opaque subject, balance as a fold, approval as a state machine",
|
|
5
5
|
"license": "AGPL-3.0-only",
|
|
6
6
|
"repository": {
|
|
@@ -25,16 +25,16 @@
|
|
|
25
25
|
"access": "public"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@substrat-run/
|
|
29
|
-
"@substrat-run/
|
|
28
|
+
"@substrat-run/kernel": "^0.112.0",
|
|
29
|
+
"@substrat-run/contracts": "^0.112.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"typescript": "^7.0.0",
|
|
33
33
|
"vitest": "^3.2.7",
|
|
34
34
|
"zod": "^4.4.3",
|
|
35
|
-
"@substrat-run/engine-test-kit": "^0.3.
|
|
36
|
-
"@substrat-run/
|
|
37
|
-
"@substrat-run/
|
|
35
|
+
"@substrat-run/engine-test-kit": "^0.3.39",
|
|
36
|
+
"@substrat-run/contract-tests": "^0.112.0",
|
|
37
|
+
"@substrat-run/model-emit": "0.9.4"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
40
|
"zod": "^4.4.0"
|