fea: 启动时自动根据环境变量添加管理员

This commit is contained in:
cancerai committed 2026-10-12 11:28:34 +08:00
1 parent d8880e98ea
commit d6b753e405
2 files changed
+14 -1

No files matched your search

+2 -1
View File
@@ -1,7 +1,7 @@
import { sql, SQL } from "bun";
import { Hono } from "hono";
import { validator } from "hono/validator";
import { checkAdmin } from "./utils/admin";
import { checkAdmin, initAdmin } from "./utils/admin";
import { addUser, checkUser, getAllUser } from "./utils/user";
import { responseStr } from "./const/response_str";
import { checkEnv } from "./utils/env";
@@ -17,6 +17,7 @@ const db = new SQL({
"database": Bun.env.DB_NAME ?? "user_auth",
"allowPublicKeyRetrieval": true
})
await initAdmin(db)
// 鉴权
app.get(
+12
View File
@@ -14,4 +14,16 @@ export async function checkAdmin(
return false
}
return await Bun.password.verify(passwd, rows[0]!["passwd"])
}
export async function initAdmin(db: SQL) {
const admin_name = Bun.env.admin_name ?? ""
const admin_passwd = Bun.env.admin_passwd ?? ""
// 判断有没有管理员
const adminRows = await db`select * from admin`
if (adminRows.length != 0) {
return
}
const encryptPasswd = await Bun.password.hash(admin_passwd)
await db`insert into admin(name, passwd) values(${admin_name}, ${encryptPasswd})`
}