UNPKG

trainingpeaks-sdk

Version:
33 lines (32 loc) 1.22 kB
import { handleRepositoryError, } from '../../adapters/errors/http-errors.js'; import { generateWorkoutListUrl } from './constants/api-urls.js'; import { getWorkoutsList } from './endpoints/index.js'; const createGetWorkoutsList = (deps) => { return async (params) => { try { deps.logger.info('Getting workouts list', { params }); const apiResponse = await getWorkoutsList(deps.httpClient, { athleteId: params.athleteId, startDate: params.startDate, endDate: params.endDate, }); deps.logger.info('Workouts list retrieved successfully', { count: apiResponse.length, }); return apiResponse; } catch (error) { const errorContext = { url: generateWorkoutListUrl(params.athleteId, params.startDate, params.endDate), method: 'GET', }; handleRepositoryError(error, 'get workouts list', errorContext, deps.logger, params); throw error; } }; }; export const createWorkoutRepository = (deps) => { return { getWorkoutsList: createGetWorkoutsList(deps), }; };