import { Context } from "hono"; import { Bindings, BlankEnv } from "hono/types"; import { ErrorResponse } from "src/schema"; import { createHandlers } from "src/utils.ts"; import { sqlCred } from "@core/db/dbNew"; import { DatabaseUserType } from "@core/db/schema"; export const getUserByLoginSessionHandler = createHandlers( async (c: Context) => { const id = c.req.param("id"); const users = await sqlCred` SELECT u.* FROM users u JOIN login_sessions ls ON u.id = ls.uid WHERE ls.id = ${id}; `; if (users.length === 0) { const response: ErrorResponse = { message: "Cannot find user", code: "ENTITY_NOT_FOUND", errors: [] }; return c.json(response, 404); } const user = users[0]; return c.json({ username: user.username, nickname: user.nickname, role: user.role }); } );