fea: 启动时自动根据环境变量添加管理员
This commit is contained in:
1 parent
d8880e98ea
commit
d6b753e405
2 files changed
+14
-1
No files matched your search
+2
-1
@@ -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(
|
||||
|
||||
@@ -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})`
|
||||
}
|
||||
Reference in new issue
Block a user