trainingpeaks-sdk
Version:
TypeScript SDK for TrainingPeaks API integration
75 lines • 1.95 kB
TypeScript
import { Logger } from '../../adapters/index.js';
import { SessionStorage, TrainingPeaksRepository } from '../../application/index.js';
import type { WorkoutListItem } from '../../domain/index.js';
export type WorkoutEntrypointDependencies = {
tpRepository: TrainingPeaksRepository;
sessionStorage: SessionStorage;
logger: Logger;
};
export type GetWorkoutResponse = {
id: string;
name: string;
description: string;
date: string;
duration: number;
distance?: number;
activityType?: string;
tags?: readonly string[];
};
export type GetWorkoutsListCommand = {
athleteId?: string;
startDate: string;
endDate: string;
};
export type GetWorkoutsListResponse = readonly WorkoutListItem[];
export type GetWorkoutsResponse = {
workouts: readonly {
id: string;
name: string;
description: string;
date: string;
duration: number;
distance?: number;
activityType?: string;
tags?: readonly string[];
}[];
pagination?: {
page: number;
limit: number;
total: number;
};
};
export type CreateWorkoutCommand = {
name: string;
description: string;
date: string;
duration: number;
distance?: number;
activityType?: string;
tags?: readonly string[];
fileContent?: string;
fileName?: string;
};
export type CreateWorkoutResponse = {
id: string;
name: string;
description: string;
date: string;
duration: number;
distance?: number;
activityType?: string;
tags?: readonly string[];
};
export type UpdateWorkoutCommand = {
id: string;
name?: string;
description?: string;
date?: string;
duration?: number;
distance?: number;
activityType?: string;
tags?: readonly string[];
};
export type UpdateWorkoutResponse = CreateWorkoutResponse;
export type DeleteWorkoutResponse = void;
//# sourceMappingURL=types.d.ts.map