spb/groupe-ka Public
Groupe KA — site du holding + KA ID (compte unique & SSO des 7 plateformes). Next.js 16, SQLite, Google & Apple login.
TypeScript 89.7%
CSS 5.8%
HTML 4.4%
1// Auteur : Simon-Pierre Boucher — contact@spboucher.ai2// Favoris du membre connecté (pour la page /compte du hub).3// GET → { favorites: [...] } POST { action:"remove", app, item_id }4import { NextRequest, NextResponse } from "next/server";5import { getSessionUser } from "@/lib/auth";6import { favoritesOf, removeFavorite } from "@/lib/db";78export async function GET() {9 const user = await getSessionUser();10 if (!user)11 return NextResponse.json({ error: "Non connecté." }, { status: 401 });12 return NextResponse.json({ favorites: favoritesOf(user.id) });13}1415export async function POST(req: NextRequest) {16 const user = await getSessionUser();17 if (!user)18 return NextResponse.json({ error: "Non connecté." }, { status: 401 });19 const body = (await req.json().catch(() => ({}))) as {20 action?: string;21 app?: string;22 item_id?: string;23 };24 if (body.action !== "remove" || !body.app || !body.item_id)25 return NextResponse.json({ error: "Requête invalide." }, { status: 400 });26 removeFavorite(user.id, body.app, body.item_id);27 return NextResponse.json({ ok: true });28}29