Commit c900123d authored by Yechang's avatar Yechang
Browse files

fix: grade

parent 09130755
Loading
Loading
Loading
Loading
Loading
+16 −10
Original line number Diff line number Diff line
import _ from 'lodash';
import type { PageServerLoad } from './$types';
import { db } from '$lib/server/db';
import { error } from '@sveltejs/kit';
import { error, redirect } from '@sveltejs/kit';

export const load = (async ({ params, locals }) => {
	const { user } = locals
	if (_.isNil(user)) {
		redirect(302, '/login');
	}

export const load = (async ({ params }) => {
	const id = _.toNumber(params.gradeId);
	const grade = await db.gradeEntry.findUnique({
		where: { id },
@@ -11,11 +16,6 @@ export const load = (async ({ params }) => {
			groups: {
				orderBy: {
					index: 'asc'
				},
				include: {
					records: {
						orderBy: { id: 'asc' }
					}
				}
			}
		}
@@ -26,8 +26,14 @@ export const load = (async ({ params }) => {
			message: 'Not found'
		});
	}
	const groups = grade.groups.map((group) => {
		const { strategy, records } = group;
	const groups = await Promise.all(grade.groups.map(async (group) => {
		const { strategy } = group;
		const records = await db.gradeRecord.findMany({
			where: {
				studentId: user.id,
				groupId: group.id
			}
		})

		const strategyFn = {
			MAX: _.max<number>,
@@ -41,7 +47,7 @@ export const load = (async ({ params }) => {
			...group,
			score
		};
	});
	}));

	const score = _.sum(
		groups.map(({ score, proportion }) => {