Some checks failed
Deploy to Cloudflare Workers / deploy (push) Has been cancelled
18 lines
394 B
TypeScript
18 lines
394 B
TypeScript
import type { SupabaseClient, User } from "@supabase/supabase-js";
|
|
import { ApiError } from "./errors";
|
|
|
|
export async function requireUser(
|
|
supabase: SupabaseClient
|
|
): Promise<User> {
|
|
const {
|
|
data: { user },
|
|
error,
|
|
} = await supabase.auth.getUser();
|
|
|
|
if (error || !user) {
|
|
throw new ApiError(401, "Unauthorized — sign in required");
|
|
}
|
|
|
|
return user;
|
|
}
|