UNPKG

trainingpeaks-sdk

Version:
71 lines (70 loc) • 3.04 kB
import { config } from 'dotenv'; import { createTrainingPeaksSdk } from '../sdk/training-peaks-sdk.js'; config(); const main = async () => { try { const username = process.env.TRAININGPEAKS_TEST_USERNAME; const password = process.env.TRAININGPEAKS_TEST_PASSWORD; const athleteId = process.env.TRAININGPEAKS_TEST_ATHLETE_ID; if (!username || !password) { throw new Error('Missing credentials. Please set TRAININGPEAKS_TEST_USERNAME and TRAININGPEAKS_TEST_PASSWORD environment variables in your .env file or shell environment.'); } console.log('Using credentials for user:', username); if (athleteId) { console.log('Getting workouts for athlete ID:', athleteId); } else { console.log('Getting workouts for current user (athlete ID will be determined from session)'); } const sdk = createTrainingPeaksSdk({ debug: { enabled: true, level: 'debug', }, }); console.log('\nšŸ” Logging in to TrainingPeaks...'); await sdk.login({ username, password }); console.log('āœ… Login successful'); const startDate = '2025-01-01'; const endDate = '2025-12-31'; console.log(`\nšŸ“‹ Getting workouts from ${startDate} to ${endDate}...`); const workouts = await sdk.getWorkoutsList(athleteId ? { athleteId, startDate, endDate } : { startDate, endDate }); console.log('āœ… Workouts retrieved successfully'); console.log(`šŸ“Š Found ${workouts.length} workouts\n`); if (workouts.length > 0) { workouts.forEach((workout, index) => { console.log(`šŸ‹ļø Workout ${index + 1}:`); console.log(` ID: ${workout.workoutId}`); console.log(` Title: ${workout.title}`); console.log(` Date: ${workout.workoutDay}`); console.log(` Start Time: ${workout.startTime || 'Not specified'}`); console.log(` Planned Start: ${workout.startTimePlanned || 'Not specified'}`); console.log(` Type ID: ${workout.workoutTypeValueId}`); console.log(` Code: ${workout.code || 'No code'}`); console.log(` Is OR: ${workout.isItAnOr}`); console.log(''); }); } else { console.log('šŸ“­ No workouts found for the specified date range.'); } console.log('🚪 Logging out...'); await sdk.logout(); console.log('āœ… Logout successful'); console.log('\nšŸŽ‰ Example completed successfully!'); } catch (error) { if (error instanceof Error) { throw error; } else { const wrappedError = new Error(String(error)); wrappedError.cause = error; throw wrappedError; } } }; main().catch((error) => { console.error('šŸ’„ Unexpected error:', error); process.exit(1); });