mirror of
https://git.coastit.co.za/caitlin/CRM_ENVR.git
synced 2026-07-15 05:27:07 +02:00
d35c806d5b
- Added comprehensive comments and JSDoc-style documentation to NotificationProvider, ThemeProvider, UserProvider, and WebsiteThemeProvider for better clarity and maintainability. - Improved type definitions in index.ts for better code understanding and usage. - Introduced Docker support with Dockerfiles for various services including AI server, signaling server, and browser-use service. - Created a docker-compose.yml file to orchestrate multiple services including PostgreSQL, AI, scraper, and frontend. - Added a startup guide (startup.txt) for setting up the CRM environment on Ubuntu with Docker. - Included a .dockerignore file to exclude unnecessary files from Docker builds.
28 lines
1.2 KiB
TypeScript
28 lines
1.2 KiB
TypeScript
// ── Auth: Logout ─────────────────────────────────────────────────────────────
|
|
// POST /api/auth/logout
|
|
// Clears the session cookie by setting Max-Age=0, effectively logging the
|
|
// user out. Stateless — no server-side session invalidation needed.
|
|
|
|
import { SESSION_COOKIE } from "@/lib/auth"
|
|
|
|
// ── POST ─────────────────────────────────────────────────────────────────────
|
|
|
|
export async function POST() {
|
|
try {
|
|
// Overwrite cookie with an immediate expiry (Max-Age=0)
|
|
return new Response(JSON.stringify({ success: true }), {
|
|
status: 200,
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
"Set-Cookie": `${SESSION_COOKIE}=; HttpOnly; SameSite=Strict; Path=/; Max-Age=0${process.env.NODE_ENV === "production" ? "; Secure" : ""}`,
|
|
},
|
|
})
|
|
} catch (error) {
|
|
console.error("Logout error:", error)
|
|
return new Response(
|
|
JSON.stringify({ error: "Logout failed." }),
|
|
{ status: 500, headers: { "Content-Type": "application/json" } }
|
|
)
|
|
}
|
|
}
|