import { err, ok, type ReadonlyDB } from "@tailor-platform/erp-kit/core"; import type { DB } from "../generated/kysely-tailordb"; import { HolidayCalendarNotFoundError } from "../lib/errors.generated"; export interface GetHolidayCalendarInput { id: string; } /** * Function: getHolidayCalendar * Description: Retrieves a single HolidayCalendar by its surrogate id, * returning its stable key and display name. */ export async function run(db: ReadonlyDB, input: GetHolidayCalendarInput) { const holidayCalendar = await db .selectFrom("HolidayCalendar") .selectAll() .where("id", "=", input.id) .executeTakeFirst(); if (!holidayCalendar) { return err(new HolidayCalendarNotFoundError(input.id)); } return ok({ holidayCalendar }); }