@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,1037 @@
1
+ /**
2
+ * Staff Schemas - Identity Service
3
+ *
4
+ * Zod schemas for staff management DTOs with Ed-Fi core fields alignment.
5
+ * Ed-Fi Data Standard: https://docs.ed-fi.org/reference/data-exchange/data-standard/
6
+ */
7
+ import { z } from 'zod';
8
+ /**
9
+ * Staff role within the organization
10
+ */
11
+ export declare const staffRoleSchema: z.ZodEnum<["teacher", "principal", "vice_principal", "counselor", "librarian", "nurse", "admin_staff", "support_staff", "it_staff", "substitute", "contractor"]>;
12
+ export type StaffRole = z.infer<typeof staffRoleSchema>;
13
+ /**
14
+ * Employment status (Ed-Fi: employmentStatusDescriptor)
15
+ */
16
+ export declare const employmentStatusSchema: z.ZodEnum<["active", "on_leave", "suspended", "terminated", "retired", "resigned"]>;
17
+ export type EmploymentStatus = z.infer<typeof employmentStatusSchema>;
18
+ /**
19
+ * Employment type
20
+ */
21
+ export declare const employmentTypeSchema: z.ZodEnum<["full_time", "part_time", "contract", "temporary", "volunteer"]>;
22
+ export type EmploymentType = z.infer<typeof employmentTypeSchema>;
23
+ /**
24
+ * Staff status in the system
25
+ */
26
+ export declare const staffStatusSchema: z.ZodEnum<["active", "inactive", "pending"]>;
27
+ export type StaffStatus = z.infer<typeof staffStatusSchema>;
28
+ /**
29
+ * Staff gender identity (Ed-Fi aligned)
30
+ */
31
+ export declare const staffGenderSchema: z.ZodEnum<["male", "female", "non_binary", "prefer_not_to_say"]>;
32
+ export type StaffGender = z.infer<typeof staffGenderSchema>;
33
+ export declare const staffAddressSchema: z.ZodObject<{
34
+ addressTypeDescriptor: z.ZodOptional<z.ZodEnum<["home", "mailing", "work", "temporary"]>>;
35
+ streetNumberName: z.ZodOptional<z.ZodString>;
36
+ apartmentRoomSuiteNumber: z.ZodOptional<z.ZodString>;
37
+ city: z.ZodOptional<z.ZodString>;
38
+ stateAbbreviationDescriptor: z.ZodOptional<z.ZodString>;
39
+ postalCode: z.ZodOptional<z.ZodString>;
40
+ country: z.ZodOptional<z.ZodString>;
41
+ }, "strip", z.ZodTypeAny, {
42
+ city?: string | undefined;
43
+ country?: string | undefined;
44
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
45
+ streetNumberName?: string | undefined;
46
+ apartmentRoomSuiteNumber?: string | undefined;
47
+ stateAbbreviationDescriptor?: string | undefined;
48
+ postalCode?: string | undefined;
49
+ }, {
50
+ city?: string | undefined;
51
+ country?: string | undefined;
52
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
53
+ streetNumberName?: string | undefined;
54
+ apartmentRoomSuiteNumber?: string | undefined;
55
+ stateAbbreviationDescriptor?: string | undefined;
56
+ postalCode?: string | undefined;
57
+ }>;
58
+ export type StaffAddress = z.infer<typeof staffAddressSchema>;
59
+ export declare const staffElectronicMailSchema: z.ZodObject<{
60
+ electronicMailAddress: z.ZodString;
61
+ electronicMailTypeDescriptor: z.ZodOptional<z.ZodEnum<["work", "personal", "other"]>>;
62
+ primaryEmailAddressIndicator: z.ZodOptional<z.ZodBoolean>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ electronicMailAddress: string;
65
+ electronicMailTypeDescriptor?: "work" | "personal" | "other" | undefined;
66
+ primaryEmailAddressIndicator?: boolean | undefined;
67
+ }, {
68
+ electronicMailAddress: string;
69
+ electronicMailTypeDescriptor?: "work" | "personal" | "other" | undefined;
70
+ primaryEmailAddressIndicator?: boolean | undefined;
71
+ }>;
72
+ export type StaffElectronicMail = z.infer<typeof staffElectronicMailSchema>;
73
+ export declare const staffTelephoneSchema: z.ZodObject<{
74
+ telephoneNumber: z.ZodString;
75
+ telephoneNumberTypeDescriptor: z.ZodOptional<z.ZodEnum<["home", "mobile", "work", "fax", "emergency"]>>;
76
+ orderOfPriority: z.ZodOptional<z.ZodNumber>;
77
+ }, "strip", z.ZodTypeAny, {
78
+ telephoneNumber: string;
79
+ telephoneNumberTypeDescriptor?: "fax" | "home" | "work" | "mobile" | "emergency" | undefined;
80
+ orderOfPriority?: number | undefined;
81
+ }, {
82
+ telephoneNumber: string;
83
+ telephoneNumberTypeDescriptor?: "fax" | "home" | "work" | "mobile" | "emergency" | undefined;
84
+ orderOfPriority?: number | undefined;
85
+ }>;
86
+ export type StaffTelephone = z.infer<typeof staffTelephoneSchema>;
87
+ export declare const staffSchoolAssignmentSchema: z.ZodObject<{
88
+ schoolId: z.ZodString;
89
+ schoolName: z.ZodOptional<z.ZodString>;
90
+ role: z.ZodEnum<["teacher", "principal", "vice_principal", "counselor", "librarian", "nurse", "admin_staff", "support_staff", "it_staff", "substitute", "contractor"]>;
91
+ department: z.ZodOptional<z.ZodString>;
92
+ isPrimary: z.ZodDefault<z.ZodBoolean>;
93
+ beginDate: z.ZodEffects<z.ZodString, string, string>;
94
+ endDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
95
+ positionTitle: z.ZodOptional<z.ZodString>;
96
+ fullTimeEquivalency: z.ZodOptional<z.ZodNumber>;
97
+ }, "strip", z.ZodTypeAny, {
98
+ schoolId: string;
99
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
100
+ isPrimary: boolean;
101
+ beginDate: string;
102
+ endDate?: string | undefined;
103
+ schoolName?: string | undefined;
104
+ department?: string | undefined;
105
+ positionTitle?: string | undefined;
106
+ fullTimeEquivalency?: number | undefined;
107
+ }, {
108
+ schoolId: string;
109
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
110
+ beginDate: string;
111
+ endDate?: string | undefined;
112
+ schoolName?: string | undefined;
113
+ department?: string | undefined;
114
+ isPrimary?: boolean | undefined;
115
+ positionTitle?: string | undefined;
116
+ fullTimeEquivalency?: number | undefined;
117
+ }>;
118
+ export type StaffSchoolAssignment = z.infer<typeof staffSchoolAssignmentSchema>;
119
+ export declare const staffEmergencyContactSchema: z.ZodObject<{
120
+ name: z.ZodString;
121
+ relationship: z.ZodString;
122
+ phone: z.ZodString;
123
+ alternatePhone: z.ZodOptional<z.ZodString>;
124
+ email: z.ZodOptional<z.ZodString>;
125
+ }, "strip", z.ZodTypeAny, {
126
+ name: string;
127
+ phone: string;
128
+ relationship: string;
129
+ email?: string | undefined;
130
+ alternatePhone?: string | undefined;
131
+ }, {
132
+ name: string;
133
+ phone: string;
134
+ relationship: string;
135
+ email?: string | undefined;
136
+ alternatePhone?: string | undefined;
137
+ }>;
138
+ export type StaffEmergencyContact = z.infer<typeof staffEmergencyContactSchema>;
139
+ export declare const createStaffSchema: z.ZodObject<{
140
+ userId: z.ZodOptional<z.ZodString>;
141
+ staffUniqueId: z.ZodString;
142
+ firstName: z.ZodString;
143
+ lastSurname: z.ZodString;
144
+ middleName: z.ZodOptional<z.ZodString>;
145
+ generationCodeSuffix: z.ZodOptional<z.ZodString>;
146
+ maidenName: z.ZodOptional<z.ZodString>;
147
+ birthDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
148
+ gender: z.ZodOptional<z.ZodEnum<["male", "female", "non_binary", "prefer_not_to_say"]>>;
149
+ hispanicLatinoEthnicity: z.ZodOptional<z.ZodBoolean>;
150
+ primarySchoolId: z.ZodString;
151
+ role: z.ZodEnum<["teacher", "principal", "vice_principal", "counselor", "librarian", "nurse", "admin_staff", "support_staff", "it_staff", "substitute", "contractor"]>;
152
+ employmentType: z.ZodDefault<z.ZodEnum<["full_time", "part_time", "contract", "temporary", "volunteer"]>>;
153
+ hireDate: z.ZodEffects<z.ZodString, string, string>;
154
+ email: z.ZodString;
155
+ phone: z.ZodOptional<z.ZodString>;
156
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
157
+ addressTypeDescriptor: z.ZodOptional<z.ZodEnum<["home", "mailing", "work", "temporary"]>>;
158
+ streetNumberName: z.ZodOptional<z.ZodString>;
159
+ apartmentRoomSuiteNumber: z.ZodOptional<z.ZodString>;
160
+ city: z.ZodOptional<z.ZodString>;
161
+ stateAbbreviationDescriptor: z.ZodOptional<z.ZodString>;
162
+ postalCode: z.ZodOptional<z.ZodString>;
163
+ country: z.ZodOptional<z.ZodString>;
164
+ }, "strip", z.ZodTypeAny, {
165
+ city?: string | undefined;
166
+ country?: string | undefined;
167
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
168
+ streetNumberName?: string | undefined;
169
+ apartmentRoomSuiteNumber?: string | undefined;
170
+ stateAbbreviationDescriptor?: string | undefined;
171
+ postalCode?: string | undefined;
172
+ }, {
173
+ city?: string | undefined;
174
+ country?: string | undefined;
175
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
176
+ streetNumberName?: string | undefined;
177
+ apartmentRoomSuiteNumber?: string | undefined;
178
+ stateAbbreviationDescriptor?: string | undefined;
179
+ postalCode?: string | undefined;
180
+ }>, "many">>;
181
+ telephones: z.ZodOptional<z.ZodArray<z.ZodObject<{
182
+ telephoneNumber: z.ZodString;
183
+ telephoneNumberTypeDescriptor: z.ZodOptional<z.ZodEnum<["home", "mobile", "work", "fax", "emergency"]>>;
184
+ orderOfPriority: z.ZodOptional<z.ZodNumber>;
185
+ }, "strip", z.ZodTypeAny, {
186
+ telephoneNumber: string;
187
+ telephoneNumberTypeDescriptor?: "fax" | "home" | "work" | "mobile" | "emergency" | undefined;
188
+ orderOfPriority?: number | undefined;
189
+ }, {
190
+ telephoneNumber: string;
191
+ telephoneNumberTypeDescriptor?: "fax" | "home" | "work" | "mobile" | "emergency" | undefined;
192
+ orderOfPriority?: number | undefined;
193
+ }>, "many">>;
194
+ department: z.ZodOptional<z.ZodString>;
195
+ title: z.ZodOptional<z.ZodString>;
196
+ highlyQualifiedTeacher: z.ZodOptional<z.ZodBoolean>;
197
+ yearsOfPriorTeachingExperience: z.ZodOptional<z.ZodNumber>;
198
+ yearsOfPriorProfessionalExperience: z.ZodOptional<z.ZodNumber>;
199
+ emergencyContacts: z.ZodOptional<z.ZodArray<z.ZodObject<{
200
+ name: z.ZodString;
201
+ relationship: z.ZodString;
202
+ phone: z.ZodString;
203
+ alternatePhone: z.ZodOptional<z.ZodString>;
204
+ email: z.ZodOptional<z.ZodString>;
205
+ }, "strip", z.ZodTypeAny, {
206
+ name: string;
207
+ phone: string;
208
+ relationship: string;
209
+ email?: string | undefined;
210
+ alternatePhone?: string | undefined;
211
+ }, {
212
+ name: string;
213
+ phone: string;
214
+ relationship: string;
215
+ email?: string | undefined;
216
+ alternatePhone?: string | undefined;
217
+ }>, "many">>;
218
+ }, "strip", z.ZodTypeAny, {
219
+ email: string;
220
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
221
+ staffUniqueId: string;
222
+ firstName: string;
223
+ lastSurname: string;
224
+ primarySchoolId: string;
225
+ employmentType: "full_time" | "part_time" | "contract" | "temporary" | "volunteer";
226
+ hireDate: string;
227
+ userId?: string | undefined;
228
+ phone?: string | undefined;
229
+ department?: string | undefined;
230
+ middleName?: string | undefined;
231
+ generationCodeSuffix?: string | undefined;
232
+ maidenName?: string | undefined;
233
+ birthDate?: string | undefined;
234
+ gender?: "male" | "female" | "non_binary" | "prefer_not_to_say" | undefined;
235
+ hispanicLatinoEthnicity?: boolean | undefined;
236
+ addresses?: {
237
+ city?: string | undefined;
238
+ country?: string | undefined;
239
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
240
+ streetNumberName?: string | undefined;
241
+ apartmentRoomSuiteNumber?: string | undefined;
242
+ stateAbbreviationDescriptor?: string | undefined;
243
+ postalCode?: string | undefined;
244
+ }[] | undefined;
245
+ telephones?: {
246
+ telephoneNumber: string;
247
+ telephoneNumberTypeDescriptor?: "fax" | "home" | "work" | "mobile" | "emergency" | undefined;
248
+ orderOfPriority?: number | undefined;
249
+ }[] | undefined;
250
+ title?: string | undefined;
251
+ highlyQualifiedTeacher?: boolean | undefined;
252
+ yearsOfPriorTeachingExperience?: number | undefined;
253
+ yearsOfPriorProfessionalExperience?: number | undefined;
254
+ emergencyContacts?: {
255
+ name: string;
256
+ phone: string;
257
+ relationship: string;
258
+ email?: string | undefined;
259
+ alternatePhone?: string | undefined;
260
+ }[] | undefined;
261
+ }, {
262
+ email: string;
263
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
264
+ staffUniqueId: string;
265
+ firstName: string;
266
+ lastSurname: string;
267
+ primarySchoolId: string;
268
+ hireDate: string;
269
+ userId?: string | undefined;
270
+ phone?: string | undefined;
271
+ department?: string | undefined;
272
+ middleName?: string | undefined;
273
+ generationCodeSuffix?: string | undefined;
274
+ maidenName?: string | undefined;
275
+ birthDate?: string | undefined;
276
+ gender?: "male" | "female" | "non_binary" | "prefer_not_to_say" | undefined;
277
+ hispanicLatinoEthnicity?: boolean | undefined;
278
+ employmentType?: "full_time" | "part_time" | "contract" | "temporary" | "volunteer" | undefined;
279
+ addresses?: {
280
+ city?: string | undefined;
281
+ country?: string | undefined;
282
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
283
+ streetNumberName?: string | undefined;
284
+ apartmentRoomSuiteNumber?: string | undefined;
285
+ stateAbbreviationDescriptor?: string | undefined;
286
+ postalCode?: string | undefined;
287
+ }[] | undefined;
288
+ telephones?: {
289
+ telephoneNumber: string;
290
+ telephoneNumberTypeDescriptor?: "fax" | "home" | "work" | "mobile" | "emergency" | undefined;
291
+ orderOfPriority?: number | undefined;
292
+ }[] | undefined;
293
+ title?: string | undefined;
294
+ highlyQualifiedTeacher?: boolean | undefined;
295
+ yearsOfPriorTeachingExperience?: number | undefined;
296
+ yearsOfPriorProfessionalExperience?: number | undefined;
297
+ emergencyContacts?: {
298
+ name: string;
299
+ phone: string;
300
+ relationship: string;
301
+ email?: string | undefined;
302
+ alternatePhone?: string | undefined;
303
+ }[] | undefined;
304
+ }>;
305
+ export type CreateStaffDto = z.infer<typeof createStaffSchema>;
306
+ export declare const updateStaffSchema: z.ZodObject<z.objectUtil.extendShape<Omit<{
307
+ userId: z.ZodOptional<z.ZodOptional<z.ZodString>>;
308
+ staffUniqueId: z.ZodOptional<z.ZodString>;
309
+ firstName: z.ZodOptional<z.ZodString>;
310
+ lastSurname: z.ZodOptional<z.ZodString>;
311
+ middleName: z.ZodOptional<z.ZodOptional<z.ZodString>>;
312
+ generationCodeSuffix: z.ZodOptional<z.ZodOptional<z.ZodString>>;
313
+ maidenName: z.ZodOptional<z.ZodOptional<z.ZodString>>;
314
+ birthDate: z.ZodOptional<z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>>;
315
+ gender: z.ZodOptional<z.ZodOptional<z.ZodEnum<["male", "female", "non_binary", "prefer_not_to_say"]>>>;
316
+ hispanicLatinoEthnicity: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
317
+ primarySchoolId: z.ZodOptional<z.ZodString>;
318
+ role: z.ZodOptional<z.ZodEnum<["teacher", "principal", "vice_principal", "counselor", "librarian", "nurse", "admin_staff", "support_staff", "it_staff", "substitute", "contractor"]>>;
319
+ employmentType: z.ZodOptional<z.ZodDefault<z.ZodEnum<["full_time", "part_time", "contract", "temporary", "volunteer"]>>>;
320
+ hireDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
321
+ email: z.ZodOptional<z.ZodString>;
322
+ phone: z.ZodOptional<z.ZodOptional<z.ZodString>>;
323
+ addresses: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
324
+ addressTypeDescriptor: z.ZodOptional<z.ZodEnum<["home", "mailing", "work", "temporary"]>>;
325
+ streetNumberName: z.ZodOptional<z.ZodString>;
326
+ apartmentRoomSuiteNumber: z.ZodOptional<z.ZodString>;
327
+ city: z.ZodOptional<z.ZodString>;
328
+ stateAbbreviationDescriptor: z.ZodOptional<z.ZodString>;
329
+ postalCode: z.ZodOptional<z.ZodString>;
330
+ country: z.ZodOptional<z.ZodString>;
331
+ }, "strip", z.ZodTypeAny, {
332
+ city?: string | undefined;
333
+ country?: string | undefined;
334
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
335
+ streetNumberName?: string | undefined;
336
+ apartmentRoomSuiteNumber?: string | undefined;
337
+ stateAbbreviationDescriptor?: string | undefined;
338
+ postalCode?: string | undefined;
339
+ }, {
340
+ city?: string | undefined;
341
+ country?: string | undefined;
342
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
343
+ streetNumberName?: string | undefined;
344
+ apartmentRoomSuiteNumber?: string | undefined;
345
+ stateAbbreviationDescriptor?: string | undefined;
346
+ postalCode?: string | undefined;
347
+ }>, "many">>>;
348
+ telephones: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
349
+ telephoneNumber: z.ZodString;
350
+ telephoneNumberTypeDescriptor: z.ZodOptional<z.ZodEnum<["home", "mobile", "work", "fax", "emergency"]>>;
351
+ orderOfPriority: z.ZodOptional<z.ZodNumber>;
352
+ }, "strip", z.ZodTypeAny, {
353
+ telephoneNumber: string;
354
+ telephoneNumberTypeDescriptor?: "fax" | "home" | "work" | "mobile" | "emergency" | undefined;
355
+ orderOfPriority?: number | undefined;
356
+ }, {
357
+ telephoneNumber: string;
358
+ telephoneNumberTypeDescriptor?: "fax" | "home" | "work" | "mobile" | "emergency" | undefined;
359
+ orderOfPriority?: number | undefined;
360
+ }>, "many">>>;
361
+ department: z.ZodOptional<z.ZodOptional<z.ZodString>>;
362
+ title: z.ZodOptional<z.ZodOptional<z.ZodString>>;
363
+ highlyQualifiedTeacher: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
364
+ yearsOfPriorTeachingExperience: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
365
+ yearsOfPriorProfessionalExperience: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
366
+ emergencyContacts: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodObject<{
367
+ name: z.ZodString;
368
+ relationship: z.ZodString;
369
+ phone: z.ZodString;
370
+ alternatePhone: z.ZodOptional<z.ZodString>;
371
+ email: z.ZodOptional<z.ZodString>;
372
+ }, "strip", z.ZodTypeAny, {
373
+ name: string;
374
+ phone: string;
375
+ relationship: string;
376
+ email?: string | undefined;
377
+ alternatePhone?: string | undefined;
378
+ }, {
379
+ name: string;
380
+ phone: string;
381
+ relationship: string;
382
+ email?: string | undefined;
383
+ alternatePhone?: string | undefined;
384
+ }>, "many">>>;
385
+ }, "staffUniqueId" | "primarySchoolId">, {
386
+ employmentStatus: z.ZodOptional<z.ZodEnum<["active", "on_leave", "suspended", "terminated", "retired", "resigned"]>>;
387
+ terminationDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
388
+ terminationReason: z.ZodOptional<z.ZodString>;
389
+ status: z.ZodOptional<z.ZodEnum<["active", "inactive", "pending"]>>;
390
+ }>, "strip", z.ZodTypeAny, {
391
+ status?: "active" | "inactive" | "pending" | undefined;
392
+ userId?: string | undefined;
393
+ phone?: string | undefined;
394
+ email?: string | undefined;
395
+ role?: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor" | undefined;
396
+ department?: string | undefined;
397
+ firstName?: string | undefined;
398
+ lastSurname?: string | undefined;
399
+ middleName?: string | undefined;
400
+ generationCodeSuffix?: string | undefined;
401
+ maidenName?: string | undefined;
402
+ birthDate?: string | undefined;
403
+ gender?: "male" | "female" | "non_binary" | "prefer_not_to_say" | undefined;
404
+ hispanicLatinoEthnicity?: boolean | undefined;
405
+ employmentType?: "full_time" | "part_time" | "contract" | "temporary" | "volunteer" | undefined;
406
+ hireDate?: string | undefined;
407
+ addresses?: {
408
+ city?: string | undefined;
409
+ country?: string | undefined;
410
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
411
+ streetNumberName?: string | undefined;
412
+ apartmentRoomSuiteNumber?: string | undefined;
413
+ stateAbbreviationDescriptor?: string | undefined;
414
+ postalCode?: string | undefined;
415
+ }[] | undefined;
416
+ telephones?: {
417
+ telephoneNumber: string;
418
+ telephoneNumberTypeDescriptor?: "fax" | "home" | "work" | "mobile" | "emergency" | undefined;
419
+ orderOfPriority?: number | undefined;
420
+ }[] | undefined;
421
+ title?: string | undefined;
422
+ highlyQualifiedTeacher?: boolean | undefined;
423
+ yearsOfPriorTeachingExperience?: number | undefined;
424
+ yearsOfPriorProfessionalExperience?: number | undefined;
425
+ emergencyContacts?: {
426
+ name: string;
427
+ phone: string;
428
+ relationship: string;
429
+ email?: string | undefined;
430
+ alternatePhone?: string | undefined;
431
+ }[] | undefined;
432
+ employmentStatus?: "active" | "suspended" | "on_leave" | "terminated" | "retired" | "resigned" | undefined;
433
+ terminationDate?: string | undefined;
434
+ terminationReason?: string | undefined;
435
+ }, {
436
+ status?: "active" | "inactive" | "pending" | undefined;
437
+ userId?: string | undefined;
438
+ phone?: string | undefined;
439
+ email?: string | undefined;
440
+ role?: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor" | undefined;
441
+ department?: string | undefined;
442
+ firstName?: string | undefined;
443
+ lastSurname?: string | undefined;
444
+ middleName?: string | undefined;
445
+ generationCodeSuffix?: string | undefined;
446
+ maidenName?: string | undefined;
447
+ birthDate?: string | undefined;
448
+ gender?: "male" | "female" | "non_binary" | "prefer_not_to_say" | undefined;
449
+ hispanicLatinoEthnicity?: boolean | undefined;
450
+ employmentType?: "full_time" | "part_time" | "contract" | "temporary" | "volunteer" | undefined;
451
+ hireDate?: string | undefined;
452
+ addresses?: {
453
+ city?: string | undefined;
454
+ country?: string | undefined;
455
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
456
+ streetNumberName?: string | undefined;
457
+ apartmentRoomSuiteNumber?: string | undefined;
458
+ stateAbbreviationDescriptor?: string | undefined;
459
+ postalCode?: string | undefined;
460
+ }[] | undefined;
461
+ telephones?: {
462
+ telephoneNumber: string;
463
+ telephoneNumberTypeDescriptor?: "fax" | "home" | "work" | "mobile" | "emergency" | undefined;
464
+ orderOfPriority?: number | undefined;
465
+ }[] | undefined;
466
+ title?: string | undefined;
467
+ highlyQualifiedTeacher?: boolean | undefined;
468
+ yearsOfPriorTeachingExperience?: number | undefined;
469
+ yearsOfPriorProfessionalExperience?: number | undefined;
470
+ emergencyContacts?: {
471
+ name: string;
472
+ phone: string;
473
+ relationship: string;
474
+ email?: string | undefined;
475
+ alternatePhone?: string | undefined;
476
+ }[] | undefined;
477
+ employmentStatus?: "active" | "suspended" | "on_leave" | "terminated" | "retired" | "resigned" | undefined;
478
+ terminationDate?: string | undefined;
479
+ terminationReason?: string | undefined;
480
+ }>;
481
+ export type UpdateStaffDto = z.infer<typeof updateStaffSchema>;
482
+ export declare const staffResponseSchema: z.ZodObject<{
483
+ staffId: z.ZodString;
484
+ staffUniqueId: z.ZodString;
485
+ tenantId: z.ZodString;
486
+ userId: z.ZodOptional<z.ZodString>;
487
+ firstName: z.ZodString;
488
+ lastSurname: z.ZodString;
489
+ middleName: z.ZodOptional<z.ZodString>;
490
+ generationCodeSuffix: z.ZodOptional<z.ZodString>;
491
+ birthDate: z.ZodOptional<z.ZodString>;
492
+ gender: z.ZodOptional<z.ZodEnum<["male", "female", "non_binary", "prefer_not_to_say"]>>;
493
+ email: z.ZodString;
494
+ phone: z.ZodOptional<z.ZodString>;
495
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
496
+ addressTypeDescriptor: z.ZodOptional<z.ZodEnum<["home", "mailing", "work", "temporary"]>>;
497
+ streetNumberName: z.ZodOptional<z.ZodString>;
498
+ apartmentRoomSuiteNumber: z.ZodOptional<z.ZodString>;
499
+ city: z.ZodOptional<z.ZodString>;
500
+ stateAbbreviationDescriptor: z.ZodOptional<z.ZodString>;
501
+ postalCode: z.ZodOptional<z.ZodString>;
502
+ country: z.ZodOptional<z.ZodString>;
503
+ }, "strip", z.ZodTypeAny, {
504
+ city?: string | undefined;
505
+ country?: string | undefined;
506
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
507
+ streetNumberName?: string | undefined;
508
+ apartmentRoomSuiteNumber?: string | undefined;
509
+ stateAbbreviationDescriptor?: string | undefined;
510
+ postalCode?: string | undefined;
511
+ }, {
512
+ city?: string | undefined;
513
+ country?: string | undefined;
514
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
515
+ streetNumberName?: string | undefined;
516
+ apartmentRoomSuiteNumber?: string | undefined;
517
+ stateAbbreviationDescriptor?: string | undefined;
518
+ postalCode?: string | undefined;
519
+ }>, "many">>;
520
+ primarySchoolId: z.ZodString;
521
+ primarySchoolName: z.ZodOptional<z.ZodString>;
522
+ schoolAssignments: z.ZodOptional<z.ZodArray<z.ZodObject<{
523
+ schoolId: z.ZodString;
524
+ schoolName: z.ZodOptional<z.ZodString>;
525
+ role: z.ZodEnum<["teacher", "principal", "vice_principal", "counselor", "librarian", "nurse", "admin_staff", "support_staff", "it_staff", "substitute", "contractor"]>;
526
+ department: z.ZodOptional<z.ZodString>;
527
+ isPrimary: z.ZodDefault<z.ZodBoolean>;
528
+ beginDate: z.ZodEffects<z.ZodString, string, string>;
529
+ endDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
530
+ positionTitle: z.ZodOptional<z.ZodString>;
531
+ fullTimeEquivalency: z.ZodOptional<z.ZodNumber>;
532
+ }, "strip", z.ZodTypeAny, {
533
+ schoolId: string;
534
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
535
+ isPrimary: boolean;
536
+ beginDate: string;
537
+ endDate?: string | undefined;
538
+ schoolName?: string | undefined;
539
+ department?: string | undefined;
540
+ positionTitle?: string | undefined;
541
+ fullTimeEquivalency?: number | undefined;
542
+ }, {
543
+ schoolId: string;
544
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
545
+ beginDate: string;
546
+ endDate?: string | undefined;
547
+ schoolName?: string | undefined;
548
+ department?: string | undefined;
549
+ isPrimary?: boolean | undefined;
550
+ positionTitle?: string | undefined;
551
+ fullTimeEquivalency?: number | undefined;
552
+ }>, "many">>;
553
+ role: z.ZodEnum<["teacher", "principal", "vice_principal", "counselor", "librarian", "nurse", "admin_staff", "support_staff", "it_staff", "substitute", "contractor"]>;
554
+ employmentType: z.ZodEnum<["full_time", "part_time", "contract", "temporary", "volunteer"]>;
555
+ employmentStatus: z.ZodEnum<["active", "on_leave", "suspended", "terminated", "retired", "resigned"]>;
556
+ hireDate: z.ZodString;
557
+ terminationDate: z.ZodOptional<z.ZodString>;
558
+ department: z.ZodOptional<z.ZodString>;
559
+ title: z.ZodOptional<z.ZodString>;
560
+ highlyQualifiedTeacher: z.ZodOptional<z.ZodBoolean>;
561
+ yearsOfPriorTeachingExperience: z.ZodOptional<z.ZodNumber>;
562
+ status: z.ZodEnum<["active", "inactive", "pending"]>;
563
+ credentialsCount: z.ZodOptional<z.ZodNumber>;
564
+ hispanicLatinoEthnicity: z.ZodOptional<z.ZodBoolean>;
565
+ createdAt: z.ZodString;
566
+ updatedAt: z.ZodString;
567
+ }, "strip", z.ZodTypeAny, {
568
+ status: "active" | "inactive" | "pending";
569
+ tenantId: string;
570
+ createdAt: string;
571
+ updatedAt: string;
572
+ email: string;
573
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
574
+ staffUniqueId: string;
575
+ firstName: string;
576
+ lastSurname: string;
577
+ primarySchoolId: string;
578
+ employmentType: "full_time" | "part_time" | "contract" | "temporary" | "volunteer";
579
+ hireDate: string;
580
+ employmentStatus: "active" | "suspended" | "on_leave" | "terminated" | "retired" | "resigned";
581
+ staffId: string;
582
+ userId?: string | undefined;
583
+ phone?: string | undefined;
584
+ department?: string | undefined;
585
+ middleName?: string | undefined;
586
+ generationCodeSuffix?: string | undefined;
587
+ birthDate?: string | undefined;
588
+ gender?: "male" | "female" | "non_binary" | "prefer_not_to_say" | undefined;
589
+ hispanicLatinoEthnicity?: boolean | undefined;
590
+ addresses?: {
591
+ city?: string | undefined;
592
+ country?: string | undefined;
593
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
594
+ streetNumberName?: string | undefined;
595
+ apartmentRoomSuiteNumber?: string | undefined;
596
+ stateAbbreviationDescriptor?: string | undefined;
597
+ postalCode?: string | undefined;
598
+ }[] | undefined;
599
+ title?: string | undefined;
600
+ highlyQualifiedTeacher?: boolean | undefined;
601
+ yearsOfPriorTeachingExperience?: number | undefined;
602
+ terminationDate?: string | undefined;
603
+ primarySchoolName?: string | undefined;
604
+ schoolAssignments?: {
605
+ schoolId: string;
606
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
607
+ isPrimary: boolean;
608
+ beginDate: string;
609
+ endDate?: string | undefined;
610
+ schoolName?: string | undefined;
611
+ department?: string | undefined;
612
+ positionTitle?: string | undefined;
613
+ fullTimeEquivalency?: number | undefined;
614
+ }[] | undefined;
615
+ credentialsCount?: number | undefined;
616
+ }, {
617
+ status: "active" | "inactive" | "pending";
618
+ tenantId: string;
619
+ createdAt: string;
620
+ updatedAt: string;
621
+ email: string;
622
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
623
+ staffUniqueId: string;
624
+ firstName: string;
625
+ lastSurname: string;
626
+ primarySchoolId: string;
627
+ employmentType: "full_time" | "part_time" | "contract" | "temporary" | "volunteer";
628
+ hireDate: string;
629
+ employmentStatus: "active" | "suspended" | "on_leave" | "terminated" | "retired" | "resigned";
630
+ staffId: string;
631
+ userId?: string | undefined;
632
+ phone?: string | undefined;
633
+ department?: string | undefined;
634
+ middleName?: string | undefined;
635
+ generationCodeSuffix?: string | undefined;
636
+ birthDate?: string | undefined;
637
+ gender?: "male" | "female" | "non_binary" | "prefer_not_to_say" | undefined;
638
+ hispanicLatinoEthnicity?: boolean | undefined;
639
+ addresses?: {
640
+ city?: string | undefined;
641
+ country?: string | undefined;
642
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
643
+ streetNumberName?: string | undefined;
644
+ apartmentRoomSuiteNumber?: string | undefined;
645
+ stateAbbreviationDescriptor?: string | undefined;
646
+ postalCode?: string | undefined;
647
+ }[] | undefined;
648
+ title?: string | undefined;
649
+ highlyQualifiedTeacher?: boolean | undefined;
650
+ yearsOfPriorTeachingExperience?: number | undefined;
651
+ terminationDate?: string | undefined;
652
+ primarySchoolName?: string | undefined;
653
+ schoolAssignments?: {
654
+ schoolId: string;
655
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
656
+ beginDate: string;
657
+ endDate?: string | undefined;
658
+ schoolName?: string | undefined;
659
+ department?: string | undefined;
660
+ isPrimary?: boolean | undefined;
661
+ positionTitle?: string | undefined;
662
+ fullTimeEquivalency?: number | undefined;
663
+ }[] | undefined;
664
+ credentialsCount?: number | undefined;
665
+ }>;
666
+ export type StaffResponseDto = z.infer<typeof staffResponseSchema>;
667
+ export declare const staffListResponseSchema: z.ZodObject<{
668
+ items: z.ZodArray<z.ZodObject<{
669
+ staffId: z.ZodString;
670
+ staffUniqueId: z.ZodString;
671
+ tenantId: z.ZodString;
672
+ userId: z.ZodOptional<z.ZodString>;
673
+ firstName: z.ZodString;
674
+ lastSurname: z.ZodString;
675
+ middleName: z.ZodOptional<z.ZodString>;
676
+ generationCodeSuffix: z.ZodOptional<z.ZodString>;
677
+ birthDate: z.ZodOptional<z.ZodString>;
678
+ gender: z.ZodOptional<z.ZodEnum<["male", "female", "non_binary", "prefer_not_to_say"]>>;
679
+ email: z.ZodString;
680
+ phone: z.ZodOptional<z.ZodString>;
681
+ addresses: z.ZodOptional<z.ZodArray<z.ZodObject<{
682
+ addressTypeDescriptor: z.ZodOptional<z.ZodEnum<["home", "mailing", "work", "temporary"]>>;
683
+ streetNumberName: z.ZodOptional<z.ZodString>;
684
+ apartmentRoomSuiteNumber: z.ZodOptional<z.ZodString>;
685
+ city: z.ZodOptional<z.ZodString>;
686
+ stateAbbreviationDescriptor: z.ZodOptional<z.ZodString>;
687
+ postalCode: z.ZodOptional<z.ZodString>;
688
+ country: z.ZodOptional<z.ZodString>;
689
+ }, "strip", z.ZodTypeAny, {
690
+ city?: string | undefined;
691
+ country?: string | undefined;
692
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
693
+ streetNumberName?: string | undefined;
694
+ apartmentRoomSuiteNumber?: string | undefined;
695
+ stateAbbreviationDescriptor?: string | undefined;
696
+ postalCode?: string | undefined;
697
+ }, {
698
+ city?: string | undefined;
699
+ country?: string | undefined;
700
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
701
+ streetNumberName?: string | undefined;
702
+ apartmentRoomSuiteNumber?: string | undefined;
703
+ stateAbbreviationDescriptor?: string | undefined;
704
+ postalCode?: string | undefined;
705
+ }>, "many">>;
706
+ primarySchoolId: z.ZodString;
707
+ primarySchoolName: z.ZodOptional<z.ZodString>;
708
+ schoolAssignments: z.ZodOptional<z.ZodArray<z.ZodObject<{
709
+ schoolId: z.ZodString;
710
+ schoolName: z.ZodOptional<z.ZodString>;
711
+ role: z.ZodEnum<["teacher", "principal", "vice_principal", "counselor", "librarian", "nurse", "admin_staff", "support_staff", "it_staff", "substitute", "contractor"]>;
712
+ department: z.ZodOptional<z.ZodString>;
713
+ isPrimary: z.ZodDefault<z.ZodBoolean>;
714
+ beginDate: z.ZodEffects<z.ZodString, string, string>;
715
+ endDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
716
+ positionTitle: z.ZodOptional<z.ZodString>;
717
+ fullTimeEquivalency: z.ZodOptional<z.ZodNumber>;
718
+ }, "strip", z.ZodTypeAny, {
719
+ schoolId: string;
720
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
721
+ isPrimary: boolean;
722
+ beginDate: string;
723
+ endDate?: string | undefined;
724
+ schoolName?: string | undefined;
725
+ department?: string | undefined;
726
+ positionTitle?: string | undefined;
727
+ fullTimeEquivalency?: number | undefined;
728
+ }, {
729
+ schoolId: string;
730
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
731
+ beginDate: string;
732
+ endDate?: string | undefined;
733
+ schoolName?: string | undefined;
734
+ department?: string | undefined;
735
+ isPrimary?: boolean | undefined;
736
+ positionTitle?: string | undefined;
737
+ fullTimeEquivalency?: number | undefined;
738
+ }>, "many">>;
739
+ role: z.ZodEnum<["teacher", "principal", "vice_principal", "counselor", "librarian", "nurse", "admin_staff", "support_staff", "it_staff", "substitute", "contractor"]>;
740
+ employmentType: z.ZodEnum<["full_time", "part_time", "contract", "temporary", "volunteer"]>;
741
+ employmentStatus: z.ZodEnum<["active", "on_leave", "suspended", "terminated", "retired", "resigned"]>;
742
+ hireDate: z.ZodString;
743
+ terminationDate: z.ZodOptional<z.ZodString>;
744
+ department: z.ZodOptional<z.ZodString>;
745
+ title: z.ZodOptional<z.ZodString>;
746
+ highlyQualifiedTeacher: z.ZodOptional<z.ZodBoolean>;
747
+ yearsOfPriorTeachingExperience: z.ZodOptional<z.ZodNumber>;
748
+ status: z.ZodEnum<["active", "inactive", "pending"]>;
749
+ credentialsCount: z.ZodOptional<z.ZodNumber>;
750
+ hispanicLatinoEthnicity: z.ZodOptional<z.ZodBoolean>;
751
+ createdAt: z.ZodString;
752
+ updatedAt: z.ZodString;
753
+ }, "strip", z.ZodTypeAny, {
754
+ status: "active" | "inactive" | "pending";
755
+ tenantId: string;
756
+ createdAt: string;
757
+ updatedAt: string;
758
+ email: string;
759
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
760
+ staffUniqueId: string;
761
+ firstName: string;
762
+ lastSurname: string;
763
+ primarySchoolId: string;
764
+ employmentType: "full_time" | "part_time" | "contract" | "temporary" | "volunteer";
765
+ hireDate: string;
766
+ employmentStatus: "active" | "suspended" | "on_leave" | "terminated" | "retired" | "resigned";
767
+ staffId: string;
768
+ userId?: string | undefined;
769
+ phone?: string | undefined;
770
+ department?: string | undefined;
771
+ middleName?: string | undefined;
772
+ generationCodeSuffix?: string | undefined;
773
+ birthDate?: string | undefined;
774
+ gender?: "male" | "female" | "non_binary" | "prefer_not_to_say" | undefined;
775
+ hispanicLatinoEthnicity?: boolean | undefined;
776
+ addresses?: {
777
+ city?: string | undefined;
778
+ country?: string | undefined;
779
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
780
+ streetNumberName?: string | undefined;
781
+ apartmentRoomSuiteNumber?: string | undefined;
782
+ stateAbbreviationDescriptor?: string | undefined;
783
+ postalCode?: string | undefined;
784
+ }[] | undefined;
785
+ title?: string | undefined;
786
+ highlyQualifiedTeacher?: boolean | undefined;
787
+ yearsOfPriorTeachingExperience?: number | undefined;
788
+ terminationDate?: string | undefined;
789
+ primarySchoolName?: string | undefined;
790
+ schoolAssignments?: {
791
+ schoolId: string;
792
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
793
+ isPrimary: boolean;
794
+ beginDate: string;
795
+ endDate?: string | undefined;
796
+ schoolName?: string | undefined;
797
+ department?: string | undefined;
798
+ positionTitle?: string | undefined;
799
+ fullTimeEquivalency?: number | undefined;
800
+ }[] | undefined;
801
+ credentialsCount?: number | undefined;
802
+ }, {
803
+ status: "active" | "inactive" | "pending";
804
+ tenantId: string;
805
+ createdAt: string;
806
+ updatedAt: string;
807
+ email: string;
808
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
809
+ staffUniqueId: string;
810
+ firstName: string;
811
+ lastSurname: string;
812
+ primarySchoolId: string;
813
+ employmentType: "full_time" | "part_time" | "contract" | "temporary" | "volunteer";
814
+ hireDate: string;
815
+ employmentStatus: "active" | "suspended" | "on_leave" | "terminated" | "retired" | "resigned";
816
+ staffId: string;
817
+ userId?: string | undefined;
818
+ phone?: string | undefined;
819
+ department?: string | undefined;
820
+ middleName?: string | undefined;
821
+ generationCodeSuffix?: string | undefined;
822
+ birthDate?: string | undefined;
823
+ gender?: "male" | "female" | "non_binary" | "prefer_not_to_say" | undefined;
824
+ hispanicLatinoEthnicity?: boolean | undefined;
825
+ addresses?: {
826
+ city?: string | undefined;
827
+ country?: string | undefined;
828
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
829
+ streetNumberName?: string | undefined;
830
+ apartmentRoomSuiteNumber?: string | undefined;
831
+ stateAbbreviationDescriptor?: string | undefined;
832
+ postalCode?: string | undefined;
833
+ }[] | undefined;
834
+ title?: string | undefined;
835
+ highlyQualifiedTeacher?: boolean | undefined;
836
+ yearsOfPriorTeachingExperience?: number | undefined;
837
+ terminationDate?: string | undefined;
838
+ primarySchoolName?: string | undefined;
839
+ schoolAssignments?: {
840
+ schoolId: string;
841
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
842
+ beginDate: string;
843
+ endDate?: string | undefined;
844
+ schoolName?: string | undefined;
845
+ department?: string | undefined;
846
+ isPrimary?: boolean | undefined;
847
+ positionTitle?: string | undefined;
848
+ fullTimeEquivalency?: number | undefined;
849
+ }[] | undefined;
850
+ credentialsCount?: number | undefined;
851
+ }>, "many">;
852
+ lastEvaluatedKey: z.ZodOptional<z.ZodString>;
853
+ hasMore: z.ZodBoolean;
854
+ total: z.ZodOptional<z.ZodNumber>;
855
+ }, "strip", z.ZodTypeAny, {
856
+ items: {
857
+ status: "active" | "inactive" | "pending";
858
+ tenantId: string;
859
+ createdAt: string;
860
+ updatedAt: string;
861
+ email: string;
862
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
863
+ staffUniqueId: string;
864
+ firstName: string;
865
+ lastSurname: string;
866
+ primarySchoolId: string;
867
+ employmentType: "full_time" | "part_time" | "contract" | "temporary" | "volunteer";
868
+ hireDate: string;
869
+ employmentStatus: "active" | "suspended" | "on_leave" | "terminated" | "retired" | "resigned";
870
+ staffId: string;
871
+ userId?: string | undefined;
872
+ phone?: string | undefined;
873
+ department?: string | undefined;
874
+ middleName?: string | undefined;
875
+ generationCodeSuffix?: string | undefined;
876
+ birthDate?: string | undefined;
877
+ gender?: "male" | "female" | "non_binary" | "prefer_not_to_say" | undefined;
878
+ hispanicLatinoEthnicity?: boolean | undefined;
879
+ addresses?: {
880
+ city?: string | undefined;
881
+ country?: string | undefined;
882
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
883
+ streetNumberName?: string | undefined;
884
+ apartmentRoomSuiteNumber?: string | undefined;
885
+ stateAbbreviationDescriptor?: string | undefined;
886
+ postalCode?: string | undefined;
887
+ }[] | undefined;
888
+ title?: string | undefined;
889
+ highlyQualifiedTeacher?: boolean | undefined;
890
+ yearsOfPriorTeachingExperience?: number | undefined;
891
+ terminationDate?: string | undefined;
892
+ primarySchoolName?: string | undefined;
893
+ schoolAssignments?: {
894
+ schoolId: string;
895
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
896
+ isPrimary: boolean;
897
+ beginDate: string;
898
+ endDate?: string | undefined;
899
+ schoolName?: string | undefined;
900
+ department?: string | undefined;
901
+ positionTitle?: string | undefined;
902
+ fullTimeEquivalency?: number | undefined;
903
+ }[] | undefined;
904
+ credentialsCount?: number | undefined;
905
+ }[];
906
+ hasMore: boolean;
907
+ lastEvaluatedKey?: string | undefined;
908
+ total?: number | undefined;
909
+ }, {
910
+ items: {
911
+ status: "active" | "inactive" | "pending";
912
+ tenantId: string;
913
+ createdAt: string;
914
+ updatedAt: string;
915
+ email: string;
916
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
917
+ staffUniqueId: string;
918
+ firstName: string;
919
+ lastSurname: string;
920
+ primarySchoolId: string;
921
+ employmentType: "full_time" | "part_time" | "contract" | "temporary" | "volunteer";
922
+ hireDate: string;
923
+ employmentStatus: "active" | "suspended" | "on_leave" | "terminated" | "retired" | "resigned";
924
+ staffId: string;
925
+ userId?: string | undefined;
926
+ phone?: string | undefined;
927
+ department?: string | undefined;
928
+ middleName?: string | undefined;
929
+ generationCodeSuffix?: string | undefined;
930
+ birthDate?: string | undefined;
931
+ gender?: "male" | "female" | "non_binary" | "prefer_not_to_say" | undefined;
932
+ hispanicLatinoEthnicity?: boolean | undefined;
933
+ addresses?: {
934
+ city?: string | undefined;
935
+ country?: string | undefined;
936
+ addressTypeDescriptor?: "temporary" | "home" | "mailing" | "work" | undefined;
937
+ streetNumberName?: string | undefined;
938
+ apartmentRoomSuiteNumber?: string | undefined;
939
+ stateAbbreviationDescriptor?: string | undefined;
940
+ postalCode?: string | undefined;
941
+ }[] | undefined;
942
+ title?: string | undefined;
943
+ highlyQualifiedTeacher?: boolean | undefined;
944
+ yearsOfPriorTeachingExperience?: number | undefined;
945
+ terminationDate?: string | undefined;
946
+ primarySchoolName?: string | undefined;
947
+ schoolAssignments?: {
948
+ schoolId: string;
949
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
950
+ beginDate: string;
951
+ endDate?: string | undefined;
952
+ schoolName?: string | undefined;
953
+ department?: string | undefined;
954
+ isPrimary?: boolean | undefined;
955
+ positionTitle?: string | undefined;
956
+ fullTimeEquivalency?: number | undefined;
957
+ }[] | undefined;
958
+ credentialsCount?: number | undefined;
959
+ }[];
960
+ hasMore: boolean;
961
+ lastEvaluatedKey?: string | undefined;
962
+ total?: number | undefined;
963
+ }>;
964
+ export type StaffListResponseDto = z.infer<typeof staffListResponseSchema>;
965
+ export declare const staffFilterSchema: z.ZodObject<{
966
+ schoolId: z.ZodOptional<z.ZodString>;
967
+ role: z.ZodOptional<z.ZodEnum<["teacher", "principal", "vice_principal", "counselor", "librarian", "nurse", "admin_staff", "support_staff", "it_staff", "substitute", "contractor"]>>;
968
+ employmentStatus: z.ZodOptional<z.ZodEnum<["active", "on_leave", "suspended", "terminated", "retired", "resigned"]>>;
969
+ department: z.ZodOptional<z.ZodString>;
970
+ search: z.ZodOptional<z.ZodString>;
971
+ limit: z.ZodDefault<z.ZodNumber>;
972
+ cursor: z.ZodOptional<z.ZodString>;
973
+ }, "strip", z.ZodTypeAny, {
974
+ limit: number;
975
+ cursor?: string | undefined;
976
+ schoolId?: string | undefined;
977
+ role?: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor" | undefined;
978
+ department?: string | undefined;
979
+ employmentStatus?: "active" | "suspended" | "on_leave" | "terminated" | "retired" | "resigned" | undefined;
980
+ search?: string | undefined;
981
+ }, {
982
+ limit?: number | undefined;
983
+ cursor?: string | undefined;
984
+ schoolId?: string | undefined;
985
+ role?: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor" | undefined;
986
+ department?: string | undefined;
987
+ employmentStatus?: "active" | "suspended" | "on_leave" | "terminated" | "retired" | "resigned" | undefined;
988
+ search?: string | undefined;
989
+ }>;
990
+ export type StaffFilterDto = z.infer<typeof staffFilterSchema>;
991
+ export declare const assignStaffToSchoolSchema: z.ZodObject<{
992
+ schoolId: z.ZodString;
993
+ role: z.ZodEnum<["teacher", "principal", "vice_principal", "counselor", "librarian", "nurse", "admin_staff", "support_staff", "it_staff", "substitute", "contractor"]>;
994
+ department: z.ZodOptional<z.ZodString>;
995
+ isPrimary: z.ZodDefault<z.ZodBoolean>;
996
+ beginDate: z.ZodEffects<z.ZodString, string, string>;
997
+ endDate: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
998
+ positionTitle: z.ZodOptional<z.ZodString>;
999
+ fullTimeEquivalency: z.ZodOptional<z.ZodNumber>;
1000
+ }, "strip", z.ZodTypeAny, {
1001
+ schoolId: string;
1002
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
1003
+ isPrimary: boolean;
1004
+ beginDate: string;
1005
+ endDate?: string | undefined;
1006
+ department?: string | undefined;
1007
+ positionTitle?: string | undefined;
1008
+ fullTimeEquivalency?: number | undefined;
1009
+ }, {
1010
+ schoolId: string;
1011
+ role: "teacher" | "principal" | "vice_principal" | "counselor" | "librarian" | "nurse" | "admin_staff" | "support_staff" | "it_staff" | "substitute" | "contractor";
1012
+ beginDate: string;
1013
+ endDate?: string | undefined;
1014
+ department?: string | undefined;
1015
+ isPrimary?: boolean | undefined;
1016
+ positionTitle?: string | undefined;
1017
+ fullTimeEquivalency?: number | undefined;
1018
+ }>;
1019
+ export type AssignStaffToSchoolDto = z.infer<typeof assignStaffToSchoolSchema>;
1020
+ export declare const updateEmploymentStatusSchema: z.ZodObject<{
1021
+ employmentStatus: z.ZodEnum<["active", "on_leave", "suspended", "terminated", "retired", "resigned"]>;
1022
+ effectiveDate: z.ZodEffects<z.ZodString, string, string>;
1023
+ reason: z.ZodOptional<z.ZodString>;
1024
+ notes: z.ZodOptional<z.ZodString>;
1025
+ }, "strip", z.ZodTypeAny, {
1026
+ employmentStatus: "active" | "suspended" | "on_leave" | "terminated" | "retired" | "resigned";
1027
+ effectiveDate: string;
1028
+ reason?: string | undefined;
1029
+ notes?: string | undefined;
1030
+ }, {
1031
+ employmentStatus: "active" | "suspended" | "on_leave" | "terminated" | "retired" | "resigned";
1032
+ effectiveDate: string;
1033
+ reason?: string | undefined;
1034
+ notes?: string | undefined;
1035
+ }>;
1036
+ export type UpdateEmploymentStatusDto = z.infer<typeof updateEmploymentStatusSchema>;
1037
+ //# sourceMappingURL=staff.schema.d.ts.map