@gooin/garmin-connect
Version:
Makes it simple to interface with Garmin Connect to get or set any data point
147 lines (146 loc) • 3.61 kB
TypeScript
export interface ICoursesForUser {
coursesForUser: ICourse[];
}
export interface ICourse {
courseId: number;
userProfileId: number;
displayName: string;
userGroupId: any;
geoRoutePk: any;
activityType: ActivityType;
courseName: string;
courseDescription: any;
createdDate: number;
updatedDate: number;
privacyRule: PrivacyRule;
distanceInMeters: number;
elevationGainInMeters: number;
elevationLossInMeters: number;
startLatitude: number;
startLongitude: number;
speedInMetersPerSecond: number;
sourceTypeId: number;
sourcePk: any;
elapsedSeconds: any;
coordinateSystem: string;
originalCoordinateSystem: string;
consumer?: string;
elevationSource: number;
hasShareableEvent: boolean;
hasPaceBand: boolean;
hasPowerGuide: boolean;
favorite: boolean;
hasTurnDetectionDisabled: boolean;
curatedCourseId: any;
createdDateFormatted: string;
updatedDateFormatted: string;
public: boolean;
activityTypeId: ActivityTypeId;
applicationName?: string;
companyName?: string;
companyWebsite?: string;
imageURL?: string;
}
export interface ActivityType {
typeId: number;
typeKey: string;
parentTypeId: number;
isHidden: boolean;
restricted: boolean;
trimmable: boolean;
}
export interface PrivacyRule {
typeId: number;
typeKey: string;
}
export interface ActivityTypeId {
typeId: number;
typeKey: string;
parentTypeId: number;
isHidden: boolean;
restricted: boolean;
trimmable: boolean;
}
export interface ICourseDetail {
courseId: number;
courseName: string;
description: string;
openStreetMap: boolean;
matchedToSegments: boolean;
userProfilePk: number;
userGroupPk: any;
rulePK: number;
firstName: string;
lastName: any;
displayName: string;
geoRoutePk: number;
sourceTypeId: number;
sourcePk: any;
distanceMeter: number;
elevationGainMeter: number;
elevationLossMeter: number;
startPoint: StartPoint;
geoPoints: GeoPoint[];
coursePoints: any;
boundingBox: BoundingBox;
hasShareableEvent: boolean;
hasTurnDetectionDisabled: boolean;
activityTypePk: number;
virtualPartnerId: number;
includeLaps: boolean;
elapsedSeconds: any;
speedMeterPerSecond: any;
createDate: string;
updateDate: string;
courseLines: CourseLine[];
coordinateSystem: string;
targetCoordinateSystem: string;
originalCoordinateSystem: string;
consumer: any;
elevationSource: number;
hasPaceBand: boolean;
hasPowerGuide: boolean;
favorite: boolean;
curatedCoursePk: any;
}
export interface StartPoint {
latitude: number;
longitude: number;
elevation: number;
distance: any;
timestamp: any;
}
export interface GeoPoint {
latitude: number;
longitude: number;
elevation: number;
distance: number;
timestamp: number;
}
export interface BoundingBox {
center: any;
lowerLeft: LowerLeft;
upperRight: UpperRight;
lowerLeftLatIsSet: boolean;
lowerLeftLongIsSet: boolean;
upperRightLatIsSet: boolean;
upperRightLongIsSet: boolean;
}
export interface LowerLeft {
latitude: number;
longitude: number;
}
export interface UpperRight {
latitude: number;
longitude: number;
}
export interface CourseLine {
courseId: number;
sortOrder: number;
numberOfPoints: number;
distanceInMeters: number;
bearing: number;
points: any;
coordinateSystem: any;
originalCoordinateSystem: any;
}