diff --git a/shared/schemas/trainingReportSchema.ts b/shared/schemas/trainingReportSchema.ts index d153953..2a504d1 100644 --- a/shared/schemas/trainingReportSchema.ts +++ b/shared/schemas/trainingReportSchema.ts @@ -1,5 +1,12 @@ import { z } from "zod"; +export const courseEventAttendeeSchema = z.object({ + attendee_id: z.number().int().positive(), + passed: z.boolean(), + remarks: z.string(), + attendee_role_id: z.number().int().positive() +}) + export const trainingReportSchema = z.object({ id: z.number().int().positive().optional(), course_id: z.number().int(), @@ -10,11 +17,6 @@ export const trainingReportSchema = z.object({ "event_date must be a valid ISO date string" ), remarks: z.string().nullable().optional(), + attendees: z.array(courseEventAttendeeSchema).default([]), }) -export const courseEventAttendeeSchema = z.object({ - attendee_id: z.number().int().positive(), - passed: z.boolean(), - remarks: z.string(), - attendee_role_id: z.number().int().positive() -}) diff --git a/ui/src/api/trainingReport.ts b/ui/src/api/trainingReport.ts index c2c57d9..54fa000 100644 --- a/ui/src/api/trainingReport.ts +++ b/ui/src/api/trainingReport.ts @@ -1,4 +1,4 @@ -import { CourseEventDetails, CourseEventSummary } from '@shared/types/course' +import { Course, CourseEventDetails, CourseEventSummary } from '@shared/types/course' //@ts-ignore const addr = import.meta.env.VITE_APIHOST; @@ -23,4 +23,15 @@ export async function getTrainingReport(id: number): Promise console.error("Something went wrong"); throw new Error("Failed to load training reports"); } +} + +export async function getAllTrainings(): Promise { + const res = await fetch(`${addr}/course`); + + if (res.ok) { + return await res.json() as Promise; + } else { + console.error("Something went wrong"); + throw new Error("Failed to load training list"); + } } \ No newline at end of file diff --git a/ui/src/components/trainingReport/trainingReportForm.vue b/ui/src/components/trainingReport/trainingReportForm.vue new file mode 100644 index 0000000..eab74bb --- /dev/null +++ b/ui/src/components/trainingReport/trainingReportForm.vue @@ -0,0 +1,84 @@ + + diff --git a/ui/src/pages/TrainingReport.vue b/ui/src/pages/TrainingReport.vue index 2771c2a..bff1c83 100644 --- a/ui/src/pages/TrainingReport.vue +++ b/ui/src/pages/TrainingReport.vue @@ -1,21 +1,20 @@