@studious-lms/server 1.22.0 → 1.24.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/.env.example +0 -1
- package/data/curriculum/nepal-cdc-g4-g5/README.md +90 -0
- package/data/curriculum/nepal-cdc-g4-g5/manifest.json +97 -0
- package/data/curriculum/nepal-cdc-g4-g5/proficiency-scale.json +76 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/english.json +6936 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/health-physical-creative-arts.json +3401 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/mathematics.json +1511 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/nepali.json +7928 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/science-technology.json +2420 -0
- package/data/curriculum/nepal-cdc-g4-g5/subjects/social-studies.json +2177 -0
- package/dist/lib/assignmentTypeDefaults.d.ts +41 -0
- package/dist/lib/assignmentTypeDefaults.d.ts.map +1 -0
- package/dist/lib/assignmentTypeDefaults.js +167 -0
- package/dist/lib/assignmentTypeDefaults.js.map +1 -0
- package/dist/lib/config/env.d.ts +0 -8
- package/dist/lib/config/env.d.ts.map +1 -1
- package/dist/lib/config/env.js +2 -5
- package/dist/lib/config/env.js.map +1 -1
- package/dist/lib/feePdf.d.ts +19 -0
- package/dist/lib/feePdf.d.ts.map +1 -0
- package/dist/lib/feePdf.js +167 -0
- package/dist/lib/feePdf.js.map +1 -0
- package/dist/lib/feePdfFormat.d.ts +4 -0
- package/dist/lib/feePdfFormat.d.ts.map +1 -0
- package/dist/lib/feePdfFormat.js +16 -0
- package/dist/lib/feePdfFormat.js.map +1 -0
- package/dist/lib/idCardPdf.d.ts +26 -0
- package/dist/lib/idCardPdf.d.ts.map +1 -0
- package/dist/lib/idCardPdf.js +272 -0
- package/dist/lib/idCardPdf.js.map +1 -0
- package/dist/lib/pdfLetterhead.d.ts +41 -0
- package/dist/lib/pdfLetterhead.d.ts.map +1 -0
- package/dist/lib/pdfLetterhead.js +86 -0
- package/dist/lib/pdfLetterhead.js.map +1 -0
- package/dist/lib/transcriptPdf.d.ts +55 -0
- package/dist/lib/transcriptPdf.d.ts.map +1 -0
- package/dist/lib/transcriptPdf.js +303 -0
- package/dist/lib/transcriptPdf.js.map +1 -0
- package/dist/models/academicCalendar.d.ts +198 -0
- package/dist/models/academicCalendar.d.ts.map +1 -0
- package/dist/models/academicCalendar.js +106 -0
- package/dist/models/academicCalendar.js.map +1 -0
- package/dist/models/agenda.d.ts +8 -0
- package/dist/models/agenda.d.ts.map +1 -1
- package/dist/models/announcement.d.ts +2 -0
- package/dist/models/announcement.d.ts.map +1 -1
- package/dist/models/assignment.d.ts +66 -0
- package/dist/models/assignment.d.ts.map +1 -1
- package/dist/models/attendance.d.ts +659 -21
- package/dist/models/attendance.d.ts.map +1 -1
- package/dist/models/attendance.js +544 -75
- package/dist/models/attendance.js.map +1 -1
- package/dist/models/auth.d.ts +2 -0
- package/dist/models/auth.d.ts.map +1 -1
- package/dist/models/class.d.ts +12 -0
- package/dist/models/class.d.ts.map +1 -1
- package/dist/models/class.js +3 -2
- package/dist/models/class.js.map +1 -1
- package/dist/models/event.d.ts +16 -0
- package/dist/models/event.d.ts.map +1 -1
- package/dist/models/fees.d.ts +554 -0
- package/dist/models/fees.d.ts.map +1 -0
- package/dist/models/fees.js +278 -0
- package/dist/models/fees.js.map +1 -0
- package/dist/models/file.d.ts +29 -0
- package/dist/models/file.d.ts.map +1 -1
- package/dist/models/folder.d.ts +2 -0
- package/dist/models/folder.d.ts.map +1 -1
- package/dist/models/labChat.d.ts +2 -0
- package/dist/models/labChat.d.ts.map +1 -1
- package/dist/models/marketplace.d.ts +178 -0
- package/dist/models/marketplace.d.ts.map +1 -0
- package/dist/models/marketplace.js +115 -0
- package/dist/models/marketplace.js.map +1 -0
- package/dist/models/moduleItem.d.ts +304 -0
- package/dist/models/moduleItem.d.ts.map +1 -0
- package/dist/models/moduleItem.js +78 -0
- package/dist/models/moduleItem.js.map +1 -0
- package/dist/models/newtonChat.d.ts +1 -0
- package/dist/models/newtonChat.d.ts.map +1 -1
- package/dist/models/school.d.ts +193 -0
- package/dist/models/school.d.ts.map +1 -1
- package/dist/models/school.js +80 -2
- package/dist/models/school.js.map +1 -1
- package/dist/models/section.d.ts +4 -0
- package/dist/models/section.d.ts.map +1 -1
- package/dist/models/worksheet.d.ts +19 -0
- package/dist/models/worksheet.d.ts.map +1 -1
- package/dist/models/worksheet.js +2 -2
- package/dist/models/worksheet.js.map +1 -1
- package/dist/routers/_app.d.ts +11605 -7133
- package/dist/routers/_app.d.ts.map +1 -1
- package/dist/routers/_app.js +12 -2
- package/dist/routers/_app.js.map +1 -1
- package/dist/routers/academicCalendar.d.ts +229 -0
- package/dist/routers/academicCalendar.d.ts.map +1 -0
- package/dist/routers/academicCalendar.js +75 -0
- package/dist/routers/academicCalendar.js.map +1 -0
- package/dist/routers/admin.d.ts +2 -0
- package/dist/routers/admin.d.ts.map +1 -1
- package/dist/routers/agenda.d.ts +8 -0
- package/dist/routers/agenda.d.ts.map +1 -1
- package/dist/routers/assignment.d.ts +75 -0
- package/dist/routers/assignment.d.ts.map +1 -1
- package/dist/routers/assignment.js +10 -2
- package/dist/routers/assignment.js.map +1 -1
- package/dist/routers/attendance.d.ts +103 -0
- package/dist/routers/attendance.d.ts.map +1 -1
- package/dist/routers/attendance.js +8 -5
- package/dist/routers/attendance.js.map +1 -1
- package/dist/routers/class.d.ts +27 -0
- package/dist/routers/class.d.ts.map +1 -1
- package/dist/routers/class.js +6 -2
- package/dist/routers/class.js.map +1 -1
- package/dist/routers/event.d.ts +8 -0
- package/dist/routers/event.d.ts.map +1 -1
- package/dist/routers/fees.d.ts +513 -0
- package/dist/routers/fees.d.ts.map +1 -0
- package/dist/routers/fees.js +88 -0
- package/dist/routers/fees.js.map +1 -0
- package/dist/routers/file.d.ts +2 -0
- package/dist/routers/file.d.ts.map +1 -1
- package/dist/routers/gradebook.d.ts +4 -1
- package/dist/routers/gradebook.d.ts.map +1 -1
- package/dist/routers/marketplace.d.ts +371 -0
- package/dist/routers/marketplace.d.ts.map +1 -0
- package/dist/routers/marketplace.js +87 -0
- package/dist/routers/marketplace.js.map +1 -0
- package/dist/routers/moduleItem.d.ts +263 -0
- package/dist/routers/moduleItem.d.ts.map +1 -0
- package/dist/routers/moduleItem.js +60 -0
- package/dist/routers/moduleItem.js.map +1 -0
- package/dist/routers/parent.d.ts +169 -0
- package/dist/routers/parent.d.ts.map +1 -0
- package/dist/routers/parent.js +49 -0
- package/dist/routers/parent.js.map +1 -0
- package/dist/routers/school.d.ts +476 -6
- package/dist/routers/school.d.ts.map +1 -1
- package/dist/routers/school.js +130 -4
- package/dist/routers/school.js.map +1 -1
- package/dist/routers/worksheet.d.ts +27 -0
- package/dist/routers/worksheet.d.ts.map +1 -1
- package/dist/routers/worksheet.js +10 -3
- package/dist/routers/worksheet.js.map +1 -1
- package/dist/services/academicCalendar.d.ts +173 -0
- package/dist/services/academicCalendar.d.ts.map +1 -0
- package/dist/services/academicCalendar.js +214 -0
- package/dist/services/academicCalendar.js.map +1 -0
- package/dist/services/adminInstitution.d.ts +2 -0
- package/dist/services/adminInstitution.d.ts.map +1 -1
- package/dist/services/agenda.d.ts +8 -0
- package/dist/services/agenda.d.ts.map +1 -1
- package/dist/services/assignment.d.ts +75 -0
- package/dist/services/assignment.d.ts.map +1 -1
- package/dist/services/assignment.js +91 -12
- package/dist/services/assignment.js.map +1 -1
- package/dist/services/attendance.d.ts +323 -10
- package/dist/services/attendance.d.ts.map +1 -1
- package/dist/services/attendance.js +385 -25
- package/dist/services/attendance.js.map +1 -1
- package/dist/services/attendanceMerge.d.ts +53 -0
- package/dist/services/attendanceMerge.d.ts.map +1 -0
- package/dist/services/attendanceMerge.js +87 -0
- package/dist/services/attendanceMerge.js.map +1 -0
- package/dist/services/attendanceRate.d.ts +24 -0
- package/dist/services/attendanceRate.d.ts.map +1 -0
- package/dist/services/attendanceRate.js +31 -0
- package/dist/services/attendanceRate.js.map +1 -0
- package/dist/services/attendanceStats.d.ts +22 -0
- package/dist/services/attendanceStats.d.ts.map +1 -0
- package/dist/services/attendanceStats.js +45 -0
- package/dist/services/attendanceStats.js.map +1 -0
- package/dist/services/class.d.ts +27 -0
- package/dist/services/class.d.ts.map +1 -1
- package/dist/services/class.js +26 -3
- package/dist/services/class.js.map +1 -1
- package/dist/services/event.d.ts +8 -0
- package/dist/services/event.d.ts.map +1 -1
- package/dist/services/fees.d.ts +422 -0
- package/dist/services/fees.d.ts.map +1 -0
- package/dist/services/fees.js +310 -0
- package/dist/services/fees.js.map +1 -0
- package/dist/services/feesAuthz.d.ts +49 -0
- package/dist/services/feesAuthz.d.ts.map +1 -0
- package/dist/services/feesAuthz.js +52 -0
- package/dist/services/feesAuthz.js.map +1 -0
- package/dist/services/file.d.ts +4 -0
- package/dist/services/file.d.ts.map +1 -1
- package/dist/services/gradebook.d.ts +18 -1
- package/dist/services/gradebook.d.ts.map +1 -1
- package/dist/services/gradebook.js +57 -2
- package/dist/services/gradebook.js.map +1 -1
- package/dist/services/idCard.d.ts +11 -0
- package/dist/services/idCard.d.ts.map +1 -0
- package/dist/services/idCard.js +122 -0
- package/dist/services/idCard.js.map +1 -0
- package/dist/services/marketplace.d.ts +301 -0
- package/dist/services/marketplace.d.ts.map +1 -0
- package/dist/services/marketplace.js +628 -0
- package/dist/services/marketplace.js.map +1 -0
- package/dist/services/moduleItem.d.ts +196 -0
- package/dist/services/moduleItem.d.ts.map +1 -0
- package/dist/services/moduleItem.js +188 -0
- package/dist/services/moduleItem.js.map +1 -0
- package/dist/services/notification.d.ts +58 -0
- package/dist/services/notification.d.ts.map +1 -1
- package/dist/services/notification.js +30 -2
- package/dist/services/notification.js.map +1 -1
- package/dist/services/parentPortal.d.ts +133 -0
- package/dist/services/parentPortal.d.ts.map +1 -0
- package/dist/services/parentPortal.js +328 -0
- package/dist/services/parentPortal.js.map +1 -0
- package/dist/services/school.d.ts +122 -3
- package/dist/services/school.d.ts.map +1 -1
- package/dist/services/school.js +179 -47
- package/dist/services/school.js.map +1 -1
- package/dist/services/studentImport.d.ts +34 -0
- package/dist/services/studentImport.d.ts.map +1 -0
- package/dist/services/studentImport.js +236 -0
- package/dist/services/studentImport.js.map +1 -0
- package/dist/services/transcript.d.ts +61 -0
- package/dist/services/transcript.d.ts.map +1 -0
- package/dist/services/transcript.js +243 -0
- package/dist/services/transcript.js.map +1 -0
- package/dist/services/worksheet.d.ts +22 -0
- package/dist/services/worksheet.d.ts.map +1 -1
- package/dist/services/worksheet.js +94 -2
- package/dist/services/worksheet.js.map +1 -1
- package/dist/trpc.d.ts +1 -1
- package/dist/trpc.d.ts.map +1 -1
- package/dist/trpc.js +5 -5
- package/dist/trpc.js.map +1 -1
- package/dist/utils/adminPanelAccess.d.ts +4 -5
- package/dist/utils/adminPanelAccess.d.ts.map +1 -1
- package/dist/utils/adminPanelAccess.js +12 -34
- package/dist/utils/adminPanelAccess.js.map +1 -1
- package/package.json +2 -1
- package/prisma/migrations/20260804120000_add_attendance_records_and_excusals/migration.sql +114 -0
- package/prisma/migrations/20260804120100_add_fee_plans_invoices_payments/migration.sql +101 -0
- package/prisma/migrations/20260804120200_add_marketplace_listings/migration.sql +54 -0
- package/prisma/migrations/20260804120300_content_platform_b3_b9/migration.sql +63 -0
- package/prisma/migrations/20260804120400_c_academic_ops/migration.sql +77 -0
- package/prisma/schema.prisma +371 -11
- package/scripts/import-nepal-cdc-curriculum.ts +379 -0
- package/src/lib/assignmentTypeDefaults.ts +222 -0
- package/src/lib/config/env.ts +0 -3
- package/src/lib/feePdf.ts +199 -0
- package/src/lib/feePdfFormat.ts +14 -0
- package/src/lib/idCardPdf.ts +336 -0
- package/src/lib/pdfLetterhead.ts +124 -0
- package/src/lib/transcriptPdf.ts +502 -0
- package/src/models/academicCalendar.ts +139 -0
- package/src/models/attendance.ts +704 -73
- package/src/models/class.ts +1 -0
- package/src/models/fees.ts +349 -0
- package/src/models/marketplace.ts +158 -0
- package/src/models/moduleItem.ts +107 -0
- package/src/models/school.ts +95 -0
- package/src/models/worksheet.ts +2 -0
- package/src/routers/_app.ts +10 -0
- package/src/routers/academicCalendar.ts +103 -0
- package/src/routers/assignment.ts +8 -0
- package/src/routers/attendance.ts +7 -3
- package/src/routers/class.ts +4 -0
- package/src/routers/fees.ts +126 -0
- package/src/routers/marketplace.ts +134 -0
- package/src/routers/moduleItem.ts +89 -0
- package/src/routers/parent.ts +68 -0
- package/src/routers/school.ts +184 -1
- package/src/routers/worksheet.ts +11 -0
- package/src/services/academicCalendar.ts +299 -0
- package/src/services/assignment.ts +122 -12
- package/src/services/attendance.ts +548 -26
- package/src/services/attendanceMerge.ts +139 -0
- package/src/services/attendanceRate.ts +41 -0
- package/src/services/attendanceStats.ts +63 -0
- package/src/services/class.ts +25 -1
- package/src/services/fees.ts +424 -0
- package/src/services/feesAuthz.ts +77 -0
- package/src/services/gradebook.ts +70 -0
- package/src/services/idCard.ts +147 -0
- package/src/services/marketplace.ts +785 -0
- package/src/services/moduleItem.ts +274 -0
- package/src/services/notification.ts +43 -0
- package/src/services/parentPortal.ts +380 -0
- package/src/services/school.ts +243 -45
- package/src/services/studentImport.ts +273 -0
- package/src/services/transcript.ts +313 -0
- package/src/services/worksheet.ts +111 -0
- package/src/trpc.ts +3 -3
- package/src/utils/adminPanelAccess.ts +12 -35
- package/tests/unit/assignmentTypeDefaults.test.ts +52 -0
- package/tests/unit/lib/feePdf.test.ts +15 -0
- package/tests/unit/lib/idCardPdf.test.ts +40 -0
- package/tests/unit/lib/transcriptPdf.test.ts +111 -0
- package/tests/unit/services/attendanceMerge.test.ts +90 -0
- package/tests/unit/services/attendanceRate.test.ts +38 -0
- package/tests/unit/services/attendanceStats.test.ts +54 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
|
|
2
|
+
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},n=(new e.Error).stack;n&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[n]="f83e7b8d-ab55-5d6a-85ba-6472ae75af37")}catch(e){}}();
|
|
3
|
+
import { prisma } from "../lib/prisma.js";
|
|
4
|
+
const studentSelect = {
|
|
5
|
+
id: true,
|
|
6
|
+
username: true,
|
|
7
|
+
email: true,
|
|
8
|
+
profile: {
|
|
9
|
+
select: {
|
|
10
|
+
displayName: true,
|
|
11
|
+
profilePicture: true,
|
|
12
|
+
profilePictureThumbnail: true,
|
|
13
|
+
},
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
const planSelect = {
|
|
17
|
+
id: true,
|
|
18
|
+
schoolId: true,
|
|
19
|
+
name: true,
|
|
20
|
+
description: true,
|
|
21
|
+
amountNpr: true,
|
|
22
|
+
currency: true,
|
|
23
|
+
isActive: true,
|
|
24
|
+
createdAt: true,
|
|
25
|
+
updatedAt: true,
|
|
26
|
+
_count: { select: { enrollments: true, invoices: true } },
|
|
27
|
+
};
|
|
28
|
+
const invoiceSelect = {
|
|
29
|
+
id: true,
|
|
30
|
+
schoolId: true,
|
|
31
|
+
feePlanId: true,
|
|
32
|
+
studentId: true,
|
|
33
|
+
year: true,
|
|
34
|
+
month: true,
|
|
35
|
+
amountNpr: true,
|
|
36
|
+
currency: true,
|
|
37
|
+
status: true,
|
|
38
|
+
dueDate: true,
|
|
39
|
+
issuedAt: true,
|
|
40
|
+
notes: true,
|
|
41
|
+
createdAt: true,
|
|
42
|
+
updatedAt: true,
|
|
43
|
+
feePlan: { select: { id: true, name: true } },
|
|
44
|
+
student: { select: studentSelect },
|
|
45
|
+
payments: {
|
|
46
|
+
orderBy: { paidAt: "desc" },
|
|
47
|
+
select: {
|
|
48
|
+
id: true,
|
|
49
|
+
amountNpr: true,
|
|
50
|
+
method: true,
|
|
51
|
+
reference: true,
|
|
52
|
+
paidAt: true,
|
|
53
|
+
notes: true,
|
|
54
|
+
recordedById: true,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
};
|
|
58
|
+
export function listFeePlans(schoolId) {
|
|
59
|
+
return prisma.feePlan.findMany({
|
|
60
|
+
where: { schoolId },
|
|
61
|
+
orderBy: [{ isActive: "desc" }, { name: "asc" }],
|
|
62
|
+
select: planSelect,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
export function getFeePlan(planId) {
|
|
66
|
+
return prisma.feePlan.findUnique({
|
|
67
|
+
where: { id: planId },
|
|
68
|
+
select: {
|
|
69
|
+
...planSelect,
|
|
70
|
+
enrollments: {
|
|
71
|
+
select: {
|
|
72
|
+
id: true,
|
|
73
|
+
studentId: true,
|
|
74
|
+
student: { select: studentSelect },
|
|
75
|
+
},
|
|
76
|
+
},
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
export function createFeePlan(data) {
|
|
81
|
+
return prisma.feePlan.create({
|
|
82
|
+
data: {
|
|
83
|
+
schoolId: data.schoolId,
|
|
84
|
+
name: data.name,
|
|
85
|
+
description: data.description,
|
|
86
|
+
amountNpr: data.amountNpr,
|
|
87
|
+
currency: data.currency ?? "NPR",
|
|
88
|
+
isActive: data.isActive ?? true,
|
|
89
|
+
},
|
|
90
|
+
select: planSelect,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
export function updateFeePlan(planId, data) {
|
|
94
|
+
return prisma.feePlan.update({
|
|
95
|
+
where: { id: planId },
|
|
96
|
+
data,
|
|
97
|
+
select: planSelect,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
export function setFeePlanEnrollments(planId, studentIds) {
|
|
101
|
+
return prisma.$transaction(async (tx) => {
|
|
102
|
+
await tx.feePlanEnrollment.deleteMany({ where: { feePlanId: planId } });
|
|
103
|
+
if (studentIds.length) {
|
|
104
|
+
await tx.feePlanEnrollment.createMany({
|
|
105
|
+
data: studentIds.map((studentId) => ({ feePlanId: planId, studentId })),
|
|
106
|
+
skipDuplicates: true,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
return tx.feePlan.findUnique({
|
|
110
|
+
where: { id: planId },
|
|
111
|
+
select: {
|
|
112
|
+
...planSelect,
|
|
113
|
+
enrollments: {
|
|
114
|
+
select: {
|
|
115
|
+
id: true,
|
|
116
|
+
studentId: true,
|
|
117
|
+
student: { select: studentSelect },
|
|
118
|
+
},
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
export function listActiveStudentIds(schoolId) {
|
|
125
|
+
return prisma.schoolMembership
|
|
126
|
+
.findMany({
|
|
127
|
+
where: { schoolId, role: "STUDENT", status: "ACTIVE" },
|
|
128
|
+
select: { userId: true },
|
|
129
|
+
})
|
|
130
|
+
.then((rows) => rows.map((r) => r.userId));
|
|
131
|
+
}
|
|
132
|
+
export function listPlanEnrollmentIds(planId) {
|
|
133
|
+
return prisma.feePlanEnrollment
|
|
134
|
+
.findMany({
|
|
135
|
+
where: { feePlanId: planId },
|
|
136
|
+
select: { studentId: true },
|
|
137
|
+
})
|
|
138
|
+
.then((rows) => rows.map((r) => r.studentId));
|
|
139
|
+
}
|
|
140
|
+
export function createFeeInvoices(rows) {
|
|
141
|
+
return prisma.feeInvoice.createMany({
|
|
142
|
+
data: rows,
|
|
143
|
+
skipDuplicates: true,
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
export function listFeeInvoices(filters) {
|
|
147
|
+
const where = {
|
|
148
|
+
schoolId: filters.schoolId,
|
|
149
|
+
};
|
|
150
|
+
if (filters.year != null)
|
|
151
|
+
where.year = filters.year;
|
|
152
|
+
if (filters.month != null)
|
|
153
|
+
where.month = filters.month;
|
|
154
|
+
if (filters.studentId)
|
|
155
|
+
where.studentId = filters.studentId;
|
|
156
|
+
if (filters.feePlanId)
|
|
157
|
+
where.feePlanId = filters.feePlanId;
|
|
158
|
+
if (filters.status)
|
|
159
|
+
where.status = filters.status;
|
|
160
|
+
return prisma.feeInvoice.findMany({
|
|
161
|
+
where,
|
|
162
|
+
orderBy: [{ year: "desc" }, { month: "desc" }, { issuedAt: "desc" }],
|
|
163
|
+
select: invoiceSelect,
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
export function getFeeInvoice(invoiceId) {
|
|
167
|
+
return prisma.feeInvoice.findUnique({
|
|
168
|
+
where: { id: invoiceId },
|
|
169
|
+
select: {
|
|
170
|
+
...invoiceSelect,
|
|
171
|
+
school: {
|
|
172
|
+
select: {
|
|
173
|
+
id: true,
|
|
174
|
+
name: true,
|
|
175
|
+
letterheadFileId: true,
|
|
176
|
+
letterhead: {
|
|
177
|
+
select: { id: true, path: true, type: true, name: true },
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
export function createFeePayment(data) {
|
|
185
|
+
return prisma.feePayment.create({
|
|
186
|
+
data: {
|
|
187
|
+
schoolId: data.schoolId,
|
|
188
|
+
invoiceId: data.invoiceId,
|
|
189
|
+
amountNpr: data.amountNpr,
|
|
190
|
+
method: data.method,
|
|
191
|
+
reference: data.reference,
|
|
192
|
+
paidAt: data.paidAt,
|
|
193
|
+
recordedById: data.recordedById,
|
|
194
|
+
notes: data.notes,
|
|
195
|
+
},
|
|
196
|
+
});
|
|
197
|
+
}
|
|
198
|
+
export function sumPaymentsForInvoice(invoiceId) {
|
|
199
|
+
return prisma.feePayment.aggregate({
|
|
200
|
+
where: { invoiceId },
|
|
201
|
+
_sum: { amountNpr: true },
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
export function updateInvoiceStatus(invoiceId, status) {
|
|
205
|
+
return prisma.feeInvoice.update({
|
|
206
|
+
where: { id: invoiceId },
|
|
207
|
+
data: { status },
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
export function getFeePayment(paymentId) {
|
|
211
|
+
return prisma.feePayment.findUnique({
|
|
212
|
+
where: { id: paymentId },
|
|
213
|
+
include: {
|
|
214
|
+
invoice: {
|
|
215
|
+
select: {
|
|
216
|
+
...invoiceSelect,
|
|
217
|
+
school: {
|
|
218
|
+
select: {
|
|
219
|
+
id: true,
|
|
220
|
+
name: true,
|
|
221
|
+
letterheadFileId: true,
|
|
222
|
+
letterhead: {
|
|
223
|
+
select: { id: true, path: true, type: true, name: true },
|
|
224
|
+
},
|
|
225
|
+
},
|
|
226
|
+
},
|
|
227
|
+
},
|
|
228
|
+
},
|
|
229
|
+
recordedBy: {
|
|
230
|
+
select: {
|
|
231
|
+
id: true,
|
|
232
|
+
username: true,
|
|
233
|
+
profile: { select: { displayName: true } },
|
|
234
|
+
},
|
|
235
|
+
},
|
|
236
|
+
},
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
export async function listStudentBalances(schoolId) {
|
|
240
|
+
const invoices = await prisma.feeInvoice.findMany({
|
|
241
|
+
where: {
|
|
242
|
+
schoolId,
|
|
243
|
+
status: { in: ["UNPAID", "PARTIAL"] },
|
|
244
|
+
},
|
|
245
|
+
select: {
|
|
246
|
+
studentId: true,
|
|
247
|
+
amountNpr: true,
|
|
248
|
+
student: { select: studentSelect },
|
|
249
|
+
payments: { select: { amountNpr: true } },
|
|
250
|
+
},
|
|
251
|
+
});
|
|
252
|
+
const byStudent = new Map();
|
|
253
|
+
for (const inv of invoices) {
|
|
254
|
+
const paid = inv.payments.reduce((s, p) => s + p.amountNpr, 0);
|
|
255
|
+
const balance = Math.max(0, inv.amountNpr - paid);
|
|
256
|
+
const existing = byStudent.get(inv.studentId);
|
|
257
|
+
if (existing) {
|
|
258
|
+
existing.invoicedNpr += inv.amountNpr;
|
|
259
|
+
existing.paidNpr += paid;
|
|
260
|
+
existing.balanceNpr += balance;
|
|
261
|
+
existing.openInvoiceCount += 1;
|
|
262
|
+
}
|
|
263
|
+
else {
|
|
264
|
+
byStudent.set(inv.studentId, {
|
|
265
|
+
student: inv.student,
|
|
266
|
+
invoicedNpr: inv.amountNpr,
|
|
267
|
+
paidNpr: paid,
|
|
268
|
+
balanceNpr: balance,
|
|
269
|
+
openInvoiceCount: 1,
|
|
270
|
+
});
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
return Array.from(byStudent.entries())
|
|
274
|
+
.map(([studentId, row]) => ({ studentId, ...row }))
|
|
275
|
+
.sort((a, b) => b.balanceNpr - a.balanceNpr);
|
|
276
|
+
}
|
|
277
|
+
//# sourceMappingURL=fees.js.map
|
|
278
|
+
//# debugId=f83e7b8d-ab55-5d6a-85ba-6472ae75af37
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fees.js","sources":["models/fees.ts"],"sourceRoot":"/","sourcesContent":["/**\n * Fee ledger model — FeePlan, FeeInvoice, FeePayment queries.\n */\nimport {\n FeeInvoiceStatus,\n FeePaymentMethod,\n Prisma,\n} from \"@prisma/client\";\nimport { prisma } from \"../lib/prisma.js\";\n\nconst studentSelect = {\n id: true,\n username: true,\n email: true,\n profile: {\n select: {\n displayName: true,\n profilePicture: true,\n profilePictureThumbnail: true,\n },\n },\n} as const;\n\nconst planSelect = {\n id: true,\n schoolId: true,\n name: true,\n description: true,\n amountNpr: true,\n currency: true,\n isActive: true,\n createdAt: true,\n updatedAt: true,\n _count: { select: { enrollments: true, invoices: true } },\n} as const;\n\nconst invoiceSelect = {\n id: true,\n schoolId: true,\n feePlanId: true,\n studentId: true,\n year: true,\n month: true,\n amountNpr: true,\n currency: true,\n status: true,\n dueDate: true,\n issuedAt: true,\n notes: true,\n createdAt: true,\n updatedAt: true,\n feePlan: { select: { id: true, name: true } },\n student: { select: studentSelect },\n payments: {\n orderBy: { paidAt: \"desc\" as const },\n select: {\n id: true,\n amountNpr: true,\n method: true,\n reference: true,\n paidAt: true,\n notes: true,\n recordedById: true,\n },\n },\n} as const;\n\nexport function listFeePlans(schoolId: string) {\n return prisma.feePlan.findMany({\n where: { schoolId },\n orderBy: [{ isActive: \"desc\" }, { name: \"asc\" }],\n select: planSelect,\n });\n}\n\nexport function getFeePlan(planId: string) {\n return prisma.feePlan.findUnique({\n where: { id: planId },\n select: {\n ...planSelect,\n enrollments: {\n select: {\n id: true,\n studentId: true,\n student: { select: studentSelect },\n },\n },\n },\n });\n}\n\nexport function createFeePlan(data: {\n schoolId: string;\n name: string;\n description?: string | null;\n amountNpr: number;\n currency?: string;\n isActive?: boolean;\n}) {\n return prisma.feePlan.create({\n data: {\n schoolId: data.schoolId,\n name: data.name,\n description: data.description,\n amountNpr: data.amountNpr,\n currency: data.currency ?? \"NPR\",\n isActive: data.isActive ?? true,\n },\n select: planSelect,\n });\n}\n\nexport function updateFeePlan(\n planId: string,\n data: {\n name?: string;\n description?: string | null;\n amountNpr?: number;\n isActive?: boolean;\n }\n) {\n return prisma.feePlan.update({\n where: { id: planId },\n data,\n select: planSelect,\n });\n}\n\nexport function setFeePlanEnrollments(planId: string, studentIds: string[]) {\n return prisma.$transaction(async (tx) => {\n await tx.feePlanEnrollment.deleteMany({ where: { feePlanId: planId } });\n if (studentIds.length) {\n await tx.feePlanEnrollment.createMany({\n data: studentIds.map((studentId) => ({ feePlanId: planId, studentId })),\n skipDuplicates: true,\n });\n }\n return tx.feePlan.findUnique({\n where: { id: planId },\n select: {\n ...planSelect,\n enrollments: {\n select: {\n id: true,\n studentId: true,\n student: { select: studentSelect },\n },\n },\n },\n });\n });\n}\n\nexport function listActiveStudentIds(schoolId: string) {\n return prisma.schoolMembership\n .findMany({\n where: { schoolId, role: \"STUDENT\", status: \"ACTIVE\" },\n select: { userId: true },\n })\n .then((rows) => rows.map((r) => r.userId));\n}\n\nexport function listPlanEnrollmentIds(planId: string) {\n return prisma.feePlanEnrollment\n .findMany({\n where: { feePlanId: planId },\n select: { studentId: true },\n })\n .then((rows) => rows.map((r) => r.studentId));\n}\n\nexport function createFeeInvoices(\n rows: {\n schoolId: string;\n feePlanId: string;\n studentId: string;\n year: number;\n month: number;\n amountNpr: number;\n currency: string;\n dueDate?: Date | null;\n }[]\n) {\n return prisma.feeInvoice.createMany({\n data: rows,\n skipDuplicates: true,\n });\n}\n\nexport function listFeeInvoices(filters: {\n schoolId: string;\n year?: number;\n month?: number;\n studentId?: string;\n feePlanId?: string;\n status?: FeeInvoiceStatus;\n}) {\n const where: Prisma.FeeInvoiceWhereInput = {\n schoolId: filters.schoolId,\n };\n if (filters.year != null) where.year = filters.year;\n if (filters.month != null) where.month = filters.month;\n if (filters.studentId) where.studentId = filters.studentId;\n if (filters.feePlanId) where.feePlanId = filters.feePlanId;\n if (filters.status) where.status = filters.status;\n\n return prisma.feeInvoice.findMany({\n where,\n orderBy: [{ year: \"desc\" }, { month: \"desc\" }, { issuedAt: \"desc\" }],\n select: invoiceSelect,\n });\n}\n\nexport function getFeeInvoice(invoiceId: string) {\n return prisma.feeInvoice.findUnique({\n where: { id: invoiceId },\n select: {\n ...invoiceSelect,\n school: {\n select: {\n id: true,\n name: true,\n letterheadFileId: true,\n letterhead: {\n select: { id: true, path: true, type: true, name: true },\n },\n },\n },\n },\n });\n}\n\nexport function createFeePayment(data: {\n schoolId: string;\n invoiceId: string;\n amountNpr: number;\n method: FeePaymentMethod;\n reference?: string | null;\n paidAt?: Date;\n recordedById: string;\n notes?: string | null;\n}) {\n return prisma.feePayment.create({\n data: {\n schoolId: data.schoolId,\n invoiceId: data.invoiceId,\n amountNpr: data.amountNpr,\n method: data.method,\n reference: data.reference,\n paidAt: data.paidAt,\n recordedById: data.recordedById,\n notes: data.notes,\n },\n });\n}\n\nexport function sumPaymentsForInvoice(invoiceId: string) {\n return prisma.feePayment.aggregate({\n where: { invoiceId },\n _sum: { amountNpr: true },\n });\n}\n\nexport function updateInvoiceStatus(invoiceId: string, status: FeeInvoiceStatus) {\n return prisma.feeInvoice.update({\n where: { id: invoiceId },\n data: { status },\n });\n}\n\nexport function getFeePayment(paymentId: string) {\n return prisma.feePayment.findUnique({\n where: { id: paymentId },\n include: {\n invoice: {\n select: {\n ...invoiceSelect,\n school: {\n select: {\n id: true,\n name: true,\n letterheadFileId: true,\n letterhead: {\n select: { id: true, path: true, type: true, name: true },\n },\n },\n },\n },\n },\n recordedBy: {\n select: {\n id: true,\n username: true,\n profile: { select: { displayName: true } },\n },\n },\n },\n });\n}\n\nexport async function listStudentBalances(schoolId: string) {\n const invoices = await prisma.feeInvoice.findMany({\n where: {\n schoolId,\n status: { in: [\"UNPAID\", \"PARTIAL\"] },\n },\n select: {\n studentId: true,\n amountNpr: true,\n student: { select: studentSelect },\n payments: { select: { amountNpr: true } },\n },\n });\n\n const byStudent = new Map<\n string,\n {\n student: (typeof invoices)[number][\"student\"];\n invoicedNpr: number;\n paidNpr: number;\n balanceNpr: number;\n openInvoiceCount: number;\n }\n >();\n\n for (const inv of invoices) {\n const paid = inv.payments.reduce((s, p) => s + p.amountNpr, 0);\n const balance = Math.max(0, inv.amountNpr - paid);\n const existing = byStudent.get(inv.studentId);\n if (existing) {\n existing.invoicedNpr += inv.amountNpr;\n existing.paidNpr += paid;\n existing.balanceNpr += balance;\n existing.openInvoiceCount += 1;\n } else {\n byStudent.set(inv.studentId, {\n student: inv.student,\n invoicedNpr: inv.amountNpr,\n paidNpr: paid,\n balanceNpr: balance,\n openInvoiceCount: 1,\n });\n }\n }\n\n return Array.from(byStudent.entries())\n .map(([studentId, row]) => ({ studentId, ...row }))\n .sort((a, b) => b.balanceNpr - a.balanceNpr);\n}\n"],"names":[],"mappings":"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","debug_id":"f83e7b8d-ab55-5d6a-85ba-6472ae75af37"}
|
package/dist/models/file.d.ts
CHANGED
|
@@ -37,6 +37,7 @@ export declare function findFileById(fileId: string): import("@prisma/client/run
|
|
|
37
37
|
name: string;
|
|
38
38
|
description: string | null;
|
|
39
39
|
logoId: string | null;
|
|
40
|
+
letterheadFileId: string | null;
|
|
40
41
|
subdomain: string | null;
|
|
41
42
|
}) | null;
|
|
42
43
|
teachers: {
|
|
@@ -72,6 +73,7 @@ export declare function findFileById(fileId: string): import("@prisma/client/run
|
|
|
72
73
|
discussionsEnabled: boolean;
|
|
73
74
|
studentsCanCreateDiscussions: boolean;
|
|
74
75
|
studentsCanReply: boolean;
|
|
76
|
+
sidebarFeatures: import("@prisma/client/runtime/library.js").JsonValue | null;
|
|
75
77
|
treatMissingAsZero: boolean;
|
|
76
78
|
gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
|
|
77
79
|
}) | null;
|
|
@@ -98,6 +100,7 @@ export declare function findFileById(fileId: string): import("@prisma/client/run
|
|
|
98
100
|
name: string;
|
|
99
101
|
description: string | null;
|
|
100
102
|
logoId: string | null;
|
|
103
|
+
letterheadFileId: string | null;
|
|
101
104
|
subdomain: string | null;
|
|
102
105
|
}) | null;
|
|
103
106
|
teachers: {
|
|
@@ -133,6 +136,7 @@ export declare function findFileById(fileId: string): import("@prisma/client/run
|
|
|
133
136
|
discussionsEnabled: boolean;
|
|
134
137
|
studentsCanCreateDiscussions: boolean;
|
|
135
138
|
studentsCanReply: boolean;
|
|
139
|
+
sidebarFeatures: import("@prisma/client/runtime/library.js").JsonValue | null;
|
|
136
140
|
treatMissingAsZero: boolean;
|
|
137
141
|
gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
|
|
138
142
|
};
|
|
@@ -162,6 +166,9 @@ export declare function findFileById(fileId: string): import("@prisma/client/run
|
|
|
162
166
|
order: number | null;
|
|
163
167
|
gradingBoundaryId: string | null;
|
|
164
168
|
gradeCategoryId: string | null;
|
|
169
|
+
timeLimitMinutes: number | null;
|
|
170
|
+
singleAttempt: boolean;
|
|
171
|
+
allowLateSubmissions: boolean;
|
|
165
172
|
}) | null;
|
|
166
173
|
announcement: ({
|
|
167
174
|
class: {
|
|
@@ -176,6 +183,7 @@ export declare function findFileById(fileId: string): import("@prisma/client/run
|
|
|
176
183
|
name: string;
|
|
177
184
|
description: string | null;
|
|
178
185
|
logoId: string | null;
|
|
186
|
+
letterheadFileId: string | null;
|
|
179
187
|
subdomain: string | null;
|
|
180
188
|
}) | null;
|
|
181
189
|
teachers: {
|
|
@@ -211,6 +219,7 @@ export declare function findFileById(fileId: string): import("@prisma/client/run
|
|
|
211
219
|
discussionsEnabled: boolean;
|
|
212
220
|
studentsCanCreateDiscussions: boolean;
|
|
213
221
|
studentsCanReply: boolean;
|
|
222
|
+
sidebarFeatures: import("@prisma/client/runtime/library.js").JsonValue | null;
|
|
214
223
|
treatMissingAsZero: boolean;
|
|
215
224
|
gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
|
|
216
225
|
};
|
|
@@ -236,6 +245,7 @@ export declare function findFileById(fileId: string): import("@prisma/client/run
|
|
|
236
245
|
name: string;
|
|
237
246
|
description: string | null;
|
|
238
247
|
logoId: string | null;
|
|
248
|
+
letterheadFileId: string | null;
|
|
239
249
|
subdomain: string | null;
|
|
240
250
|
}) | null;
|
|
241
251
|
teachers: {
|
|
@@ -271,6 +281,7 @@ export declare function findFileById(fileId: string): import("@prisma/client/run
|
|
|
271
281
|
discussionsEnabled: boolean;
|
|
272
282
|
studentsCanCreateDiscussions: boolean;
|
|
273
283
|
studentsCanReply: boolean;
|
|
284
|
+
sidebarFeatures: import("@prisma/client/runtime/library.js").JsonValue | null;
|
|
274
285
|
treatMissingAsZero: boolean;
|
|
275
286
|
gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
|
|
276
287
|
};
|
|
@@ -300,6 +311,9 @@ export declare function findFileById(fileId: string): import("@prisma/client/run
|
|
|
300
311
|
order: number | null;
|
|
301
312
|
gradingBoundaryId: string | null;
|
|
302
313
|
gradeCategoryId: string | null;
|
|
314
|
+
timeLimitMinutes: number | null;
|
|
315
|
+
singleAttempt: boolean;
|
|
316
|
+
allowLateSubmissions: boolean;
|
|
303
317
|
};
|
|
304
318
|
student: {
|
|
305
319
|
id: string;
|
|
@@ -342,6 +356,7 @@ export declare function findFileById(fileId: string): import("@prisma/client/run
|
|
|
342
356
|
name: string;
|
|
343
357
|
description: string | null;
|
|
344
358
|
logoId: string | null;
|
|
359
|
+
letterheadFileId: string | null;
|
|
345
360
|
subdomain: string | null;
|
|
346
361
|
}) | null;
|
|
347
362
|
teachers: {
|
|
@@ -377,6 +392,7 @@ export declare function findFileById(fileId: string): import("@prisma/client/run
|
|
|
377
392
|
discussionsEnabled: boolean;
|
|
378
393
|
studentsCanCreateDiscussions: boolean;
|
|
379
394
|
studentsCanReply: boolean;
|
|
395
|
+
sidebarFeatures: import("@prisma/client/runtime/library.js").JsonValue | null;
|
|
380
396
|
treatMissingAsZero: boolean;
|
|
381
397
|
gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
|
|
382
398
|
};
|
|
@@ -406,6 +422,9 @@ export declare function findFileById(fileId: string): import("@prisma/client/run
|
|
|
406
422
|
order: number | null;
|
|
407
423
|
gradingBoundaryId: string | null;
|
|
408
424
|
gradeCategoryId: string | null;
|
|
425
|
+
timeLimitMinutes: number | null;
|
|
426
|
+
singleAttempt: boolean;
|
|
427
|
+
allowLateSubmissions: boolean;
|
|
409
428
|
};
|
|
410
429
|
student: {
|
|
411
430
|
id: string;
|
|
@@ -462,6 +481,7 @@ export declare function findFileById(fileId: string): import("@prisma/client/run
|
|
|
462
481
|
announcementId: string | null;
|
|
463
482
|
discussionId: string | null;
|
|
464
483
|
discussionReplyId: string | null;
|
|
484
|
+
moduleItemId: string | null;
|
|
465
485
|
schoolDevelopementProgramId: string | null;
|
|
466
486
|
}) | null>;
|
|
467
487
|
/** @returns File with folder and class. */
|
|
@@ -504,6 +524,7 @@ export declare function findFileWithFolder(fileId: string): import("@prisma/clie
|
|
|
504
524
|
discussionsEnabled: boolean;
|
|
505
525
|
studentsCanCreateDiscussions: boolean;
|
|
506
526
|
studentsCanReply: boolean;
|
|
527
|
+
sidebarFeatures: import("@prisma/client/runtime/library.js").JsonValue | null;
|
|
507
528
|
treatMissingAsZero: boolean;
|
|
508
529
|
gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
|
|
509
530
|
} | null;
|
|
@@ -545,6 +566,7 @@ export declare function findFileWithFolder(fileId: string): import("@prisma/clie
|
|
|
545
566
|
announcementId: string | null;
|
|
546
567
|
discussionId: string | null;
|
|
547
568
|
discussionReplyId: string | null;
|
|
569
|
+
moduleItemId: string | null;
|
|
548
570
|
schoolDevelopementProgramId: string | null;
|
|
549
571
|
}) | null>;
|
|
550
572
|
/** @returns File with folder and thumbnail. */
|
|
@@ -587,6 +609,7 @@ export declare function findFileWithFolderAndThumbnail(fileId: string): import("
|
|
|
587
609
|
discussionsEnabled: boolean;
|
|
588
610
|
studentsCanCreateDiscussions: boolean;
|
|
589
611
|
studentsCanReply: boolean;
|
|
612
|
+
sidebarFeatures: import("@prisma/client/runtime/library.js").JsonValue | null;
|
|
590
613
|
treatMissingAsZero: boolean;
|
|
591
614
|
gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
|
|
592
615
|
} | null;
|
|
@@ -628,6 +651,7 @@ export declare function findFileWithFolderAndThumbnail(fileId: string): import("
|
|
|
628
651
|
announcementId: string | null;
|
|
629
652
|
discussionId: string | null;
|
|
630
653
|
discussionReplyId: string | null;
|
|
654
|
+
moduleItemId: string | null;
|
|
631
655
|
schoolDevelopementProgramId: string | null;
|
|
632
656
|
} | null;
|
|
633
657
|
} & {
|
|
@@ -658,6 +682,7 @@ export declare function findFileWithFolderAndThumbnail(fileId: string): import("
|
|
|
658
682
|
announcementId: string | null;
|
|
659
683
|
discussionId: string | null;
|
|
660
684
|
discussionReplyId: string | null;
|
|
685
|
+
moduleItemId: string | null;
|
|
661
686
|
schoolDevelopementProgramId: string | null;
|
|
662
687
|
}) | null>;
|
|
663
688
|
/** @returns Folder by ID with class. */
|
|
@@ -699,6 +724,7 @@ export declare function findFolderById(folderId: string): import("@prisma/client
|
|
|
699
724
|
discussionsEnabled: boolean;
|
|
700
725
|
studentsCanCreateDiscussions: boolean;
|
|
701
726
|
studentsCanReply: boolean;
|
|
727
|
+
sidebarFeatures: import("@prisma/client/runtime/library.js").JsonValue | null;
|
|
702
728
|
treatMissingAsZero: boolean;
|
|
703
729
|
gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
|
|
704
730
|
} | null;
|
|
@@ -770,6 +796,7 @@ export declare function updateFileFolder(fileId: string, folderId: string): impo
|
|
|
770
796
|
announcementId: string | null;
|
|
771
797
|
discussionId: string | null;
|
|
772
798
|
discussionReplyId: string | null;
|
|
799
|
+
moduleItemId: string | null;
|
|
773
800
|
schoolDevelopementProgramId: string | null;
|
|
774
801
|
}>;
|
|
775
802
|
/** Rename a file. */
|
|
@@ -830,6 +857,7 @@ export declare function updateFileName(fileId: string, name: string): import("@p
|
|
|
830
857
|
announcementId: string | null;
|
|
831
858
|
discussionId: string | null;
|
|
832
859
|
discussionReplyId: string | null;
|
|
860
|
+
moduleItemId: string | null;
|
|
833
861
|
schoolDevelopementProgramId: string | null;
|
|
834
862
|
}>;
|
|
835
863
|
/** Delete a file record. */
|
|
@@ -885,6 +913,7 @@ export declare function deleteFileById(fileId: string): import("@prisma/client/r
|
|
|
885
913
|
announcementId: string | null;
|
|
886
914
|
discussionId: string | null;
|
|
887
915
|
discussionReplyId: string | null;
|
|
916
|
+
moduleItemId: string | null;
|
|
888
917
|
schoolDevelopementProgramId: string | null;
|
|
889
918
|
}>;
|
|
890
919
|
//# sourceMappingURL=file.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.d.ts","sourceRoot":"/","sources":["models/file.ts"],"names":[],"mappings":"AAqBA,0GAA0G;AAC1G,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"file.d.ts","sourceRoot":"/","sources":["models/file.ts"],"names":[],"mappings":"AAqBA,0GAA0G;AAC1G,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAmD1C;AAED,2CAA2C;AAC3C,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAOhD;AAED,+CAA+C;AAC/C,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAQ5D;AAED,wCAAwC;AACxC,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAK9C;AAED,6BAA6B;AAC7B,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQhE;AAED,qBAAqB;AACrB,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAQ1D;AAED,4BAA4B;AAC5B,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAI5C"}
|
package/dist/models/folder.d.ts
CHANGED
|
@@ -36,6 +36,7 @@ export declare function findClassWithTeacher(classId: string, teacherId: string)
|
|
|
36
36
|
discussionsEnabled: boolean;
|
|
37
37
|
studentsCanCreateDiscussions: boolean;
|
|
38
38
|
studentsCanReply: boolean;
|
|
39
|
+
sidebarFeatures: import("@prisma/client/runtime/library.js").JsonValue | null;
|
|
39
40
|
treatMissingAsZero: boolean;
|
|
40
41
|
gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
|
|
41
42
|
} | null>;
|
|
@@ -113,6 +114,7 @@ export declare function findFolderByIdWithClass(folderId: string): import("@pris
|
|
|
113
114
|
discussionsEnabled: boolean;
|
|
114
115
|
studentsCanCreateDiscussions: boolean;
|
|
115
116
|
studentsCanReply: boolean;
|
|
117
|
+
sidebarFeatures: import("@prisma/client/runtime/library.js").JsonValue | null;
|
|
116
118
|
treatMissingAsZero: boolean;
|
|
117
119
|
gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
|
|
118
120
|
} | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"folder.d.ts","sourceRoot":"/","sources":["models/folder.ts"],"names":[],"mappings":"AAsBA,2DAA2D;AAC3D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"folder.d.ts","sourceRoot":"/","sources":["models/folder.ts"],"names":[],"mappings":"AAsBA,2DAA2D;AAC3D,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAOtE;AAED,6BAA6B;AAC7B,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAI9C;AAED,kCAAkC;AAClC,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAKvD;AAED,wCAAwC;AACxC,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAOtD;AAED,6CAA6C;AAC7C,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM;;;;;;;;;GAW3D;AAED,uBAAuB;AACvB,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqBA;AAcD,oDAAoD;AACpD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAKtD;AAED,qCAAqC;AACrC,wBAAgB,gBAAgB,CAAC,cAAc,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAetD;AAED,sDAAsD;AACtD,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAkBzD;AAED,+CAA+C;AAC/C,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAOpE;AAED,+CAA+C;AAC/C,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAOvD;AAED,uBAAuB;AACvB,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAIhD;AAED,iCAAiC;AACjC,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAS1E;AAED,oCAAoC;AACpC,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAUxC;AAED,0CAA0C;AAC1C,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAIpD;AAED,6BAA6B;AAC7B,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAIjD"}
|
package/dist/models/labChat.d.ts
CHANGED
|
@@ -53,6 +53,7 @@ export declare function findClassWithTeachersForLab(classId: string, teacherId:
|
|
|
53
53
|
discussionsEnabled: boolean;
|
|
54
54
|
studentsCanCreateDiscussions: boolean;
|
|
55
55
|
studentsCanReply: boolean;
|
|
56
|
+
sidebarFeatures: import("@prisma/client/runtime/library.js").JsonValue | null;
|
|
56
57
|
treatMissingAsZero: boolean;
|
|
57
58
|
gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
|
|
58
59
|
}) | null>;
|
|
@@ -289,6 +290,7 @@ export declare function findClassMembership(classId: string, userId: string): im
|
|
|
289
290
|
discussionsEnabled: boolean;
|
|
290
291
|
studentsCanCreateDiscussions: boolean;
|
|
291
292
|
studentsCanReply: boolean;
|
|
293
|
+
sidebarFeatures: import("@prisma/client/runtime/library.js").JsonValue | null;
|
|
292
294
|
treatMissingAsZero: boolean;
|
|
293
295
|
gradeRoundingMode: import(".prisma/client").$Enums.GradeRoundingMode;
|
|
294
296
|
} | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labChat.d.ts","sourceRoot":"/","sources":["models/labChat.ts"],"names":[],"mappings":"AAoDA,kEAAkE;AAClE,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM
|
|
1
|
+
{"version":3,"file":"labChat.d.ts","sourceRoot":"/","sources":["models/labChat.ts"],"names":[],"mappings":"AAoDA,kEAAkE;AAClE,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAiC7E;AAED,0DAA0D;AAC1D,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAUpE;AAED,kEAAkE;AAClE,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAYrE;AAED,+BAA+B;AAC/B,wBAAgB,eAAe,CAAC,SAAS,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAKhD;AAED,mEAAmE;AACnE,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAOlE;AAED,sCAAsC;AACtC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAwClD;AAED,8DAA8D;AAC9D,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAYnE;AAED,sDAAsD;AACtD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAOrE;AAED,4DAA4D;AAC5D,wBAAgB,wBAAwB,CACtC,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EAAE;;;;;;;;;KAQlB"}
|