trainingpeaks-sdk
Version:
TypeScript SDK for TrainingPeaks API integration
37 lines (36 loc) • 1.42 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createWorkoutRepository = void 0;
const http_errors_1 = require("../../adapters/errors/http-errors.js");
const api_urls_1 = require("./constants/api-urls.js");
const endpoints_1 = require("./endpoints/index.js");
const createGetWorkoutsList = (deps) => {
return async (params) => {
try {
deps.logger.info('Getting workouts list', { params });
const apiResponse = await (0, endpoints_1.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: (0, api_urls_1.generateWorkoutListUrl)(params.athleteId, params.startDate, params.endDate),
method: 'GET',
};
(0, http_errors_1.handleRepositoryError)(error, 'get workouts list', errorContext, deps.logger, params);
throw error;
}
};
};
const createWorkoutRepository = (deps) => {
return {
getWorkoutsList: createGetWorkoutsList(deps),
};
};
exports.createWorkoutRepository = createWorkoutRepository;