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

38 lines
1.6 KiB
TypeScript
Raw Normal View History

import { env } from '$env/dynamic/private'
2023-04-08 11:27:09 +07:00
import { error } from '@sveltejs/kit';
2023-04-07 22:59:53 +07:00
import type {CalendarEvent,Exam} from '$lib/data/CMSDataType'
import dayjs from 'dayjs'
2023-04-08 11:27:09 +07:00
import type { PageServerLoad } from './$types'
export const load: PageServerLoad = async ({fetch}) => {
const res = await fetch(env.API_COMPETITIVE_URL+"/competitive")
if(!res.ok)
2023-04-08 11:27:09 +07:00
throw error(res.status, 'ไม่สามารถอ่านข้อมูลการสอบได้');
const exams:Exam[] = await res.json()
2023-04-12 16:41:55 +07:00
const events:CalendarEvent[]=[]
exams.forEach((ex)=>{
const {id,title,announcement_startDate} = ex
2023-04-12 16:41:55 +07:00
const url = "/qualifying/"+id
ex.date = dayjs(announcement_startDate).format("DD MMM BBBB")
ex.image = ex.image?ex.image:"/images/exam_place_holder.png"
2023-04-12 16:41:55 +07:00
if(!ex.announcementExam)
return //ignore other date for normal post
if(ex.register_startDate){
const start = ex.register_startDate
const end = ex.register_endDate
events.push({id,"title":"สมัคร:"+title,start,end,url,backgroundColor:'#67a1ff4a'})
}
2023-04-12 16:41:55 +07:00
if(ex.payment_startDate){
const start = ex.payment_startDate
const end = ex.payment_endDate
events.push({id,"title":"ชำระเงิน:"+title,start,end,url,backgroundColor:'#D2B4DE'})
}
2023-04-12 16:41:55 +07:00
if(ex.examDate){
const start = ex.examDate
events.push({id,"title":"วันสอบ:"+title,start,url,backgroundColor:'#a2d9ce8f'})
}
2023-04-05 17:59:43 +07:00
})
return {exams,events}
}