export const MOCK_SESSION_COOKIE_NAME = "webdev_pipeline_mock_session"; export const MOCK_SESSION_COOKIE_VALUE = "mock-admin"; export type MockCookieStore = { get: (name: string) => { name: string; value: string } | undefined; }; export type MockSession = { name: string; email: string; }; export const MOCK_ADMIN_SESSION: MockSession = { name: "Matthias Meister", email: "matthias@webdev-pipeline.local", }; export function hasMockSession(cookieStore: MockCookieStore) { return ( cookieStore.get(MOCK_SESSION_COOKIE_NAME)?.value === MOCK_SESSION_COOKIE_VALUE ); } export function getMockSession(cookieStore: MockCookieStore) { return hasMockSession(cookieStore) ? MOCK_ADMIN_SESSION : null; } export function createMockSessionCookie() { return { name: MOCK_SESSION_COOKIE_NAME, value: MOCK_SESSION_COOKIE_VALUE, httpOnly: true, sameSite: "lax" as const, secure: true, path: "/", maxAge: 60 * 60 * 24 * 7, }; } export function createClearedMockSessionCookie() { return { name: MOCK_SESSION_COOKIE_NAME, value: "", path: "/", maxAge: 0, }; }