UNPKG

trainingpeaks-sdk

Version:
28 lines (27 loc) 960 B
import { z } from 'zod'; export const ApiWorkoutItemSchema = z.object({ workoutId: z.number(), athleteId: z.number(), title: z.string(), workoutTypeValueId: z.number(), code: z.string().nullable(), workoutDay: z.string().refine((val) => { const date = new Date(val); return !isNaN(date.getTime()); }, { message: 'workoutDay must be a valid date string (ISO datetime or YYYY-MM-DD format)', }), startTime: z.string().datetime().nullable(), startTimePlanned: z.string().datetime().nullable(), isItAnOr: z.boolean(), }); export const GetWorkoutsListApiResponseSchema = z.array(ApiWorkoutItemSchema); export const GetWorkoutsListParamsSchema = z.object({ athleteId: z.string(), startDate: z .string() .regex(/^\d{4}-\d{2}-\d{2}$/, 'Must be in YYYY-MM-DD format'), endDate: z .string() .regex(/^\d{4}-\d{2}-\d{2}$/, 'Must be in YYYY-MM-DD format'), });