From 575f0df4bc5e76d1a41670bfd34085514b26db80 Mon Sep 17 00:00:00 2001 From: Clayzxr Date: Fri, 24 Jan 2025 16:23:47 +0100 Subject: [PATCH] Fixing bugs --- .../mobility/(_islands)/ConsultMobility.tsx | 13 ++++++++++--- routes/(apps)/mobility/api/insert_mobility.ts | 18 +++++++++++++++--- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/routes/(apps)/mobility/(_islands)/ConsultMobility.tsx b/routes/(apps)/mobility/(_islands)/ConsultMobility.tsx index 0138de4..9b31a73 100644 --- a/routes/(apps)/mobility/(_islands)/ConsultMobility.tsx +++ b/routes/(apps)/mobility/(_islands)/ConsultMobility.tsx @@ -19,7 +19,7 @@ interface Mobility { } export default function ConsultMobility() { - const [data, setData] = useState<{ promotions: Promotion[]; mobilities: Mobility[] } | null>(null); + const [data, setData] = useState<{ promotions?: Promotion[]; mobilities: Mobility[] } | null>(null); const [error, setError] = useState(null); useEffect(() => { @@ -45,11 +45,18 @@ export default function ConsultMobility() { fetchData(); }, []); + if (error) { + return

{error}

; + } + + if (!data?.promotions) { + return

No promotions found.

; + } + return (

Consult Mobility

- {error &&

{error}

} - {data?.promotions.map((promo) => ( + {data.promotions.map((promo) => (

Promotion: {promo.name}

diff --git a/routes/(apps)/mobility/api/insert_mobility.ts b/routes/(apps)/mobility/api/insert_mobility.ts index ae88eda..9a1e985 100644 --- a/routes/(apps)/mobility/api/insert_mobility.ts +++ b/routes/(apps)/mobility/api/insert_mobility.ts @@ -6,10 +6,10 @@ export const handler: Handlers = { try { console.log("Connecting to mobility database..."); const connection = new Database("databases/data/mobility.db", { create: false }); - - console.log("Connected to student database."); connection.run("ATTACH DATABASE 'databases/data/students.db' AS students"); + console.log("Connected to databases."); + // Récupération des mobilités const mobilities = connection.prepare( `SELECT mobility.id, @@ -26,8 +26,20 @@ export const handler: Handlers = { LEFT JOIN students.students ON mobility.studentId = students.userId` ).all(); + // Récupération des promotions + const promotions = connection.prepare( + `SELECT id, name FROM students.promotions` + ).all(); + connection.close(); - return new Response(JSON.stringify({ mobilities }), { status: 200, headers: { "Content-Type": "application/json" } }); + + return new Response( + JSON.stringify({ mobilities, promotions }), + { + status: 200, + headers: { "Content-Type": "application/json" }, + }, + ); } catch (error) { console.error("Error fetching mobility data:", error); return new Response("Failed to fetch data", { status: 500 });