2025-01-06 08:45:23 +08:00
|
|
|
import { db, Lecture } from "@nice/common"
|
2025-01-03 09:24:46 +08:00
|
|
|
|
|
|
|
export async function updateSectionLectureStats(sectionId: string) {
|
|
|
|
const sectionStats = await db.lecture.aggregate({
|
|
|
|
where: {
|
|
|
|
sectionId,
|
|
|
|
deletedAt: null
|
|
|
|
},
|
|
|
|
_count: { _all: true },
|
|
|
|
_sum: { duration: true }
|
|
|
|
});
|
|
|
|
|
|
|
|
await db.section.update({
|
|
|
|
where: { id: sectionId },
|
|
|
|
data: {
|
|
|
|
totalLectures: sectionStats._count._all,
|
|
|
|
totalDuration: sectionStats._sum.duration || 0
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
export async function updateCourseLectureStats(courseId: string) {
|
|
|
|
const courseStats = await db.lecture.aggregate({
|
|
|
|
where: {
|
|
|
|
courseId,
|
|
|
|
deletedAt: null
|
|
|
|
},
|
|
|
|
_count: { _all: true },
|
|
|
|
_sum: { duration: true }
|
|
|
|
});
|
|
|
|
|
|
|
|
await db.course.update({
|
|
|
|
where: { id: courseId },
|
|
|
|
data: {
|
|
|
|
totalLectures: courseStats._count._all,
|
|
|
|
totalDuration: courseStats._sum.duration || 0
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|