From 9a6583b0b95164972c88edc18e53bfe9461a8a5a Mon Sep 17 00:00:00 2001 From: Aya Date: Sun, 1 Mar 2026 15:02:10 +0800 Subject: [PATCH] feat(auth): add frontend role-based auth guards and session flow - add frontend auth session utilities (localStorage token/refresh-token handling) - implement API auth middleware with: - bearer token injection - automatic refresh on 401 - single retry with refreshed token - session clear + redirect to /auth on refresh failure - add auth API helpers/hooks (fetchMe, useMe, useRefresh, useLogout) - protect dashboard routes with auth/role guards - guard all dashboard routes behind authenticated /auth/me - restrict student routes to STUDENT - restrict faculty routes to FACULTY - redirect users with no roles to /auth - update auth page bootstrap/login flow to redirect by role after /auth/me - keep role routing focused on student/faculty for now - refresh OpenAPI/Kubb generated schema/types files from latest contract --- app/(dashboard)/faculty/layout.tsx | 10 + app/(dashboard)/layout.tsx | 17 +- app/(dashboard)/student/layout.tsx | 10 + app/auth/page.tsx | 57 ++++- app/dashboard/page.tsx | 55 ----- components/auth/auth-guard.tsx | 38 +++ components/auth/role-guard.tsx | 41 ++++ hooks/api/use-logout.ts | 5 + hooks/api/use-me.ts | 5 + hooks/api/use-refresh.ts | 5 + lib/api-client.ts | 109 ++++++++- lib/auth-api.ts | 11 + lib/auth-roles.ts | 25 ++ lib/auth-storage.ts | 34 +++ package.json | 3 +- schema/index.d.ts | 56 ++--- types/kubb/gen/models/Campus.ts | 6 +- types/kubb/gen/models/Course.ts | 6 +- types/kubb/gen/models/Department.ts | 6 +- types/kubb/gen/models/Program.ts | 6 +- types/kubb/gen/models/Questionnaire.ts | 6 +- .../gen/models/QuestionnaireSubmission.ts | 8 +- types/kubb/gen/models/QuestionnaireVersion.ts | 6 +- types/kubb/gen/models/Semester.ts | 6 +- types/kubb/gen/models/User.ts | 6 +- types/kubb/gen/schemas/campus.json | 6 +- types/kubb/gen/schemas/course.json | 30 +-- types/kubb/gen/schemas/department.json | 18 +- types/kubb/gen/schemas/program.json | 24 +- types/kubb/gen/schemas/questionnaire.json | 6 +- .../gen/schemas/questionnaireSubmission.json | 218 +++++++++--------- .../gen/schemas/questionnaireVersion.json | 12 +- types/kubb/gen/schemas/semester.json | 12 +- types/kubb/gen/schemas/user.json | 54 ++--- types/kubb/gen/zod/campusSchema.ts | 6 +- types/kubb/gen/zod/courseSchema.ts | 6 +- types/kubb/gen/zod/departmentSchema.ts | 6 +- types/kubb/gen/zod/programSchema.ts | 6 +- types/kubb/gen/zod/questionnaireSchema.ts | 6 +- .../gen/zod/questionnaireSubmissionSchema.ts | 8 +- .../gen/zod/questionnaireVersionSchema.ts | 6 +- types/kubb/gen/zod/semesterSchema.ts | 6 +- types/kubb/gen/zod/userSchema.ts | 6 +- 43 files changed, 632 insertions(+), 341 deletions(-) create mode 100644 app/(dashboard)/faculty/layout.tsx create mode 100644 app/(dashboard)/student/layout.tsx delete mode 100644 app/dashboard/page.tsx create mode 100644 components/auth/auth-guard.tsx create mode 100644 components/auth/role-guard.tsx create mode 100644 hooks/api/use-logout.ts create mode 100644 hooks/api/use-me.ts create mode 100644 hooks/api/use-refresh.ts create mode 100644 lib/auth-api.ts create mode 100644 lib/auth-roles.ts create mode 100644 lib/auth-storage.ts diff --git a/app/(dashboard)/faculty/layout.tsx b/app/(dashboard)/faculty/layout.tsx new file mode 100644 index 0000000..91c19f0 --- /dev/null +++ b/app/(dashboard)/faculty/layout.tsx @@ -0,0 +1,10 @@ +import type { ReactNode } from "react"; +import { RoleGuard } from "@/components/auth/role-guard"; + +type FacultyLayoutProps = { + children: ReactNode; +}; + +export default function FacultyLayout({ children }: FacultyLayoutProps) { + return {children}; +} diff --git a/app/(dashboard)/layout.tsx b/app/(dashboard)/layout.tsx index 2631800..cb814a6 100644 --- a/app/(dashboard)/layout.tsx +++ b/app/(dashboard)/layout.tsx @@ -1,6 +1,7 @@ import type { ReactNode } from "react" import { AppSidebar } from "@/components/app-sidebar" +import { AuthGuard } from "@/components/auth/auth-guard" import { DashboardContentHeader } from "@/components/dashboard-content-header" import { SidebarInset, SidebarProvider } from "@/components/ui/sidebar" @@ -10,12 +11,14 @@ type DashboardLayoutProps = { export default function DashboardLayout({ children }: DashboardLayoutProps) { return ( - - - - -
{children}
-
-
+ + + + + +
{children}
+
+
+
) } diff --git a/app/(dashboard)/student/layout.tsx b/app/(dashboard)/student/layout.tsx new file mode 100644 index 0000000..c31ef2f --- /dev/null +++ b/app/(dashboard)/student/layout.tsx @@ -0,0 +1,10 @@ +import type { ReactNode } from "react"; +import { RoleGuard } from "@/components/auth/role-guard"; + +type StudentLayoutProps = { + children: ReactNode; +}; + +export default function StudentLayout({ children }: StudentLayoutProps) { + return {children}; +} diff --git a/app/auth/page.tsx b/app/auth/page.tsx index 7d5e980..0a36546 100644 --- a/app/auth/page.tsx +++ b/app/auth/page.tsx @@ -1,16 +1,23 @@ "use client"; +import { useEffect, useState } from "react"; import { Controller, useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; +import { useRouter } from "next/navigation"; import { useLogin } from "@/hooks/api/use-login" import { LoginRequest, loginRequestSchema } from "@/types/kubb/gen"; import { Button } from "@/components/ui/button"; import { Field, FieldError, FieldGroup, FieldLabel } from "@/components/ui/field"; import { Input } from "@/components/ui/input"; import { BackgroundGradientAnimation } from "@/components/ui/background-gradient-animation"; +import { fetchMe } from "@/lib/auth-api"; +import { clearSession, hasStoredSession, setSession } from "@/lib/auth-storage"; +import { resolveHomePathFromRoles } from "@/lib/auth-roles"; export default function AuthPage() { + const router = useRouter(); const { mutate, isPending } = useLogin(); + const [isBootstrapping, setIsBootstrapping] = useState(true); const form = useForm({ resolver: zodResolver(loginRequestSchema), @@ -20,12 +27,60 @@ export default function AuthPage() { } }); + useEffect(() => { + let cancelled = false; + + const bootstrapSession = async () => { + if (!hasStoredSession()) { + if (!cancelled) setIsBootstrapping(false); + return; + } + + const me = await fetchMe(); + if (cancelled) return; + + if (me) { + router.replace(resolveHomePathFromRoles(me.roles)); + return; + } + + clearSession(); + setIsBootstrapping(false); + }; + + void bootstrapSession(); + + return () => { + cancelled = true; + }; + }, [router]); + function onSubmit(values: LoginRequest) { mutate({ body: values, + }, { + onSuccess: async (response) => { + setSession(response); + const me = await fetchMe(); + + if (me) { + router.replace(resolveHomePathFromRoles(me.roles)); + return; + } + + clearSession(); + }, }); } + if (isBootstrapping) { + return ( +
+ Checking session... +
+ ); + } + return (
@@ -133,7 +188,7 @@ export default function AuthPage() { diff --git a/app/dashboard/page.tsx b/app/dashboard/page.tsx deleted file mode 100644 index e0c6a91..0000000 --- a/app/dashboard/page.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import { AppSidebar } from "@/components/app-sidebar" -import { - Breadcrumb, - BreadcrumbItem, - BreadcrumbLink, - BreadcrumbList, - BreadcrumbPage, - BreadcrumbSeparator, -} from "@/components/ui/breadcrumb" -import { Separator } from "@/components/ui/separator" -import { - SidebarInset, - SidebarProvider, - SidebarTrigger, -} from "@/components/ui/sidebar" - -export default function Page() { - return ( - - - -
-
- - - - - - - Build Your Application - - - - - Data Fetching - - - -
-
-
-
-
-
-
-
-
-
- - - ) -} diff --git a/components/auth/auth-guard.tsx b/components/auth/auth-guard.tsx new file mode 100644 index 0000000..820d0ce --- /dev/null +++ b/components/auth/auth-guard.tsx @@ -0,0 +1,38 @@ +"use client"; + +import type { ReactNode } from "react"; +import { useEffect } from "react"; +import { useRouter } from "next/navigation"; +import { useMe } from "@/hooks/api/use-me"; + +type AuthGuardProps = { + children: ReactNode; +}; + +export function AuthGuard({ children }: AuthGuardProps) { + const router = useRouter(); + const { data, isPending, isError } = useMe(); + const hasRoles = Boolean(data?.roles?.length); + + useEffect(() => { + if (!isPending && isError) { + router.replace("/auth"); + } + }, [isError, isPending, router]); + + useEffect(() => { + if (!isPending && data && !hasRoles) { + router.replace("/auth"); + } + }, [data, hasRoles, isPending, router]); + + if (isPending) { + return
Checking session...
; + } + + if (!data || !hasRoles) { + return null; + } + + return <>{children}; +} diff --git a/components/auth/role-guard.tsx b/components/auth/role-guard.tsx new file mode 100644 index 0000000..6ca21ff --- /dev/null +++ b/components/auth/role-guard.tsx @@ -0,0 +1,41 @@ +"use client"; + +import type { ReactNode } from "react"; +import { useEffect, useMemo } from "react"; +import { useRouter } from "next/navigation"; +import { useMe } from "@/hooks/api/use-me"; +import { resolveHomePathFromRoles } from "@/lib/auth-roles"; + +type RoleGuardProps = { + allowedRoles: string[]; + children: ReactNode; +}; + +export function RoleGuard({ allowedRoles, children }: RoleGuardProps) { + const router = useRouter(); + const { data, isPending, isError } = useMe(); + + const roles = useMemo(() => data?.roles ?? [], [data?.roles]); + const isAllowed = roles.some((role) => allowedRoles.includes(role)); + + useEffect(() => { + if (!isPending && isError) { + router.replace("/auth"); + return; + } + + if (!isPending && data && !isAllowed) { + router.replace(resolveHomePathFromRoles(roles)); + } + }, [data, isAllowed, isError, isPending, roles, router]); + + if (isPending) { + return
Checking permissions...
; + } + + if (!data || !isAllowed) { + return null; + } + + return <>{children}; +} diff --git a/hooks/api/use-logout.ts b/hooks/api/use-logout.ts new file mode 100644 index 0000000..577364d --- /dev/null +++ b/hooks/api/use-logout.ts @@ -0,0 +1,5 @@ +import { $api } from "@/lib/api-client"; + +export function useLogout() { + return $api.useMutation("post", "/api/v1/auth/logout"); +} diff --git a/hooks/api/use-me.ts b/hooks/api/use-me.ts new file mode 100644 index 0000000..3c5c777 --- /dev/null +++ b/hooks/api/use-me.ts @@ -0,0 +1,5 @@ +import { $api } from "@/lib/api-client"; + +export function useMe() { + return $api.useQuery("get", "/api/v1/auth/me"); +} diff --git a/hooks/api/use-refresh.ts b/hooks/api/use-refresh.ts new file mode 100644 index 0000000..cda5e90 --- /dev/null +++ b/hooks/api/use-refresh.ts @@ -0,0 +1,5 @@ +import { $api } from "@/lib/api-client"; + +export function useRefresh() { + return $api.useMutation("post", "/api/v1/auth/refresh"); +} diff --git a/lib/api-client.ts b/lib/api-client.ts index cc4f74b..4462bd8 100644 --- a/lib/api-client.ts +++ b/lib/api-client.ts @@ -1,9 +1,112 @@ import createFetchClient from "openapi-fetch"; import createClient from "openapi-react-query"; import type { paths } from "../schema/index.d.ts"; +import type { Middleware } from "openapi-fetch"; +import type { LoginResponse } from "@/types/kubb/gen"; +import { + clearSession, + getAccessToken, + getRefreshToken, + setSession, +} from "./auth-storage"; -export const fetchClient = createFetchClient({ - baseUrl: process.env.NEXT_PUBLIC_BACKEND_URL, -}); +const AUTH_PATH = "/auth"; +const LOGIN_PATH = "/api/v1/auth/login"; +const REFRESH_PATH = "/api/v1/auth/refresh"; +const BASE_URL = (process.env.NEXT_PUBLIC_BACKEND_URL ?? "").replace(/\/$/, ""); + +let ongoingRefresh: Promise | null = null; +const requestSnapshots = new Map(); + +const isBrowser = () => typeof window !== "undefined"; +const isAuthPath = (path: string) => path === LOGIN_PATH || path === REFRESH_PATH; + +function toBackendUrl(path: string) { + return BASE_URL ? `${BASE_URL}${path}` : path; +} + +function redirectToAuth() { + if (!isBrowser()) return; + if (window.location.pathname.startsWith(AUTH_PATH)) return; + window.location.assign(AUTH_PATH); +} + +async function refreshAccessToken() { + const refreshToken = getRefreshToken(); + if (!refreshToken) return null; + + const response = await fetch(toBackendUrl(REFRESH_PATH), { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ refreshToken }), + }); + + if (!response.ok) return null; + + const data = (await response.json()) as LoginResponse; + if (!data?.token || !data?.refreshToken) return null; + + setSession(data); + return data.token; +} + +async function refreshWithLock() { + if (!ongoingRefresh) { + ongoingRefresh = refreshAccessToken().finally(() => { + ongoingRefresh = null; + }); + } + + return ongoingRefresh; +} + +const authMiddleware: Middleware = { + onRequest({ request, schemaPath, id }) { + requestSnapshots.set(id, request.clone()); + + if (isAuthPath(schemaPath)) { + return; + } + + const accessToken = getAccessToken(); + if (!accessToken || request.headers.has("Authorization")) { + return; + } + + const headers = new Headers(request.headers); + headers.set("Authorization", `Bearer ${accessToken}`); + return new Request(request, { headers }); + }, + async onResponse({ response, schemaPath, id, request }) { + if (!isBrowser() || isAuthPath(schemaPath) || response.status !== 401) { + requestSnapshots.delete(id); + return; + } + + const newAccessToken = await refreshWithLock(); + if (!newAccessToken) { + requestSnapshots.delete(id); + clearSession(); + redirectToAuth(); + return response; + } + + const retrySource = requestSnapshots.get(id) ?? request; + requestSnapshots.delete(id); + + const retryHeaders = new Headers(retrySource.headers); + retryHeaders.set("Authorization", `Bearer ${newAccessToken}`); + + const retryRequest = new Request(retrySource, { headers: retryHeaders }); + return fetch(retryRequest); + }, + onError({ error, id }) { + requestSnapshots.delete(id); + return error instanceof Error ? error : undefined; + }, +}; + +export const fetchClient = createFetchClient({ baseUrl: BASE_URL }); +fetchClient.use(authMiddleware); export const $api = createClient(fetchClient); diff --git a/lib/auth-api.ts b/lib/auth-api.ts new file mode 100644 index 0000000..2a34400 --- /dev/null +++ b/lib/auth-api.ts @@ -0,0 +1,11 @@ +import type { MeResponse } from "@/types/kubb/gen"; +import { fetchClient } from "./api-client"; + +export async function fetchMe() { + const { data, error } = await fetchClient.GET("/api/v1/auth/me"); + if (error || !data) { + return null; + } + + return data as MeResponse; +} diff --git a/lib/auth-roles.ts b/lib/auth-roles.ts new file mode 100644 index 0000000..b845462 --- /dev/null +++ b/lib/auth-roles.ts @@ -0,0 +1,25 @@ +const STUDENT_ROLE = "STUDENT"; +const FACULTY_ROLE = "FACULTY"; +// const DEAN_ROLE = "DEAN"; +// const ADMIN_ROLE = "ADMIN"; +// const SUPER_ADMIN_ROLE = "SUPER_ADMIN"; + +export function hasRole(roles: string[], role: string) { + return roles.includes(role); +} + +export function resolveHomePathFromRoles(roles: string[]) { + if (hasRole(roles, STUDENT_ROLE)) { + return "/student/courses"; + } + + if (hasRole(roles, FACULTY_ROLE)) { + return "/faculty/courses"; + } + + // if (hasRole(roles, DEAN_ROLE)) return "/faculty/analytics"; + // if (hasRole(roles, ADMIN_ROLE)) return "/faculty/analytics"; + // if (hasRole(roles, SUPER_ADMIN_ROLE)) return "/faculty/analytics"; + + return "/auth"; +} diff --git a/lib/auth-storage.ts b/lib/auth-storage.ts new file mode 100644 index 0000000..23973df --- /dev/null +++ b/lib/auth-storage.ts @@ -0,0 +1,34 @@ +import type { LoginResponse } from "@/types/kubb/gen"; + +const ACCESS_TOKEN_KEY = "faculytics.accessToken"; +const REFRESH_TOKEN_KEY = "faculytics.refreshToken"; + +function isBrowser() { + return typeof window !== "undefined"; +} + +export function getAccessToken() { + if (!isBrowser()) return null; + return window.localStorage.getItem(ACCESS_TOKEN_KEY); +} + +export function getRefreshToken() { + if (!isBrowser()) return null; + return window.localStorage.getItem(REFRESH_TOKEN_KEY); +} + +export function hasStoredSession() { + return Boolean(getAccessToken() && getRefreshToken()); +} + +export function setSession(tokens: LoginResponse) { + if (!isBrowser()) return; + window.localStorage.setItem(ACCESS_TOKEN_KEY, tokens.token); + window.localStorage.setItem(REFRESH_TOKEN_KEY, tokens.refreshToken); +} + +export function clearSession() { + if (!isBrowser()) return; + window.localStorage.removeItem(ACCESS_TOKEN_KEY); + window.localStorage.removeItem(REFRESH_TOKEN_KEY); +} diff --git a/package.json b/package.json index ece889c..07e61f5 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "build": "next build", "start": "next start", "lint": "eslint", - "generate:api": "openapi-typescript https://raw.githubusercontent.com/CtrlAltElite-Devs/faculytics-contracts/refs/heads/main/develop/openapi.json -o ./schema/index.d.ts" + "generate:api": "openapi-typescript https://raw.githubusercontent.com/CtrlAltElite-Devs/faculytics-contracts/refs/heads/main/develop/openapi.json -o ./schema/index.d.ts", + "generate:kubb": "kubb generate" }, "dependencies": { "@tanstack/react-query": "^5.90.21", diff --git a/schema/index.d.ts b/schema/index.d.ts index 08ddee6..9ffe30d 100644 --- a/schema/index.d.ts +++ b/schema/index.d.ts @@ -339,11 +339,11 @@ export interface components { type: "FACULTY_IN_CLASSROOM" | "FACULTY_OUT_OF_CLASSROOM" | "FACULTY_FEEDBACK"; /** @default [] */ versions: Record; - /** @default a62add82-7b76-4f6c-97a2-f312b2d1d96d */ + /** @default 8501db1c-09a3-4664-b350-225403e53709 */ id: Record; - /** @default 2026-02-22T11:54:36.278Z */ + /** @default 2026-03-01T04:31:25.799Z */ createdAt: Record; - /** @default 2026-02-22T11:54:36.278Z */ + /** @default 2026-03-01T04:31:25.799Z */ updatedAt: Record; deletedAt?: Record; }; @@ -383,11 +383,11 @@ export interface components { * @enum {string} */ status: "DRAFT" | "ACTIVE" | "DEPRECATED"; - /** @default 1446bcff-58d3-4583-aeb7-616e9048cc0e */ + /** @default a383a697-0924-4545-88a1-8fbfb44c6aa3 */ id: Record; - /** @default 2026-02-22T11:54:36.282Z */ + /** @default 2026-03-01T04:31:25.804Z */ createdAt: Record; - /** @default 2026-02-22T11:54:36.282Z */ + /** @default 2026-03-01T04:31:25.804Z */ updatedAt: Record; deletedAt?: Record; }; @@ -397,11 +397,11 @@ export interface components { name?: string; /** @default [] */ semesters: Record; - /** @default cf1a1f09-0df9-4e25-b6b2-451dadacb6d2 */ + /** @default 91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de */ id: Record; - /** @default 2026-02-22T11:54:36.284Z */ + /** @default 2026-03-01T04:31:25.806Z */ createdAt: Record; - /** @default 2026-02-22T11:54:36.284Z */ + /** @default 2026-03-01T04:31:25.806Z */ updatedAt: Record; deletedAt?: Record; }; @@ -414,11 +414,11 @@ export interface components { /** @default [] */ departments: Record; description?: string; - /** @default 2c0016c6-4d2d-434a-af0c-a1adcf8b33df */ + /** @default f1ab63a0-118b-4b45-8018-36fcd63b7979 */ id: Record; - /** @default 2026-02-22T11:54:36.286Z */ + /** @default 2026-03-01T04:31:25.807Z */ createdAt: Record; - /** @default 2026-02-22T11:54:36.286Z */ + /** @default 2026-03-01T04:31:25.807Z */ updatedAt: Record; deletedAt?: Record; }; @@ -429,11 +429,11 @@ export interface components { semester: components["schemas"]["Semester"]; /** @default [] */ programs: Record; - /** @default c19c3ddd-42f3-4b25-a884-aeb39744cc28 */ + /** @default 7022074a-a1f1-468b-8b07-b28d14bd1f26 */ id: Record; - /** @default 2026-02-22T11:54:36.285Z */ + /** @default 2026-03-01T04:31:25.807Z */ createdAt: Record; - /** @default 2026-02-22T11:54:36.285Z */ + /** @default 2026-03-01T04:31:25.807Z */ updatedAt: Record; deletedAt?: Record; }; @@ -444,11 +444,11 @@ export interface components { department: components["schemas"]["Department"]; /** @default [] */ courses: Record; - /** @default 979c85cf-9788-4304-b87d-b5cf6b403b91 */ + /** @default d5e8ed98-da14-4dbd-b30e-3d2c9db112d9 */ id: Record; - /** @default 2026-02-22T11:54:36.287Z */ + /** @default 2026-03-01T04:31:25.808Z */ createdAt: Record; - /** @default 2026-02-22T11:54:36.287Z */ + /** @default 2026-03-01T04:31:25.808Z */ updatedAt: Record; deletedAt?: Record; }; @@ -474,11 +474,11 @@ export interface components { isActive: boolean; /** @default [] */ roles: ("SUPER_ADMIN" | "ADMIN" | "DEAN" | "FACULTY" | "STUDENT")[]; - /** @default 9407e6b0-9cd1-4d6e-b504-d948095fdb53 */ + /** @default efafb475-b750-467c-b9ac-b737ef50926f */ id: Record; - /** @default 2026-02-22T11:54:36.284Z */ + /** @default 2026-03-01T04:31:25.805Z */ createdAt: Record; - /** @default 2026-02-22T11:54:36.284Z */ + /** @default 2026-03-01T04:31:25.805Z */ updatedAt: Record; deletedAt?: Record; }; @@ -495,11 +495,11 @@ export interface components { /** Format: date-time */ timeModified: string; isActive: boolean; - /** @default 98c37851-08db-475d-af03-84fdf06f6507 */ + /** @default d8bc3a92-7336-43c0-99b0-acbed106fabd */ id: Record; - /** @default 2026-02-22T11:54:36.288Z */ + /** @default 2026-03-01T04:31:25.809Z */ createdAt: Record; - /** @default 2026-02-22T11:54:36.288Z */ + /** @default 2026-03-01T04:31:25.809Z */ updatedAt: Record; deletedAt?: Record; }; @@ -519,7 +519,7 @@ export interface components { qualitativeComment?: string; /** * Format: date-time - * @default 2026-02-22T11:54:36.281Z + * @default 2026-03-01T04:31:25.803Z */ submittedAt: string; facultyNameSnapshot: string; @@ -537,11 +537,11 @@ export interface components { academicYearSnapshot: string; /** @default [] */ answers: Record; - /** @default fedb992d-09ac-4e06-92c2-52d2d3c39cfa */ + /** @default f033fb6e-763c-4e39-812b-96cea8184b4d */ id: Record; - /** @default 2026-02-22T11:54:36.282Z */ + /** @default 2026-03-01T04:31:25.803Z */ createdAt: Record; - /** @default 2026-02-22T11:54:36.282Z */ + /** @default 2026-03-01T04:31:25.803Z */ updatedAt: Record; deletedAt?: Record; }; diff --git a/types/kubb/gen/models/Campus.ts b/types/kubb/gen/models/Campus.ts index 09ec835..24e171e 100644 --- a/types/kubb/gen/models/Campus.ts +++ b/types/kubb/gen/models/Campus.ts @@ -21,17 +21,17 @@ export type Campus = { */ semesters: object; /** - * @default "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + * @default "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" * @type object */ id: object; /** - * @default "2026-02-22T11:54:36.284Z" + * @default "2026-03-01T04:31:25.806Z" * @type object */ createdAt: object; /** - * @default "2026-02-22T11:54:36.284Z" + * @default "2026-03-01T04:31:25.806Z" * @type object */ updatedAt: object; diff --git a/types/kubb/gen/models/Course.ts b/types/kubb/gen/models/Course.ts index 34c047f..153ae22 100644 --- a/types/kubb/gen/models/Course.ts +++ b/types/kubb/gen/models/Course.ts @@ -43,17 +43,17 @@ export type Course = { */ isActive: boolean; /** - * @default "98c37851-08db-475d-af03-84fdf06f6507" + * @default "d8bc3a92-7336-43c0-99b0-acbed106fabd" * @type object */ id: object; /** - * @default "2026-02-22T11:54:36.288Z" + * @default "2026-03-01T04:31:25.809Z" * @type object */ createdAt: object; /** - * @default "2026-02-22T11:54:36.288Z" + * @default "2026-03-01T04:31:25.809Z" * @type object */ updatedAt: object; diff --git a/types/kubb/gen/models/Department.ts b/types/kubb/gen/models/Department.ts index cfad2a3..6318d5a 100644 --- a/types/kubb/gen/models/Department.ts +++ b/types/kubb/gen/models/Department.ts @@ -27,17 +27,17 @@ export type Department = { */ programs: object; /** - * @default "c19c3ddd-42f3-4b25-a884-aeb39744cc28" + * @default "7022074a-a1f1-468b-8b07-b28d14bd1f26" * @type object */ id: object; /** - * @default "2026-02-22T11:54:36.285Z" + * @default "2026-03-01T04:31:25.807Z" * @type object */ createdAt: object; /** - * @default "2026-02-22T11:54:36.285Z" + * @default "2026-03-01T04:31:25.807Z" * @type object */ updatedAt: object; diff --git a/types/kubb/gen/models/Program.ts b/types/kubb/gen/models/Program.ts index 7db1b57..855eec1 100644 --- a/types/kubb/gen/models/Program.ts +++ b/types/kubb/gen/models/Program.ts @@ -27,17 +27,17 @@ export type Program = { */ courses: object; /** - * @default "979c85cf-9788-4304-b87d-b5cf6b403b91" + * @default "d5e8ed98-da14-4dbd-b30e-3d2c9db112d9" * @type object */ id: object; /** - * @default "2026-02-22T11:54:36.287Z" + * @default "2026-03-01T04:31:25.808Z" * @type object */ createdAt: object; /** - * @default "2026-02-22T11:54:36.287Z" + * @default "2026-03-01T04:31:25.808Z" * @type object */ updatedAt: object; diff --git a/types/kubb/gen/models/Questionnaire.ts b/types/kubb/gen/models/Questionnaire.ts index ec3c0ba..ae969d9 100644 --- a/types/kubb/gen/models/Questionnaire.ts +++ b/types/kubb/gen/models/Questionnaire.ts @@ -40,17 +40,17 @@ export type Questionnaire = { */ versions: object; /** - * @default "a62add82-7b76-4f6c-97a2-f312b2d1d96d" + * @default "8501db1c-09a3-4664-b350-225403e53709" * @type object */ id: object; /** - * @default "2026-02-22T11:54:36.278Z" + * @default "2026-03-01T04:31:25.799Z" * @type object */ createdAt: object; /** - * @default "2026-02-22T11:54:36.278Z" + * @default "2026-03-01T04:31:25.799Z" * @type object */ updatedAt: object; diff --git a/types/kubb/gen/models/QuestionnaireSubmission.ts b/types/kubb/gen/models/QuestionnaireSubmission.ts index c914fc9..6b43f0f 100644 --- a/types/kubb/gen/models/QuestionnaireSubmission.ts +++ b/types/kubb/gen/models/QuestionnaireSubmission.ts @@ -69,7 +69,7 @@ export type QuestionnaireSubmission = { */ qualitativeComment?: string; /** - * @default "2026-02-22T11:54:36.281Z" + * @default "2026-03-01T04:31:25.803Z" * @type string, date-time */ submittedAt: string; @@ -130,17 +130,17 @@ export type QuestionnaireSubmission = { */ answers: object; /** - * @default "fedb992d-09ac-4e06-92c2-52d2d3c39cfa" + * @default "f033fb6e-763c-4e39-812b-96cea8184b4d" * @type object */ id: object; /** - * @default "2026-02-22T11:54:36.282Z" + * @default "2026-03-01T04:31:25.803Z" * @type object */ createdAt: object; /** - * @default "2026-02-22T11:54:36.282Z" + * @default "2026-03-01T04:31:25.803Z" * @type object */ updatedAt: object; diff --git a/types/kubb/gen/models/QuestionnaireVersion.ts b/types/kubb/gen/models/QuestionnaireVersion.ts index 3be8d04..25df71e 100644 --- a/types/kubb/gen/models/QuestionnaireVersion.ts +++ b/types/kubb/gen/models/QuestionnaireVersion.ts @@ -42,17 +42,17 @@ export type QuestionnaireVersion = { */ status: QuestionnaireVersionStatusEnumKey; /** - * @default "1446bcff-58d3-4583-aeb7-616e9048cc0e" + * @default "a383a697-0924-4545-88a1-8fbfb44c6aa3" * @type object */ id: object; /** - * @default "2026-02-22T11:54:36.282Z" + * @default "2026-03-01T04:31:25.804Z" * @type object */ createdAt: object; /** - * @default "2026-02-22T11:54:36.282Z" + * @default "2026-03-01T04:31:25.804Z" * @type object */ updatedAt: object; diff --git a/types/kubb/gen/models/Semester.ts b/types/kubb/gen/models/Semester.ts index 0e644b3..8558a9a 100644 --- a/types/kubb/gen/models/Semester.ts +++ b/types/kubb/gen/models/Semester.ts @@ -35,17 +35,17 @@ export type Semester = { */ description?: string; /** - * @default "2c0016c6-4d2d-434a-af0c-a1adcf8b33df" + * @default "f1ab63a0-118b-4b45-8018-36fcd63b7979" * @type object */ id: object; /** - * @default "2026-02-22T11:54:36.286Z" + * @default "2026-03-01T04:31:25.807Z" * @type object */ createdAt: object; /** - * @default "2026-02-22T11:54:36.286Z" + * @default "2026-03-01T04:31:25.807Z" * @type object */ updatedAt: object; diff --git a/types/kubb/gen/models/User.ts b/types/kubb/gen/models/User.ts index 4468a37..c8e52ba 100644 --- a/types/kubb/gen/models/User.ts +++ b/types/kubb/gen/models/User.ts @@ -84,17 +84,17 @@ export type User = { */ roles: UserRolesEnumKey[]; /** - * @default "9407e6b0-9cd1-4d6e-b504-d948095fdb53" + * @default "efafb475-b750-467c-b9ac-b737ef50926f" * @type object */ id: object; /** - * @default "2026-02-22T11:54:36.284Z" + * @default "2026-03-01T04:31:25.805Z" * @type object */ createdAt: object; /** - * @default "2026-02-22T11:54:36.284Z" + * @default "2026-03-01T04:31:25.805Z" * @type object */ updatedAt: object; diff --git a/types/kubb/gen/schemas/campus.json b/types/kubb/gen/schemas/campus.json index 533364f..4728a82 100644 --- a/types/kubb/gen/schemas/campus.json +++ b/types/kubb/gen/schemas/campus.json @@ -7,10 +7,10 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, - "createdAt": { "type": "object", "default": "2026-02-22T11:54:36.284Z" }, - "updatedAt": { "type": "object", "default": "2026-02-22T11:54:36.284Z" }, + "createdAt": { "type": "object", "default": "2026-03-01T04:31:25.806Z" }, + "updatedAt": { "type": "object", "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, "required": [ diff --git a/types/kubb/gen/schemas/course.json b/types/kubb/gen/schemas/course.json index 6f56d1c..5cfb81c 100644 --- a/types/kubb/gen/schemas/course.json +++ b/types/kubb/gen/schemas/course.json @@ -32,15 +32,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -58,15 +58,15 @@ "description": { "type": "string" }, "id": { "type": "object", - "default": "2c0016c6-4d2d-434a-af0c-a1adcf8b33df" + "default": "f1ab63a0-118b-4b45-8018-36fcd63b7979" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -84,15 +84,15 @@ "programs": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "c19c3ddd-42f3-4b25-a884-aeb39744cc28" + "default": "7022074a-a1f1-468b-8b07-b28d14bd1f26" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -110,15 +110,15 @@ "courses": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "979c85cf-9788-4304-b87d-b5cf6b403b91" + "default": "d5e8ed98-da14-4dbd-b30e-3d2c9db112d9" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.287Z" + "default": "2026-03-01T04:31:25.808Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.287Z" + "default": "2026-03-01T04:31:25.808Z" }, "deletedAt": { "type": "object" } }, @@ -140,10 +140,10 @@ "isActive": { "type": "boolean" }, "id": { "type": "object", - "default": "98c37851-08db-475d-af03-84fdf06f6507" + "default": "d8bc3a92-7336-43c0-99b0-acbed106fabd" }, - "createdAt": { "type": "object", "default": "2026-02-22T11:54:36.288Z" }, - "updatedAt": { "type": "object", "default": "2026-02-22T11:54:36.288Z" }, + "createdAt": { "type": "object", "default": "2026-03-01T04:31:25.809Z" }, + "updatedAt": { "type": "object", "default": "2026-03-01T04:31:25.809Z" }, "deletedAt": { "type": "object" } }, "required": [ diff --git a/types/kubb/gen/schemas/department.json b/types/kubb/gen/schemas/department.json index 8fd0b8a..19d3fe5 100644 --- a/types/kubb/gen/schemas/department.json +++ b/types/kubb/gen/schemas/department.json @@ -20,15 +20,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -46,15 +46,15 @@ "description": { "type": "string" }, "id": { "type": "object", - "default": "2c0016c6-4d2d-434a-af0c-a1adcf8b33df" + "default": "f1ab63a0-118b-4b45-8018-36fcd63b7979" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -72,10 +72,10 @@ "programs": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "c19c3ddd-42f3-4b25-a884-aeb39744cc28" + "default": "7022074a-a1f1-468b-8b07-b28d14bd1f26" }, - "createdAt": { "type": "object", "default": "2026-02-22T11:54:36.285Z" }, - "updatedAt": { "type": "object", "default": "2026-02-22T11:54:36.285Z" }, + "createdAt": { "type": "object", "default": "2026-03-01T04:31:25.807Z" }, + "updatedAt": { "type": "object", "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, "required": [ diff --git a/types/kubb/gen/schemas/program.json b/types/kubb/gen/schemas/program.json index 31ef539..dc1a95d 100644 --- a/types/kubb/gen/schemas/program.json +++ b/types/kubb/gen/schemas/program.json @@ -26,15 +26,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -52,15 +52,15 @@ "description": { "type": "string" }, "id": { "type": "object", - "default": "2c0016c6-4d2d-434a-af0c-a1adcf8b33df" + "default": "f1ab63a0-118b-4b45-8018-36fcd63b7979" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -78,15 +78,15 @@ "programs": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "c19c3ddd-42f3-4b25-a884-aeb39744cc28" + "default": "7022074a-a1f1-468b-8b07-b28d14bd1f26" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -104,10 +104,10 @@ "courses": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "979c85cf-9788-4304-b87d-b5cf6b403b91" + "default": "d5e8ed98-da14-4dbd-b30e-3d2c9db112d9" }, - "createdAt": { "type": "object", "default": "2026-02-22T11:54:36.287Z" }, - "updatedAt": { "type": "object", "default": "2026-02-22T11:54:36.287Z" }, + "createdAt": { "type": "object", "default": "2026-03-01T04:31:25.808Z" }, + "updatedAt": { "type": "object", "default": "2026-03-01T04:31:25.808Z" }, "deletedAt": { "type": "object" } }, "required": [ diff --git a/types/kubb/gen/schemas/questionnaire.json b/types/kubb/gen/schemas/questionnaire.json index 8981b39..0bccdc2 100644 --- a/types/kubb/gen/schemas/questionnaire.json +++ b/types/kubb/gen/schemas/questionnaire.json @@ -18,10 +18,10 @@ "versions": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "a62add82-7b76-4f6c-97a2-f312b2d1d96d" + "default": "8501db1c-09a3-4664-b350-225403e53709" }, - "createdAt": { "type": "object", "default": "2026-02-22T11:54:36.278Z" }, - "updatedAt": { "type": "object", "default": "2026-02-22T11:54:36.278Z" }, + "createdAt": { "type": "object", "default": "2026-03-01T04:31:25.799Z" }, + "updatedAt": { "type": "object", "default": "2026-03-01T04:31:25.799Z" }, "deletedAt": { "type": "object" } }, "required": [ diff --git a/types/kubb/gen/schemas/questionnaireSubmission.json b/types/kubb/gen/schemas/questionnaireSubmission.json index caaad6a..96bb951 100644 --- a/types/kubb/gen/schemas/questionnaireSubmission.json +++ b/types/kubb/gen/schemas/questionnaireSubmission.json @@ -24,15 +24,15 @@ "versions": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "a62add82-7b76-4f6c-97a2-f312b2d1d96d" + "default": "8501db1c-09a3-4664-b350-225403e53709" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.278Z" + "default": "2026-03-01T04:31:25.799Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.278Z" + "default": "2026-03-01T04:31:25.799Z" }, "deletedAt": { "type": "object" } }, @@ -58,15 +58,15 @@ }, "id": { "type": "object", - "default": "1446bcff-58d3-4583-aeb7-616e9048cc0e" + "default": "a383a697-0924-4545-88a1-8fbfb44c6aa3" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.282Z" + "default": "2026-03-01T04:31:25.804Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.282Z" + "default": "2026-03-01T04:31:25.804Z" }, "deletedAt": { "type": "object" } }, @@ -101,15 +101,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -145,15 +145,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -171,15 +171,15 @@ "description": { "type": "string" }, "id": { "type": "object", - "default": "2c0016c6-4d2d-434a-af0c-a1adcf8b33df" + "default": "f1ab63a0-118b-4b45-8018-36fcd63b7979" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -197,15 +197,15 @@ "programs": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "c19c3ddd-42f3-4b25-a884-aeb39744cc28" + "default": "7022074a-a1f1-468b-8b07-b28d14bd1f26" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -248,15 +248,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -274,15 +274,15 @@ "description": { "type": "string" }, "id": { "type": "object", - "default": "2c0016c6-4d2d-434a-af0c-a1adcf8b33df" + "default": "f1ab63a0-118b-4b45-8018-36fcd63b7979" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -300,15 +300,15 @@ "programs": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "c19c3ddd-42f3-4b25-a884-aeb39744cc28" + "default": "7022074a-a1f1-468b-8b07-b28d14bd1f26" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -326,15 +326,15 @@ "courses": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "979c85cf-9788-4304-b87d-b5cf6b403b91" + "default": "d5e8ed98-da14-4dbd-b30e-3d2c9db112d9" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.287Z" + "default": "2026-03-01T04:31:25.808Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.287Z" + "default": "2026-03-01T04:31:25.808Z" }, "deletedAt": { "type": "object" } }, @@ -364,15 +364,15 @@ }, "id": { "type": "object", - "default": "9407e6b0-9cd1-4d6e-b504-d948095fdb53" + "default": "efafb475-b750-467c-b9ac-b737ef50926f" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.805Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.805Z" }, "deletedAt": { "type": "object" } }, @@ -412,15 +412,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -456,15 +456,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -482,15 +482,15 @@ "description": { "type": "string" }, "id": { "type": "object", - "default": "2c0016c6-4d2d-434a-af0c-a1adcf8b33df" + "default": "f1ab63a0-118b-4b45-8018-36fcd63b7979" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -508,15 +508,15 @@ "programs": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "c19c3ddd-42f3-4b25-a884-aeb39744cc28" + "default": "7022074a-a1f1-468b-8b07-b28d14bd1f26" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -559,15 +559,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -585,15 +585,15 @@ "description": { "type": "string" }, "id": { "type": "object", - "default": "2c0016c6-4d2d-434a-af0c-a1adcf8b33df" + "default": "f1ab63a0-118b-4b45-8018-36fcd63b7979" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -611,15 +611,15 @@ "programs": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "c19c3ddd-42f3-4b25-a884-aeb39744cc28" + "default": "7022074a-a1f1-468b-8b07-b28d14bd1f26" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -637,15 +637,15 @@ "courses": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "979c85cf-9788-4304-b87d-b5cf6b403b91" + "default": "d5e8ed98-da14-4dbd-b30e-3d2c9db112d9" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.287Z" + "default": "2026-03-01T04:31:25.808Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.287Z" + "default": "2026-03-01T04:31:25.808Z" }, "deletedAt": { "type": "object" } }, @@ -675,15 +675,15 @@ }, "id": { "type": "object", - "default": "9407e6b0-9cd1-4d6e-b504-d948095fdb53" + "default": "efafb475-b750-467c-b9ac-b737ef50926f" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.805Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.805Z" }, "deletedAt": { "type": "object" } }, @@ -721,15 +721,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -747,15 +747,15 @@ "description": { "type": "string" }, "id": { "type": "object", - "default": "2c0016c6-4d2d-434a-af0c-a1adcf8b33df" + "default": "f1ab63a0-118b-4b45-8018-36fcd63b7979" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -804,15 +804,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -830,15 +830,15 @@ "description": { "type": "string" }, "id": { "type": "object", - "default": "2c0016c6-4d2d-434a-af0c-a1adcf8b33df" + "default": "f1ab63a0-118b-4b45-8018-36fcd63b7979" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -856,15 +856,15 @@ "programs": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "c19c3ddd-42f3-4b25-a884-aeb39744cc28" + "default": "7022074a-a1f1-468b-8b07-b28d14bd1f26" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -882,15 +882,15 @@ "courses": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "979c85cf-9788-4304-b87d-b5cf6b403b91" + "default": "d5e8ed98-da14-4dbd-b30e-3d2c9db112d9" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.287Z" + "default": "2026-03-01T04:31:25.808Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.287Z" + "default": "2026-03-01T04:31:25.808Z" }, "deletedAt": { "type": "object" } }, @@ -912,15 +912,15 @@ "isActive": { "type": "boolean" }, "id": { "type": "object", - "default": "98c37851-08db-475d-af03-84fdf06f6507" + "default": "d8bc3a92-7336-43c0-99b0-acbed106fabd" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.288Z" + "default": "2026-03-01T04:31:25.809Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.288Z" + "default": "2026-03-01T04:31:25.809Z" }, "deletedAt": { "type": "object" } }, @@ -962,15 +962,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -988,15 +988,15 @@ "description": { "type": "string" }, "id": { "type": "object", - "default": "2c0016c6-4d2d-434a-af0c-a1adcf8b33df" + "default": "f1ab63a0-118b-4b45-8018-36fcd63b7979" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -1014,15 +1014,15 @@ "programs": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "c19c3ddd-42f3-4b25-a884-aeb39744cc28" + "default": "7022074a-a1f1-468b-8b07-b28d14bd1f26" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -1065,15 +1065,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -1091,15 +1091,15 @@ "description": { "type": "string" }, "id": { "type": "object", - "default": "2c0016c6-4d2d-434a-af0c-a1adcf8b33df" + "default": "f1ab63a0-118b-4b45-8018-36fcd63b7979" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -1117,15 +1117,15 @@ "programs": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "c19c3ddd-42f3-4b25-a884-aeb39744cc28" + "default": "7022074a-a1f1-468b-8b07-b28d14bd1f26" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -1143,15 +1143,15 @@ "courses": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "979c85cf-9788-4304-b87d-b5cf6b403b91" + "default": "d5e8ed98-da14-4dbd-b30e-3d2c9db112d9" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.287Z" + "default": "2026-03-01T04:31:25.808Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.287Z" + "default": "2026-03-01T04:31:25.808Z" }, "deletedAt": { "type": "object" } }, @@ -1175,15 +1175,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -1203,7 +1203,7 @@ "submittedAt": { "format": "date-time", "type": "string", - "default": "2026-02-22T11:54:36.281Z" + "default": "2026-03-01T04:31:25.803Z" }, "facultyNameSnapshot": { "type": "string" }, "facultyEmployeeNumberSnapshot": { "type": "string" }, @@ -1221,10 +1221,10 @@ "answers": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "fedb992d-09ac-4e06-92c2-52d2d3c39cfa" + "default": "f033fb6e-763c-4e39-812b-96cea8184b4d" }, - "createdAt": { "type": "object", "default": "2026-02-22T11:54:36.282Z" }, - "updatedAt": { "type": "object", "default": "2026-02-22T11:54:36.282Z" }, + "createdAt": { "type": "object", "default": "2026-03-01T04:31:25.803Z" }, + "updatedAt": { "type": "object", "default": "2026-03-01T04:31:25.803Z" }, "deletedAt": { "type": "object" } }, "required": [ diff --git a/types/kubb/gen/schemas/questionnaireVersion.json b/types/kubb/gen/schemas/questionnaireVersion.json index eb9d83a..6932693 100644 --- a/types/kubb/gen/schemas/questionnaireVersion.json +++ b/types/kubb/gen/schemas/questionnaireVersion.json @@ -21,15 +21,15 @@ "versions": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "a62add82-7b76-4f6c-97a2-f312b2d1d96d" + "default": "8501db1c-09a3-4664-b350-225403e53709" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.278Z" + "default": "2026-03-01T04:31:25.799Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.278Z" + "default": "2026-03-01T04:31:25.799Z" }, "deletedAt": { "type": "object" } }, @@ -55,10 +55,10 @@ }, "id": { "type": "object", - "default": "1446bcff-58d3-4583-aeb7-616e9048cc0e" + "default": "a383a697-0924-4545-88a1-8fbfb44c6aa3" }, - "createdAt": { "type": "object", "default": "2026-02-22T11:54:36.282Z" }, - "updatedAt": { "type": "object", "default": "2026-02-22T11:54:36.282Z" }, + "createdAt": { "type": "object", "default": "2026-03-01T04:31:25.804Z" }, + "updatedAt": { "type": "object", "default": "2026-03-01T04:31:25.804Z" }, "deletedAt": { "type": "object" } }, "required": [ diff --git a/types/kubb/gen/schemas/semester.json b/types/kubb/gen/schemas/semester.json index 1250237..7a60b08 100644 --- a/types/kubb/gen/schemas/semester.json +++ b/types/kubb/gen/schemas/semester.json @@ -14,15 +14,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -40,10 +40,10 @@ "description": { "type": "string" }, "id": { "type": "object", - "default": "2c0016c6-4d2d-434a-af0c-a1adcf8b33df" + "default": "f1ab63a0-118b-4b45-8018-36fcd63b7979" }, - "createdAt": { "type": "object", "default": "2026-02-22T11:54:36.286Z" }, - "updatedAt": { "type": "object", "default": "2026-02-22T11:54:36.286Z" }, + "createdAt": { "type": "object", "default": "2026-03-01T04:31:25.807Z" }, + "updatedAt": { "type": "object", "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, "required": [ diff --git a/types/kubb/gen/schemas/user.json b/types/kubb/gen/schemas/user.json index 852130b..a3a00a0 100644 --- a/types/kubb/gen/schemas/user.json +++ b/types/kubb/gen/schemas/user.json @@ -17,15 +17,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -61,15 +61,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -87,15 +87,15 @@ "description": { "type": "string" }, "id": { "type": "object", - "default": "2c0016c6-4d2d-434a-af0c-a1adcf8b33df" + "default": "f1ab63a0-118b-4b45-8018-36fcd63b7979" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -113,15 +113,15 @@ "programs": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "c19c3ddd-42f3-4b25-a884-aeb39744cc28" + "default": "7022074a-a1f1-468b-8b07-b28d14bd1f26" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -164,15 +164,15 @@ "semesters": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "cf1a1f09-0df9-4e25-b6b2-451dadacb6d2" + "default": "91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.284Z" + "default": "2026-03-01T04:31:25.806Z" }, "deletedAt": { "type": "object" } }, @@ -190,15 +190,15 @@ "description": { "type": "string" }, "id": { "type": "object", - "default": "2c0016c6-4d2d-434a-af0c-a1adcf8b33df" + "default": "f1ab63a0-118b-4b45-8018-36fcd63b7979" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.286Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -216,15 +216,15 @@ "programs": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "c19c3ddd-42f3-4b25-a884-aeb39744cc28" + "default": "7022074a-a1f1-468b-8b07-b28d14bd1f26" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.285Z" + "default": "2026-03-01T04:31:25.807Z" }, "deletedAt": { "type": "object" } }, @@ -242,15 +242,15 @@ "courses": { "type": "object", "default": [] }, "id": { "type": "object", - "default": "979c85cf-9788-4304-b87d-b5cf6b403b91" + "default": "d5e8ed98-da14-4dbd-b30e-3d2c9db112d9" }, "createdAt": { "type": "object", - "default": "2026-02-22T11:54:36.287Z" + "default": "2026-03-01T04:31:25.808Z" }, "updatedAt": { "type": "object", - "default": "2026-02-22T11:54:36.287Z" + "default": "2026-03-01T04:31:25.808Z" }, "deletedAt": { "type": "object" } }, @@ -280,10 +280,10 @@ }, "id": { "type": "object", - "default": "9407e6b0-9cd1-4d6e-b504-d948095fdb53" + "default": "efafb475-b750-467c-b9ac-b737ef50926f" }, - "createdAt": { "type": "object", "default": "2026-02-22T11:54:36.284Z" }, - "updatedAt": { "type": "object", "default": "2026-02-22T11:54:36.284Z" }, + "createdAt": { "type": "object", "default": "2026-03-01T04:31:25.805Z" }, + "updatedAt": { "type": "object", "default": "2026-03-01T04:31:25.805Z" }, "deletedAt": { "type": "object" } }, "required": [ diff --git a/types/kubb/gen/zod/campusSchema.ts b/types/kubb/gen/zod/campusSchema.ts index 2108c44..cf35848 100644 --- a/types/kubb/gen/zod/campusSchema.ts +++ b/types/kubb/gen/zod/campusSchema.ts @@ -10,8 +10,8 @@ export const campusSchema = z.object({ code: z.string(), name: z.optional(z.string()), semesters: z.object({}), - id: z.object({}).default("cf1a1f09-0df9-4e25-b6b2-451dadacb6d2"), - createdAt: z.object({}).default("2026-02-22T11:54:36.284Z"), - updatedAt: z.object({}).default("2026-02-22T11:54:36.284Z"), + id: z.object({}).default("91ffeac4-8cbd-46ce-b84a-a3fd9ccae9de"), + createdAt: z.object({}).default("2026-03-01T04:31:25.806Z"), + updatedAt: z.object({}).default("2026-03-01T04:31:25.806Z"), deletedAt: z.optional(z.object({})), }); diff --git a/types/kubb/gen/zod/courseSchema.ts b/types/kubb/gen/zod/courseSchema.ts index cf48cdd..bbb50e1 100644 --- a/types/kubb/gen/zod/courseSchema.ts +++ b/types/kubb/gen/zod/courseSchema.ts @@ -18,8 +18,8 @@ export const courseSchema = z.object({ isVisible: z.boolean(), timeModified: z.iso.datetime(), isActive: z.boolean(), - id: z.object({}).default("98c37851-08db-475d-af03-84fdf06f6507"), - createdAt: z.object({}).default("2026-02-22T11:54:36.288Z"), - updatedAt: z.object({}).default("2026-02-22T11:54:36.288Z"), + id: z.object({}).default("d8bc3a92-7336-43c0-99b0-acbed106fabd"), + createdAt: z.object({}).default("2026-03-01T04:31:25.809Z"), + updatedAt: z.object({}).default("2026-03-01T04:31:25.809Z"), deletedAt: z.optional(z.object({})), }); diff --git a/types/kubb/gen/zod/departmentSchema.ts b/types/kubb/gen/zod/departmentSchema.ts index 400a7e2..31942a9 100644 --- a/types/kubb/gen/zod/departmentSchema.ts +++ b/types/kubb/gen/zod/departmentSchema.ts @@ -14,8 +14,8 @@ export const departmentSchema = z.object({ return semesterSchema; }, programs: z.object({}), - id: z.object({}).default("c19c3ddd-42f3-4b25-a884-aeb39744cc28"), - createdAt: z.object({}).default("2026-02-22T11:54:36.285Z"), - updatedAt: z.object({}).default("2026-02-22T11:54:36.285Z"), + id: z.object({}).default("7022074a-a1f1-468b-8b07-b28d14bd1f26"), + createdAt: z.object({}).default("2026-03-01T04:31:25.807Z"), + updatedAt: z.object({}).default("2026-03-01T04:31:25.807Z"), deletedAt: z.optional(z.object({})), }); diff --git a/types/kubb/gen/zod/programSchema.ts b/types/kubb/gen/zod/programSchema.ts index 2b23b1c..b0d6b5b 100644 --- a/types/kubb/gen/zod/programSchema.ts +++ b/types/kubb/gen/zod/programSchema.ts @@ -14,8 +14,8 @@ export const programSchema = z.object({ return departmentSchema; }, courses: z.object({}), - id: z.object({}).default("979c85cf-9788-4304-b87d-b5cf6b403b91"), - createdAt: z.object({}).default("2026-02-22T11:54:36.287Z"), - updatedAt: z.object({}).default("2026-02-22T11:54:36.287Z"), + id: z.object({}).default("d5e8ed98-da14-4dbd-b30e-3d2c9db112d9"), + createdAt: z.object({}).default("2026-03-01T04:31:25.808Z"), + updatedAt: z.object({}).default("2026-03-01T04:31:25.808Z"), deletedAt: z.optional(z.object({})), }); diff --git a/types/kubb/gen/zod/questionnaireSchema.ts b/types/kubb/gen/zod/questionnaireSchema.ts index 2d71af2..e25ec7c 100644 --- a/types/kubb/gen/zod/questionnaireSchema.ts +++ b/types/kubb/gen/zod/questionnaireSchema.ts @@ -14,8 +14,8 @@ export const questionnaireSchema = z.object({ "FACULTY_FEEDBACK", ]), versions: z.object({}), - id: z.object({}).default("a62add82-7b76-4f6c-97a2-f312b2d1d96d"), - createdAt: z.object({}).default("2026-02-22T11:54:36.278Z"), - updatedAt: z.object({}).default("2026-02-22T11:54:36.278Z"), + id: z.object({}).default("8501db1c-09a3-4664-b350-225403e53709"), + createdAt: z.object({}).default("2026-03-01T04:31:25.799Z"), + updatedAt: z.object({}).default("2026-03-01T04:31:25.799Z"), deletedAt: z.optional(z.object({})), }); diff --git a/types/kubb/gen/zod/questionnaireSubmissionSchema.ts b/types/kubb/gen/zod/questionnaireSubmissionSchema.ts index afb94a7..13218af 100644 --- a/types/kubb/gen/zod/questionnaireSubmissionSchema.ts +++ b/types/kubb/gen/zod/questionnaireSubmissionSchema.ts @@ -41,7 +41,7 @@ export const questionnaireSubmissionSchema = z.object({ totalScore: z.number(), normalizedScore: z.number(), qualitativeComment: z.optional(z.string()), - submittedAt: z.iso.datetime().default("2026-02-22T11:54:36.281Z"), + submittedAt: z.iso.datetime().default("2026-03-01T04:31:25.803Z"), facultyNameSnapshot: z.string(), facultyEmployeeNumberSnapshot: z.optional(z.string()), departmentCodeSnapshot: z.string(), @@ -56,8 +56,8 @@ export const questionnaireSubmissionSchema = z.object({ semesterLabelSnapshot: z.string(), academicYearSnapshot: z.string(), answers: z.object({}), - id: z.object({}).default("fedb992d-09ac-4e06-92c2-52d2d3c39cfa"), - createdAt: z.object({}).default("2026-02-22T11:54:36.282Z"), - updatedAt: z.object({}).default("2026-02-22T11:54:36.282Z"), + id: z.object({}).default("f033fb6e-763c-4e39-812b-96cea8184b4d"), + createdAt: z.object({}).default("2026-03-01T04:31:25.803Z"), + updatedAt: z.object({}).default("2026-03-01T04:31:25.803Z"), deletedAt: z.optional(z.object({})), }); diff --git a/types/kubb/gen/zod/questionnaireVersionSchema.ts b/types/kubb/gen/zod/questionnaireVersionSchema.ts index ea4ee81..d3b7e24 100644 --- a/types/kubb/gen/zod/questionnaireVersionSchema.ts +++ b/types/kubb/gen/zod/questionnaireVersionSchema.ts @@ -15,8 +15,8 @@ export const questionnaireVersionSchema = z.object({ publishedAt: z.optional(z.iso.datetime()), isActive: z.boolean().default(false), status: z.enum(["DRAFT", "ACTIVE", "DEPRECATED"]).default("DRAFT"), - id: z.object({}).default("1446bcff-58d3-4583-aeb7-616e9048cc0e"), - createdAt: z.object({}).default("2026-02-22T11:54:36.282Z"), - updatedAt: z.object({}).default("2026-02-22T11:54:36.282Z"), + id: z.object({}).default("a383a697-0924-4545-88a1-8fbfb44c6aa3"), + createdAt: z.object({}).default("2026-03-01T04:31:25.804Z"), + updatedAt: z.object({}).default("2026-03-01T04:31:25.804Z"), deletedAt: z.optional(z.object({})), }); diff --git a/types/kubb/gen/zod/semesterSchema.ts b/types/kubb/gen/zod/semesterSchema.ts index 1d73cdf..3b1bf3a 100644 --- a/types/kubb/gen/zod/semesterSchema.ts +++ b/types/kubb/gen/zod/semesterSchema.ts @@ -16,8 +16,8 @@ export const semesterSchema = z.object({ }, departments: z.object({}), description: z.optional(z.string()), - id: z.object({}).default("2c0016c6-4d2d-434a-af0c-a1adcf8b33df"), - createdAt: z.object({}).default("2026-02-22T11:54:36.286Z"), - updatedAt: z.object({}).default("2026-02-22T11:54:36.286Z"), + id: z.object({}).default("f1ab63a0-118b-4b45-8018-36fcd63b7979"), + createdAt: z.object({}).default("2026-03-01T04:31:25.807Z"), + updatedAt: z.object({}).default("2026-03-01T04:31:25.807Z"), deletedAt: z.optional(z.object({})), }); diff --git a/types/kubb/gen/zod/userSchema.ts b/types/kubb/gen/zod/userSchema.ts index bbea3ca..c89e784 100644 --- a/types/kubb/gen/zod/userSchema.ts +++ b/types/kubb/gen/zod/userSchema.ts @@ -33,8 +33,8 @@ export const userSchema = z.object({ roles: z.array( z.enum(["SUPER_ADMIN", "ADMIN", "DEAN", "FACULTY", "STUDENT"]), ), - id: z.object({}).default("9407e6b0-9cd1-4d6e-b504-d948095fdb53"), - createdAt: z.object({}).default("2026-02-22T11:54:36.284Z"), - updatedAt: z.object({}).default("2026-02-22T11:54:36.284Z"), + id: z.object({}).default("efafb475-b750-467c-b9ac-b737ef50926f"), + createdAt: z.object({}).default("2026-03-01T04:31:25.805Z"), + updatedAt: z.object({}).default("2026-03-01T04:31:25.805Z"), deletedAt: z.optional(z.object({})), });