import validateInactivity from "./validate.js"; export async function onRequestPost(context: RequestContext) { const { departments, end, reason, start } = context.data.body; const validationFailureResponse = validateInactivity( departments, end, reason, start, context.data.departments, ); if (validationFailureResponse) return validationFailureResponse; const inactivityId = context.data.current_user.id + (context.request.headers.get("cf-ray") as string).split("-")[0] + Date.now().toString(); await context.env.DATA.put( `inactivity_${inactivityId}`, JSON.stringify({ created_at: Date.now(), departments, end, reason, start, user: { id: context.data.current_user.id, username: context.data.current_user.username, }, }), { expirationTtl: 63072000, }, ); await context.env.D1.prepare( "INSERT INTO inactivity_notices (created_at, id, user) VALUES (?, ?, ?);", ) .bind(Date.now(), inactivityId, context.data.current_user.id) .run(); return new Response(null, { status: 204, }); }