refactor: integrate Better-Auth for authentication and remove Supabase dependencies

This commit is contained in:
Jose Selesan
2026-04-16 20:30:01 -03:00
parent f158845279
commit e5002ce440
29 changed files with 165 additions and 211 deletions

View File

@@ -1,27 +1,18 @@
import { createMiddleware } from "hono/factory";
import { auth } from "@/lib/auth";
import type { Session, User } from "@/lib/auth";
import { auth } from '@/lib/auth';
import type { AppEnv } from '@/types/hono';
import { createMiddleware } from 'hono/factory';
export type AuthEnv = {
Variables: {
user: User;
session: Session;
};
};
export const requireAuth = createMiddleware<AuthEnv>(async (c, next) => {
export const requireAuth = createMiddleware<AppEnv>(async (c, next) => {
const session = await auth.api.getSession({
headers: c.req.raw.headers,
});
console.log(session)
if (!session) {
return c.json({ message: "Unauthorized" }, 401);
return c.json({ message: 'Unauthorized' }, 401);
}
c.set("user", session.user);
c.set("session", session.session);
c.set('user', session.user);
c.set('session', session.session);
await next();
});

View File

@@ -11,9 +11,9 @@ function getSuperAdminEmails(): Set<string> {
}
export const requireSuperAdmin: MiddlewareHandler<AppEnv> = async (c, next) => {
const authUser = c.get('authUser');
const role = typeof authUser.app_metadata?.role === 'string' ? authUser.app_metadata.role : null;
const email = authUser.email?.toLowerCase();
const user = c.get('user');
const role = (user as any).role || 'member';
const email = user.email.toLowerCase();
if (role === 'super_admin') {
await next();