import { Hono } from "hono"; import { Auth, getHeaderToken } from "../../../lib/token.js"; import pool from "../../../lib/database.js"; import type { RowDataPacket } from "mysql2"; const Users = new Hono(); Users.post("/", async (c) => { const body = await c.req.json(); if (!Auth(getHeaderToken(c.req.header("Authorization") ?? ""), ["read:user"])) { return c.json({ success: false, error: "auth_failed", }); } let page = 1; if ( typeof body.page === "string" && !isNaN(Number(body.page)) && Number(body.page) >= 1 ) { page = Number(body.page); } const [usersData] = await pool.execute( "SELECT * FROM users" ); let result = []; for (let i = usersData.length - 1; i < 0; i--) { result.push({ username: usersData[i].id, name: usersData[i].name, isAdmin: usersData[i].isAdmin === 1 ? true: false, createAt: usersData[i].time, }); } return c.json({ success: true, users: result, }); }); export default Users;