You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
578 B
18 lines
578 B
import type { H3Event } from "h3";
|
|
import type { getCurrentUser } from "#server/service/auth";
|
|
|
|
type CurrentUser = Exclude<Awaited<ReturnType<typeof getCurrentUser>>, null>;
|
|
|
|
/**
|
|
* 设置当前登录用户到 event.context
|
|
*/
|
|
export function setContextUser(event: H3Event, user: CurrentUser): void {
|
|
(event.context as Record<string, unknown>).user = user;
|
|
}
|
|
|
|
/**
|
|
* 从 event.context 获取当前登录用户
|
|
*/
|
|
export function getContextUser(event: H3Event): CurrentUser | undefined {
|
|
return (event.context as Record<string, unknown>).user as CurrentUser | undefined;
|
|
}
|
|
|