Checkpoint: Connexion locale avec identifiant libre (non-email), compte adminItinova créé, page Login mise à jour avec champ Identifiant

This commit is contained in:
Manus
2026-03-22 13:23:16 -04:00
parent cd11059a89
commit d8d2ef14da
4 changed files with 77 additions and 14 deletions

View File

@@ -87,17 +87,17 @@ export const appRouter = router({
auth: router({
me: publicProcedure.query(opts => opts.ctx.user),
// Local login (email + password)
// Local login (username/email + password)
loginLocal: publicProcedure
.input(z.object({
email: z.string().email(),
password: z.string().min(6),
email: z.string().min(1),
password: z.string().min(1),
}))
.mutation(async ({ input, ctx }) => {
const result = await loginLocal(input.email, input.password);
if (!result) {
throw new TRPCError({ code: "UNAUTHORIZED", message: "Invalid email or password" });
throw new TRPCError({ code: "UNAUTHORIZED", message: "Identifiant ou mot de passe incorrect" });
}
// Set auth cookie
@@ -480,8 +480,8 @@ export const appRouter = router({
admin: router({
createUser: adminProcedure
.input(z.object({
email: z.string().email(),
password: z.string().min(6),
email: z.string().min(1),
password: z.string().min(1),
name: z.string(),
role: z.enum(["user", "admin"]),
}))