(c: Context)
| 20 | |
| 21 | /** 从 cookie 中拿到当前用户完整记录(未登录返回 null) */ |
| 22 | export async function currentUser(c: Context): Promise<UserRow | null> { |
| 23 | if (!await userAuth(c)) return null; |
| 24 | const mail = local.getCookie(c, "mail"); |
| 25 | if (!mail) return null; |
| 26 | try { |
| 27 | const dao = await ensureDao(c.env as any); |
| 28 | return await dao.getUser(mail); |
| 29 | } catch (e) { |
| 30 | console.error("[currentUser] DAO error:", e); |
| 31 | return null; |
| 32 | } |
| 33 | } |
| 34 | |
| 35 | /** |
| 36 | * 管理员守卫:登录 + is_admin=1。 |
no test coverage detected