@aibrains/shared-types 0.1.0

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.
Files changed (158) hide show
  1. package/README.md +170 -0
  2. package/dist/index.d.ts +48 -0
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +74 -0
  5. package/dist/index.js.map +1 -0
  6. package/dist/mappers/edfi/calendar.mapper.d.ts +158 -0
  7. package/dist/mappers/edfi/calendar.mapper.d.ts.map +1 -0
  8. package/dist/mappers/edfi/calendar.mapper.js +235 -0
  9. package/dist/mappers/edfi/calendar.mapper.js.map +1 -0
  10. package/dist/mappers/edfi/credential.mapper.d.ts +50 -0
  11. package/dist/mappers/edfi/credential.mapper.d.ts.map +1 -0
  12. package/dist/mappers/edfi/credential.mapper.js +123 -0
  13. package/dist/mappers/edfi/credential.mapper.js.map +1 -0
  14. package/dist/mappers/edfi/index.d.ts +10 -0
  15. package/dist/mappers/edfi/index.d.ts.map +1 -0
  16. package/dist/mappers/edfi/index.js +26 -0
  17. package/dist/mappers/edfi/index.js.map +1 -0
  18. package/dist/mappers/edfi/staff.mapper.d.ts +96 -0
  19. package/dist/mappers/edfi/staff.mapper.d.ts.map +1 -0
  20. package/dist/mappers/edfi/staff.mapper.js +138 -0
  21. package/dist/mappers/edfi/staff.mapper.js.map +1 -0
  22. package/dist/mappers/index.d.ts +7 -0
  23. package/dist/mappers/index.d.ts.map +1 -0
  24. package/dist/mappers/index.js +23 -0
  25. package/dist/mappers/index.js.map +1 -0
  26. package/dist/schemas/academics/assignment.schema.d.ts +1463 -0
  27. package/dist/schemas/academics/assignment.schema.d.ts.map +1 -0
  28. package/dist/schemas/academics/assignment.schema.js +195 -0
  29. package/dist/schemas/academics/assignment.schema.js.map +1 -0
  30. package/dist/schemas/academics/attendance.schema.d.ts +762 -0
  31. package/dist/schemas/academics/attendance.schema.d.ts.map +1 -0
  32. package/dist/schemas/academics/attendance.schema.js +250 -0
  33. package/dist/schemas/academics/attendance.schema.js.map +1 -0
  34. package/dist/schemas/academics/classroom.schema.d.ts +742 -0
  35. package/dist/schemas/academics/classroom.schema.d.ts.map +1 -0
  36. package/dist/schemas/academics/classroom.schema.js +164 -0
  37. package/dist/schemas/academics/classroom.schema.js.map +1 -0
  38. package/dist/schemas/academics/course-section.schema.d.ts +388 -0
  39. package/dist/schemas/academics/course-section.schema.d.ts.map +1 -0
  40. package/dist/schemas/academics/course-section.schema.js +128 -0
  41. package/dist/schemas/academics/course-section.schema.js.map +1 -0
  42. package/dist/schemas/academics/course.schema.d.ts +778 -0
  43. package/dist/schemas/academics/course.schema.d.ts.map +1 -0
  44. package/dist/schemas/academics/course.schema.js +207 -0
  45. package/dist/schemas/academics/course.schema.js.map +1 -0
  46. package/dist/schemas/academics/grade.schema.d.ts +848 -0
  47. package/dist/schemas/academics/grade.schema.d.ts.map +1 -0
  48. package/dist/schemas/academics/grade.schema.js +251 -0
  49. package/dist/schemas/academics/grade.schema.js.map +1 -0
  50. package/dist/schemas/academics/index.d.ts +13 -0
  51. package/dist/schemas/academics/index.d.ts.map +1 -0
  52. package/dist/schemas/academics/index.js +29 -0
  53. package/dist/schemas/academics/index.js.map +1 -0
  54. package/dist/schemas/academics/student.schema.d.ts +2891 -0
  55. package/dist/schemas/academics/student.schema.d.ts.map +1 -0
  56. package/dist/schemas/academics/student.schema.js +249 -0
  57. package/dist/schemas/academics/student.schema.js.map +1 -0
  58. package/dist/schemas/common.d.ts +183 -0
  59. package/dist/schemas/common.d.ts.map +1 -0
  60. package/dist/schemas/common.js +126 -0
  61. package/dist/schemas/common.js.map +1 -0
  62. package/dist/schemas/enrollment/enrollment.schema.d.ts +2799 -0
  63. package/dist/schemas/enrollment/enrollment.schema.d.ts.map +1 -0
  64. package/dist/schemas/enrollment/enrollment.schema.js +435 -0
  65. package/dist/schemas/enrollment/enrollment.schema.js.map +1 -0
  66. package/dist/schemas/enrollment/index.d.ts +7 -0
  67. package/dist/schemas/enrollment/index.d.ts.map +1 -0
  68. package/dist/schemas/enrollment/index.js +23 -0
  69. package/dist/schemas/enrollment/index.js.map +1 -0
  70. package/dist/schemas/identity/academic-year.schema.d.ts +546 -0
  71. package/dist/schemas/identity/academic-year.schema.d.ts.map +1 -0
  72. package/dist/schemas/identity/academic-year.schema.js +137 -0
  73. package/dist/schemas/identity/academic-year.schema.js.map +1 -0
  74. package/dist/schemas/identity/auth.schema.d.ts +670 -0
  75. package/dist/schemas/identity/auth.schema.d.ts.map +1 -0
  76. package/dist/schemas/identity/auth.schema.js +126 -0
  77. package/dist/schemas/identity/auth.schema.js.map +1 -0
  78. package/dist/schemas/identity/bell-schedule.schema.d.ts +630 -0
  79. package/dist/schemas/identity/bell-schedule.schema.d.ts.map +1 -0
  80. package/dist/schemas/identity/bell-schedule.schema.js +143 -0
  81. package/dist/schemas/identity/bell-schedule.schema.js.map +1 -0
  82. package/dist/schemas/identity/calendar-date.schema.d.ts +830 -0
  83. package/dist/schemas/identity/calendar-date.schema.d.ts.map +1 -0
  84. package/dist/schemas/identity/calendar-date.schema.js +208 -0
  85. package/dist/schemas/identity/calendar-date.schema.js.map +1 -0
  86. package/dist/schemas/identity/credential.schema.d.ts +472 -0
  87. package/dist/schemas/identity/credential.schema.d.ts.map +1 -0
  88. package/dist/schemas/identity/credential.schema.js +200 -0
  89. package/dist/schemas/identity/credential.schema.js.map +1 -0
  90. package/dist/schemas/identity/department.schema.d.ts +567 -0
  91. package/dist/schemas/identity/department.schema.d.ts.map +1 -0
  92. package/dist/schemas/identity/department.schema.js +113 -0
  93. package/dist/schemas/identity/department.schema.js.map +1 -0
  94. package/dist/schemas/identity/index.d.ts +21 -0
  95. package/dist/schemas/identity/index.d.ts.map +1 -0
  96. package/dist/schemas/identity/index.js +39 -0
  97. package/dist/schemas/identity/index.js.map +1 -0
  98. package/dist/schemas/identity/leave.schema.d.ts +725 -0
  99. package/dist/schemas/identity/leave.schema.d.ts.map +1 -0
  100. package/dist/schemas/identity/leave.schema.js +204 -0
  101. package/dist/schemas/identity/leave.schema.js.map +1 -0
  102. package/dist/schemas/identity/role.schema.d.ts +356 -0
  103. package/dist/schemas/identity/role.schema.d.ts.map +1 -0
  104. package/dist/schemas/identity/role.schema.js +124 -0
  105. package/dist/schemas/identity/role.schema.js.map +1 -0
  106. package/dist/schemas/identity/school-year.schema.d.ts +303 -0
  107. package/dist/schemas/identity/school-year.schema.d.ts.map +1 -0
  108. package/dist/schemas/identity/school-year.schema.js +59 -0
  109. package/dist/schemas/identity/school-year.schema.js.map +1 -0
  110. package/dist/schemas/identity/school.schema.d.ts +844 -0
  111. package/dist/schemas/identity/school.schema.d.ts.map +1 -0
  112. package/dist/schemas/identity/school.schema.js +139 -0
  113. package/dist/schemas/identity/school.schema.js.map +1 -0
  114. package/dist/schemas/identity/security.schema.d.ts +422 -0
  115. package/dist/schemas/identity/security.schema.d.ts.map +1 -0
  116. package/dist/schemas/identity/security.schema.js +151 -0
  117. package/dist/schemas/identity/security.schema.js.map +1 -0
  118. package/dist/schemas/identity/session.schema.d.ts +193 -0
  119. package/dist/schemas/identity/session.schema.d.ts.map +1 -0
  120. package/dist/schemas/identity/session.schema.js +59 -0
  121. package/dist/schemas/identity/session.schema.js.map +1 -0
  122. package/dist/schemas/identity/staff.schema.d.ts +1037 -0
  123. package/dist/schemas/identity/staff.schema.d.ts.map +1 -0
  124. package/dist/schemas/identity/staff.schema.js +251 -0
  125. package/dist/schemas/identity/staff.schema.js.map +1 -0
  126. package/dist/schemas/identity/tenant.schema.d.ts +313 -0
  127. package/dist/schemas/identity/tenant.schema.d.ts.map +1 -0
  128. package/dist/schemas/identity/tenant.schema.js +81 -0
  129. package/dist/schemas/identity/tenant.schema.js.map +1 -0
  130. package/dist/schemas/identity/user.schema.d.ts +921 -0
  131. package/dist/schemas/identity/user.schema.d.ts.map +1 -0
  132. package/dist/schemas/identity/user.schema.js +201 -0
  133. package/dist/schemas/identity/user.schema.js.map +1 -0
  134. package/dist/schemas/index.d.ts +10 -0
  135. package/dist/schemas/index.d.ts.map +1 -0
  136. package/dist/schemas/index.js +26 -0
  137. package/dist/schemas/index.js.map +1 -0
  138. package/dist/validators/academic-year.d.ts +90 -0
  139. package/dist/validators/academic-year.d.ts.map +1 -0
  140. package/dist/validators/academic-year.js +190 -0
  141. package/dist/validators/academic-year.js.map +1 -0
  142. package/dist/validators/date-range.d.ts +142 -0
  143. package/dist/validators/date-range.d.ts.map +1 -0
  144. package/dist/validators/date-range.js +170 -0
  145. package/dist/validators/date-range.js.map +1 -0
  146. package/dist/validators/grade-level.d.ts +80 -0
  147. package/dist/validators/grade-level.d.ts.map +1 -0
  148. package/dist/validators/grade-level.js +157 -0
  149. package/dist/validators/grade-level.js.map +1 -0
  150. package/dist/validators/index.d.ts +10 -0
  151. package/dist/validators/index.d.ts.map +1 -0
  152. package/dist/validators/index.js +26 -0
  153. package/dist/validators/index.js.map +1 -0
  154. package/dist/validators/password.d.ts +60 -0
  155. package/dist/validators/password.d.ts.map +1 -0
  156. package/dist/validators/password.js +81 -0
  157. package/dist/validators/password.js.map +1 -0
  158. package/package.json +50 -0
@@ -0,0 +1,725 @@
1
+ /**
2
+ * Leave Schemas - Identity Service
3
+ *
4
+ * Zod schemas for staff leave management.
5
+ * Handles leave requests, approvals, and balance tracking.
6
+ */
7
+ import { z } from 'zod';
8
+ /**
9
+ * Leave type categories
10
+ */
11
+ export declare const leaveTypeSchema: z.ZodEnum<["annual", "sick", "personal", "bereavement", "maternity", "paternity", "family_medical", "jury_duty", "military", "professional_development", "sabbatical", "unpaid", "other"]>;
12
+ export type LeaveType = z.infer<typeof leaveTypeSchema>;
13
+ /**
14
+ * Leave request status
15
+ */
16
+ export declare const leaveStatusSchema: z.ZodEnum<["pending", "approved", "rejected", "cancelled", "in_progress", "completed"]>;
17
+ export type LeaveStatus = z.infer<typeof leaveStatusSchema>;
18
+ /**
19
+ * Leave duration type
20
+ */
21
+ export declare const leaveDurationTypeSchema: z.ZodEnum<["full_day", "half_day_am", "half_day_pm", "hours"]>;
22
+ export type LeaveDurationType = z.infer<typeof leaveDurationTypeSchema>;
23
+ export declare const createLeaveRequestSchema: z.ZodObject<{
24
+ leaveType: z.ZodEnum<["annual", "sick", "personal", "bereavement", "maternity", "paternity", "family_medical", "jury_duty", "military", "professional_development", "sabbatical", "unpaid", "other"]>;
25
+ startDate: z.ZodEffects<z.ZodString, string, string>;
26
+ endDate: z.ZodEffects<z.ZodString, string, string>;
27
+ durationType: z.ZodDefault<z.ZodEnum<["full_day", "half_day_am", "half_day_pm", "hours"]>>;
28
+ hours: z.ZodOptional<z.ZodNumber>;
29
+ reason: z.ZodOptional<z.ZodString>;
30
+ notes: z.ZodOptional<z.ZodString>;
31
+ documentUrl: z.ZodOptional<z.ZodString>;
32
+ documentFileName: z.ZodOptional<z.ZodString>;
33
+ substituteStaffId: z.ZodOptional<z.ZodString>;
34
+ coverageNotes: z.ZodOptional<z.ZodString>;
35
+ emergencyContact: z.ZodOptional<z.ZodObject<{
36
+ name: z.ZodString;
37
+ phone: z.ZodString;
38
+ email: z.ZodOptional<z.ZodString>;
39
+ }, "strip", z.ZodTypeAny, {
40
+ name: string;
41
+ phone: string;
42
+ email?: string | undefined;
43
+ }, {
44
+ name: string;
45
+ phone: string;
46
+ email?: string | undefined;
47
+ }>>;
48
+ }, "strip", z.ZodTypeAny, {
49
+ startDate: string;
50
+ endDate: string;
51
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
52
+ durationType: "full_day" | "half_day_am" | "half_day_pm" | "hours";
53
+ reason?: string | undefined;
54
+ notes?: string | undefined;
55
+ documentUrl?: string | undefined;
56
+ documentFileName?: string | undefined;
57
+ hours?: number | undefined;
58
+ substituteStaffId?: string | undefined;
59
+ coverageNotes?: string | undefined;
60
+ emergencyContact?: {
61
+ name: string;
62
+ phone: string;
63
+ email?: string | undefined;
64
+ } | undefined;
65
+ }, {
66
+ startDate: string;
67
+ endDate: string;
68
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
69
+ reason?: string | undefined;
70
+ notes?: string | undefined;
71
+ documentUrl?: string | undefined;
72
+ documentFileName?: string | undefined;
73
+ hours?: number | undefined;
74
+ durationType?: "full_day" | "half_day_am" | "half_day_pm" | "hours" | undefined;
75
+ substituteStaffId?: string | undefined;
76
+ coverageNotes?: string | undefined;
77
+ emergencyContact?: {
78
+ name: string;
79
+ phone: string;
80
+ email?: string | undefined;
81
+ } | undefined;
82
+ }>;
83
+ export declare const createLeaveRequestWithValidationSchema: z.ZodEffects<z.ZodObject<{
84
+ leaveType: z.ZodEnum<["annual", "sick", "personal", "bereavement", "maternity", "paternity", "family_medical", "jury_duty", "military", "professional_development", "sabbatical", "unpaid", "other"]>;
85
+ startDate: z.ZodEffects<z.ZodString, string, string>;
86
+ endDate: z.ZodEffects<z.ZodString, string, string>;
87
+ durationType: z.ZodDefault<z.ZodEnum<["full_day", "half_day_am", "half_day_pm", "hours"]>>;
88
+ hours: z.ZodOptional<z.ZodNumber>;
89
+ reason: z.ZodOptional<z.ZodString>;
90
+ notes: z.ZodOptional<z.ZodString>;
91
+ documentUrl: z.ZodOptional<z.ZodString>;
92
+ documentFileName: z.ZodOptional<z.ZodString>;
93
+ substituteStaffId: z.ZodOptional<z.ZodString>;
94
+ coverageNotes: z.ZodOptional<z.ZodString>;
95
+ emergencyContact: z.ZodOptional<z.ZodObject<{
96
+ name: z.ZodString;
97
+ phone: z.ZodString;
98
+ email: z.ZodOptional<z.ZodString>;
99
+ }, "strip", z.ZodTypeAny, {
100
+ name: string;
101
+ phone: string;
102
+ email?: string | undefined;
103
+ }, {
104
+ name: string;
105
+ phone: string;
106
+ email?: string | undefined;
107
+ }>>;
108
+ }, "strip", z.ZodTypeAny, {
109
+ startDate: string;
110
+ endDate: string;
111
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
112
+ durationType: "full_day" | "half_day_am" | "half_day_pm" | "hours";
113
+ reason?: string | undefined;
114
+ notes?: string | undefined;
115
+ documentUrl?: string | undefined;
116
+ documentFileName?: string | undefined;
117
+ hours?: number | undefined;
118
+ substituteStaffId?: string | undefined;
119
+ coverageNotes?: string | undefined;
120
+ emergencyContact?: {
121
+ name: string;
122
+ phone: string;
123
+ email?: string | undefined;
124
+ } | undefined;
125
+ }, {
126
+ startDate: string;
127
+ endDate: string;
128
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
129
+ reason?: string | undefined;
130
+ notes?: string | undefined;
131
+ documentUrl?: string | undefined;
132
+ documentFileName?: string | undefined;
133
+ hours?: number | undefined;
134
+ durationType?: "full_day" | "half_day_am" | "half_day_pm" | "hours" | undefined;
135
+ substituteStaffId?: string | undefined;
136
+ coverageNotes?: string | undefined;
137
+ emergencyContact?: {
138
+ name: string;
139
+ phone: string;
140
+ email?: string | undefined;
141
+ } | undefined;
142
+ }>, {
143
+ startDate: string;
144
+ endDate: string;
145
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
146
+ durationType: "full_day" | "half_day_am" | "half_day_pm" | "hours";
147
+ reason?: string | undefined;
148
+ notes?: string | undefined;
149
+ documentUrl?: string | undefined;
150
+ documentFileName?: string | undefined;
151
+ hours?: number | undefined;
152
+ substituteStaffId?: string | undefined;
153
+ coverageNotes?: string | undefined;
154
+ emergencyContact?: {
155
+ name: string;
156
+ phone: string;
157
+ email?: string | undefined;
158
+ } | undefined;
159
+ }, {
160
+ startDate: string;
161
+ endDate: string;
162
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
163
+ reason?: string | undefined;
164
+ notes?: string | undefined;
165
+ documentUrl?: string | undefined;
166
+ documentFileName?: string | undefined;
167
+ hours?: number | undefined;
168
+ durationType?: "full_day" | "half_day_am" | "half_day_pm" | "hours" | undefined;
169
+ substituteStaffId?: string | undefined;
170
+ coverageNotes?: string | undefined;
171
+ emergencyContact?: {
172
+ name: string;
173
+ phone: string;
174
+ email?: string | undefined;
175
+ } | undefined;
176
+ }>;
177
+ export type CreateLeaveRequestDto = z.infer<typeof createLeaveRequestWithValidationSchema>;
178
+ export declare const updateLeaveRequestSchema: z.ZodEffects<z.ZodObject<{
179
+ leaveType: z.ZodOptional<z.ZodEnum<["annual", "sick", "personal", "bereavement", "maternity", "paternity", "family_medical", "jury_duty", "military", "professional_development", "sabbatical", "unpaid", "other"]>>;
180
+ startDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
181
+ endDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
182
+ durationType: z.ZodOptional<z.ZodDefault<z.ZodEnum<["full_day", "half_day_am", "half_day_pm", "hours"]>>>;
183
+ hours: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
184
+ reason: z.ZodOptional<z.ZodOptional<z.ZodString>>;
185
+ notes: z.ZodOptional<z.ZodOptional<z.ZodString>>;
186
+ documentUrl: z.ZodOptional<z.ZodOptional<z.ZodString>>;
187
+ documentFileName: z.ZodOptional<z.ZodOptional<z.ZodString>>;
188
+ substituteStaffId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
189
+ coverageNotes: z.ZodOptional<z.ZodOptional<z.ZodString>>;
190
+ emergencyContact: z.ZodOptional<z.ZodOptional<z.ZodObject<{
191
+ name: z.ZodString;
192
+ phone: z.ZodString;
193
+ email: z.ZodOptional<z.ZodString>;
194
+ }, "strip", z.ZodTypeAny, {
195
+ name: string;
196
+ phone: string;
197
+ email?: string | undefined;
198
+ }, {
199
+ name: string;
200
+ phone: string;
201
+ email?: string | undefined;
202
+ }>>>;
203
+ }, "strip", z.ZodTypeAny, {
204
+ startDate?: string | undefined;
205
+ endDate?: string | undefined;
206
+ reason?: string | undefined;
207
+ notes?: string | undefined;
208
+ documentUrl?: string | undefined;
209
+ documentFileName?: string | undefined;
210
+ hours?: number | undefined;
211
+ leaveType?: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid" | undefined;
212
+ durationType?: "full_day" | "half_day_am" | "half_day_pm" | "hours" | undefined;
213
+ substituteStaffId?: string | undefined;
214
+ coverageNotes?: string | undefined;
215
+ emergencyContact?: {
216
+ name: string;
217
+ phone: string;
218
+ email?: string | undefined;
219
+ } | undefined;
220
+ }, {
221
+ startDate?: string | undefined;
222
+ endDate?: string | undefined;
223
+ reason?: string | undefined;
224
+ notes?: string | undefined;
225
+ documentUrl?: string | undefined;
226
+ documentFileName?: string | undefined;
227
+ hours?: number | undefined;
228
+ leaveType?: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid" | undefined;
229
+ durationType?: "full_day" | "half_day_am" | "half_day_pm" | "hours" | undefined;
230
+ substituteStaffId?: string | undefined;
231
+ coverageNotes?: string | undefined;
232
+ emergencyContact?: {
233
+ name: string;
234
+ phone: string;
235
+ email?: string | undefined;
236
+ } | undefined;
237
+ }>, {
238
+ startDate?: string | undefined;
239
+ endDate?: string | undefined;
240
+ reason?: string | undefined;
241
+ notes?: string | undefined;
242
+ documentUrl?: string | undefined;
243
+ documentFileName?: string | undefined;
244
+ hours?: number | undefined;
245
+ leaveType?: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid" | undefined;
246
+ durationType?: "full_day" | "half_day_am" | "half_day_pm" | "hours" | undefined;
247
+ substituteStaffId?: string | undefined;
248
+ coverageNotes?: string | undefined;
249
+ emergencyContact?: {
250
+ name: string;
251
+ phone: string;
252
+ email?: string | undefined;
253
+ } | undefined;
254
+ }, {
255
+ startDate?: string | undefined;
256
+ endDate?: string | undefined;
257
+ reason?: string | undefined;
258
+ notes?: string | undefined;
259
+ documentUrl?: string | undefined;
260
+ documentFileName?: string | undefined;
261
+ hours?: number | undefined;
262
+ leaveType?: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid" | undefined;
263
+ durationType?: "full_day" | "half_day_am" | "half_day_pm" | "hours" | undefined;
264
+ substituteStaffId?: string | undefined;
265
+ coverageNotes?: string | undefined;
266
+ emergencyContact?: {
267
+ name: string;
268
+ phone: string;
269
+ email?: string | undefined;
270
+ } | undefined;
271
+ }>;
272
+ export type UpdateLeaveRequestDto = z.infer<typeof updateLeaveRequestSchema>;
273
+ export declare const leaveRequestResponseSchema: z.ZodObject<{
274
+ leaveId: z.ZodString;
275
+ staffId: z.ZodString;
276
+ staffName: z.ZodString;
277
+ tenantId: z.ZodString;
278
+ schoolId: z.ZodString;
279
+ schoolName: z.ZodOptional<z.ZodString>;
280
+ leaveType: z.ZodEnum<["annual", "sick", "personal", "bereavement", "maternity", "paternity", "family_medical", "jury_duty", "military", "professional_development", "sabbatical", "unpaid", "other"]>;
281
+ startDate: z.ZodString;
282
+ endDate: z.ZodString;
283
+ durationType: z.ZodEnum<["full_day", "half_day_am", "half_day_pm", "hours"]>;
284
+ hours: z.ZodOptional<z.ZodNumber>;
285
+ totalDays: z.ZodNumber;
286
+ totalHours: z.ZodOptional<z.ZodNumber>;
287
+ reason: z.ZodOptional<z.ZodString>;
288
+ notes: z.ZodOptional<z.ZodString>;
289
+ documentUrl: z.ZodOptional<z.ZodString>;
290
+ status: z.ZodEnum<["pending", "approved", "rejected", "cancelled", "in_progress", "completed"]>;
291
+ approvedBy: z.ZodOptional<z.ZodString>;
292
+ approvedByName: z.ZodOptional<z.ZodString>;
293
+ approvedAt: z.ZodOptional<z.ZodString>;
294
+ rejectionReason: z.ZodOptional<z.ZodString>;
295
+ substituteStaffId: z.ZodOptional<z.ZodString>;
296
+ substituteStaffName: z.ZodOptional<z.ZodString>;
297
+ coverageNotes: z.ZodOptional<z.ZodString>;
298
+ emergencyContact: z.ZodOptional<z.ZodObject<{
299
+ name: z.ZodString;
300
+ phone: z.ZodString;
301
+ email: z.ZodOptional<z.ZodString>;
302
+ }, "strip", z.ZodTypeAny, {
303
+ name: string;
304
+ phone: string;
305
+ email?: string | undefined;
306
+ }, {
307
+ name: string;
308
+ phone: string;
309
+ email?: string | undefined;
310
+ }>>;
311
+ createdAt: z.ZodString;
312
+ updatedAt: z.ZodString;
313
+ }, "strip", z.ZodTypeAny, {
314
+ status: "completed" | "pending" | "rejected" | "approved" | "cancelled" | "in_progress";
315
+ tenantId: string;
316
+ createdAt: string;
317
+ updatedAt: string;
318
+ startDate: string;
319
+ endDate: string;
320
+ schoolId: string;
321
+ staffId: string;
322
+ staffName: string;
323
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
324
+ durationType: "full_day" | "half_day_am" | "half_day_pm" | "hours";
325
+ leaveId: string;
326
+ totalDays: number;
327
+ schoolName?: string | undefined;
328
+ reason?: string | undefined;
329
+ notes?: string | undefined;
330
+ documentUrl?: string | undefined;
331
+ hours?: number | undefined;
332
+ substituteStaffId?: string | undefined;
333
+ coverageNotes?: string | undefined;
334
+ emergencyContact?: {
335
+ name: string;
336
+ phone: string;
337
+ email?: string | undefined;
338
+ } | undefined;
339
+ totalHours?: number | undefined;
340
+ approvedBy?: string | undefined;
341
+ approvedByName?: string | undefined;
342
+ approvedAt?: string | undefined;
343
+ rejectionReason?: string | undefined;
344
+ substituteStaffName?: string | undefined;
345
+ }, {
346
+ status: "completed" | "pending" | "rejected" | "approved" | "cancelled" | "in_progress";
347
+ tenantId: string;
348
+ createdAt: string;
349
+ updatedAt: string;
350
+ startDate: string;
351
+ endDate: string;
352
+ schoolId: string;
353
+ staffId: string;
354
+ staffName: string;
355
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
356
+ durationType: "full_day" | "half_day_am" | "half_day_pm" | "hours";
357
+ leaveId: string;
358
+ totalDays: number;
359
+ schoolName?: string | undefined;
360
+ reason?: string | undefined;
361
+ notes?: string | undefined;
362
+ documentUrl?: string | undefined;
363
+ hours?: number | undefined;
364
+ substituteStaffId?: string | undefined;
365
+ coverageNotes?: string | undefined;
366
+ emergencyContact?: {
367
+ name: string;
368
+ phone: string;
369
+ email?: string | undefined;
370
+ } | undefined;
371
+ totalHours?: number | undefined;
372
+ approvedBy?: string | undefined;
373
+ approvedByName?: string | undefined;
374
+ approvedAt?: string | undefined;
375
+ rejectionReason?: string | undefined;
376
+ substituteStaffName?: string | undefined;
377
+ }>;
378
+ export type LeaveRequestResponseDto = z.infer<typeof leaveRequestResponseSchema>;
379
+ export declare const leaveListResponseSchema: z.ZodObject<{
380
+ items: z.ZodArray<z.ZodObject<{
381
+ leaveId: z.ZodString;
382
+ staffId: z.ZodString;
383
+ staffName: z.ZodString;
384
+ tenantId: z.ZodString;
385
+ schoolId: z.ZodString;
386
+ schoolName: z.ZodOptional<z.ZodString>;
387
+ leaveType: z.ZodEnum<["annual", "sick", "personal", "bereavement", "maternity", "paternity", "family_medical", "jury_duty", "military", "professional_development", "sabbatical", "unpaid", "other"]>;
388
+ startDate: z.ZodString;
389
+ endDate: z.ZodString;
390
+ durationType: z.ZodEnum<["full_day", "half_day_am", "half_day_pm", "hours"]>;
391
+ hours: z.ZodOptional<z.ZodNumber>;
392
+ totalDays: z.ZodNumber;
393
+ totalHours: z.ZodOptional<z.ZodNumber>;
394
+ reason: z.ZodOptional<z.ZodString>;
395
+ notes: z.ZodOptional<z.ZodString>;
396
+ documentUrl: z.ZodOptional<z.ZodString>;
397
+ status: z.ZodEnum<["pending", "approved", "rejected", "cancelled", "in_progress", "completed"]>;
398
+ approvedBy: z.ZodOptional<z.ZodString>;
399
+ approvedByName: z.ZodOptional<z.ZodString>;
400
+ approvedAt: z.ZodOptional<z.ZodString>;
401
+ rejectionReason: z.ZodOptional<z.ZodString>;
402
+ substituteStaffId: z.ZodOptional<z.ZodString>;
403
+ substituteStaffName: z.ZodOptional<z.ZodString>;
404
+ coverageNotes: z.ZodOptional<z.ZodString>;
405
+ emergencyContact: z.ZodOptional<z.ZodObject<{
406
+ name: z.ZodString;
407
+ phone: z.ZodString;
408
+ email: z.ZodOptional<z.ZodString>;
409
+ }, "strip", z.ZodTypeAny, {
410
+ name: string;
411
+ phone: string;
412
+ email?: string | undefined;
413
+ }, {
414
+ name: string;
415
+ phone: string;
416
+ email?: string | undefined;
417
+ }>>;
418
+ createdAt: z.ZodString;
419
+ updatedAt: z.ZodString;
420
+ }, "strip", z.ZodTypeAny, {
421
+ status: "completed" | "pending" | "rejected" | "approved" | "cancelled" | "in_progress";
422
+ tenantId: string;
423
+ createdAt: string;
424
+ updatedAt: string;
425
+ startDate: string;
426
+ endDate: string;
427
+ schoolId: string;
428
+ staffId: string;
429
+ staffName: string;
430
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
431
+ durationType: "full_day" | "half_day_am" | "half_day_pm" | "hours";
432
+ leaveId: string;
433
+ totalDays: number;
434
+ schoolName?: string | undefined;
435
+ reason?: string | undefined;
436
+ notes?: string | undefined;
437
+ documentUrl?: string | undefined;
438
+ hours?: number | undefined;
439
+ substituteStaffId?: string | undefined;
440
+ coverageNotes?: string | undefined;
441
+ emergencyContact?: {
442
+ name: string;
443
+ phone: string;
444
+ email?: string | undefined;
445
+ } | undefined;
446
+ totalHours?: number | undefined;
447
+ approvedBy?: string | undefined;
448
+ approvedByName?: string | undefined;
449
+ approvedAt?: string | undefined;
450
+ rejectionReason?: string | undefined;
451
+ substituteStaffName?: string | undefined;
452
+ }, {
453
+ status: "completed" | "pending" | "rejected" | "approved" | "cancelled" | "in_progress";
454
+ tenantId: string;
455
+ createdAt: string;
456
+ updatedAt: string;
457
+ startDate: string;
458
+ endDate: string;
459
+ schoolId: string;
460
+ staffId: string;
461
+ staffName: string;
462
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
463
+ durationType: "full_day" | "half_day_am" | "half_day_pm" | "hours";
464
+ leaveId: string;
465
+ totalDays: number;
466
+ schoolName?: string | undefined;
467
+ reason?: string | undefined;
468
+ notes?: string | undefined;
469
+ documentUrl?: string | undefined;
470
+ hours?: number | undefined;
471
+ substituteStaffId?: string | undefined;
472
+ coverageNotes?: string | undefined;
473
+ emergencyContact?: {
474
+ name: string;
475
+ phone: string;
476
+ email?: string | undefined;
477
+ } | undefined;
478
+ totalHours?: number | undefined;
479
+ approvedBy?: string | undefined;
480
+ approvedByName?: string | undefined;
481
+ approvedAt?: string | undefined;
482
+ rejectionReason?: string | undefined;
483
+ substituteStaffName?: string | undefined;
484
+ }>, "many">;
485
+ lastEvaluatedKey: z.ZodOptional<z.ZodString>;
486
+ hasMore: z.ZodBoolean;
487
+ total: z.ZodOptional<z.ZodNumber>;
488
+ }, "strip", z.ZodTypeAny, {
489
+ items: {
490
+ status: "completed" | "pending" | "rejected" | "approved" | "cancelled" | "in_progress";
491
+ tenantId: string;
492
+ createdAt: string;
493
+ updatedAt: string;
494
+ startDate: string;
495
+ endDate: string;
496
+ schoolId: string;
497
+ staffId: string;
498
+ staffName: string;
499
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
500
+ durationType: "full_day" | "half_day_am" | "half_day_pm" | "hours";
501
+ leaveId: string;
502
+ totalDays: number;
503
+ schoolName?: string | undefined;
504
+ reason?: string | undefined;
505
+ notes?: string | undefined;
506
+ documentUrl?: string | undefined;
507
+ hours?: number | undefined;
508
+ substituteStaffId?: string | undefined;
509
+ coverageNotes?: string | undefined;
510
+ emergencyContact?: {
511
+ name: string;
512
+ phone: string;
513
+ email?: string | undefined;
514
+ } | undefined;
515
+ totalHours?: number | undefined;
516
+ approvedBy?: string | undefined;
517
+ approvedByName?: string | undefined;
518
+ approvedAt?: string | undefined;
519
+ rejectionReason?: string | undefined;
520
+ substituteStaffName?: string | undefined;
521
+ }[];
522
+ hasMore: boolean;
523
+ lastEvaluatedKey?: string | undefined;
524
+ total?: number | undefined;
525
+ }, {
526
+ items: {
527
+ status: "completed" | "pending" | "rejected" | "approved" | "cancelled" | "in_progress";
528
+ tenantId: string;
529
+ createdAt: string;
530
+ updatedAt: string;
531
+ startDate: string;
532
+ endDate: string;
533
+ schoolId: string;
534
+ staffId: string;
535
+ staffName: string;
536
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
537
+ durationType: "full_day" | "half_day_am" | "half_day_pm" | "hours";
538
+ leaveId: string;
539
+ totalDays: number;
540
+ schoolName?: string | undefined;
541
+ reason?: string | undefined;
542
+ notes?: string | undefined;
543
+ documentUrl?: string | undefined;
544
+ hours?: number | undefined;
545
+ substituteStaffId?: string | undefined;
546
+ coverageNotes?: string | undefined;
547
+ emergencyContact?: {
548
+ name: string;
549
+ phone: string;
550
+ email?: string | undefined;
551
+ } | undefined;
552
+ totalHours?: number | undefined;
553
+ approvedBy?: string | undefined;
554
+ approvedByName?: string | undefined;
555
+ approvedAt?: string | undefined;
556
+ rejectionReason?: string | undefined;
557
+ substituteStaffName?: string | undefined;
558
+ }[];
559
+ hasMore: boolean;
560
+ lastEvaluatedKey?: string | undefined;
561
+ total?: number | undefined;
562
+ }>;
563
+ export type LeaveListResponseDto = z.infer<typeof leaveListResponseSchema>;
564
+ export declare const leaveFilterSchema: z.ZodObject<{
565
+ staffId: z.ZodOptional<z.ZodString>;
566
+ schoolId: z.ZodOptional<z.ZodString>;
567
+ leaveType: z.ZodOptional<z.ZodEnum<["annual", "sick", "personal", "bereavement", "maternity", "paternity", "family_medical", "jury_duty", "military", "professional_development", "sabbatical", "unpaid", "other"]>>;
568
+ status: z.ZodOptional<z.ZodEnum<["pending", "approved", "rejected", "cancelled", "in_progress", "completed"]>>;
569
+ startDateFrom: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
570
+ startDateTo: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
571
+ limit: z.ZodDefault<z.ZodNumber>;
572
+ cursor: z.ZodOptional<z.ZodString>;
573
+ }, "strip", z.ZodTypeAny, {
574
+ limit: number;
575
+ status?: "completed" | "pending" | "rejected" | "approved" | "cancelled" | "in_progress" | undefined;
576
+ cursor?: string | undefined;
577
+ schoolId?: string | undefined;
578
+ staffId?: string | undefined;
579
+ leaveType?: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid" | undefined;
580
+ startDateFrom?: string | undefined;
581
+ startDateTo?: string | undefined;
582
+ }, {
583
+ status?: "completed" | "pending" | "rejected" | "approved" | "cancelled" | "in_progress" | undefined;
584
+ limit?: number | undefined;
585
+ cursor?: string | undefined;
586
+ schoolId?: string | undefined;
587
+ staffId?: string | undefined;
588
+ leaveType?: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid" | undefined;
589
+ startDateFrom?: string | undefined;
590
+ startDateTo?: string | undefined;
591
+ }>;
592
+ export type LeaveFilterDto = z.infer<typeof leaveFilterSchema>;
593
+ export declare const approveLeaveSchema: z.ZodObject<{
594
+ approvalNotes: z.ZodOptional<z.ZodString>;
595
+ }, "strip", z.ZodTypeAny, {
596
+ approvalNotes?: string | undefined;
597
+ }, {
598
+ approvalNotes?: string | undefined;
599
+ }>;
600
+ export type ApproveLeaveDto = z.infer<typeof approveLeaveSchema>;
601
+ export declare const rejectLeaveSchema: z.ZodObject<{
602
+ rejectionReason: z.ZodString;
603
+ }, "strip", z.ZodTypeAny, {
604
+ rejectionReason: string;
605
+ }, {
606
+ rejectionReason: string;
607
+ }>;
608
+ export type RejectLeaveDto = z.infer<typeof rejectLeaveSchema>;
609
+ export declare const leaveBalanceSchema: z.ZodObject<{
610
+ staffId: z.ZodString;
611
+ fiscalYear: z.ZodString;
612
+ balances: z.ZodArray<z.ZodObject<{
613
+ leaveType: z.ZodEnum<["annual", "sick", "personal", "bereavement", "maternity", "paternity", "family_medical", "jury_duty", "military", "professional_development", "sabbatical", "unpaid", "other"]>;
614
+ accrued: z.ZodNumber;
615
+ used: z.ZodNumber;
616
+ pending: z.ZodNumber;
617
+ available: z.ZodNumber;
618
+ carryOver: z.ZodOptional<z.ZodNumber>;
619
+ }, "strip", z.ZodTypeAny, {
620
+ pending: number;
621
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
622
+ accrued: number;
623
+ used: number;
624
+ available: number;
625
+ carryOver?: number | undefined;
626
+ }, {
627
+ pending: number;
628
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
629
+ accrued: number;
630
+ used: number;
631
+ available: number;
632
+ carryOver?: number | undefined;
633
+ }>, "many">;
634
+ lastUpdated: z.ZodString;
635
+ }, "strip", z.ZodTypeAny, {
636
+ staffId: string;
637
+ fiscalYear: string;
638
+ balances: {
639
+ pending: number;
640
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
641
+ accrued: number;
642
+ used: number;
643
+ available: number;
644
+ carryOver?: number | undefined;
645
+ }[];
646
+ lastUpdated: string;
647
+ }, {
648
+ staffId: string;
649
+ fiscalYear: string;
650
+ balances: {
651
+ pending: number;
652
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
653
+ accrued: number;
654
+ used: number;
655
+ available: number;
656
+ carryOver?: number | undefined;
657
+ }[];
658
+ lastUpdated: string;
659
+ }>;
660
+ export type LeaveBalanceDto = z.infer<typeof leaveBalanceSchema>;
661
+ export declare const leaveSummarySchema: z.ZodObject<{
662
+ staffId: z.ZodString;
663
+ staffName: z.ZodString;
664
+ schoolId: z.ZodString;
665
+ totalDaysTaken: z.ZodNumber;
666
+ totalDaysRemaining: z.ZodNumber;
667
+ pendingRequests: z.ZodNumber;
668
+ upcomingLeave: z.ZodOptional<z.ZodArray<z.ZodObject<{
669
+ leaveId: z.ZodString;
670
+ leaveType: z.ZodEnum<["annual", "sick", "personal", "bereavement", "maternity", "paternity", "family_medical", "jury_duty", "military", "professional_development", "sabbatical", "unpaid", "other"]>;
671
+ startDate: z.ZodString;
672
+ endDate: z.ZodString;
673
+ status: z.ZodEnum<["pending", "approved", "rejected", "cancelled", "in_progress", "completed"]>;
674
+ }, "strip", z.ZodTypeAny, {
675
+ status: "completed" | "pending" | "rejected" | "approved" | "cancelled" | "in_progress";
676
+ startDate: string;
677
+ endDate: string;
678
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
679
+ leaveId: string;
680
+ }, {
681
+ status: "completed" | "pending" | "rejected" | "approved" | "cancelled" | "in_progress";
682
+ startDate: string;
683
+ endDate: string;
684
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
685
+ leaveId: string;
686
+ }>, "many">>;
687
+ }, "strip", z.ZodTypeAny, {
688
+ schoolId: string;
689
+ staffId: string;
690
+ staffName: string;
691
+ totalDaysTaken: number;
692
+ totalDaysRemaining: number;
693
+ pendingRequests: number;
694
+ upcomingLeave?: {
695
+ status: "completed" | "pending" | "rejected" | "approved" | "cancelled" | "in_progress";
696
+ startDate: string;
697
+ endDate: string;
698
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
699
+ leaveId: string;
700
+ }[] | undefined;
701
+ }, {
702
+ schoolId: string;
703
+ staffId: string;
704
+ staffName: string;
705
+ totalDaysTaken: number;
706
+ totalDaysRemaining: number;
707
+ pendingRequests: number;
708
+ upcomingLeave?: {
709
+ status: "completed" | "pending" | "rejected" | "approved" | "cancelled" | "in_progress";
710
+ startDate: string;
711
+ endDate: string;
712
+ leaveType: "professional_development" | "personal" | "other" | "annual" | "sick" | "bereavement" | "maternity" | "paternity" | "family_medical" | "jury_duty" | "military" | "sabbatical" | "unpaid";
713
+ leaveId: string;
714
+ }[] | undefined;
715
+ }>;
716
+ export type LeaveSummaryDto = z.infer<typeof leaveSummarySchema>;
717
+ export declare const cancelLeaveSchema: z.ZodObject<{
718
+ cancellationReason: z.ZodString;
719
+ }, "strip", z.ZodTypeAny, {
720
+ cancellationReason: string;
721
+ }, {
722
+ cancellationReason: string;
723
+ }>;
724
+ export type CancelLeaveDto = z.infer<typeof cancelLeaveSchema>;
725
+ //# sourceMappingURL=leave.schema.d.ts.map