gts-x / src /lib /auth-helpers-server.ts
JAMES HAN
Initial commit — GTS Modern subtitle converter
dff41a8
Raw
History Blame Contribute Delete
728 Bytes
"use server";
import { auth, isPermission, Permission } from '@/lib/auth';
import { headers } from 'next/headers';
import { AnyPermission, checkSinglePermission } from './auth-helpers';
import { skipAuth, mockUser } from './auth-mock';
export async function getPermissions() {
if (skipAuth) {
return mockUser.permissions.filter(isPermission);
}
const session = await auth.api.getSession({
headers: await headers(),
});
if (!session) {
return null;
}
return session.user.permissions.filter(isPermission);
}
export async function hasPermission(permission: AnyPermission) {
const sessionPermissions = await getPermissions() ?? [];
return checkSinglePermission(sessionPermissions)(permission);
}