feat : fix a lot of stuff
This commit is contained in:
@@ -6,31 +6,52 @@ import {
|
||||
getPartialsConfig,
|
||||
makePartials,
|
||||
} from "$root/defaults/makePartials.tsx";
|
||||
import { State } from "$root/defaults/interfaces.ts";
|
||||
import { CasContent, State } from "$root/defaults/interfaces.ts";
|
||||
import NotesView from "../(_islands)/NotesView.tsx";
|
||||
|
||||
async function Notes(
|
||||
_request: Request,
|
||||
context: FreshContext<State>,
|
||||
) {
|
||||
const session =
|
||||
(context.state as unknown as { session: { sn: string; givenName: string } })
|
||||
.session;
|
||||
const { sn, givenName } = session;
|
||||
const session = (context.state as unknown as { session: CasContent }).session;
|
||||
|
||||
let numEtud: number | null = null;
|
||||
try {
|
||||
const student = await db
|
||||
.select()
|
||||
.from(students)
|
||||
.where(and(eq(students.nom, sn), eq(students.prenom, givenName)))
|
||||
.then((rows) => rows[0] ?? null);
|
||||
numEtud = student?.numEtud ?? null;
|
||||
if (session.eduPersonPrimaryAffiliation === "student") {
|
||||
// Students: uid is "<letter>21212006" in AMU CAS — strip non-digit prefix
|
||||
const etudId = parseInt(session.uid.replace(/^\D+/, ""), 10);
|
||||
if (!isNaN(etudId)) {
|
||||
const student = await db
|
||||
.select()
|
||||
.from(students)
|
||||
.where(eq(students.numEtud, etudId))
|
||||
.then((rows) => rows[0] ?? null);
|
||||
numEtud = student?.numEtud ?? null;
|
||||
}
|
||||
} else {
|
||||
// Employees: look up by nom/prenom
|
||||
const student = await db
|
||||
.select()
|
||||
.from(students)
|
||||
.where(
|
||||
and(
|
||||
eq(students.nom, session.sn),
|
||||
eq(students.prenom, session.givenName),
|
||||
),
|
||||
)
|
||||
.then((rows) => rows[0] ?? null);
|
||||
numEtud = student?.numEtud ?? null;
|
||||
}
|
||||
} catch {
|
||||
// DB lookup failed — island will show fallback message
|
||||
}
|
||||
|
||||
return <NotesView numEtud={numEtud} prenom={session.givenName} />;
|
||||
return (
|
||||
<NotesView
|
||||
numEtud={numEtud}
|
||||
prenom={session.givenName || session.displayName}
|
||||
/>
|
||||
);
|
||||
}
|
||||
|
||||
export const config = getPartialsConfig();
|
||||
|
||||
Reference in New Issue
Block a user