UNPKG

garmin-api-handler

Version:
31 lines (30 loc) 1.5 kB
/// <reference types="node" /> import CookieApi from 'cookie-api-handler'; import { DateTime } from 'luxon'; import Activity from './models/Activity'; import { ApiActivityPoints, ApiDetailApiActivity, ApiGearResponse } from './types/api'; export interface ActivityFilters { endDate?: DateTime; limit?: number; startDate?: DateTime; } export default class GarminApi extends CookieApi<any> { protected session?: string; constructor(session?: string); setSession(session?: string): this; getSession(): string | undefined; login(email: string, password: string): Promise<string>; getActivity(id: number): Promise<Activity<number, ApiDetailApiActivity>>; getPoints(id: number): Promise<ApiActivityPoints>; getActivityGpx(id: number): Promise<string>; getActivityFile(id: number): Promise<Blob>; getActivities(filter: ActivityFilters): Promise<Activity[]>; logWeight(date: DateTime, kg: number): Promise<any>; upload(fileContent: string | Buffer, format: 'gpx' | 'fit'): Promise<number>; uploadGpx(gpx: string): Promise<number>; createActivity(activity: Activity<undefined, undefined>): Promise<Activity<number, any>>; updateActivity(activity: Activity<number>): Promise<Activity<number, any>>; protected activityUpdater(activity: Activity<number | undefined>): Promise<Activity<number>>; addGear(activityId: number, gear: string): Promise<ApiGearResponse>; getGears(activityId: number): Promise<ApiGearResponse[]>; }