trainingpeaks-sdk
Version:
TypeScript SDK for TrainingPeaks API integration
20 lines (19 loc) • 1.02 kB
JavaScript
import { createHttpError } from '../../../../../../adapters/errors/http-errors.js';
import { generateWorkoutListUrl } from '../../../../../../adapters/public-api/constants/api-urls.js';
import { GetWorkoutsListApiResponseSchema } from './workouts.schemas.js';
export const getWorkoutsList = async (httpClient, params) => {
const { athleteId, startDate, endDate } = params;
const url = generateWorkoutListUrl(athleteId, startDate, endDate);
const response = await httpClient.get(url);
if (!response.success || response.data == null) {
const errorResponse = {
status: response.error?.status || 500,
statusText: response.error?.statusText || 'Internal Server Error',
data: response.error?.data || {
message: 'Failed to fetch workouts list: response data is null or undefined',
},
};
throw createHttpError(errorResponse, { url, method: 'GET' });
}
return GetWorkoutsListApiResponseSchema.parse(response.data);
};