@aibrains/shared-types 0.14.0 → 0.16.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.
- package/dist/events/enrollment-billing.events.d.ts +47 -0
- package/dist/events/enrollment-billing.events.d.ts.map +1 -0
- package/dist/events/enrollment-billing.events.js +9 -0
- package/dist/events/enrollment-billing.events.js.map +1 -0
- package/dist/identity/country-config.d.ts +120 -0
- package/dist/identity/country-config.d.ts.map +1 -0
- package/dist/identity/country-config.js +404 -0
- package/dist/identity/country-config.js.map +1 -0
- package/dist/identity/field-governance.d.ts +40 -0
- package/dist/identity/field-governance.d.ts.map +1 -0
- package/dist/identity/field-governance.js +111 -0
- package/dist/identity/field-governance.js.map +1 -0
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/index.js.map +1 -1
- package/dist/mappers/edfi/education-org.mapper.js +3 -3
- package/dist/mappers/edfi/education-org.mapper.js.map +1 -1
- package/dist/schemas/academics/assignment.schema.d.ts +10 -10
- package/dist/schemas/academics/attendance.schema.d.ts +16 -16
- package/dist/schemas/academics/classwork.schema.d.ts +4 -4
- package/dist/schemas/academics/grade.schema.d.ts +2 -2
- package/dist/schemas/academics/index.d.ts +1 -0
- package/dist/schemas/academics/index.d.ts.map +1 -1
- package/dist/schemas/academics/index.js +1 -0
- package/dist/schemas/academics/index.js.map +1 -1
- package/dist/schemas/academics/section-attendance.schema.d.ts +447 -0
- package/dist/schemas/academics/section-attendance.schema.d.ts.map +1 -0
- package/dist/schemas/academics/section-attendance.schema.js +126 -0
- package/dist/schemas/academics/section-attendance.schema.js.map +1 -0
- package/dist/schemas/academics/student.schema.d.ts +15 -15
- package/dist/schemas/common.d.ts +4 -2
- package/dist/schemas/common.d.ts.map +1 -1
- package/dist/schemas/common.js +7 -2
- package/dist/schemas/common.js.map +1 -1
- package/dist/schemas/enrollment/enrollment.schema.d.ts +55 -55
- package/dist/schemas/finance/common.d.ts +1 -1
- package/dist/schemas/finance/common.d.ts.map +1 -1
- package/dist/schemas/finance/common.js +1 -1
- package/dist/schemas/finance/common.js.map +1 -1
- package/dist/schemas/finance/credit-note.schema.d.ts +127 -0
- package/dist/schemas/finance/credit-note.schema.d.ts.map +1 -0
- package/dist/schemas/finance/credit-note.schema.js +55 -0
- package/dist/schemas/finance/credit-note.schema.js.map +1 -0
- package/dist/schemas/finance/discount-rule.schema.d.ts +352 -0
- package/dist/schemas/finance/discount-rule.schema.d.ts.map +1 -0
- package/dist/schemas/finance/discount-rule.schema.js +57 -0
- package/dist/schemas/finance/discount-rule.schema.js.map +1 -0
- package/dist/schemas/finance/fee-structure.schema.d.ts +40 -10
- package/dist/schemas/finance/fee-structure.schema.d.ts.map +1 -1
- package/dist/schemas/finance/fee-structure.schema.js +10 -0
- package/dist/schemas/finance/fee-structure.schema.js.map +1 -1
- package/dist/schemas/finance/index.d.ts +3 -0
- package/dist/schemas/finance/index.d.ts.map +1 -1
- package/dist/schemas/finance/index.js +3 -0
- package/dist/schemas/finance/index.js.map +1 -1
- package/dist/schemas/finance/invoice.schema.d.ts +68 -8
- package/dist/schemas/finance/invoice.schema.d.ts.map +1 -1
- package/dist/schemas/finance/invoice.schema.js +10 -1
- package/dist/schemas/finance/invoice.schema.js.map +1 -1
- package/dist/schemas/finance/payment.schema.d.ts +38 -22
- package/dist/schemas/finance/payment.schema.d.ts.map +1 -1
- package/dist/schemas/finance/payment.schema.js +2 -0
- package/dist/schemas/finance/payment.schema.js.map +1 -1
- package/dist/schemas/finance/refund.schema.d.ts +99 -0
- package/dist/schemas/finance/refund.schema.d.ts.map +1 -0
- package/dist/schemas/finance/refund.schema.js +47 -0
- package/dist/schemas/finance/refund.schema.js.map +1 -0
- package/dist/schemas/identity/academic-year.schema.d.ts +14 -14
- package/dist/schemas/identity/bell-schedule.schema.d.ts +5 -5
- package/dist/schemas/identity/calendar-date.schema.d.ts +12 -12
- package/dist/schemas/identity/credential.schema.d.ts +4 -4
- package/dist/schemas/identity/department.schema.d.ts +6 -6
- package/dist/schemas/identity/education-org-network.schema.d.ts +7 -7
- package/dist/schemas/identity/education-organization.schema.d.ts +1 -1
- package/dist/schemas/identity/education-service-center.schema.d.ts +4 -4
- package/dist/schemas/identity/index.d.ts +2 -0
- package/dist/schemas/identity/index.d.ts.map +1 -1
- package/dist/schemas/identity/index.js +4 -0
- package/dist/schemas/identity/index.js.map +1 -1
- package/dist/schemas/identity/leave.schema.d.ts +34 -34
- package/dist/schemas/identity/local-education-agency.schema.d.ts +4 -4
- package/dist/schemas/identity/school-year.schema.d.ts +18 -18
- package/dist/schemas/identity/school.schema.d.ts +613 -124
- package/dist/schemas/identity/school.schema.d.ts.map +1 -1
- package/dist/schemas/identity/school.schema.js +32 -8
- package/dist/schemas/identity/school.schema.js.map +1 -1
- package/dist/schemas/identity/staff-assignment.schema.d.ts +3 -3
- package/dist/schemas/identity/staff.schema.d.ts +18 -18
- package/dist/schemas/identity/state-education-agency.schema.d.ts +3 -3
- package/dist/utils/bikram-sambat.d.ts +68 -0
- package/dist/utils/bikram-sambat.d.ts.map +1 -0
- package/dist/utils/bikram-sambat.js +301 -0
- package/dist/utils/bikram-sambat.js.map +1 -0
- package/dist/utils/currency.d.ts +30 -8
- package/dist/utils/currency.d.ts.map +1 -1
- package/dist/utils/currency.js +93 -25
- package/dist/utils/currency.js.map +1 -1
- package/dist/utils/date-format.d.ts +20 -0
- package/dist/utils/date-format.d.ts.map +1 -0
- package/dist/utils/date-format.js +66 -0
- package/dist/utils/date-format.js.map +1 -0
- package/dist/utils/school-hours.d.ts +48 -0
- package/dist/utils/school-hours.d.ts.map +1 -0
- package/dist/utils/school-hours.js +134 -0
- package/dist/utils/school-hours.js.map +1 -0
- package/dist/validators/date-range.d.ts +6 -6
- package/package.json +1 -1
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* School Hours Validation Utility
|
|
3
|
+
*
|
|
4
|
+
* Validates schedule slots, school days, and generates default bell schedule periods.
|
|
5
|
+
* All time values are HH:mm format (24-hour).
|
|
6
|
+
*/
|
|
7
|
+
export interface SchoolHoursConfig {
|
|
8
|
+
startTime: string;
|
|
9
|
+
endTime: string;
|
|
10
|
+
schoolDays: number[];
|
|
11
|
+
periodDuration: number;
|
|
12
|
+
}
|
|
13
|
+
export interface Period {
|
|
14
|
+
number: number;
|
|
15
|
+
startTime: string;
|
|
16
|
+
endTime: string;
|
|
17
|
+
type: 'class' | 'break';
|
|
18
|
+
label: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Check if a time falls within school hours (inclusive start, exclusive end)
|
|
22
|
+
*/
|
|
23
|
+
export declare function isWithinSchoolHours(time: string, startTime: string, endTime: string): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Check if a day of week is a school day
|
|
26
|
+
*/
|
|
27
|
+
export declare function isSchoolDay(dayOfWeek: number, schoolDays: number[]): boolean;
|
|
28
|
+
/**
|
|
29
|
+
* Validate a schedule slot against school hours config.
|
|
30
|
+
* Returns error message string or null if valid.
|
|
31
|
+
*/
|
|
32
|
+
export declare function validateScheduleSlot(params: {
|
|
33
|
+
startTime: string;
|
|
34
|
+
endTime: string;
|
|
35
|
+
dayOfWeek: number;
|
|
36
|
+
schoolConfig: SchoolHoursConfig;
|
|
37
|
+
}): string | null;
|
|
38
|
+
/**
|
|
39
|
+
* Auto-generate bell schedule periods based on school hours and period duration.
|
|
40
|
+
* Inserts breaks between periods.
|
|
41
|
+
*/
|
|
42
|
+
export declare function generateDefaultPeriods(startTime: string, endTime: string, periodDuration: number, breakDuration?: number): Period[];
|
|
43
|
+
/**
|
|
44
|
+
* Validate a bell schedule against school hours.
|
|
45
|
+
* Returns array of error messages (empty if valid).
|
|
46
|
+
*/
|
|
47
|
+
export declare function validateBellSchedule(periods: Period[], schoolConfig: SchoolHoursConfig): string[];
|
|
48
|
+
//# sourceMappingURL=school-hours.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"school-hours.d.ts","sourceRoot":"","sources":["../../src/utils/school-hours.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,MAAM;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAmBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAK7F;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAE5E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,iBAAiB,CAAC;CACjC,GAAG,MAAM,GAAG,IAAI,CAyBhB;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,MAAM,EACtB,aAAa,GAAE,MAAW,GACzB,MAAM,EAAE,CAiCV;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EAAE,EACjB,YAAY,EAAE,iBAAiB,GAC9B,MAAM,EAAE,CA+BV"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* School Hours Validation Utility
|
|
4
|
+
*
|
|
5
|
+
* Validates schedule slots, school days, and generates default bell schedule periods.
|
|
6
|
+
* All time values are HH:mm format (24-hour).
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.isWithinSchoolHours = isWithinSchoolHours;
|
|
10
|
+
exports.isSchoolDay = isSchoolDay;
|
|
11
|
+
exports.validateScheduleSlot = validateScheduleSlot;
|
|
12
|
+
exports.generateDefaultPeriods = generateDefaultPeriods;
|
|
13
|
+
exports.validateBellSchedule = validateBellSchedule;
|
|
14
|
+
/**
|
|
15
|
+
* Parse HH:mm string to minutes since midnight
|
|
16
|
+
*/
|
|
17
|
+
function parseTime(time) {
|
|
18
|
+
const [h, m] = time.split(':').map(Number);
|
|
19
|
+
return h * 60 + m;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Format minutes since midnight to HH:mm
|
|
23
|
+
*/
|
|
24
|
+
function formatTime(minutes) {
|
|
25
|
+
const h = Math.floor(minutes / 60);
|
|
26
|
+
const m = minutes % 60;
|
|
27
|
+
return `${String(h).padStart(2, '0')}:${String(m).padStart(2, '0')}`;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Check if a time falls within school hours (inclusive start, exclusive end)
|
|
31
|
+
*/
|
|
32
|
+
function isWithinSchoolHours(time, startTime, endTime) {
|
|
33
|
+
const t = parseTime(time);
|
|
34
|
+
const start = parseTime(startTime);
|
|
35
|
+
const end = parseTime(endTime);
|
|
36
|
+
return t >= start && t <= end;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if a day of week is a school day
|
|
40
|
+
*/
|
|
41
|
+
function isSchoolDay(dayOfWeek, schoolDays) {
|
|
42
|
+
return schoolDays.includes(dayOfWeek);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Validate a schedule slot against school hours config.
|
|
46
|
+
* Returns error message string or null if valid.
|
|
47
|
+
*/
|
|
48
|
+
function validateScheduleSlot(params) {
|
|
49
|
+
const { startTime, endTime, dayOfWeek, schoolConfig } = params;
|
|
50
|
+
// Check school day
|
|
51
|
+
if (!isSchoolDay(dayOfWeek, schoolConfig.schoolDays)) {
|
|
52
|
+
const dayNames = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
|
|
53
|
+
return `${dayNames[dayOfWeek]} is not a school day`;
|
|
54
|
+
}
|
|
55
|
+
// Check start time
|
|
56
|
+
if (!isWithinSchoolHours(startTime, schoolConfig.startTime, schoolConfig.endTime)) {
|
|
57
|
+
return `Start time ${startTime} falls outside school hours (${schoolConfig.startTime}-${schoolConfig.endTime})`;
|
|
58
|
+
}
|
|
59
|
+
// Check end time
|
|
60
|
+
if (!isWithinSchoolHours(endTime, schoolConfig.startTime, schoolConfig.endTime)) {
|
|
61
|
+
return `End time ${endTime} falls outside school hours (${schoolConfig.startTime}-${schoolConfig.endTime})`;
|
|
62
|
+
}
|
|
63
|
+
// Check order
|
|
64
|
+
if (parseTime(endTime) <= parseTime(startTime)) {
|
|
65
|
+
return `End time ${endTime} must be after start time ${startTime}`;
|
|
66
|
+
}
|
|
67
|
+
return null;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Auto-generate bell schedule periods based on school hours and period duration.
|
|
71
|
+
* Inserts breaks between periods.
|
|
72
|
+
*/
|
|
73
|
+
function generateDefaultPeriods(startTime, endTime, periodDuration, breakDuration = 10) {
|
|
74
|
+
const periods = [];
|
|
75
|
+
let currentTime = parseTime(startTime);
|
|
76
|
+
const schoolEnd = parseTime(endTime);
|
|
77
|
+
let periodNumber = 1;
|
|
78
|
+
while (currentTime + periodDuration <= schoolEnd) {
|
|
79
|
+
// Add class period
|
|
80
|
+
periods.push({
|
|
81
|
+
number: periodNumber,
|
|
82
|
+
startTime: formatTime(currentTime),
|
|
83
|
+
endTime: formatTime(currentTime + periodDuration),
|
|
84
|
+
type: 'class',
|
|
85
|
+
label: `Period ${periodNumber}`,
|
|
86
|
+
});
|
|
87
|
+
currentTime += periodDuration;
|
|
88
|
+
periodNumber++;
|
|
89
|
+
// Add break if there's room for another period after break
|
|
90
|
+
if (currentTime + breakDuration + periodDuration <= schoolEnd) {
|
|
91
|
+
periods.push({
|
|
92
|
+
number: periodNumber - 1, // breaks share the preceding period number
|
|
93
|
+
startTime: formatTime(currentTime),
|
|
94
|
+
endTime: formatTime(currentTime + breakDuration),
|
|
95
|
+
type: 'break',
|
|
96
|
+
label: periodNumber === 5 ? 'Lunch Break' : 'Break',
|
|
97
|
+
});
|
|
98
|
+
currentTime += breakDuration;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
return periods;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Validate a bell schedule against school hours.
|
|
105
|
+
* Returns array of error messages (empty if valid).
|
|
106
|
+
*/
|
|
107
|
+
function validateBellSchedule(periods, schoolConfig) {
|
|
108
|
+
const errors = [];
|
|
109
|
+
const classPeriods = periods.filter(p => p.type === 'class');
|
|
110
|
+
if (classPeriods.length === 0) {
|
|
111
|
+
errors.push('Bell schedule must have at least one class period');
|
|
112
|
+
return errors;
|
|
113
|
+
}
|
|
114
|
+
// First period must not start before school start
|
|
115
|
+
const firstPeriod = classPeriods[0];
|
|
116
|
+
if (parseTime(firstPeriod.startTime) < parseTime(schoolConfig.startTime)) {
|
|
117
|
+
errors.push(`First period starts at ${firstPeriod.startTime}, before school start time ${schoolConfig.startTime}`);
|
|
118
|
+
}
|
|
119
|
+
// Last period must not end after school end
|
|
120
|
+
const lastPeriod = classPeriods[classPeriods.length - 1];
|
|
121
|
+
if (parseTime(lastPeriod.endTime) > parseTime(schoolConfig.endTime)) {
|
|
122
|
+
errors.push(`Last period ends at ${lastPeriod.endTime}, after school end time ${schoolConfig.endTime}`);
|
|
123
|
+
}
|
|
124
|
+
// Check period duration alignment (warning-level, not error)
|
|
125
|
+
for (const period of classPeriods) {
|
|
126
|
+
const duration = parseTime(period.endTime) - parseTime(period.startTime);
|
|
127
|
+
if (duration !== schoolConfig.periodDuration && duration !== schoolConfig.periodDuration * 2) {
|
|
128
|
+
// Allow single or double periods
|
|
129
|
+
errors.push(`Period ${period.number} duration (${duration}min) doesn't match configured period duration (${schoolConfig.periodDuration}min)`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return errors;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=school-hours.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"school-hours.js","sourceRoot":"","sources":["../../src/utils/school-hours.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,8 @@ export { dateSchema } from '../schemas/common';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const datetimeSchema: z.ZodString;
|
|
12
12
|
export declare const dateRangeSchema: z.ZodEffects<z.ZodObject<{
|
|
13
|
-
startDate: z.ZodEffects<z.ZodString, string, string>;
|
|
14
|
-
endDate: z.ZodEffects<z.ZodString, string, string>;
|
|
13
|
+
startDate: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
14
|
+
endDate: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
15
15
|
}, "strip", z.ZodTypeAny, {
|
|
16
16
|
startDate: string;
|
|
17
17
|
endDate: string;
|
|
@@ -30,8 +30,8 @@ export type DateRange = z.infer<typeof dateRangeSchema>;
|
|
|
30
30
|
* Academic year must be between 120 and 365 days
|
|
31
31
|
*/
|
|
32
32
|
export declare const academicYearDateRangeSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
33
|
-
startDate: z.ZodEffects<z.ZodString, string, string>;
|
|
34
|
-
endDate: z.ZodEffects<z.ZodString, string, string>;
|
|
33
|
+
startDate: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
34
|
+
endDate: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
35
35
|
}, "strip", z.ZodTypeAny, {
|
|
36
36
|
startDate: string;
|
|
37
37
|
endDate: string;
|
|
@@ -56,8 +56,8 @@ export type AcademicYearDateRange = z.infer<typeof academicYearDateRangeSchema>;
|
|
|
56
56
|
* Grading period must be between 7 and 180 days
|
|
57
57
|
*/
|
|
58
58
|
export declare const gradingPeriodDateRangeSchema: z.ZodEffects<z.ZodEffects<z.ZodObject<{
|
|
59
|
-
startDate: z.ZodEffects<z.ZodString, string, string>;
|
|
60
|
-
endDate: z.ZodEffects<z.ZodString, string, string>;
|
|
59
|
+
startDate: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
60
|
+
endDate: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
61
61
|
}, "strip", z.ZodTypeAny, {
|
|
62
62
|
startDate: string;
|
|
63
63
|
endDate: string;
|
package/package.json
CHANGED