@sekolaos/shared-schema 1.0.3 → 1.1.1

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 (63) hide show
  1. package/dist/cjs/academic/academic-year.schema.js +8 -1
  2. package/dist/cjs/academic/academic-year.schema.js.map +1 -1
  3. package/dist/cjs/academic/class-room.schema.js +10 -3
  4. package/dist/cjs/academic/class-room.schema.js.map +1 -1
  5. package/dist/cjs/academic/subject.schema.js +11 -2
  6. package/dist/cjs/academic/subject.schema.js.map +1 -1
  7. package/dist/cjs/academic/teaching-schedule.schema.js +10 -1
  8. package/dist/cjs/academic/teaching-schedule.schema.js.map +1 -1
  9. package/dist/cjs/attendance/attendance-class.schema.js +9 -1
  10. package/dist/cjs/attendance/attendance-class.schema.js.map +1 -1
  11. package/dist/cjs/attendance/attendance-kiosk.schema.js +48 -1
  12. package/dist/cjs/attendance/attendance-kiosk.schema.js.map +1 -1
  13. package/dist/cjs/attendance/barcode-rolling.schema.js +27 -1
  14. package/dist/cjs/attendance/barcode-rolling.schema.js.map +1 -1
  15. package/dist/cjs/attendance/picket-assignment.schema.js +7 -1
  16. package/dist/cjs/attendance/picket-assignment.schema.js.map +1 -1
  17. package/dist/cjs/common/common.schema.js +15 -1
  18. package/dist/cjs/common/common.schema.js.map +1 -1
  19. package/dist/cjs/tenant/tenant.schema.js +37 -1
  20. package/dist/cjs/tenant/tenant.schema.js.map +1 -1
  21. package/dist/cjs/user/student.schema.js +13 -1
  22. package/dist/cjs/user/student.schema.js.map +1 -1
  23. package/dist/cjs/user/user.schema.js +29 -1
  24. package/dist/cjs/user/user.schema.js.map +1 -1
  25. package/dist/esm/academic/academic-year.schema.js +8 -1
  26. package/dist/esm/academic/academic-year.schema.js.map +1 -1
  27. package/dist/esm/academic/class-room.schema.js +10 -3
  28. package/dist/esm/academic/class-room.schema.js.map +1 -1
  29. package/dist/esm/academic/subject.schema.js +11 -2
  30. package/dist/esm/academic/subject.schema.js.map +1 -1
  31. package/dist/esm/academic/teaching-schedule.schema.js +9 -0
  32. package/dist/esm/academic/teaching-schedule.schema.js.map +1 -1
  33. package/dist/esm/attendance/attendance-class.schema.js +8 -0
  34. package/dist/esm/attendance/attendance-class.schema.js.map +1 -1
  35. package/dist/esm/attendance/attendance-kiosk.schema.js +48 -1
  36. package/dist/esm/attendance/attendance-kiosk.schema.js.map +1 -1
  37. package/dist/esm/attendance/barcode-rolling.schema.js +26 -0
  38. package/dist/esm/attendance/barcode-rolling.schema.js.map +1 -1
  39. package/dist/esm/attendance/picket-assignment.schema.js +7 -1
  40. package/dist/esm/attendance/picket-assignment.schema.js.map +1 -1
  41. package/dist/esm/common/common.schema.js +14 -0
  42. package/dist/esm/common/common.schema.js.map +1 -1
  43. package/dist/esm/tenant/tenant.schema.js +36 -0
  44. package/dist/esm/tenant/tenant.schema.js.map +1 -1
  45. package/dist/esm/user/student.schema.js +13 -1
  46. package/dist/esm/user/student.schema.js.map +1 -1
  47. package/dist/esm/user/user.schema.js +29 -1
  48. package/dist/esm/user/user.schema.js.map +1 -1
  49. package/dist/types/academic/academic-year.schema.d.ts +29 -4
  50. package/dist/types/academic/class-room.schema.d.ts +37 -12
  51. package/dist/types/academic/subject.schema.d.ts +25 -2
  52. package/dist/types/academic/teaching-schedule.schema.d.ts +25 -0
  53. package/dist/types/attendance/attendance-class.schema.d.ts +23 -0
  54. package/dist/types/attendance/attendance-kiosk.schema.d.ts +281 -0
  55. package/dist/types/attendance/barcode-rolling.schema.d.ts +75 -0
  56. package/dist/types/attendance/picket-assignment.schema.d.ts +17 -0
  57. package/dist/types/auth/role.schema.d.ts +4 -4
  58. package/dist/types/common/common.schema.d.ts +12 -0
  59. package/dist/types/tenant/attendance-shift.schema.d.ts +8 -8
  60. package/dist/types/tenant/tenant.schema.d.ts +79 -5
  61. package/dist/types/user/student.schema.d.ts +43 -0
  62. package/dist/types/user/user.schema.d.ts +88 -2
  63. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.activateAcademicYearSchema = exports.updateAcademicYearSchema = exports.createAcademicYearSchema = exports.academicYearSchema = exports.academicYearNameSchema = exports.semesterEnum = void 0;
3
+ exports.academicYearListQuerySchema = exports.academicYearParamsSchema = exports.activateAcademicYearSchema = exports.updateAcademicYearSchema = exports.createAcademicYearSchema = exports.academicYearSchema = exports.academicYearNameSchema = exports.semesterEnum = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_schema_js_1 = require("../common/common.schema.js");
6
6
  exports.semesterEnum = zod_1.z.enum(["GANJIL", "GENAP"]);
@@ -40,4 +40,11 @@ exports.updateAcademicYearSchema = academicYearObjectSchema
40
40
  exports.activateAcademicYearSchema = zod_1.z.object({
41
41
  academicYearId: common_schema_js_1.uuidSchema,
42
42
  });
43
+ exports.academicYearParamsSchema = zod_1.z.object({
44
+ id: common_schema_js_1.uuidSchema,
45
+ });
46
+ exports.academicYearListQuerySchema = zod_1.z.object({
47
+ ...common_schema_js_1.paginationQueryShape,
48
+ semester: exports.semesterEnum.optional(),
49
+ });
43
50
  //# sourceMappingURL=academic-year.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"academic-year.schema.js","sourceRoot":"","sources":["../../../src/academic/academic-year.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAA0E;AAE7D,QAAA,YAAY,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAE3C,QAAA,sBAAsB,GAAG,OAAC;KACpC,MAAM,EAAE;KACR,KAAK,CAAC,gBAAgB,EAAE,8DAA8D,CAAC,CAAC;AAE3F,MAAM,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,6BAAU;IACd,QAAQ,EAAE,6BAAU;IACpB,IAAI,EAAE,8BAAsB;IAC5B,QAAQ,EAAE,oBAAY;IACtB,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE;IACrB,SAAS,EAAE,mCAAgB;IAC3B,OAAO,EAAE,mCAAgB;CAC1B,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAmD,MAAoB,EAAE,EAAE,CACnG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE;IACrD,OAAO,EAAE,qDAAqD;IAC9D,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC,CAAC;AAEQ,QAAA,kBAAkB,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AAEjE,QAAA,wBAAwB,GAAG,iBAAiB,CACvD,wBAAwB,CAAC,IAAI,CAAC;IAC5B,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;CACf,CAAC,CACH,CAAC;AAEW,QAAA,wBAAwB,GAAG,wBAAwB;KAC7D,IAAI,CAAC;IACJ,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;CACf,CAAC;KACD,OAAO,EAAE;KACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE;IACnF,OAAO,EAAE,qDAAqD;IAC9D,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC,CAAC;AAEQ,QAAA,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IACjD,cAAc,EAAE,6BAAU;CAC3B,CAAC,CAAC"}
1
+ {"version":3,"file":"academic-year.schema.js","sourceRoot":"","sources":["../../../src/academic/academic-year.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAAgG;AAEnF,QAAA,YAAY,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAE3C,QAAA,sBAAsB,GAAG,OAAC;KACpC,MAAM,EAAE;KACR,KAAK,CAAC,gBAAgB,EAAE,8DAA8D,CAAC,CAAC;AAE3F,MAAM,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,6BAAU;IACd,QAAQ,EAAE,6BAAU;IACpB,IAAI,EAAE,8BAAsB;IAC5B,QAAQ,EAAE,oBAAY;IACtB,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE;IACrB,SAAS,EAAE,mCAAgB;IAC3B,OAAO,EAAE,mCAAgB;CAC1B,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAmD,MAAoB,EAAE,EAAE,CACnG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE;IACrD,OAAO,EAAE,qDAAqD;IAC9D,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC,CAAC;AAEQ,QAAA,kBAAkB,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AAEjE,QAAA,wBAAwB,GAAG,iBAAiB,CACvD,wBAAwB,CAAC,IAAI,CAAC;IAC5B,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;CACf,CAAC,CACH,CAAC;AAEW,QAAA,wBAAwB,GAAG,wBAAwB;KAC7D,IAAI,CAAC;IACJ,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;CACf,CAAC;KACD,OAAO,EAAE;KACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE;IACnF,OAAO,EAAE,qDAAqD;IAC9D,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC,CAAC;AAEQ,QAAA,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IACjD,cAAc,EAAE,6BAAU;CAC3B,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,EAAE,EAAE,6BAAU;CACf,CAAC,CAAC;AAEU,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,GAAG,uCAAoB;IACvB,QAAQ,EAAE,oBAAY,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.promoteClassStudentsSchema = exports.updateClassroomSchema = exports.createClassroomSchema = exports.classroomSchema = void 0;
3
+ exports.promoteClassStudentsSchema = exports.classroomListQuerySchema = exports.classroomParamsSchema = exports.updateClassroomSchema = exports.createClassroomSchema = exports.classroomSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_schema_js_1 = require("../common/common.schema.js");
6
6
  exports.classroomSchema = zod_1.z.object({
@@ -9,7 +9,7 @@ exports.classroomSchema = zod_1.z.object({
9
9
  academicYearId: common_schema_js_1.uuidSchema,
10
10
  name: zod_1.z.string().min(1).max(50),
11
11
  gradeLevel: zod_1.z.string().min(1).max(10),
12
- homeroomTeacherId: common_schema_js_1.uuidSchema.optional().nullable(),
12
+ homeroomTeacherUserId: common_schema_js_1.uuidSchema.optional().nullable(),
13
13
  homeroomTeacherName: zod_1.z.string().optional().nullable(),
14
14
  totalStudents: zod_1.z.number().int().nonnegative().default(0),
15
15
  });
@@ -17,9 +17,16 @@ exports.createClassroomSchema = exports.classroomSchema.pick({
17
17
  academicYearId: true,
18
18
  name: true,
19
19
  gradeLevel: true,
20
- homeroomTeacherId: true,
20
+ homeroomTeacherUserId: true,
21
21
  });
22
22
  exports.updateClassroomSchema = exports.createClassroomSchema.partial();
23
+ exports.classroomParamsSchema = zod_1.z.object({
24
+ id: common_schema_js_1.uuidSchema,
25
+ });
26
+ exports.classroomListQuerySchema = zod_1.z.object({
27
+ ...common_schema_js_1.paginationQueryShape,
28
+ academicYearId: common_schema_js_1.uuidSchema.optional(),
29
+ });
23
30
  exports.promoteClassStudentsSchema = zod_1.z.object({
24
31
  sourceClassroomId: common_schema_js_1.uuidSchema,
25
32
  targetClassroomId: common_schema_js_1.uuidSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"class-room.schema.js","sourceRoot":"","sources":["../../../src/academic/class-room.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAAwD;AAE3C,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,6BAAU;IACd,QAAQ,EAAE,6BAAU;IACpB,cAAc,EAAE,6BAAU;IAC1B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,iBAAiB,EAAE,6BAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnD,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrD,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACzD,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,uBAAe,CAAC,IAAI,CAAC;IACxD,cAAc,EAAE,IAAI;IACpB,IAAI,EAAE,IAAI;IACV,UAAU,EAAE,IAAI;IAChB,iBAAiB,EAAE,IAAI;CACxB,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,6BAAqB,CAAC,OAAO,EAAE,CAAC;AAExD,QAAA,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IACjD,iBAAiB,EAAE,6BAAU;IAC7B,iBAAiB,EAAE,6BAAU;IAC7B,oBAAoB,EAAE,6BAAU;IAChC,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,6BAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,yDAAyD,CAAC;CAClG,CAAC,CAAC"}
1
+ {"version":3,"file":"class-room.schema.js","sourceRoot":"","sources":["../../../src/academic/class-room.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAA8E;AAEjE,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,6BAAU;IACd,QAAQ,EAAE,6BAAU;IACpB,cAAc,EAAE,6BAAU;IAC1B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,qBAAqB,EAAE,6BAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACvD,mBAAmB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrD,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACzD,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,uBAAe,CAAC,IAAI,CAAC;IACxD,cAAc,EAAE,IAAI;IACpB,IAAI,EAAE,IAAI;IACV,UAAU,EAAE,IAAI;IAChB,qBAAqB,EAAE,IAAI;CAC5B,CAAC,CAAC;AAEU,QAAA,qBAAqB,GAAG,6BAAqB,CAAC,OAAO,EAAE,CAAC;AAExD,QAAA,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,6BAAU;CACf,CAAC,CAAC;AAEU,QAAA,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC/C,GAAG,uCAAoB;IACvB,cAAc,EAAE,6BAAU,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEU,QAAA,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IACjD,iBAAiB,EAAE,6BAAU;IAC7B,iBAAiB,EAAE,6BAAU;IAC7B,oBAAoB,EAAE,6BAAU;IAChC,UAAU,EAAE,OAAC,CAAC,KAAK,CAAC,6BAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,yDAAyD,CAAC;CAClG,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateSubjectSchema = exports.createSubjectSchema = exports.subjectSchema = exports.subjectCodeSchema = void 0;
3
+ exports.subjectListQuerySchema = exports.subjectParamsSchema = exports.updateSubjectSchema = exports.createSubjectSchema = exports.subjectSchema = exports.subjectCodeSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_schema_js_1 = require("../common/common.schema.js");
6
6
  exports.subjectCodeSchema = zod_1.z.string().trim().min(2).max(20);
@@ -17,5 +17,14 @@ exports.createSubjectSchema = exports.subjectSchema.pick({
17
17
  name: true,
18
18
  description: true,
19
19
  });
20
- exports.updateSubjectSchema = exports.createSubjectSchema.partial();
20
+ exports.updateSubjectSchema = exports.createSubjectSchema.partial().extend({
21
+ isActive: zod_1.z.boolean().optional(),
22
+ });
23
+ exports.subjectParamsSchema = zod_1.z.object({
24
+ id: common_schema_js_1.uuidSchema,
25
+ });
26
+ exports.subjectListQuerySchema = zod_1.z.object({
27
+ search: zod_1.z.string().trim().optional(),
28
+ isActive: common_schema_js_1.booleanQuerySchema,
29
+ });
21
30
  //# sourceMappingURL=subject.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subject.schema.js","sourceRoot":"","sources":["../../../src/academic/subject.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAAwD;AAE3C,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAErD,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,6BAAU;IACd,QAAQ,EAAE,6BAAU;IACpB,IAAI,EAAE,yBAAiB;IACvB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtD,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACpC,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,qBAAa,CAAC,IAAI,CAAC;IACpD,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,IAAI;CAClB,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,2BAAmB,CAAC,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"subject.schema.js","sourceRoot":"","sources":["../../../src/academic/subject.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAA4E;AAE/D,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAErD,QAAA,aAAa,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,EAAE,EAAE,6BAAU;IACd,QAAQ,EAAE,6BAAU;IACpB,IAAI,EAAE,yBAAiB;IACvB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACtD,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACpC,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,qBAAa,CAAC,IAAI,CAAC;IACpD,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,WAAW,EAAE,IAAI;CAClB,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,2BAAmB,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC;IACtE,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,EAAE,EAAE,6BAAU;CACf,CAAC,CAAC;AAEU,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;IACpC,QAAQ,EAAE,qCAAkB;CAC7B,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateTeachingScheduleSchema = exports.createTeachingScheduleSchema = exports.teachingScheduleSchema = exports.periodNumberSchema = exports.dayOfWeekEnum = void 0;
3
+ exports.teachingScheduleListQuerySchema = exports.teachingScheduleParamsSchema = exports.updateTeachingScheduleSchema = exports.createTeachingScheduleSchema = exports.teachingScheduleSchema = exports.periodNumberSchema = exports.dayOfWeekEnum = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_schema_js_1 = require("../common/common.schema.js");
6
6
  exports.dayOfWeekEnum = zod_1.z.enum(["SENIN", "SELASA", "RABU", "KAMIS", "JUMAT", "SABTU"]);
@@ -46,4 +46,13 @@ exports.updateTeachingScheduleSchema = teachingScheduleObjectSchema
46
46
  message: "Jam selesai harus lebih besar dari jam mulai",
47
47
  path: ["endTime"],
48
48
  });
49
+ exports.teachingScheduleParamsSchema = zod_1.z.object({
50
+ id: common_schema_js_1.uuidSchema,
51
+ });
52
+ exports.teachingScheduleListQuerySchema = zod_1.z.object({
53
+ academicYearId: common_schema_js_1.uuidSchema.optional(),
54
+ classroomId: common_schema_js_1.uuidSchema.optional(),
55
+ teacherUserId: common_schema_js_1.uuidSchema.optional(),
56
+ subjectId: common_schema_js_1.uuidSchema.optional(),
57
+ });
49
58
  //# sourceMappingURL=teaching-schedule.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"teaching-schedule.schema.js","sourceRoot":"","sources":["../../../src/academic/teaching-schedule.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAA0E;AAE7D,QAAA,aAAa,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAE/E,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAElE,MAAM,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,6BAAU;IACd,QAAQ,EAAE,6BAAU;IACpB,cAAc,EAAE,6BAAU;IAC1B,WAAW,EAAE,6BAAU;IACvB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,aAAa,EAAE,6BAAU;IACzB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,6BAAU;IACrB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,qBAAa;IACxB,SAAS,EAAE,mCAAgB;IAC3B,OAAO,EAAE,mCAAgB;IACzB,YAAY,EAAE,0BAAkB,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEH,yEAAyE;AACzE,MAAM,gBAAgB,GAAG,CAAmD,MAAoB,EAAE,EAAE,CAClG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE;IACjE,OAAO,EAAE,8CAA8C;IACvD,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC,CAAC;AAEQ,QAAA,sBAAsB,GAAG,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;AAExE,QAAA,4BAA4B,GAAG,gBAAgB,CAC1D,4BAA4B,CAAC,IAAI,CAAC;IAChC,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,IAAI;IACd,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;CAClB,CAAC,CACH,CAAC;AAEW,QAAA,4BAA4B,GAAG,4BAA4B;KACrE,IAAI,CAAC;IACJ,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,IAAI;IACd,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;CAClB,CAAC;KACD,OAAO,EAAE;KACT,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE;IACvG,OAAO,EAAE,8CAA8C;IACvD,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC,CAAC"}
1
+ {"version":3,"file":"teaching-schedule.schema.js","sourceRoot":"","sources":["../../../src/academic/teaching-schedule.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAA0E;AAE7D,QAAA,aAAa,GAAG,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAE/E,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAElE,MAAM,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,6BAAU;IACd,QAAQ,EAAE,6BAAU;IACpB,cAAc,EAAE,6BAAU;IAC1B,WAAW,EAAE,6BAAU;IACvB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,aAAa,EAAE,6BAAU;IACzB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,6BAAU;IACrB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,qBAAa;IACxB,SAAS,EAAE,mCAAgB;IAC3B,OAAO,EAAE,mCAAgB;IACzB,YAAY,EAAE,0BAAkB,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC;AAEH,yEAAyE;AACzE,MAAM,gBAAgB,GAAG,CAAmD,MAAoB,EAAE,EAAE,CAClG,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE;IACjE,OAAO,EAAE,8CAA8C;IACvD,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC,CAAC;AAEQ,QAAA,sBAAsB,GAAG,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;AAExE,QAAA,4BAA4B,GAAG,gBAAgB,CAC1D,4BAA4B,CAAC,IAAI,CAAC;IAChC,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,IAAI;IACd,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;CAClB,CAAC,CACH,CAAC;AAEW,QAAA,4BAA4B,GAAG,4BAA4B;KACrE,IAAI,CAAC;IACJ,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,IAAI;IACd,aAAa,EAAE,IAAI;IACnB,WAAW,EAAE,IAAI;IACjB,WAAW,EAAE,IAAI;CAClB,CAAC;KACD,OAAO,EAAE;KACT,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,EAAE;IACvG,OAAO,EAAE,8CAA8C;IACvD,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC,CAAC;AAEQ,QAAA,4BAA4B,GAAG,OAAC,CAAC,MAAM,CAAC;IACnD,EAAE,EAAE,6BAAU;CACf,CAAC,CAAC;AAEU,QAAA,+BAA+B,GAAG,OAAC,CAAC,MAAM,CAAC;IACtD,cAAc,EAAE,6BAAU,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,6BAAU,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,6BAAU,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,6BAAU,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.updateClassAttendanceRequestSchema = exports.classAttendanceUpdateItemSchema = void 0;
3
+ exports.classUpdateAttendanceResultSchema = exports.updateClassAttendanceRequestSchema = exports.classAttendanceUpdateItemSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_schema_js_1 = require("../common/common.schema.js");
6
6
  const attendance_kiosk_schema_js_1 = require("./attendance-kiosk.schema.js");
@@ -16,4 +16,12 @@ exports.updateClassAttendanceRequestSchema = zod_1.z.object({
16
16
  date: zod_1.z.string().date(),
17
17
  attendances: zod_1.z.array(exports.classAttendanceUpdateItemSchema).min(1),
18
18
  });
19
+ exports.classUpdateAttendanceResultSchema = zod_1.z.object({
20
+ teachingScheduleId: common_schema_js_1.uuidSchema,
21
+ classroomId: common_schema_js_1.uuidSchema,
22
+ date: zod_1.z.string(),
23
+ totalReceived: zod_1.z.number().int(),
24
+ totalCreated: zod_1.z.number().int(),
25
+ totalUpdated: zod_1.z.number().int(),
26
+ });
19
27
  //# sourceMappingURL=attendance-class.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attendance-class.schema.js","sourceRoot":"","sources":["../../../src/attendance/attendance-class.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAAyE;AACzE,6EAAoE;AAEvD,QAAA,+BAA+B,GAAG,OAAC,CAAC,MAAM,CAAC;IACtD,SAAS,EAAE,6BAAU;IACrB,MAAM,EAAE,iDAAoB;IAC5B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEU,QAAA,kCAAkC,GAAG,OAAC,CAAC,MAAM,CAAC;IACzD,kBAAkB,EAAE,6BAAU;IAC9B,cAAc,EAAE,6BAAU;IAC1B,WAAW,EAAE,6BAAU;IACvB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACvB,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,uCAA+B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7D,CAAC,CAAC"}
1
+ {"version":3,"file":"attendance-class.schema.js","sourceRoot":"","sources":["../../../src/attendance/attendance-class.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAAyE;AACzE,6EAAoE;AAEvD,QAAA,+BAA+B,GAAG,OAAC,CAAC,MAAM,CAAC;IACtD,SAAS,EAAE,6BAAU;IACrB,MAAM,EAAE,iDAAoB;IAC5B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEU,QAAA,kCAAkC,GAAG,OAAC,CAAC,MAAM,CAAC;IACzD,kBAAkB,EAAE,6BAAU;IAC9B,cAAc,EAAE,6BAAU;IAC1B,WAAW,EAAE,6BAAU;IACvB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE;IACvB,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,uCAA+B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;CAC7D,CAAC,CAAC;AAEU,QAAA,iCAAiC,GAAG,OAAC,CAAC,MAAM,CAAC;IACxD,kBAAkB,EAAE,6BAAU;IAC9B,WAAW,EAAE,6BAAU;IACvB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC/B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC9B,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;CAC/B,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.batchSyncAttendanceResponseSchema = exports.batchSyncAttendanceRequestSchema = exports.kioskScanItemSchema = exports.attendanceStatusEnum = void 0;
3
+ exports.attendanceHistoryResultSchema = exports.attendanceHistoryItemSchema = exports.attendanceHistoryQuerySchema = exports.batchSyncAttendanceResponseSchema = exports.batchSyncAttendanceRequestSchema = exports.kioskScanItemSchema = exports.attendanceStatusEnum = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_schema_js_1 = require("../common/common.schema.js");
6
6
  exports.attendanceStatusEnum = zod_1.z.enum([
@@ -32,4 +32,51 @@ exports.batchSyncAttendanceResponseSchema = zod_1.z.object({
32
32
  totalDuplicates: zod_1.z.number().int(),
33
33
  duplicateClientUuids: zod_1.z.array(common_schema_js_1.uuidSchema),
34
34
  });
35
+ /** Query `GET /attendance/history`: batas tanggal inklusif dalam zona waktu tenant. */
36
+ exports.attendanceHistoryQuerySchema = zod_1.z
37
+ .object({
38
+ from: common_schema_js_1.dateStringSchema,
39
+ to: common_schema_js_1.dateStringSchema,
40
+ classroomId: common_schema_js_1.uuidSchema.optional(),
41
+ studentId: common_schema_js_1.uuidSchema.optional(),
42
+ status: exports.attendanceStatusEnum.optional(),
43
+ page: zod_1.z.coerce.number().int().positive().default(1),
44
+ limit: zod_1.z.coerce.number().int().positive().max(200).default(50),
45
+ })
46
+ .refine((query) => query.from <= query.to, {
47
+ message: "Tanggal 'from' tidak boleh melewati tanggal 'to'",
48
+ path: ["from"],
49
+ });
50
+ exports.attendanceHistoryItemSchema = zod_1.z.object({
51
+ id: common_schema_js_1.uuidSchema,
52
+ clientUuid: common_schema_js_1.uuidSchema,
53
+ barcodeScanned: zod_1.z.string().nullable(),
54
+ status: exports.attendanceStatusEnum,
55
+ source: zod_1.z.enum(["KIOSK", "CLASS"]),
56
+ scannedAt: zod_1.z.string(),
57
+ notes: zod_1.z.string().nullable(),
58
+ student: zod_1.z.object({
59
+ id: common_schema_js_1.uuidSchema,
60
+ nis: zod_1.z.string(),
61
+ fullName: zod_1.z.string(),
62
+ gender: zod_1.z.enum(["L", "P"]),
63
+ photoUrl: zod_1.z.string().nullable(),
64
+ classroomId: common_schema_js_1.uuidSchema.nullable(),
65
+ }),
66
+ classroom: zod_1.z
67
+ .object({
68
+ id: common_schema_js_1.uuidSchema,
69
+ name: zod_1.z.string(),
70
+ })
71
+ .nullable(),
72
+ });
73
+ exports.attendanceHistoryResultSchema = zod_1.z.object({
74
+ items: zod_1.z.array(exports.attendanceHistoryItemSchema),
75
+ meta: zod_1.z.object({
76
+ currentPage: zod_1.z.number().int().positive(),
77
+ pageSize: zod_1.z.number().int().positive(),
78
+ totalItems: zod_1.z.number().int().nonnegative(),
79
+ totalPages: zod_1.z.number().int().nonnegative(),
80
+ }),
81
+ });
35
82
  //# sourceMappingURL=attendance-kiosk.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attendance-kiosk.schema.js","sourceRoot":"","sources":["../../../src/attendance/attendance-kiosk.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAAyE;AAE5D,QAAA,oBAAoB,GAAG,OAAC,CAAC,IAAI,CAAC;IACzC,OAAO;IACP,WAAW;IACX,MAAM;IACN,OAAO;IACP,MAAM;CACP,CAAC,CAAC;AAEU,QAAA,mBAAmB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,UAAU,EAAE,6BAAU;IACtB,QAAQ,EAAE,6BAAU;IACpB,SAAS,EAAE,6BAAU;IACrB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,SAAS,EAAE,kCAAe;IAC1B,MAAM,EAAE,4BAAoB,CAAC,OAAO,CAAC,OAAO,CAAC;IAC7C,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEU,QAAA,gCAAgC,GAAG,OAAC,CAAC,MAAM,CAAC;IACvD,QAAQ,EAAE,6BAAU;IACpB,gBAAgB,EAAE,6BAAU;IAC5B,cAAc,EAAE,6BAAU;IAC1B,QAAQ,EAAE,kCAAe;IACzB,OAAO,EAAE,OAAC,CAAC,KAAK,CAAC,2BAAmB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,wDAAwD,CAAC;CACvG,CAAC,CAAC;AAEU,QAAA,iCAAiC,GAAG,OAAC,CAAC,MAAM,CAAC;IACxD,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC/B,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC5B,eAAe,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACjC,oBAAoB,EAAE,OAAC,CAAC,KAAK,CAAC,6BAAU,CAAC;CAC1C,CAAC,CAAC"}
1
+ {"version":3,"file":"attendance-kiosk.schema.js","sourceRoot":"","sources":["../../../src/attendance/attendance-kiosk.schema.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.teacherScanDynamicBarcodeRequestSchema = exports.rollingBarcodePayloadSchema = void 0;
3
+ exports.dynamicBarcodeVerifyResultSchema = exports.dynamicBarcodeStreamResultSchema = exports.dynamicBarcodeStreamQuerySchema = exports.teacherScanDynamicBarcodeRequestSchema = exports.rollingBarcodePayloadSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_schema_js_1 = require("../common/common.schema.js");
6
6
  exports.rollingBarcodePayloadSchema = zod_1.z.object({
@@ -15,4 +15,30 @@ exports.teacherScanDynamicBarcodeRequestSchema = zod_1.z.object({
15
15
  scannedPayload: zod_1.z.string().min(10),
16
16
  scannedAt: common_schema_js_1.timestampSchema,
17
17
  });
18
+ exports.dynamicBarcodeStreamQuerySchema = zod_1.z.object({
19
+ format: zod_1.z.enum(["json", "text"]).default("json"),
20
+ });
21
+ exports.dynamicBarcodeStreamResultSchema = zod_1.z.object({
22
+ token: zod_1.z.string(),
23
+ tenantId: common_schema_js_1.uuidSchema,
24
+ windowSeconds: zod_1.z.number().int().positive(),
25
+ windowIndex: zod_1.z.number().int().nonnegative(),
26
+ generatedAt: zod_1.z.string(),
27
+ expiresAt: zod_1.z.string(),
28
+ expiresAtEpoch: zod_1.z.number().int(),
29
+ remainingSeconds: zod_1.z.number().int().nonnegative(),
30
+ });
31
+ exports.dynamicBarcodeVerifyResultSchema = zod_1.z.object({
32
+ valid: zod_1.z.literal(true),
33
+ tenantId: common_schema_js_1.uuidSchema,
34
+ teacherUserId: common_schema_js_1.uuidSchema,
35
+ teacherName: zod_1.z.string().optional(),
36
+ method: zod_1.z.string(),
37
+ windowIndex: zod_1.z.number().int().nonnegative(),
38
+ windowSeconds: zod_1.z.number().int().positive(),
39
+ scannedAt: zod_1.z.string(),
40
+ attendanceLogId: common_schema_js_1.uuidSchema,
41
+ picketAssignmentId: common_schema_js_1.uuidSchema.optional(),
42
+ picketLocation: zod_1.z.string().optional(),
43
+ });
18
44
  //# sourceMappingURL=barcode-rolling.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"barcode-rolling.schema.js","sourceRoot":"","sources":["../../../src/attendance/barcode-rolling.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAAyE;AAE5D,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,QAAQ,EAAE,6BAAU;IACpB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;CACzB,CAAC,CAAC;AAEU,QAAA,sCAAsC,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7D,QAAQ,EAAE,6BAAU;IACpB,aAAa,EAAE,6BAAU;IACzB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,SAAS,EAAE,kCAAe;CAC3B,CAAC,CAAC"}
1
+ {"version":3,"file":"barcode-rolling.schema.js","sourceRoot":"","sources":["../../../src/attendance/barcode-rolling.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAAyE;AAE5D,QAAA,2BAA2B,GAAG,OAAC,CAAC,MAAM,CAAC;IAClD,QAAQ,EAAE,6BAAU;IACpB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;IACtB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAC3B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;CACzB,CAAC,CAAC;AAEU,QAAA,sCAAsC,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7D,QAAQ,EAAE,6BAAU;IACpB,aAAa,EAAE,6BAAU;IACzB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IAClC,SAAS,EAAE,kCAAe;CAC3B,CAAC,CAAC;AAKU,QAAA,+BAA+B,GAAG,OAAC,CAAC,MAAM,CAAC;IACtD,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;CACjD,CAAC,CAAC;AAEU,QAAA,gCAAgC,GAAG,OAAC,CAAC,MAAM,CAAC;IACvD,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE;IACjB,QAAQ,EAAE,6BAAU;IACpB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC1C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC3C,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE;IACvB,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IAChC,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;CACjD,CAAC,CAAC;AAEU,QAAA,gCAAgC,GAAG,OAAC,CAAC,MAAM,CAAC;IACvD,KAAK,EAAE,OAAC,CAAC,OAAO,CAAC,IAAI,CAAC;IACtB,QAAQ,EAAE,6BAAU;IACpB,aAAa,EAAE,6BAAU;IACzB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;IAC3C,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IAC1C,SAAS,EAAE,OAAC,CAAC,MAAM,EAAE;IACrB,eAAe,EAAE,6BAAU;IAC3B,kBAAkB,EAAE,6BAAU,CAAC,QAAQ,EAAE;IACzC,cAAc,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createPicketAssignmentSchema = exports.picketAssignmentSchema = exports.picketLocationSchema = void 0;
3
+ exports.picketScheduleListQuerySchema = exports.createPicketAssignmentSchema = exports.picketAssignmentSchema = exports.picketLocationSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_schema_js_1 = require("../common/common.schema.js");
6
6
  const teaching_schedule_schema_js_1 = require("../academic/teaching-schedule.schema.js");
@@ -21,4 +21,10 @@ exports.createPicketAssignmentSchema = exports.picketAssignmentSchema.pick({
21
21
  dayOfWeek: true,
22
22
  location: true,
23
23
  });
24
+ exports.picketScheduleListQuerySchema = zod_1.z.object({
25
+ academicYearId: common_schema_js_1.uuidSchema.optional(),
26
+ teacherUserId: common_schema_js_1.uuidSchema.optional(),
27
+ dayOfWeek: teaching_schedule_schema_js_1.dayOfWeekEnum.optional(),
28
+ isActive: common_schema_js_1.booleanQuerySchema,
29
+ });
24
30
  //# sourceMappingURL=picket-assignment.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"picket-assignment.schema.js","sourceRoot":"","sources":["../../../src/attendance/picket-assignment.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAAwD;AACxD,yFAAwE;AAE3D,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEzD,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,6BAAU;IACd,QAAQ,EAAE,6BAAU;IACpB,cAAc,EAAE,6BAAU;IAC1B,aAAa,EAAE,6BAAU;IACzB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,2CAAa;IACxB,QAAQ,EAAE,4BAAoB,CAAC,OAAO,CAAC,eAAe,CAAC;IACvD,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACpC,CAAC,CAAC;AAEU,QAAA,4BAA4B,GAAG,8BAAsB,CAAC,IAAI,CAAC;IACtE,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC"}
1
+ {"version":3,"file":"picket-assignment.schema.js","sourceRoot":"","sources":["../../../src/attendance/picket-assignment.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAA4E;AAC5E,yFAAwE;AAE3D,QAAA,oBAAoB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAEzD,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,EAAE,EAAE,6BAAU;IACd,QAAQ,EAAE,6BAAU;IACpB,cAAc,EAAE,6BAAU;IAC1B,aAAa,EAAE,6BAAU;IACzB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,2CAAa;IACxB,QAAQ,EAAE,4BAAoB,CAAC,OAAO,CAAC,eAAe,CAAC;IACvD,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACpC,CAAC,CAAC;AAEU,QAAA,4BAA4B,GAAG,8BAAsB,CAAC,IAAI,CAAC;IACtE,cAAc,EAAE,IAAI;IACpB,aAAa,EAAE,IAAI;IACnB,SAAS,EAAE,IAAI;IACf,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC;AAEU,QAAA,6BAA6B,GAAG,OAAC,CAAC,MAAM,CAAC;IACpD,cAAc,EAAE,6BAAU,CAAC,QAAQ,EAAE;IACrC,aAAa,EAAE,6BAAU,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,2CAAa,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,qCAAkB;CAC7B,CAAC,CAAC"}
@@ -1,11 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.apiErrorResponseSchema = exports.baseResponseSchema = exports.timeStringSchema = exports.dateStringSchema = exports.timestampSchema = exports.uuidSchema = void 0;
3
+ exports.apiErrorResponseSchema = exports.baseResponseSchema = exports.paginationQueryShape = exports.booleanQuerySchema = exports.timeStringSchema = exports.dateStringSchema = exports.timestampSchema = exports.uuidSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  exports.uuidSchema = zod_1.z.string().uuid({ message: "Format UUID tidak valid" });
6
6
  exports.timestampSchema = zod_1.z.string().datetime({ message: "Format ISO datetime tidak valid" });
7
7
  exports.dateStringSchema = zod_1.z.string().regex(/^\d{4}-\d{2}-\d{2}$/, "Format tanggal harus YYYY-MM-DD");
8
8
  exports.timeStringSchema = zod_1.z.string().regex(/^([01]\d|2[0-3]):([0-5]\d)$/, "Format jam harus HH:mm (contoh: 07:00)");
9
+ /**
10
+ * Query string `?isActive=true|false` yang dikoersi menjadi boolean,
11
+ * kompatibel dengan Express (`req.query` berisi string).
12
+ */
13
+ exports.booleanQuerySchema = zod_1.z
14
+ .enum(["true", "false"])
15
+ .optional()
16
+ .transform((value) => (value === undefined ? undefined : value === "true"));
17
+ /** Bentuk pagination `?page&limit` dengan default dan batas yang konsisten. */
18
+ exports.paginationQueryShape = {
19
+ page: zod_1.z.coerce.number().int().positive().default(1),
20
+ limit: zod_1.z.coerce.number().int().positive().max(100).default(20),
21
+ search: zod_1.z.string().trim().optional(),
22
+ };
9
23
  const baseResponseSchema = (dataSchema) => zod_1.z.object({
10
24
  success: zod_1.z.boolean(),
11
25
  message: zod_1.z.string(),
@@ -1 +1 @@
1
- {"version":3,"file":"common.schema.js","sourceRoot":"","sources":["../../../src/common/common.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,UAAU,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;AAErE,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;AAEtF,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,iCAAiC,CAAC,CAAC;AAE9F,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,6BAA6B,EAAE,wCAAwC,CAAC,CAAC;AAEnH,MAAM,kBAAkB,GAAG,CAAyB,UAAa,EAAE,EAAE,CAC1E,OAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;IACpB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,UAAU;CACjB,CAAC,CAAC;AALQ,QAAA,kBAAkB,sBAK1B;AAEQ,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACzB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,OAAC,CAAC,KAAK,CACb,OAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;KACpB,CAAC,CACH,CAAC,QAAQ,EAAE;CACb,CAAC,CAAC"}
1
+ {"version":3,"file":"common.schema.js","sourceRoot":"","sources":["../../../src/common/common.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,UAAU,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,yBAAyB,EAAE,CAAC,CAAC;AAErE,QAAA,eAAe,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;AAEtF,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,iCAAiC,CAAC,CAAC;AAE9F,QAAA,gBAAgB,GAAG,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,6BAA6B,EAAE,wCAAwC,CAAC,CAAC;AAE1H;;;GAGG;AACU,QAAA,kBAAkB,GAAG,OAAC;KAChC,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACvB,QAAQ,EAAE;KACV,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC;AAE9E,+EAA+E;AAClE,QAAA,oBAAoB,GAAG;IAClC,IAAI,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACnD,KAAK,EAAE,OAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9D,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE;CACrC,CAAC;AAIK,MAAM,kBAAkB,GAAG,CAAyB,UAAa,EAAE,EAAE,CAC1E,OAAC,CAAC,MAAM,CAAC;IACP,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;IACpB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,UAAU;CACjB,CAAC,CAAC;AALQ,QAAA,kBAAkB,sBAK1B;AAEQ,QAAA,sBAAsB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,OAAC,CAAC,OAAO,CAAC,KAAK,CAAC;IACzB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,MAAM,EAAE,OAAC,CAAC,KAAK,CACb,OAAC,CAAC,MAAM,CAAC;QACP,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;KACpB,CAAC,CACH,CAAC,QAAQ,EAAE;CACb,CAAC,CAAC"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createTenantSchema = exports.tenantSchema = void 0;
3
+ exports.upsertAttendanceShiftsSchema = exports.attendanceShiftListQuerySchema = exports.attendanceShiftParamsSchema = exports.tenantParamsSchema = exports.updateTenantProfileSchema = exports.phoneSchema = exports.npsnSchema = exports.createTenantSchema = exports.tenantSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_schema_js_1 = require("../common/common.schema.js");
6
+ const attendance_shift_schema_js_1 = require("./attendance-shift.schema.js");
6
7
  exports.tenantSchema = zod_1.z.object({
7
8
  id: common_schema_js_1.uuidSchema,
8
9
  slug: zod_1.z.string().min(3).max(50).regex(/^[a-z0-9-]+$/, "Slug hanya boleh berisi huruf kecil, angka, dan strip"),
@@ -20,4 +21,39 @@ exports.createTenantSchema = exports.tenantSchema.pick({
20
21
  logoUrl: true,
21
22
  timezone: true,
22
23
  });
24
+ exports.npsnSchema = zod_1.z.string().regex(/^\d{8}$/, "NPSN harus berupa 8 digit angka");
25
+ exports.phoneSchema = zod_1.z.string().regex(/^\+?[0-9]{8,15}$/, "Nomor telepon tidak valid (8-15 digit)");
26
+ /**
27
+ * Profil sekolah dapat diperbarui oleh admin sekolah. `slug` sengaja tidak
28
+ * termasuk karena dipakai pada URL layanan dan sesi login lintas subdomain.
29
+ */
30
+ exports.updateTenantProfileSchema = zod_1.z.object({
31
+ name: zod_1.z.string().trim().min(3).max(255).optional(),
32
+ npsn: exports.npsnSchema.nullish(),
33
+ logoUrl: zod_1.z.string().url().max(2048).nullish(),
34
+ timezone: zod_1.z.string().min(1).max(50).optional(),
35
+ address: zod_1.z.string().trim().max(255).nullish(),
36
+ phone: exports.phoneSchema.nullish(),
37
+ });
38
+ exports.tenantParamsSchema = zod_1.z.object({
39
+ id: common_schema_js_1.uuidSchema,
40
+ });
41
+ exports.attendanceShiftParamsSchema = zod_1.z.object({
42
+ targetType: attendance_shift_schema_js_1.shiftTargetTypeEnum,
43
+ });
44
+ exports.attendanceShiftListQuerySchema = zod_1.z.object({
45
+ targetType: attendance_shift_schema_js_1.shiftTargetTypeEnum.optional(),
46
+ });
47
+ /**
48
+ * Body `PUT /tenants/shifts` memuat satu atau kedua shift sekaligus sehingga
49
+ * admin dapat menyimpan form jam presensi dalam satu permintaan.
50
+ */
51
+ exports.upsertAttendanceShiftsSchema = zod_1.z
52
+ .object({
53
+ SISWA: zod_1.z.any().optional(),
54
+ GURU: zod_1.z.any().optional(),
55
+ })
56
+ .refine((payload) => Boolean(payload.SISWA ?? payload.GURU), {
57
+ message: "Minimal kirimkan konfigurasi shift 'SISWA' atau 'GURU'",
58
+ });
23
59
  //# sourceMappingURL=tenant.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tenant.schema.js","sourceRoot":"","sources":["../../../src/tenant/tenant.schema.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAAyE;AAE5D,QAAA,YAAY,GAAG,OAAC,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,6BAAU;IACd,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,EAAE,uDAAuD,CAAC;IAC9G,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAChC,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,iCAAiC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC1F,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IAC/C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;IAC5C,SAAS,EAAE,kCAAe;IAC1B,SAAS,EAAE,kCAAe;CAC3B,CAAC,CAAC;AAEU,QAAA,kBAAkB,GAAG,oBAAY,CAAC,IAAI,CAAC;IAClD,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACf,CAAC,CAAC"}
1
+ {"version":3,"file":"tenant.schema.js","sourceRoot":"","sources":["../../../src/tenant/tenant.schema.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.bulkImportStudentResponseSchema = exports.bulkImportStudentRequestSchema = exports.bulkImportStudentRowSchema = exports.studentOfflineSyncCacheSchema = exports.updateStudentSchema = exports.createStudentSchema = exports.studentSchema = exports.parentPhoneSchema = exports.barcodeValueSchema = exports.nisnSchema = exports.nisSchema = exports.genderEnum = void 0;
3
+ exports.studentListQuerySchema = exports.studentParamsSchema = exports.bulkImportStudentResponseSchema = exports.bulkImportStudentRequestSchema = exports.bulkImportStudentRowSchema = exports.studentOfflineSyncCacheSchema = exports.updateStudentSchema = exports.createStudentSchema = exports.studentSchema = exports.parentPhoneSchema = exports.barcodeValueSchema = exports.nisnSchema = exports.nisSchema = exports.genderEnum = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_schema_js_1 = require("../common/common.schema.js");
6
6
  exports.genderEnum = zod_1.z.enum(["L", "P"]);
@@ -31,6 +31,7 @@ exports.createStudentSchema = zod_1.z.object({
31
31
  parentPhone: exports.parentPhoneSchema.optional().nullable(),
32
32
  barcodeValue: exports.barcodeValueSchema.optional(),
33
33
  photoUrl: zod_1.z.string().url().optional().nullable(),
34
+ isActive: zod_1.z.boolean().default(true),
34
35
  });
35
36
  exports.updateStudentSchema = exports.createStudentSchema.partial();
36
37
  exports.studentOfflineSyncCacheSchema = exports.studentSchema.pick({
@@ -64,4 +65,15 @@ exports.bulkImportStudentResponseSchema = zod_1.z.object({
64
65
  message: zod_1.z.string(),
65
66
  })),
66
67
  });
68
+ exports.studentParamsSchema = zod_1.z.object({
69
+ id: common_schema_js_1.uuidSchema,
70
+ });
71
+ exports.studentListQuerySchema = zod_1.z.object({
72
+ ...common_schema_js_1.paginationQueryShape,
73
+ sortBy: zod_1.z.enum(["fullName", "nis"]).default("fullName"),
74
+ sortOrder: zod_1.z.enum(["asc", "desc"]).default("asc"),
75
+ classroomId: common_schema_js_1.uuidSchema.optional(),
76
+ academicYearId: common_schema_js_1.uuidSchema.optional(),
77
+ isActive: common_schema_js_1.booleanQuerySchema,
78
+ });
67
79
  //# sourceMappingURL=student.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"student.schema.js","sourceRoot":"","sources":["../../../src/user/student.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"student.schema.js","sourceRoot":"","sources":["../../../src/user/student.schema.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.assignUserRolesRequestSchema = exports.updateUserSchema = exports.createUserSchema = exports.userProfileSchema = exports.userSchema = exports.phoneNumberSchema = exports.nipSchema = exports.passwordSchema = exports.usernameSchema = void 0;
3
+ exports.teacherListQuerySchema = exports.teacherParamsSchema = exports.updateTeacherSchema = exports.createTeacherSchema = exports.assignUserRolesRequestSchema = exports.updateUserSchema = exports.createUserSchema = exports.userProfileSchema = exports.userSchema = exports.phoneNumberSchema = exports.nipSchema = exports.passwordSchema = exports.usernameSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const common_schema_js_1 = require("../common/common.schema.js");
6
6
  const auth_schema_js_1 = require("../auth/auth.schema.js");
@@ -53,4 +53,32 @@ exports.assignUserRolesRequestSchema = zod_1.z.object({
53
53
  academicYearId: common_schema_js_1.uuidSchema,
54
54
  roleIds: zod_1.z.array(common_schema_js_1.uuidSchema).min(1, "Minimal pilih 1 peran"),
55
55
  });
56
+ exports.createTeacherSchema = zod_1.z.object({
57
+ username: exports.usernameSchema,
58
+ email: zod_1.z.string().trim().email("Format email tidak valid"),
59
+ password: zod_1.z.string().min(6, "Password minimal 6 karakter").max(128),
60
+ fullName: zod_1.z.string().trim().min(2).max(255),
61
+ nip: exports.nipSchema.optional().nullable(),
62
+ phoneNumber: exports.phoneNumberSchema.optional().nullable(),
63
+ roleIds: zod_1.z.array(common_schema_js_1.uuidSchema).min(1, "Minimal tentukan 1 peran"),
64
+ academicYearId: common_schema_js_1.uuidSchema,
65
+ });
66
+ exports.updateTeacherSchema = zod_1.z.object({
67
+ username: exports.usernameSchema.optional(),
68
+ email: zod_1.z.string().trim().email("Format email tidak valid").optional(),
69
+ password: zod_1.z.string().min(6, "Password minimal 6 karakter").max(128).optional(),
70
+ fullName: zod_1.z.string().trim().min(2).max(255).optional(),
71
+ nip: exports.nipSchema.optional().nullable(),
72
+ phoneNumber: exports.phoneNumberSchema.optional().nullable(),
73
+ isActive: zod_1.z.boolean().optional(),
74
+ });
75
+ exports.teacherParamsSchema = zod_1.z.object({
76
+ id: common_schema_js_1.uuidSchema,
77
+ });
78
+ exports.teacherListQuerySchema = zod_1.z.object({
79
+ ...common_schema_js_1.paginationQueryShape,
80
+ roleId: common_schema_js_1.uuidSchema.optional(),
81
+ academicYearId: common_schema_js_1.uuidSchema.optional(),
82
+ isActive: common_schema_js_1.booleanQuerySchema,
83
+ });
56
84
  //# sourceMappingURL=user.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"user.schema.js","sourceRoot":"","sources":["../../../src/user/user.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"user.schema.js","sourceRoot":"","sources":["../../../src/user/user.schema.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { z } from "zod";
2
- import { dateStringSchema, uuidSchema } from "../common/common.schema.js";
2
+ import { dateStringSchema, paginationQueryShape, uuidSchema } from "../common/common.schema.js";
3
3
  export const semesterEnum = z.enum(["GANJIL", "GENAP"]);
4
4
  export const academicYearNameSchema = z
5
5
  .string()
@@ -37,4 +37,11 @@ export const updateAcademicYearSchema = academicYearObjectSchema
37
37
  export const activateAcademicYearSchema = z.object({
38
38
  academicYearId: uuidSchema,
39
39
  });
40
+ export const academicYearParamsSchema = z.object({
41
+ id: uuidSchema,
42
+ });
43
+ export const academicYearListQuerySchema = z.object({
44
+ ...paginationQueryShape,
45
+ semester: semesterEnum.optional(),
46
+ });
40
47
  //# sourceMappingURL=academic-year.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"academic-year.schema.js","sourceRoot":"","sources":["../../../src/academic/academic-year.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE1E,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,EAAE;KACR,KAAK,CAAC,gBAAgB,EAAE,8DAA8D,CAAC,CAAC;AAE3F,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,UAAU;IACd,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,sBAAsB;IAC5B,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,SAAS,EAAE,gBAAgB;IAC3B,OAAO,EAAE,gBAAgB;CAC1B,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAmD,MAAoB,EAAE,EAAE,CACnG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE;IACrD,OAAO,EAAE,qDAAqD;IAC9D,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CACvD,wBAAwB,CAAC,IAAI,CAAC;IAC5B,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;CACf,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,wBAAwB;KAC7D,IAAI,CAAC;IACJ,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;CACf,CAAC;KACD,OAAO,EAAE;KACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE;IACnF,OAAO,EAAE,qDAAqD;IAC9D,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,cAAc,EAAE,UAAU;CAC3B,CAAC,CAAC"}
1
+ {"version":3,"file":"academic-year.schema.js","sourceRoot":"","sources":["../../../src/academic/academic-year.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAEhG,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,MAAM,EAAE;KACR,KAAK,CAAC,gBAAgB,EAAE,8DAA8D,CAAC,CAAC;AAE3F,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,EAAE,EAAE,UAAU;IACd,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,sBAAsB;IAC5B,QAAQ,EAAE,YAAY;IACtB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,SAAS,EAAE,gBAAgB;IAC3B,OAAO,EAAE,gBAAgB;CAC1B,CAAC,CAAC;AAEH,MAAM,iBAAiB,GAAG,CAAmD,MAAoB,EAAE,EAAE,CACnG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE;IACrD,OAAO,EAAE,qDAAqD;IAC9D,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;AAE9E,MAAM,CAAC,MAAM,wBAAwB,GAAG,iBAAiB,CACvD,wBAAwB,CAAC,IAAI,CAAC;IAC5B,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;CACf,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,wBAAwB;KAC7D,IAAI,CAAC;IACJ,EAAE,EAAE,IAAI;IACR,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,IAAI;CACf,CAAC;KACD,OAAO,EAAE;KACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE;IACnF,OAAO,EAAE,qDAAqD;IAC9D,IAAI,EAAE,CAAC,SAAS,CAAC;CAClB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,cAAc,EAAE,UAAU;CAC3B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,EAAE,EAAE,UAAU;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,CAAC,MAAM,CAAC;IAClD,GAAG,oBAAoB;IACvB,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE;CAClC,CAAC,CAAC"}
@@ -1,12 +1,12 @@
1
1
  import { z } from "zod";
2
- import { uuidSchema } from "../common/common.schema.js";
2
+ import { paginationQueryShape, uuidSchema } from "../common/common.schema.js";
3
3
  export const classroomSchema = z.object({
4
4
  id: uuidSchema,
5
5
  tenantId: uuidSchema,
6
6
  academicYearId: uuidSchema,
7
7
  name: z.string().min(1).max(50),
8
8
  gradeLevel: z.string().min(1).max(10),
9
- homeroomTeacherId: uuidSchema.optional().nullable(),
9
+ homeroomTeacherUserId: uuidSchema.optional().nullable(),
10
10
  homeroomTeacherName: z.string().optional().nullable(),
11
11
  totalStudents: z.number().int().nonnegative().default(0),
12
12
  });
@@ -14,9 +14,16 @@ export const createClassroomSchema = classroomSchema.pick({
14
14
  academicYearId: true,
15
15
  name: true,
16
16
  gradeLevel: true,
17
- homeroomTeacherId: true,
17
+ homeroomTeacherUserId: true,
18
18
  });
19
19
  export const updateClassroomSchema = createClassroomSchema.partial();
20
+ export const classroomParamsSchema = z.object({
21
+ id: uuidSchema,
22
+ });
23
+ export const classroomListQuerySchema = z.object({
24
+ ...paginationQueryShape,
25
+ academicYearId: uuidSchema.optional(),
26
+ });
20
27
  export const promoteClassStudentsSchema = z.object({
21
28
  sourceClassroomId: uuidSchema,
22
29
  targetClassroomId: uuidSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"class-room.schema.js","sourceRoot":"","sources":["../../../src/academic/class-room.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,UAAU;IACd,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,UAAU;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,iBAAiB,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACnD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACzD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC,IAAI,CAAC;IACxD,cAAc,EAAE,IAAI;IACpB,IAAI,EAAE,IAAI;IACV,UAAU,EAAE,IAAI;IAChB,iBAAiB,EAAE,IAAI;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,OAAO,EAAE,CAAC;AAErE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,iBAAiB,EAAE,UAAU;IAC7B,iBAAiB,EAAE,UAAU;IAC7B,oBAAoB,EAAE,UAAU;IAChC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,yDAAyD,CAAC;CAClG,CAAC,CAAC"}
1
+ {"version":3,"file":"class-room.schema.js","sourceRoot":"","sources":["../../../src/academic/class-room.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,EAAE,EAAE,UAAU;IACd,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,UAAU;IAC1B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;IACrC,qBAAqB,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACvD,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;IACrD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;CACzD,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC,IAAI,CAAC;IACxD,cAAc,EAAE,IAAI;IACpB,IAAI,EAAE,IAAI;IACV,UAAU,EAAE,IAAI;IAChB,qBAAqB,EAAE,IAAI;CAC5B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC,OAAO,EAAE,CAAC;AAErE,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,UAAU;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,GAAG,oBAAoB;IACvB,cAAc,EAAE,UAAU,CAAC,QAAQ,EAAE;CACtC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC;IACjD,iBAAiB,EAAE,UAAU;IAC7B,iBAAiB,EAAE,UAAU;IAC7B,oBAAoB,EAAE,UAAU;IAChC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,yDAAyD,CAAC;CAClG,CAAC,CAAC"}