trainingpeaks-sdk
Version:
TypeScript SDK for TrainingPeaks API integration
28 lines (27 loc) • 960 B
JavaScript
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'),
});