mirror of
https://github.com/hex248/sprint.git
synced 2026-02-08 02:33:01 +00:00
backend routes with zod schemas
This commit is contained in:
@@ -1,17 +1,18 @@
|
||||
import { calculateBreakTimeMs, calculateWorkTimeMs } from "@issue/shared";
|
||||
import { calculateBreakTimeMs, calculateWorkTimeMs, TimerGetQuerySchema } from "@issue/shared";
|
||||
import type { AuthedRequest } from "../../auth/middleware";
|
||||
import { getInactiveTimedSessions } from "../../db/queries";
|
||||
import { parseQueryParams } from "../../validation";
|
||||
|
||||
// GET /timer?issueId=123
|
||||
export default async function timerGetInactive(req: AuthedRequest) {
|
||||
const url = new URL(req.url);
|
||||
const issueId = url.searchParams.get("issueId");
|
||||
if (!issueId || Number.isNaN(Number(issueId))) {
|
||||
return new Response("missing issue id", { status: 400 });
|
||||
}
|
||||
const sessions = await getInactiveTimedSessions(Number(issueId));
|
||||
const parsed = parseQueryParams(url, TimerGetQuerySchema);
|
||||
if ("error" in parsed) return parsed.error;
|
||||
|
||||
if (!sessions[0] || !sessions) {
|
||||
const { issueId } = parsed.data;
|
||||
|
||||
const sessions = await getInactiveTimedSessions(issueId);
|
||||
|
||||
if (!sessions || sessions.length === 0) {
|
||||
return Response.json(null);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user