trainingpeaks-sdk
Version:
TypeScript SDK for TrainingPeaks API integration
47 lines (46 loc) • 1.7 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createTrainingPeaksSdk = void 0;
const adapters_1 = require("../adapters/index.js");
const http_1 = require("../adapters/http/index.js");
const public_api_1 = require("../adapters/public-api/index.js");
const config_1 = require("../config.js");
const entrypoints_1 = require("../entrypoints/index.js");
const createTrainingPeaksSdk = (config = {}) => {
const sdkConfig = (0, config_1.getSDKConfig)(config);
const logger = (0, adapters_1.createLogger)({
level: sdkConfig.debug.level,
enabled: sdkConfig.debug.enabled,
});
logger.info('TrainingPeaks SDK initialized', { config });
const sessionStorage = (0, adapters_1.createInMemorySessionStorage)();
const httpClient = (0, http_1.createHttpClient)({
enableCookies: true,
logger,
sessionStorage,
});
const authRepository = (0, public_api_1.createAuthRepository)({
httpClient,
sessionStorage,
logger,
});
const workoutRepository = (0, public_api_1.createWorkoutRepository)({
httpClient,
logger,
});
const tpRepository = (0, public_api_1.createTrainingPeaksRepository)({
authRepository,
workoutRepository,
});
return {
login: (0, entrypoints_1.loginEntrypoint)({ tpRepository, logger }),
logout: (0, entrypoints_1.logoutEntrypoint)({ tpRepository, logger }),
getWorkoutsList: (0, entrypoints_1.getWorkoutsListEntrypoint)({
tpRepository,
sessionStorage,
logger,
}),
logger,
};
};
exports.createTrainingPeaksSdk = createTrainingPeaksSdk;