Initial commit: WaMarket MVP
Marketplace inversée (Next.js 16 App Router + Supabase Cloud) : auth, schéma + RLS, publication de besoins avec upload d'images, feed avec filtres, offres, acceptation via RPC, messagerie temps réel, dashboards, et Dockerfile pour déploiement Coolify.
This commit is contained in:
+18
@@ -0,0 +1,18 @@
|
||||
import "server-only";
|
||||
import { cache } from "react";
|
||||
import { redirect } from "next/navigation";
|
||||
import { createClient } from "@/lib/supabase/server";
|
||||
|
||||
export const getCurrentUser = cache(async () => {
|
||||
const supabase = await createClient();
|
||||
const { data } = await supabase.auth.getClaims();
|
||||
const claims = data?.claims;
|
||||
if (!claims) return null;
|
||||
return { id: claims.sub as string, email: claims.email as string | undefined };
|
||||
});
|
||||
|
||||
export const verifySession = cache(async () => {
|
||||
const user = await getCurrentUser();
|
||||
if (!user) redirect("/auth/login");
|
||||
return user;
|
||||
});
|
||||
Reference in New Issue
Block a user