import { z } from "zod"; import { controllerProcedure, protectedProcedure } from "../trpc.js"; import { TimelineWindowFiltersSchema, } from "./timeline-read-shared.js"; import { readMyTimelineEntriesView, readTimelineEntries, readTimelineEntriesDetail, readTimelineEntriesView, } from "./timeline-entry-procedure-support.js"; export const timelineEntryReadProcedures = { getEntries: controllerProcedure .input(TimelineWindowFiltersSchema) .query(({ ctx, input }) => readTimelineEntries(ctx.db, input)), getEntriesView: controllerProcedure .input(TimelineWindowFiltersSchema) .query(({ ctx, input }) => readTimelineEntriesView(ctx.db, input)), getMyEntriesView: protectedProcedure .input(TimelineWindowFiltersSchema) .query(({ ctx, input }) => readMyTimelineEntriesView(ctx, input)), getEntriesDetail: controllerProcedure .input( z.object({ startDate: z.string().optional(), endDate: z.string().optional(), durationDays: z.number().int().min(1).max(366).optional(), resourceIds: z.array(z.string()).optional(), projectIds: z.array(z.string()).optional(), clientIds: z.array(z.string()).optional(), chapters: z.array(z.string()).optional(), eids: z.array(z.string()).optional(), countryCodes: z.array(z.string()).optional(), }), ) .query(({ ctx, input }) => readTimelineEntriesDetail(ctx.db, input)), };