@gooin/garmin-connect 1.6.5 → 1.6.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/README.md +243 -49
  2. package/dist/common/HttpClient.d.ts +1 -0
  3. package/dist/common/HttpClient.js +271 -421
  4. package/dist/common/HttpClient.js.map +1 -1
  5. package/dist/garmin/GarminConnect copy.d.ts +76 -0
  6. package/dist/garmin/GarminConnect copy.js +397 -0
  7. package/dist/garmin/GarminConnect copy.js.map +1 -0
  8. package/dist/garmin/GarminConnect.d.ts +35 -5
  9. package/dist/garmin/GarminConnect.js +404 -322
  10. package/dist/garmin/GarminConnect.js.map +1 -1
  11. package/dist/garmin/GarminConnect_new.d.ts +76 -0
  12. package/dist/garmin/GarminConnect_new.js +397 -0
  13. package/dist/garmin/GarminConnect_new.js.map +1 -0
  14. package/dist/garmin/GarminConnect_old.d.ts +75 -0
  15. package/dist/garmin/GarminConnect_old.js +386 -0
  16. package/dist/garmin/GarminConnect_old.js.map +1 -0
  17. package/dist/garmin/UrlClass.d.ts +16 -1
  18. package/dist/garmin/UrlClass.js +114 -139
  19. package/dist/garmin/UrlClass.js.map +1 -1
  20. package/dist/garmin/Urls copy.d.ts +66 -0
  21. package/dist/garmin/Urls copy.js +109 -0
  22. package/dist/garmin/Urls copy.js.map +1 -0
  23. package/dist/garmin/common/DateUtils.d.ts +6 -0
  24. package/dist/garmin/common/DateUtils.js +38 -0
  25. package/dist/garmin/common/DateUtils.js.map +1 -0
  26. package/dist/garmin/common/HydrationUtils.d.ts +2 -0
  27. package/dist/garmin/common/HydrationUtils.js +16 -0
  28. package/dist/garmin/common/HydrationUtils.js.map +1 -0
  29. package/dist/garmin/common/WeightUtils.d.ts +1 -0
  30. package/dist/garmin/common/WeightUtils.js +9 -0
  31. package/dist/garmin/common/WeightUtils.js.map +1 -0
  32. package/dist/garmin/types/activity.d.ts +408 -0
  33. package/dist/garmin/types/activity.js +27 -0
  34. package/dist/garmin/types/activity.js.map +1 -0
  35. package/dist/garmin/types/course.d.ts +146 -0
  36. package/dist/garmin/types/course.js +3 -0
  37. package/dist/garmin/types/course.js.map +1 -0
  38. package/dist/garmin/types/golf.d.ts +67 -0
  39. package/dist/garmin/types/golf.js +3 -0
  40. package/dist/garmin/types/golf.js.map +1 -0
  41. package/dist/garmin/types/heartrate.d.ts +22 -0
  42. package/dist/garmin/types/heartrate.js +2 -0
  43. package/dist/garmin/types/heartrate.js.map +1 -0
  44. package/dist/garmin/types/hydration.d.ts +28 -0
  45. package/dist/garmin/types/hydration.js +2 -0
  46. package/dist/garmin/types/hydration.js.map +1 -0
  47. package/dist/garmin/types/index.d.ts +541 -0
  48. package/dist/garmin/types/index.js +17 -0
  49. package/dist/garmin/types/index.js.map +1 -0
  50. package/dist/garmin/types/sleep.d.ts +120 -0
  51. package/dist/garmin/types/sleep.js +3 -0
  52. package/dist/garmin/types/sleep.js.map +1 -0
  53. package/dist/garmin/types/weight.d.ts +42 -0
  54. package/dist/garmin/types/weight.js +3 -0
  55. package/dist/garmin/types/weight.js.map +1 -0
  56. package/dist/garmin/types.d.ts +107 -0
  57. package/dist/garmin/workouts/Running.js +36 -53
  58. package/dist/garmin/workouts/Running.js.map +1 -1
  59. package/dist/utils.d.ts +3 -3
  60. package/dist/utils.js +27 -36
  61. package/dist/utils.js.map +1 -1
  62. package/examples/example.js +1 -1
  63. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"GarminConnect.js","sourceRoot":"","sources":["../../src/garmin/GarminConnect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gEAAoC;AAEpC,wDAAiC;AACjC,kDAAuB;AACvB,+BAAiC;AACjC,qCAAyB;AACzB,yCAA6B;AAC7B,mDAAkD;AAClD,kCAA0E;AAC1E,uCAAsC;AACtC,iCAgBiB;AACjB,+DAAyC;AAEzC,IAAI,MAAM,GAA8B,SAAS,CAAC;AAElD,IAAI;IACA,MAAM,GAAG,uBAAO,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnD;AAAC,OAAO,CAAC,EAAE;IACR,aAAa;CAChB;AAYD,IAAY,KAEX;AAFD,WAAY,KAAK;IACb,wCAA+B,CAAA;AACnC,CAAC,EAFW,KAAK,GAAL,aAAK,KAAL,aAAK,QAEhB;AAID;IAMI,yBAAyB;IACzB,uBACI,WAA+C,EAC/C,MAAmC;QADnC,4BAAA,EAAA,oBAA+C;QAC/C,uBAAA,EAAA,qBAAmC;QAEnC,IAAI,CAAC,WAAW,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;SAC1C;QACD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,GAAG,GAAG,IAAI,mBAAQ,CAAC,MAAM,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,uBAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACxB,CAAC;IAEK,6BAAK,GAAX,UAAY,QAAiB,EAAE,QAAiB;;;;;wBAC5C,IAAI,QAAQ,IAAI,QAAQ,EAAE;4BACtB,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;4BACrC,IAAI,CAAC,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;yBACxC;wBACD,qBAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CACnB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,QAAQ,CAC5B,EAAA;;wBAHD,SAGC,CAAC;wBACF,sBAAO,IAAI,EAAC;;;;KACf;IACD,yCAAiB,GAAjB,UAAkB,OAAe;QAC7B,IAAI,CAAC,IAAA,wBAAgB,EAAC,OAAO,CAAC,EAAE;YAC5B,IAAA,uBAAe,EAAC,OAAO,CAAC,CAAC;SAC5B;QACD,sBAAsB;QACtB,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YACzB,IAAA,mBAAW,EACP,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,EACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAC1C,CAAC;SACL;QACD,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YACzB,IAAA,mBAAW,EACP,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,EACvC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAC1C,CAAC;SACL;IACL,CAAC;IACD,uCAAe,GAAf,UAAgB,OAAe;QAC3B,IAAI,CAAC,IAAA,wBAAgB,EAAC,OAAO,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,wCAAwC,GAAG,OAAO,CAAC,CAAC;SACvE;QACD,IAAI,UAAU,GAAG,EAAE,CAAC,YAAY,CAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CACrB,CAAC;QACvB,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;QAEjC,IAAI,UAAU,GAAG,EAAE,CAAC,YAAY,CAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CACrB,CAAC;QACvB,IAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;IACrC,CAAC;IACD,mCAAW,GAAX;QACI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YACtD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;SACnD;QACD,OAAO;YACH,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;YAC/B,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;SAClC,CAAC;IACN,CAAC;IACD,8BAA8B;IAC9B,iCAAS,GAAT,UAAU,MAAoB,EAAE,MAAoB;QAChD,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;IACrC,CAAC;IAEK,uCAAe,GAArB;;;gBACI,sBAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAgB,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,EAAC;;;KACjE;IAEK,sCAAc,GAApB;;;gBACI,sBAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAiB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAC;;;KACjE;IAEK,qCAAa,GAAnB,UAAoB,KAAa,EAAE,KAAa;;;gBAC5C,sBAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAc,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE;wBACrD,MAAM,EAAE,EAAE,KAAK,OAAA,EAAE,KAAK,OAAA,EAAE;qBAC3B,CAAC,EAAC;;;KACN;IACK,mCAAW,GAAjB,UAAkB,QAEjB;;;gBACG,IAAI,CAAC,QAAQ,CAAC,UAAU;oBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBAChE,sBAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAClB,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAC1C,EAAC;;;KACL;IACK,uCAAe,GAArB;;;gBACI,sBAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAmB,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE;wBAC/D,MAAM,EAAE;4BACJ,WAAW,EAAE,UAAU;4BACvB,SAAS,EAAE,YAAY;4BACvB,OAAO,EAAE,gBAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;4BAC9C,MAAM,EAAE,UAAU;yBACrB;qBACJ,CAAC,EAAC;;;KACN;IAEK,oDAA4B,GAAlC,UACI,QAAsC,EACtC,GAAW,EACX,IAAiC;QAAjC,qBAAA,EAAA,YAAiC;;;;;;wBAEjC,IAAI,CAAC,QAAQ,CAAC,UAAU;4BAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;wBAChE,IAAI,CAAC,IAAA,wBAAgB,EAAC,GAAG,CAAC,EAAE;4BACxB,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC;yBACxB;6BAEG,CAAA,IAAI,KAAK,KAAK,CAAA,EAAd,wBAAc;wBACD,qBAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAC9B,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC,UAAU,CAC9C,EAAA;;wBAFD,UAAU,GAAG,SAEZ,CAAC;;;6BACK,CAAA,IAAI,KAAK,KAAK,CAAA,EAAd,wBAAc;wBACR,qBAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAC9B,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC,UAAU,CAC9C,EAAA;;wBAFD,UAAU,GAAG,SAEZ,CAAC;;;6BACK,CAAA,IAAI,KAAK,KAAK,CAAA,EAAd,wBAAc;wBACR,qBAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAC9B,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC,UAAU,CAC9C,EAAA;;wBAFD,UAAU,GAAG,SAEZ,CAAC;;;6BACK,CAAA,IAAI,KAAK,KAAK,CAAA,EAAd,wBAAc;wBACR,qBAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAC9B,IAAI,CAAC,GAAG,CAAC,YAAY,GAAG,QAAQ,CAAC,UAAU,EAC3C;gCACI,YAAY,EAAE,aAAa;6BAC9B,CACJ,EAAA;;wBALD,UAAU,GAAG,SAKZ,CAAC;;4BAEF,MAAM,IAAI,KAAK,CACX,+CAA+C,GAAG,IAAI,CACzD,CAAC;;wBAEN,IAAA,mBAAW,EACP,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAG,QAAQ,CAAC,UAAU,cAAI,IAAI,CAAE,CAAC,EAChD,UAAU,CACb,CAAC;;;;;KACL;IAEK,sCAAc,GAApB,UACI,IAAY,EACZ,MAAuC;;QAAvC,uBAAA,EAAA,cAAuC;;;;;;wBAEjC,cAAc,GAAG,MAAA,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,0CAAE,WAAW,EAAE,CAAC;wBACrE,IAAI,CAAC,gBAAC,CAAC,QAAQ,CAAC,sBAAc,EAAE,cAAc,CAAC,EAAE;4BAC7C,MAAM,IAAI,KAAK,CAAC,mCAAmC,GAAG,MAAM,CAAC,CAAC;yBACjE;wBAEK,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;wBACvC,IAAI,GAAG,IAAI,mBAAQ,EAAE,CAAC;wBAC5B,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;wBACnB,qBAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACnC,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,GAAG,GAAG,MAAM,EAC9B,IAAI,EACJ;gCACI,OAAO,EAAE;oCACL,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,cAAc,CAAC;iCACpD;6BACJ,CACJ,EAAA;;wBARK,QAAQ,GAAG,SAQhB;wBACD,sBAAO,QAAQ,EAAC;;;;KACnB;IAEK,sCAAc,GAApB,UAAqB,QAEpB;;;;;wBACG,IAAI,CAAC,QAAQ,CAAC,UAAU;4BAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;wBAChE,qBAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,EAAA;;wBAAvE,SAAuE,CAAC;;;;;KAC3E;IAEK,mCAAW,GAAjB,UAAkB,KAAa,EAAE,KAAa;;;gBAC1C,sBAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAa,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;wBAClD,MAAM,EAAE;4BACJ,KAAK,OAAA;4BACL,KAAK,OAAA;yBACR;qBACJ,CAAC,EAAC;;;KACN;IACK,wCAAgB,GAAtB,UAAuB,OAEtB;;;gBACG,IAAI,CAAC,OAAO,CAAC,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBAC7D,sBAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAClB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CACtC,EAAC;;;KACL;IAEK,kCAAU,GAAhB,UACI,OAAiC;;;;gBAEjC,IAAI,CAAC,OAAO;oBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAEjD,IAAI,OAAO,YAAY,iBAAO,EAAE;oBAC5B,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;wBACb,IAAI,gBAAQ,OAAO,CAAC,MAAM,EAAE,CAAE,CAAC;wBACrC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;4BACnB,IAAI,CAAC,WAAW,GAAG,qCAAqC,CAAC;yBAC5D;wBACD,sBAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CACnB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAClB,IAAI,CACP,EAAC;qBACL;iBACJ;gBAEK,UAAU,GAAG,gBAAC,CAAC,IAAI,CAAC,OAAO,EAAE;oBAC/B,WAAW;oBACX,SAAS;oBACT,aAAa;oBACb,aAAa;oBACb,QAAQ;iBACX,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE;oBACzB,UAAU,CAAC,WAAW,GAAG,qCAAqC,CAAC;iBAClE;gBACD,sDAAsD;gBACtD,sBAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAiB,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,UAAU,CAAC,EAAC;;;KAC3E;IAEK,yCAAiB,GAAvB,UACI,IAAY,EACZ,MAAc,EACd,WAAmB;;;;gBAEb,OAAO,GAAG,IAAI,iBAAO,EAAE,CAAC;gBAC9B,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBACpB,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;gBAC1B,OAAO,CAAC,WAAW,GAAG,WAAW,CAAC;gBAClC,sBAAO,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAC;;;KACnC;IAEK,qCAAa,GAAnB,UAAoB,OAA8B;;;gBAC9C,IAAI,CAAC,OAAO,CAAC,SAAS;oBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAC3D,sBAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAC;;;KAClE;IACL,oBAAC;AAAD,CAAC,AAzPD,IAyPC"}
1
+ {"version":3,"file":"GarminConnect.js","sourceRoot":"","sources":["../../src/garmin/GarminConnect.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ import { HttpClient } from '../common/HttpClient';
2
+ import { ExportFileTypeValue, GarminDomain, ICalendar, ICountActivities, IGarminTokens, IOauth1Token, IOauth2Token, IScheduleWorkout, ISocialProfile, IUserSettings, IWorkout, IWorkoutDetail, UploadFileTypeTypeValue } from './types';
3
+ import Running from './workouts/Running';
4
+ import { SleepData } from './types/sleep';
5
+ import { ActivitySubType, ActivityType, GCActivityId, IActivity } from './types/activity';
6
+ export type EventCallback<T> = (data: T) => void;
7
+ export interface GCCredentials {
8
+ username: string;
9
+ password: string;
10
+ }
11
+ export interface Listeners {
12
+ [event: string]: EventCallback<any>[];
13
+ }
14
+ export declare enum Event {
15
+ sessionChange = "sessionChange"
16
+ }
17
+ export interface Session {
18
+ }
19
+ export default class GarminConnect {
20
+ client: HttpClient;
21
+ private _userHash;
22
+ private credentials;
23
+ private listeners;
24
+ private url;
25
+ constructor(credentials: GCCredentials, domain?: GarminDomain);
26
+ login(username?: string, password?: string): Promise<GarminConnect>;
27
+ exportTokenToFile(dirPath: string): Promise<void>;
28
+ loadTokenByFile(dirPath: string): Promise<void>;
29
+ exportToken(): IGarminTokens;
30
+ loadToken(oauth1: IOauth1Token, oauth2: IOauth2Token): void;
31
+ getUserSettings(): Promise<IUserSettings>;
32
+ getUserProfile(): Promise<ISocialProfile>;
33
+ getActivities(start?: number, limit?: number, activityType?: ActivityType, subActivityType?: ActivitySubType): Promise<IActivity[]>;
34
+ getActivity(activity: {
35
+ activityId: GCActivityId;
36
+ }): Promise<IActivity>;
37
+ countActivities(): Promise<ICountActivities>;
38
+ downloadWellnessData(date: Date, dir: string): Promise<void>;
39
+ downloadOriginalActivityData(activity: {
40
+ activityId: GCActivityId;
41
+ }, dir: string, type?: ExportFileTypeValue): Promise<void>;
42
+ uploadActivity(file: string, format?: UploadFileTypeTypeValue): Promise<unknown>;
43
+ deleteActivity(activity: {
44
+ activityId: GCActivityId;
45
+ }): Promise<void>;
46
+ getWorkouts(start: number, limit: number): Promise<IWorkout[]>;
47
+ getWorkoutDetail(workout: {
48
+ workoutId: string;
49
+ }): Promise<IWorkoutDetail>;
50
+ addWorkout(workout: IWorkoutDetail | Running): Promise<IWorkoutDetail>;
51
+ addRunningWorkout(name: string, meters: number, description: string): Promise<IWorkoutDetail>;
52
+ deleteWorkout(workout: {
53
+ workoutId: string;
54
+ }): Promise<unknown>;
55
+ scheduleWorkout(workout: {
56
+ workoutId: string;
57
+ }, date?: Date): Promise<IScheduleWorkout>;
58
+ getCalendar(year?: number, month?: number): Promise<ICalendar>;
59
+ getSteps(date?: Date): Promise<number>;
60
+ getSleepData(date?: Date): Promise<SleepData>;
61
+ getSleepDuration(date?: Date): Promise<{
62
+ hours: number;
63
+ minutes: number;
64
+ }>;
65
+ getDailyWeightData(date?: Date): Promise<WeightData>;
66
+ getDailyWeightInPounds(date?: Date): Promise<number>;
67
+ getDailyHydration(date?: Date): Promise<number>;
68
+ updateWeight(date: Date | undefined, lbs: number, timezone: string): Promise<UpdateWeight>;
69
+ updateHydrationLogOunces(date: Date | undefined, valueInOz: number): Promise<WaterIntake>;
70
+ getGolfSummary(): Promise<GolfSummary>;
71
+ getGolfScorecard(scorecardId: number): Promise<GolfScorecard>;
72
+ getHeartRate(date?: Date): Promise<HeartRate>;
73
+ get<T>(url: string, data?: any): Promise<T>;
74
+ post<T>(url: string, data: any): Promise<T>;
75
+ put<T>(url: string, data: any): Promise<T>;
76
+ }
@@ -0,0 +1,397 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Event = void 0;
7
+ const form_data_1 = __importDefault(require("form-data"));
8
+ const lodash_1 = __importDefault(require("lodash"));
9
+ const luxon_1 = require("luxon");
10
+ const node_fs_1 = require("node:fs");
11
+ const node_path_1 = __importDefault(require("node:path"));
12
+ const HttpClient_1 = require("../common/HttpClient");
13
+ const utils_1 = require("../utils");
14
+ const UrlClass_1 = require("./UrlClass");
15
+ const types_1 = require("./types");
16
+ const Running_1 = __importDefault(require("./workouts/Running"));
17
+ const DateUtils_1 = require("./common/DateUtils");
18
+ const WeightUtils_1 = require("./common/WeightUtils");
19
+ const HydrationUtils_1 = require("./common/HydrationUtils");
20
+ var Event;
21
+ (function (Event) {
22
+ Event["sessionChange"] = "sessionChange";
23
+ })(Event = exports.Event || (exports.Event = {}));
24
+ class GarminConnect {
25
+ // private oauth1: OAuth;
26
+ constructor(credentials, domain = 'garmin.com') {
27
+ if (!credentials) {
28
+ throw new Error('Missing credentials');
29
+ }
30
+ this.credentials = credentials;
31
+ this.url = new UrlClass_1.UrlClass(domain);
32
+ this.client = new HttpClient_1.HttpClient(this.url);
33
+ this._userHash = undefined;
34
+ this.listeners = {};
35
+ }
36
+ async login(username, password) {
37
+ if (username && password) {
38
+ this.credentials.username = username;
39
+ this.credentials.password = password;
40
+ }
41
+ await this.client.login(this.credentials.username, this.credentials.password);
42
+ return this;
43
+ }
44
+ async exportTokenToFile(dirPath) {
45
+ const isDir = await (0, utils_1.checkIsDirectory)(dirPath);
46
+ if (!isDir) {
47
+ await (0, utils_1.createDirectory)(dirPath);
48
+ }
49
+ // save oauth1 to json
50
+ if (this.client.oauth1Token) {
51
+ await (0, utils_1.writeToFile)(node_path_1.default.join(dirPath, 'oauth1_token.json'), JSON.stringify(this.client.oauth1Token));
52
+ }
53
+ if (this.client.oauth2Token) {
54
+ await (0, utils_1.writeToFile)(node_path_1.default.join(dirPath, 'oauth2_token.json'), JSON.stringify(this.client.oauth2Token));
55
+ }
56
+ }
57
+ async loadTokenByFile(dirPath) {
58
+ const isDir = await (0, utils_1.checkIsDirectory)(dirPath);
59
+ if (!isDir) {
60
+ throw new Error('loadTokenByFile: Directory not found: ' + dirPath);
61
+ }
62
+ let oauth1Data = await node_fs_1.promises.readFile(node_path_1.default.join(dirPath, 'oauth1_token.json'), 'utf-8');
63
+ // console.log('loadTokenByFile - oauth1Data:', oauth1Data);
64
+ const oauth1 = JSON.parse(oauth1Data);
65
+ // console.log('loadTokenByFile - oauth1:', oauth1);
66
+ this.client.oauth1Token = oauth1;
67
+ let oauth2Data = await node_fs_1.promises.readFile(node_path_1.default.join(dirPath, 'oauth2_token.json'), 'utf-8');
68
+ // console.log('loadTokenByFile - oauth2Data:', oauth2Data);
69
+ const oauth2 = JSON.parse(oauth2Data);
70
+ // console.log('loadTokenByFile - oauth2:', oauth2);
71
+ this.client.oauth2Token = oauth2;
72
+ // console.log('loadTokenByFile - oauth2Token:', this);
73
+ // console.log('loadTokenByFile - oauth2Token:', this.client.oauth2Token);
74
+ }
75
+ exportToken() {
76
+ if (!this.client.oauth1Token || !this.client.oauth2Token) {
77
+ throw new Error('exportToken: Token not found');
78
+ }
79
+ return {
80
+ oauth1: this.client.oauth1Token,
81
+ oauth2: this.client.oauth2Token
82
+ };
83
+ }
84
+ // from db or localstorage etc
85
+ loadToken(oauth1, oauth2) {
86
+ this.client.oauth1Token = oauth1;
87
+ this.client.oauth2Token = oauth2;
88
+ }
89
+ async getUserSettings() {
90
+ return this.client.get(this.url.USER_SETTINGS);
91
+ }
92
+ async getUserProfile() {
93
+ return this.client.get(this.url.USER_PROFILE);
94
+ }
95
+ async getActivities(start, limit, activityType, subActivityType) {
96
+ return this.client.get(this.url.ACTIVITIES, {
97
+ params: { start, limit, activityType, subActivityType }
98
+ });
99
+ }
100
+ async getActivity(activity) {
101
+ if (!activity.activityId)
102
+ throw new Error('Missing activityId');
103
+ return this.client.get(this.url.ACTIVITY + activity.activityId);
104
+ }
105
+ async countActivities() {
106
+ return this.client.get(this.url.STAT_ACTIVITIES, {
107
+ params: {
108
+ aggregation: 'lifetime',
109
+ startDate: '1970-01-01',
110
+ endDate: luxon_1.DateTime.now().toFormat('yyyy-MM-dd'),
111
+ metric: 'duration'
112
+ }
113
+ });
114
+ }
115
+ async downloadWellnessData(date, dir) {
116
+ const dateStr = (0, DateUtils_1.toDateString)(date);
117
+ console.log('downloadWellnessData - dateStr:', dateStr);
118
+ const isDir = await (0, utils_1.checkIsDirectory)(dir);
119
+ if (!isDir) {
120
+ await (0, utils_1.createDirectory)(dir);
121
+ }
122
+ let fileBuffer = await this.client.get(this.url.DOWNLOAD_WELLNESS + dateStr, {
123
+ responseType: 'arraybuffer'
124
+ });
125
+ await (0, utils_1.writeToFile)(node_path_1.default.join(dir, `${dateStr}.zip`), fileBuffer);
126
+ }
127
+ async downloadOriginalActivityData(activity, dir, type = 'zip') {
128
+ if (!activity.activityId)
129
+ throw new Error('Missing activityId');
130
+ const isDir = await (0, utils_1.checkIsDirectory)(dir);
131
+ if (!isDir) {
132
+ await (0, utils_1.createDirectory)(dir);
133
+ }
134
+ let fileBuffer;
135
+ if (type === 'tcx') {
136
+ fileBuffer = await this.client.get(this.url.DOWNLOAD_TCX + activity.activityId);
137
+ }
138
+ else if (type === 'gpx') {
139
+ fileBuffer = await this.client.get(this.url.DOWNLOAD_GPX + activity.activityId);
140
+ }
141
+ else if (type === 'kml') {
142
+ fileBuffer = await this.client.get(this.url.DOWNLOAD_KML + activity.activityId);
143
+ }
144
+ else if (type === 'zip') {
145
+ fileBuffer = await this.client.get(this.url.DOWNLOAD_ZIP + activity.activityId, {
146
+ responseType: 'arraybuffer'
147
+ });
148
+ }
149
+ else {
150
+ throw new Error('downloadOriginalActivityData - Invalid type: ' + type);
151
+ }
152
+ await (0, utils_1.writeToFile)(node_path_1.default.join(dir, `${activity.activityId}.${type}`), fileBuffer);
153
+ }
154
+ async uploadActivity(file, format = 'fit') {
155
+ var _a;
156
+ const detectedFormat = (_a = (format || node_path_1.default.extname(file))) === null || _a === void 0 ? void 0 : _a.toLowerCase();
157
+ if (!lodash_1.default.includes(types_1.UploadFileType, detectedFormat)) {
158
+ throw new Error('uploadActivity - Invalid format: ' + format);
159
+ }
160
+ // const fh = await fs.open(file);
161
+ const fileBuffer = (0, node_fs_1.createReadStream)(file);
162
+ // console.log('fileBuffer:', fileBuffer);
163
+ const form = new form_data_1.default();
164
+ form.append('userfile', fileBuffer);
165
+ const response = await this.client.post(this.url.UPLOAD + '.' + format, form, {
166
+ headers: {
167
+ 'Content-Type': form.getHeaders()['content-type']
168
+ }
169
+ });
170
+ return response;
171
+ }
172
+ async deleteActivity(activity) {
173
+ if (!activity.activityId)
174
+ throw new Error('Missing activityId');
175
+ await this.client.delete(this.url.ACTIVITY + activity.activityId);
176
+ }
177
+ async getWorkouts(start, limit) {
178
+ return this.client.get(this.url.WORKOUTS, {
179
+ params: {
180
+ start,
181
+ limit
182
+ }
183
+ });
184
+ }
185
+ async getWorkoutDetail(workout) {
186
+ if (!workout.workoutId)
187
+ throw new Error('Missing workoutId');
188
+ return this.client.get(this.url.WORKOUT(workout.workoutId));
189
+ }
190
+ async addWorkout(workout) {
191
+ if (!workout)
192
+ throw new Error('Missing workout');
193
+ if (workout instanceof Running_1.default) {
194
+ if (workout.isValid()) {
195
+ const data = { ...workout.toJson() };
196
+ if (!data.description) {
197
+ data.description = 'Added by garmin-connect for Node.js';
198
+ }
199
+ return this.client.post(this.url.WORKOUT(), data);
200
+ }
201
+ }
202
+ if (!workout.workoutSegments)
203
+ throw new Error('Missing workoutSegments, please use WorkoutDetail, not Workout.');
204
+ const newWorkout = lodash_1.default.omit(workout, [
205
+ 'workoutId',
206
+ 'ownerId',
207
+ 'updatedDate',
208
+ 'createdDate',
209
+ 'author'
210
+ ]);
211
+ if (!newWorkout.description) {
212
+ newWorkout.description = 'Added by garmin-connect for Node.js';
213
+ }
214
+ // console.log('addWorkout - newWorkout:', newWorkout)
215
+ return this.client.post(this.url.WORKOUT(), newWorkout);
216
+ }
217
+ async addRunningWorkout(name, meters, description) {
218
+ const running = new Running_1.default();
219
+ running.name = name;
220
+ running.distance = meters;
221
+ running.description = description;
222
+ return this.addWorkout(running);
223
+ }
224
+ async deleteWorkout(workout) {
225
+ if (!workout.workoutId)
226
+ throw new Error('Missing workout');
227
+ return this.client.delete(this.url.WORKOUT(workout.workoutId));
228
+ }
229
+ async scheduleWorkout(workout, date = new Date()) {
230
+ if (!workout.workoutId)
231
+ throw new Error('Missing workoutId');
232
+ const formatedDate = luxon_1.DateTime.fromJSDate(date).toFormat('yyyy-MM-dd');
233
+ return this.client.post(`${this.url.SCHEDULE_WORKOUTS}${workout.workoutId}`, {
234
+ date: formatedDate
235
+ });
236
+ }
237
+ // Garmin use month 0-11, not real month.
238
+ async getCalendar(year = new Date().getFullYear(), month = new Date().getMonth()) {
239
+ return this.client.get(this.url.CALENDAR(year, month));
240
+ }
241
+ async getSteps(date = new Date()) {
242
+ const dateString = (0, DateUtils_1.toDateString)(date);
243
+ const days = await this.client.get(`${this.url.DAILY_STEPS}${dateString}/${dateString}`);
244
+ const dayStats = days.find(({ calendarDate }) => calendarDate === dateString);
245
+ if (!dayStats) {
246
+ throw new Error("Can't find daily steps for this date.");
247
+ }
248
+ return dayStats.totalSteps;
249
+ }
250
+ async getSleepData(date = new Date()) {
251
+ try {
252
+ const dateString = (0, DateUtils_1.toDateString)(date);
253
+ const sleepData = await this.client.get(`${this.url.DAILY_SLEEP}`, { params: { date: dateString } });
254
+ if (!sleepData) {
255
+ throw new Error('Invalid or empty sleep data response.');
256
+ }
257
+ return sleepData;
258
+ }
259
+ catch (error) {
260
+ throw new Error(`Error in getSleepData: ${error.message}`);
261
+ }
262
+ }
263
+ async getSleepDuration(date = new Date()) {
264
+ try {
265
+ const sleepData = await this.getSleepData(date);
266
+ if (!sleepData ||
267
+ !sleepData.dailySleepDTO ||
268
+ sleepData.dailySleepDTO.sleepStartTimestampGMT === undefined ||
269
+ sleepData.dailySleepDTO.sleepEndTimestampGMT === undefined) {
270
+ throw new Error('Invalid or missing sleep data for the specified date.');
271
+ }
272
+ const sleepStartTimestampGMT = sleepData.dailySleepDTO.sleepStartTimestampGMT;
273
+ const sleepEndTimestampGMT = sleepData.dailySleepDTO.sleepEndTimestampGMT;
274
+ const { hours, minutes } = (0, DateUtils_1.calculateTimeDifference)(sleepStartTimestampGMT, sleepEndTimestampGMT);
275
+ return {
276
+ hours,
277
+ minutes
278
+ };
279
+ }
280
+ catch (error) {
281
+ throw new Error(`Error in getSleepDuration: ${error.message}`);
282
+ }
283
+ }
284
+ async getDailyWeightData(date = new Date()) {
285
+ try {
286
+ const dateString = (0, DateUtils_1.toDateString)(date);
287
+ const weightData = await this.client.get(`${this.url.DAILY_WEIGHT}/${dateString}`);
288
+ if (!weightData) {
289
+ throw new Error('Invalid or empty weight data response.');
290
+ }
291
+ return weightData;
292
+ }
293
+ catch (error) {
294
+ throw new Error(`Error in getDailyWeightData: ${error.message}`);
295
+ }
296
+ }
297
+ async getDailyWeightInPounds(date = new Date()) {
298
+ const weightData = await this.getDailyWeightData(date);
299
+ if (weightData.totalAverage &&
300
+ typeof weightData.totalAverage.weight === 'number') {
301
+ return (0, WeightUtils_1.gramsToPounds)(weightData.totalAverage.weight);
302
+ }
303
+ else {
304
+ throw new Error("Can't find valid daily weight for this date.");
305
+ }
306
+ }
307
+ async getDailyHydration(date = new Date()) {
308
+ try {
309
+ const dateString = (0, DateUtils_1.toDateString)(date);
310
+ const hydrationData = await this.client.get(`${this.url.DAILY_HYDRATION}/${dateString}`);
311
+ if (!hydrationData || !hydrationData.valueInML) {
312
+ throw new Error('Invalid or empty hydration data response.');
313
+ }
314
+ return (0, HydrationUtils_1.convertMLToOunces)(hydrationData.valueInML);
315
+ }
316
+ catch (error) {
317
+ throw new Error(`Error in getDailyHydration: ${error.message}`);
318
+ }
319
+ }
320
+ async updateWeight(date = new Date(), lbs, timezone) {
321
+ try {
322
+ const weightData = await this.client.post(`${this.url.UPDATE_WEIGHT}`, {
323
+ dateTimestamp: (0, DateUtils_1.getLocalTimestamp)(date, timezone),
324
+ gmtTimestamp: date.toISOString().substring(0, 23),
325
+ unitKey: 'lbs',
326
+ value: lbs
327
+ });
328
+ return weightData;
329
+ }
330
+ catch (error) {
331
+ throw new Error(`Error in updateWeight: ${error.message}`);
332
+ }
333
+ }
334
+ async updateHydrationLogOunces(date = new Date(), valueInOz) {
335
+ try {
336
+ const dateString = (0, DateUtils_1.toDateString)(date);
337
+ const hydrationData = await this.client.put(`${this.url.HYDRATION_LOG}`, {
338
+ calendarDate: dateString,
339
+ valueInML: (0, HydrationUtils_1.convertOuncesToML)(valueInOz),
340
+ userProfileId: (await this.getUserProfile()).profileId,
341
+ timestampLocal: date.toISOString().substring(0, 23)
342
+ });
343
+ return hydrationData;
344
+ }
345
+ catch (error) {
346
+ throw new Error(`Error in updateHydrationLogOunces: ${error.message}`);
347
+ }
348
+ }
349
+ async getGolfSummary() {
350
+ try {
351
+ const golfSummary = await this.client.get(`${this.url.GOLF_SCORECARD_SUMMARY}`);
352
+ if (!golfSummary) {
353
+ throw new Error('Invalid or empty golf summary data response.');
354
+ }
355
+ return golfSummary;
356
+ }
357
+ catch (error) {
358
+ throw new Error(`Error in getGolfSummary: ${error.message}`);
359
+ }
360
+ }
361
+ async getGolfScorecard(scorecardId) {
362
+ try {
363
+ const golfScorecard = await this.client.get(`${this.url.GOLF_SCORECARD_DETAIL}`, { params: { 'scorecard-ids': scorecardId } });
364
+ if (!golfScorecard) {
365
+ throw new Error('Invalid or empty golf scorecard data response.');
366
+ }
367
+ return golfScorecard;
368
+ }
369
+ catch (error) {
370
+ throw new Error(`Error in getGolfScorecard: ${error.message}`);
371
+ }
372
+ }
373
+ async getHeartRate(date = new Date()) {
374
+ try {
375
+ const dateString = (0, DateUtils_1.toDateString)(date);
376
+ const heartRate = await this.client.get(`${this.url.DAILY_HEART_RATE}`, { params: { date: dateString } });
377
+ return heartRate;
378
+ }
379
+ catch (error) {
380
+ throw new Error(`Error in getHeartRate: ${error.message}`);
381
+ }
382
+ }
383
+ async get(url, data) {
384
+ const response = await this.client.get(url, data);
385
+ return response;
386
+ }
387
+ async post(url, data) {
388
+ const response = await this.client.post(url, data, {});
389
+ return response;
390
+ }
391
+ async put(url, data) {
392
+ const response = await this.client.put(url, data, {});
393
+ return response;
394
+ }
395
+ }
396
+ exports.default = GarminConnect;
397
+ //# sourceMappingURL=GarminConnect_new.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GarminConnect_new.js","sourceRoot":"","sources":["../../src/garmin/GarminConnect_new.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import { HttpClient } from '../common/HttpClient';
2
+ import { ExportFileTypeValue, GarminDomain, ICalendar, ICountActivities, IGarminTokens, IOauth1Token, IOauth2Token, IScheduleWorkout, ISocialProfile, IUserSettings, IWorkout, IWorkoutDetail, UploadFileTypeTypeValue } from './types';
3
+ import Running from './workouts/Running';
4
+ import { SleepData } from './types/sleep';
5
+ import { ActivitySubType, ActivityType, GCActivityId, IActivity } from './types/activity';
6
+ export type EventCallback<T> = (data: T) => void;
7
+ export interface GCCredentials {
8
+ username: string;
9
+ password: string;
10
+ }
11
+ export interface Listeners {
12
+ [event: string]: EventCallback<any>[];
13
+ }
14
+ export declare enum Event {
15
+ sessionChange = "sessionChange"
16
+ }
17
+ export interface Session {
18
+ }
19
+ export default class GarminConnect {
20
+ client: HttpClient;
21
+ private _userHash;
22
+ private credentials;
23
+ private listeners;
24
+ private url;
25
+ constructor(credentials?: GCCredentials | undefined, domain?: GarminDomain);
26
+ login(username?: string, password?: string): Promise<GarminConnect>;
27
+ exportTokenToFile(dirPath: string): void;
28
+ loadTokenByFile(dirPath: string): void;
29
+ exportToken(): IGarminTokens;
30
+ loadToken(oauth1: IOauth1Token, oauth2: IOauth2Token): void;
31
+ getUserSettings(): Promise<IUserSettings>;
32
+ getUserProfile(): Promise<ISocialProfile>;
33
+ getActivities(start?: number, limit?: number, activityType?: ActivityType, subActivityType?: ActivitySubType): Promise<IActivity[]>;
34
+ getActivity(activity: {
35
+ activityId: GCActivityId;
36
+ }): Promise<IActivity>;
37
+ countActivities(): Promise<ICountActivities>;
38
+ downloadOriginalActivityData(activity: {
39
+ activityId: GCActivityId;
40
+ }, dir: string, type?: ExportFileTypeValue): Promise<void>;
41
+ uploadActivity(file: string, format?: UploadFileTypeTypeValue): Promise<unknown>;
42
+ deleteActivity(activity: {
43
+ activityId: GCActivityId;
44
+ }): Promise<void>;
45
+ getWorkouts(start: number, limit: number): Promise<IWorkout[]>;
46
+ getWorkoutDetail(workout: {
47
+ workoutId: string;
48
+ }): Promise<IWorkoutDetail>;
49
+ addWorkout(workout: IWorkoutDetail | Running): Promise<IWorkoutDetail>;
50
+ addRunningWorkout(name: string, meters: number, description: string): Promise<IWorkoutDetail>;
51
+ deleteWorkout(workout: {
52
+ workoutId: string;
53
+ }): Promise<unknown>;
54
+ scheduleWorkout(workout: {
55
+ workoutId: string;
56
+ }, date?: Date): Promise<IScheduleWorkout>;
57
+ getCalendar(year?: number, month?: number): Promise<ICalendar>;
58
+ getSteps(date?: Date): Promise<number>;
59
+ getSleepData(date?: Date): Promise<SleepData>;
60
+ getSleepDuration(date?: Date): Promise<{
61
+ hours: number;
62
+ minutes: number;
63
+ }>;
64
+ getDailyWeightData(date?: Date): Promise<WeightData>;
65
+ getDailyWeightInPounds(date?: Date): Promise<number>;
66
+ getDailyHydration(date?: Date): Promise<number>;
67
+ updateWeight(date: Date | undefined, lbs: number, timezone: string): Promise<UpdateWeight>;
68
+ updateHydrationLogOunces(date: Date | undefined, valueInOz: number): Promise<WaterIntake>;
69
+ getGolfSummary(): Promise<GolfSummary>;
70
+ getGolfScorecard(scorecardId: number): Promise<GolfScorecard>;
71
+ getHeartRate(date?: Date): Promise<HeartRate>;
72
+ get<T>(url: string, data?: any): Promise<T>;
73
+ post<T>(url: string, data: any): Promise<T>;
74
+ put<T>(url: string, data: any): Promise<T>;
75
+ }