twifeur/api/login.ts
2024-05-29 06:09:50 +02:00

16 lines
760 B
TypeScript

import { Context } from "https://deno.land/x/hono@v4.3.10/mod.ts";
import { BlankInput } from "https://deno.land/x/hono@v4.3.10/types.ts";
import { FeurEnv } from "../main.ts";
import { login, set_user } from "../lib/auth.ts";
export async function login_route(context: Context<FeurEnv, string, BlankInput>) {
const data = await context.req.formData();
let username = data.get("login"), pass = data.get("password");
if (username === null || pass === null) return context.redirect("/login");
username = username.toString(), pass = pass.toString();
const logged = await login(username, pass);
if (logged === null) return context.redirect("/login");
console.log("Logged in", { username });
set_user(context, logged);
return context.redirect("/user");
}