import { Elysia } from "elysia";
import { elysiaAdapter } from "inertia-server/elysia";
import { createHelper } from "./inertia";
import { sessionStore } from "./session";
const app = new Elysia()
.derive((ctx) => ({
sessionId: sessionStore.getSessionId(ctx.request),
}))
.use(
elysiaAdapter(createHelper, (ctx) => ({
getAll: () => sessionStore.getFlash(ctx.sessionId),
set: (data) => {
sessionStore.setFlash(ctx.sessionId, data);
},
})),
)
.onAfterHandle((ctx) => {
ctx.set.headers["Set-Cookie"] = sessionStore.createCookieHeader(
ctx.sessionId,
);
});