@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,126 @@
1
+ "use strict";
2
+ /**
3
+ * Authentication Schemas - Identity Service
4
+ *
5
+ * Zod schemas for authentication DTOs.
6
+ * Single source of truth for auth data shapes used by both frontend and backend.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.resetPasswordSchema = exports.forgotPasswordSchema = exports.currentUserResponseSchema = exports.sessionInfoSchema = exports.logoutSchema = exports.refreshTokenResponseSchema = exports.refreshTokenSchema = exports.loginResponseSchema = exports.authUserSchema = exports.authUserPreferencesSchema = exports.authSchoolRoleSchema = exports.loginSchema = exports.deviceInfoSchema = void 0;
10
+ const zod_1 = require("zod");
11
+ const common_1 = require("../common");
12
+ const password_1 = require("../../validators/password");
13
+ const security_schema_1 = require("./security.schema");
14
+ // ============================================
15
+ // Device Info Schema
16
+ // ============================================
17
+ exports.deviceInfoSchema = zod_1.z.object({
18
+ deviceType: security_schema_1.deviceTypeSchema,
19
+ os: zod_1.z.string().optional(),
20
+ browser: zod_1.z.string().optional(),
21
+ });
22
+ // ============================================
23
+ // Login Schemas
24
+ // ============================================
25
+ exports.loginSchema = zod_1.z.object({
26
+ email: common_1.emailSchema,
27
+ password: zod_1.z.string().min(8, 'Password must be at least 8 characters'),
28
+ deviceId: zod_1.z.string().optional(),
29
+ });
30
+ // ============================================
31
+ // Auth School Role Schema (for auth context)
32
+ // ============================================
33
+ exports.authSchoolRoleSchema = zod_1.z.object({
34
+ schoolId: zod_1.z.string(),
35
+ schoolName: zod_1.z.string().optional(),
36
+ role: zod_1.z.string(),
37
+ departmentId: zod_1.z.string().optional(),
38
+ });
39
+ // ============================================
40
+ // User Preferences Schema (Auth Context)
41
+ // ============================================
42
+ exports.authUserPreferencesSchema = zod_1.z.object({
43
+ theme: zod_1.z.string(),
44
+ language: zod_1.z.string(),
45
+ timezone: zod_1.z.string(),
46
+ defaultSchoolId: zod_1.z.string().optional(),
47
+ });
48
+ // ============================================
49
+ // Authenticated User Schema
50
+ // ============================================
51
+ exports.authUserSchema = zod_1.z.object({
52
+ userId: zod_1.z.string(),
53
+ email: zod_1.z.string().email(),
54
+ firstName: zod_1.z.string(),
55
+ lastName: zod_1.z.string(),
56
+ displayName: zod_1.z.string().optional(),
57
+ phone: zod_1.z.string().optional(),
58
+ avatarUrl: zod_1.z.string().optional(),
59
+ globalRole: zod_1.z.string(), // Allow any string for flexibility
60
+ tenantId: zod_1.z.string(),
61
+ roles: zod_1.z.array(exports.authSchoolRoleSchema),
62
+ preferences: exports.authUserPreferencesSchema.optional(),
63
+ status: zod_1.z.string().optional(),
64
+ lastLoginAt: common_1.isoDateSchema.optional(),
65
+ mfaEnabled: zod_1.z.boolean().optional(),
66
+ createdAt: common_1.isoDateSchema.optional(),
67
+ updatedAt: common_1.isoDateSchema.optional(),
68
+ });
69
+ // ============================================
70
+ // Login Response Schema
71
+ // ============================================
72
+ exports.loginResponseSchema = zod_1.z.object({
73
+ accessToken: zod_1.z.string(),
74
+ refreshToken: zod_1.z.string(),
75
+ expiresIn: zod_1.z.number().int().positive(),
76
+ tokenType: zod_1.z.string().default('Bearer'),
77
+ user: exports.authUserSchema,
78
+ });
79
+ // ============================================
80
+ // Token Refresh Schemas
81
+ // ============================================
82
+ exports.refreshTokenSchema = zod_1.z.object({
83
+ refreshToken: zod_1.z.string().min(1, 'Refresh token is required'),
84
+ });
85
+ exports.refreshTokenResponseSchema = zod_1.z.object({
86
+ accessToken: zod_1.z.string(),
87
+ expiresIn: zod_1.z.number().int().positive(),
88
+ tokenType: zod_1.z.string().default('Bearer'),
89
+ });
90
+ // ============================================
91
+ // Logout Schema
92
+ // ============================================
93
+ exports.logoutSchema = zod_1.z.object({
94
+ sessionId: zod_1.z.string().optional(),
95
+ allSessions: zod_1.z.boolean().default(false).optional(),
96
+ revokeAll: zod_1.z.boolean().default(false).optional(),
97
+ });
98
+ // ============================================
99
+ // Session Info Schema
100
+ // ============================================
101
+ exports.sessionInfoSchema = zod_1.z.object({
102
+ sessionId: zod_1.z.string(),
103
+ createdAt: common_1.isoDateSchema,
104
+ expiresAt: common_1.isoDateSchema,
105
+ deviceInfo: exports.deviceInfoSchema.optional(),
106
+ ipAddress: zod_1.z.string().optional(),
107
+ });
108
+ // ============================================
109
+ // Current User Response Schema
110
+ // ============================================
111
+ exports.currentUserResponseSchema = zod_1.z.object({
112
+ user: exports.authUserSchema,
113
+ session: exports.sessionInfoSchema,
114
+ });
115
+ // ============================================
116
+ // Password Reset Schemas
117
+ // ============================================
118
+ exports.forgotPasswordSchema = zod_1.z.object({
119
+ email: common_1.emailSchema,
120
+ });
121
+ exports.resetPasswordSchema = zod_1.z.object({
122
+ email: common_1.emailSchema,
123
+ code: zod_1.z.string().min(1, 'Verification code is required'),
124
+ newPassword: password_1.passwordSchema,
125
+ });
126
+ //# sourceMappingURL=auth.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.schema.js","sourceRoot":"","sources":["../../../src/schemas/identity/auth.schema.ts"],"names":[],"mappings":"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"}