hrms-exam/cms/src/routes/qualifying/+page.server.ts

45 lines
1.6 KiB
TypeScript
Raw Normal View History

import {qualifyingBase} from '$lib/data/CMSDataType'
2023-04-08 11:27:09 +07:00
import { error } from '@sveltejs/kit';
import type {CalendarEvent,Exam} from '$lib/data/CMSDataType'
2023-04-07 22:59:53 +07:00
import dayjs from 'dayjs'
2023-03-27 16:43:56 +07:00
import type { PageServerLoad } from './$types'
export const load: PageServerLoad = async ({fetch}) => {
const res = await fetch(qualifyingBase+"/qualifying")
if(!res.ok)
2023-04-08 11:27:09 +07:00
throw error(res.status, 'ไม่สามารถอ่านข้อมูลการสอบได้');
const exams:Exam[] = await res.json()
2023-04-04 18:32:58 +07:00
const events:CalendarEvent[]=[]
exams.forEach((ex)=>{
const {id,title,start,end,category_id} = ex
let backgroundColor ="#23ccef"
switch (String(category_id)) {
2023-04-07 22:59:53 +07:00
case "1":
backgroundColor="rgba(251,64,75,.2)"
2023-04-04 18:32:58 +07:00
break;
2023-04-07 22:59:53 +07:00
case "2":
backgroundColor="#23ccef"
break;
2023-04-07 22:59:53 +07:00
case "3":
backgroundColor="rgba(68,125,247,.2)"
2023-04-04 18:32:58 +07:00
break;
default:
break;
}
const url = "/qualifying/"+id
if(start){
ex.date = dayjs(start).format("DD MMM BBBB")
events.push({id,title,start,end,url,backgroundColor})
}
if(ex.exam_date){
events.push({id,"title":"วันสอบคัดเลือก","start":ex.exam_date,url,backgroundColor})
2023-04-07 22:59:53 +07:00
}
if(ex.announcement_date){
events.push({id,"title":"ผลสอบคัดเลือก","start":ex.announcement_date,url,backgroundColor})
2023-04-07 22:59:53 +07:00
}
2023-04-04 18:32:58 +07:00
})
return {exams,events}
2023-03-27 16:43:56 +07:00
}