@sekolaos/shared-schema 1.2.0 → 1.3.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.
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.teachingScheduleListQuerySchema = exports.teachingScheduleParamsSchema = exports.updateTeachingScheduleSchema = exports.createTeachingScheduleSchema = exports.teachingScheduleSchema = exports.periodNumberSchema = exports.dayOfWeekEnum = void 0;
3
+ exports.checkScheduleConflictQuerySchema = exports.copyRosterRequestSchema = exports.batchCreateTeachingScheduleSchema = 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"]);
@@ -55,4 +55,37 @@ exports.teachingScheduleListQuerySchema = zod_1.z.object({
55
55
  teacherUserId: common_schema_js_1.uuidSchema.optional(),
56
56
  subjectId: common_schema_js_1.uuidSchema.optional(),
57
57
  });
58
+ exports.batchCreateTeachingScheduleSchema = zod_1.z
59
+ .object({
60
+ academicYearId: common_schema_js_1.uuidSchema,
61
+ classroomId: common_schema_js_1.uuidSchema,
62
+ teacherUserId: common_schema_js_1.uuidSchema,
63
+ subjectId: common_schema_js_1.uuidSchema,
64
+ dayOfWeek: exports.dayOfWeekEnum,
65
+ schedules: zod_1.z
66
+ .array(zod_1.z.object({
67
+ periodNumber: exports.periodNumberSchema,
68
+ startTime: common_schema_js_1.timeStringSchema,
69
+ endTime: common_schema_js_1.timeStringSchema,
70
+ }))
71
+ .min(1),
72
+ })
73
+ .refine((input) => input.schedules.every((s) => s.startTime < s.endTime), {
74
+ message: "Jam selesai harus lebih besar dari jam mulai untuk setiap jadwal",
75
+ path: ["schedules"],
76
+ });
77
+ exports.copyRosterRequestSchema = zod_1.z.object({
78
+ sourceClassroomId: common_schema_js_1.uuidSchema,
79
+ targetClassroomId: common_schema_js_1.uuidSchema,
80
+ academicYearId: common_schema_js_1.uuidSchema,
81
+ copyTeachers: zod_1.z.boolean().default(true),
82
+ });
83
+ exports.checkScheduleConflictQuerySchema = zod_1.z.object({
84
+ teacherUserId: common_schema_js_1.uuidSchema,
85
+ dayOfWeek: exports.dayOfWeekEnum,
86
+ startTime: common_schema_js_1.timeStringSchema,
87
+ endTime: common_schema_js_1.timeStringSchema,
88
+ academicYearId: common_schema_js_1.uuidSchema,
89
+ excludeScheduleId: common_schema_js_1.uuidSchema.optional(),
90
+ });
58
91
  //# 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;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
+ {"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;AAEU,QAAA,iCAAiC,GAAG,OAAC;KAC/C,MAAM,CAAC;IACN,cAAc,EAAE,6BAAU;IAC1B,WAAW,EAAE,6BAAU;IACvB,aAAa,EAAE,6BAAU;IACzB,SAAS,EAAE,6BAAU;IACrB,SAAS,EAAE,qBAAa;IACxB,SAAS,EAAE,OAAC;SACT,KAAK,CACJ,OAAC,CAAC,MAAM,CAAC;QACP,YAAY,EAAE,0BAAkB;QAChC,SAAS,EAAE,mCAAgB;QAC3B,OAAO,EAAE,mCAAgB;KAC1B,CAAC,CACH;SACA,GAAG,CAAC,CAAC,CAAC;CACV,CAAC;KACD,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE;IACxE,OAAO,EAAE,kEAAkE;IAC3E,IAAI,EAAE,CAAC,WAAW,CAAC;CACpB,CAAC,CAAC;AAEQ,QAAA,uBAAuB,GAAG,OAAC,CAAC,MAAM,CAAC;IAC9C,iBAAiB,EAAE,6BAAU;IAC7B,iBAAiB,EAAE,6BAAU;IAC7B,cAAc,EAAE,6BAAU;IAC1B,YAAY,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACxC,CAAC,CAAC;AAEU,QAAA,gCAAgC,GAAG,OAAC,CAAC,MAAM,CAAC;IACvD,aAAa,EAAE,6BAAU;IACzB,SAAS,EAAE,qBAAa;IACxB,SAAS,EAAE,mCAAgB;IAC3B,OAAO,EAAE,mCAAgB;IACzB,cAAc,EAAE,6BAAU;IAC1B,iBAAiB,EAAE,6BAAU,CAAC,QAAQ,EAAE;CACzC,CAAC,CAAC"}
@@ -52,4 +52,37 @@ export const teachingScheduleListQuerySchema = z.object({
52
52
  teacherUserId: uuidSchema.optional(),
53
53
  subjectId: uuidSchema.optional(),
54
54
  });
55
+ export const batchCreateTeachingScheduleSchema = z
56
+ .object({
57
+ academicYearId: uuidSchema,
58
+ classroomId: uuidSchema,
59
+ teacherUserId: uuidSchema,
60
+ subjectId: uuidSchema,
61
+ dayOfWeek: dayOfWeekEnum,
62
+ schedules: z
63
+ .array(z.object({
64
+ periodNumber: periodNumberSchema,
65
+ startTime: timeStringSchema,
66
+ endTime: timeStringSchema,
67
+ }))
68
+ .min(1),
69
+ })
70
+ .refine((input) => input.schedules.every((s) => s.startTime < s.endTime), {
71
+ message: "Jam selesai harus lebih besar dari jam mulai untuk setiap jadwal",
72
+ path: ["schedules"],
73
+ });
74
+ export const copyRosterRequestSchema = z.object({
75
+ sourceClassroomId: uuidSchema,
76
+ targetClassroomId: uuidSchema,
77
+ academicYearId: uuidSchema,
78
+ copyTeachers: z.boolean().default(true),
79
+ });
80
+ export const checkScheduleConflictQuerySchema = z.object({
81
+ teacherUserId: uuidSchema,
82
+ dayOfWeek: dayOfWeekEnum,
83
+ startTime: timeStringSchema,
84
+ endTime: timeStringSchema,
85
+ academicYearId: uuidSchema,
86
+ excludeScheduleId: uuidSchema.optional(),
87
+ });
55
88
  //# 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,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE1E,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;AAE5F,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAElE,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,EAAE,EAAE,UAAU;IACd,QAAQ,EAAE,UAAU;IACpB,cAAc,EAAE,UAAU;IAC1B,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,aAAa,EAAE,UAAU;IACzB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,UAAU;IACrB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,SAAS,EAAE,aAAa;IACxB,SAAS,EAAE,gBAAgB;IAC3B,OAAO,EAAE,gBAAgB;IACzB,YAAY,EAAE,kBAAkB,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;AAEL,MAAM,CAAC,MAAM,sBAAsB,GAAG,gBAAgB,CAAC,4BAA4B,CAAC,CAAC;AAErF,MAAM,CAAC,MAAM,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;AAEF,MAAM,CAAC,MAAM,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;AAEL,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,CAAC,MAAM,CAAC;IACnD,EAAE,EAAE,UAAU;CACf,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC,CAAC,MAAM,CAAC;IACtD,cAAc,EAAE,UAAU,CAAC,QAAQ,EAAE;IACrC,WAAW,EAAE,UAAU,CAAC,QAAQ,EAAE;IAClC,aAAa,EAAE,UAAU,CAAC,QAAQ,EAAE;IACpC,SAAS,EAAE,UAAU,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC"}
1
+ {"version":3,"file":"teaching-schedule.schema.js","sourceRoot":"","sources":["../../../src/academic/teaching-schedule.schema.ts"],"names":[],"mappings":"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"}
@@ -164,9 +164,114 @@ export declare const teachingScheduleListQuerySchema: z.ZodObject<{
164
164
  teacherUserId?: string | undefined;
165
165
  subjectId?: string | undefined;
166
166
  }>;
167
+ export declare const batchCreateTeachingScheduleSchema: z.ZodEffects<z.ZodObject<{
168
+ academicYearId: z.ZodString;
169
+ classroomId: z.ZodString;
170
+ teacherUserId: z.ZodString;
171
+ subjectId: z.ZodString;
172
+ dayOfWeek: z.ZodEnum<["SENIN", "SELASA", "RABU", "KAMIS", "JUMAT", "SABTU"]>;
173
+ schedules: z.ZodArray<z.ZodObject<{
174
+ periodNumber: z.ZodNumber;
175
+ startTime: z.ZodString;
176
+ endTime: z.ZodString;
177
+ }, "strip", z.ZodTypeAny, {
178
+ startTime: string;
179
+ endTime: string;
180
+ periodNumber: number;
181
+ }, {
182
+ startTime: string;
183
+ endTime: string;
184
+ periodNumber: number;
185
+ }>, "many">;
186
+ }, "strip", z.ZodTypeAny, {
187
+ academicYearId: string;
188
+ classroomId: string;
189
+ teacherUserId: string;
190
+ subjectId: string;
191
+ dayOfWeek: "SENIN" | "SELASA" | "RABU" | "KAMIS" | "JUMAT" | "SABTU";
192
+ schedules: {
193
+ startTime: string;
194
+ endTime: string;
195
+ periodNumber: number;
196
+ }[];
197
+ }, {
198
+ academicYearId: string;
199
+ classroomId: string;
200
+ teacherUserId: string;
201
+ subjectId: string;
202
+ dayOfWeek: "SENIN" | "SELASA" | "RABU" | "KAMIS" | "JUMAT" | "SABTU";
203
+ schedules: {
204
+ startTime: string;
205
+ endTime: string;
206
+ periodNumber: number;
207
+ }[];
208
+ }>, {
209
+ academicYearId: string;
210
+ classroomId: string;
211
+ teacherUserId: string;
212
+ subjectId: string;
213
+ dayOfWeek: "SENIN" | "SELASA" | "RABU" | "KAMIS" | "JUMAT" | "SABTU";
214
+ schedules: {
215
+ startTime: string;
216
+ endTime: string;
217
+ periodNumber: number;
218
+ }[];
219
+ }, {
220
+ academicYearId: string;
221
+ classroomId: string;
222
+ teacherUserId: string;
223
+ subjectId: string;
224
+ dayOfWeek: "SENIN" | "SELASA" | "RABU" | "KAMIS" | "JUMAT" | "SABTU";
225
+ schedules: {
226
+ startTime: string;
227
+ endTime: string;
228
+ periodNumber: number;
229
+ }[];
230
+ }>;
231
+ export declare const copyRosterRequestSchema: z.ZodObject<{
232
+ sourceClassroomId: z.ZodString;
233
+ targetClassroomId: z.ZodString;
234
+ academicYearId: z.ZodString;
235
+ copyTeachers: z.ZodDefault<z.ZodBoolean>;
236
+ }, "strip", z.ZodTypeAny, {
237
+ academicYearId: string;
238
+ sourceClassroomId: string;
239
+ targetClassroomId: string;
240
+ copyTeachers: boolean;
241
+ }, {
242
+ academicYearId: string;
243
+ sourceClassroomId: string;
244
+ targetClassroomId: string;
245
+ copyTeachers?: boolean | undefined;
246
+ }>;
247
+ export declare const checkScheduleConflictQuerySchema: z.ZodObject<{
248
+ teacherUserId: z.ZodString;
249
+ dayOfWeek: z.ZodEnum<["SENIN", "SELASA", "RABU", "KAMIS", "JUMAT", "SABTU"]>;
250
+ startTime: z.ZodString;
251
+ endTime: z.ZodString;
252
+ academicYearId: z.ZodString;
253
+ excludeScheduleId: z.ZodOptional<z.ZodString>;
254
+ }, "strip", z.ZodTypeAny, {
255
+ academicYearId: string;
256
+ teacherUserId: string;
257
+ dayOfWeek: "SENIN" | "SELASA" | "RABU" | "KAMIS" | "JUMAT" | "SABTU";
258
+ startTime: string;
259
+ endTime: string;
260
+ excludeScheduleId?: string | undefined;
261
+ }, {
262
+ academicYearId: string;
263
+ teacherUserId: string;
264
+ dayOfWeek: "SENIN" | "SELASA" | "RABU" | "KAMIS" | "JUMAT" | "SABTU";
265
+ startTime: string;
266
+ endTime: string;
267
+ excludeScheduleId?: string | undefined;
268
+ }>;
167
269
  export type DayOfWeek = z.infer<typeof dayOfWeekEnum>;
168
270
  export type TeachingSchedule = z.infer<typeof teachingScheduleSchema>;
169
271
  export type CreateTeachingScheduleInput = z.infer<typeof createTeachingScheduleSchema>;
170
272
  export type UpdateTeachingScheduleInput = z.infer<typeof updateTeachingScheduleSchema>;
171
273
  export type TeachingScheduleParams = z.infer<typeof teachingScheduleParamsSchema>;
172
274
  export type TeachingScheduleListQuery = z.infer<typeof teachingScheduleListQuerySchema>;
275
+ export type BatchCreateTeachingScheduleInput = z.infer<typeof batchCreateTeachingScheduleSchema>;
276
+ export type CopyRosterRequestInput = z.infer<typeof copyRosterRequestSchema>;
277
+ export type CheckScheduleConflictQuery = z.infer<typeof checkScheduleConflictQuerySchema>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sekolaos/shared-schema",
3
- "version": "1.2.0",
3
+ "version": "1.3.0",
4
4
  "description": "Single source of truth untuk validasi skema data dan inferensi tipe TypeScript pada ekosistem Sekolaos (backend Express, kiosk presensi, dan modul lainnya).",
5
5
  "license": "ISC",
6
6
  "author": "Sekolaos",