Fixing bugs

This commit is contained in:
Clayzxr
2025-01-24 16:23:47 +01:00
parent a867f67fd9
commit 575f0df4bc
2 changed files with 25 additions and 6 deletions
@@ -19,7 +19,7 @@ interface Mobility {
} }
export default function ConsultMobility() { 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<string | null>(null); const [error, setError] = useState<string | null>(null);
useEffect(() => { useEffect(() => {
@@ -45,11 +45,18 @@ export default function ConsultMobility() {
fetchData(); fetchData();
}, []); }, []);
if (error) {
return <p className="error">{error}</p>;
}
if (!data?.promotions) {
return <p>No promotions found.</p>;
}
return ( return (
<section> <section>
<h2>Consult Mobility</h2> <h2>Consult Mobility</h2>
{error && <p className="error">{error}</p>} {data.promotions.map((promo) => (
{data?.promotions.map((promo) => (
<div key={promo.id}> <div key={promo.id}>
<h3>Promotion: {promo.name}</h3> <h3>Promotion: {promo.name}</h3>
<table> <table>
+15 -3
View File
@@ -6,10 +6,10 @@ export const handler: Handlers = {
try { try {
console.log("Connecting to mobility database..."); console.log("Connecting to mobility database...");
const connection = new Database("databases/data/mobility.db", { create: false }); 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"); 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( const mobilities = connection.prepare(
`SELECT `SELECT
mobility.id, mobility.id,
@@ -26,8 +26,20 @@ export const handler: Handlers = {
LEFT JOIN students.students ON mobility.studentId = students.userId` LEFT JOIN students.students ON mobility.studentId = students.userId`
).all(); ).all();
// Récupération des promotions
const promotions = connection.prepare(
`SELECT id, name FROM students.promotions`
).all();
connection.close(); 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) { } catch (error) {
console.error("Error fetching mobility data:", error); console.error("Error fetching mobility data:", error);
return new Response("Failed to fetch data", { status: 500 }); return new Response("Failed to fetch data", { status: 500 });