Files
triggerdotdev--trigger.dev/apps/webapp/app/services/onboardingSession.server.ts
Chris Arderne c7861be520 chore: activate no-unused-vars and import linters (#4096)
Once this is merged, oxlint is at a pretty sensible baseline.

**Enable `no-unused-vars`, `typescript/consistent-type-imports`, and
`import/no-duplicates` lint rules**

Turns on three previously-disabled oxlint rules across the monorepo and
fixes all violations:

- **`no-unused-vars`** – enabled as an error with standard ignore
patterns: unused function arguments are ignored by default (`args:
"none"`), variables/caught errors/destructured array elements prefixed
with `_` are allowed, and rest siblings are permitted.
- **`typescript/consistent-type-imports`** – enforced as an error; all
type-only imports now use the `import type` syntax.
- **`import/no-duplicates`** – enforced as an error; duplicate import
statements from the same module have been merged.

The remaining commits clean up the violations found across the codebase:
removing unused variables/imports/type aliases, adding `_` prefixes to
intentionally unused bindings, fixing duplicate imports, and converting
value imports to `import type` where appropriate.
2026-07-02 11:37:05 +01:00

50 lines
1.5 KiB
TypeScript

import type { Session } from "@remix-run/node";
import { createCookieSessionStorage } from "@remix-run/node";
import { env } from "~/env.server";
export const onboardingSessionStorage = createCookieSessionStorage({
cookie: {
name: "__onboarding", // use any name you want here
sameSite: "lax", // this helps with CSRF
path: "/", // remember to add this so the cookie will work in all routes
httpOnly: true, // for security reasons, make this cookie http only
secrets: [env.SESSION_SECRET],
secure: env.NODE_ENV === "production", // enable this in prod only
maxAge: 60 * 60 * 24, // 1 day
},
});
export function getOnboardingSession(request: Request) {
return onboardingSessionStorage.getSession(request.headers.get("Cookie"));
}
export function commitOnboardingSession(session: Session) {
return onboardingSessionStorage.commitSession(session);
}
export async function getWorkflowDate(request: Request) {
const session = await getOnboardingSession(request);
const rawWorkflowDate = session.get("workflowDate");
if (rawWorkflowDate) {
return new Date(rawWorkflowDate);
}
}
export async function setWorkflowDate(date: Date, request: Request) {
const session = await getOnboardingSession(request);
session.set("workflowDate", date.toISOString());
return session;
}
export async function clearWorkflowDate(request: Request) {
const session = await getOnboardingSession(request);
session.unset("workflowDate");
return session;
}