@nativesquare/soma 0.11.0 → 0.12.0
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.
- package/dist/client/garmin.d.ts +287 -0
- package/dist/client/garmin.d.ts.map +1 -0
- package/dist/client/garmin.js +345 -0
- package/dist/client/garmin.js.map +1 -0
- package/dist/client/index.d.ts +27 -391
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +33 -317
- package/dist/client/index.js.map +1 -1
- package/dist/client/strava.d.ts +92 -0
- package/dist/client/strava.d.ts.map +1 -0
- package/dist/client/strava.js +96 -0
- package/dist/client/strava.js.map +1 -0
- package/dist/client/types.d.ts +165 -0
- package/dist/client/types.d.ts.map +1 -1
- package/dist/component/_generated/component.d.ts +0 -7
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/garmin/public.d.ts +0 -10
- package/dist/component/garmin/public.d.ts.map +1 -1
- package/dist/component/garmin/public.js +0 -97
- package/dist/component/garmin/public.js.map +1 -1
- package/package.json +1 -1
- package/src/client/garmin.ts +487 -0
- package/src/client/index.ts +69 -665
- package/src/client/strava.ts +108 -0
- package/src/client/types.ts +215 -18
- package/src/component/_generated/component.ts +0 -13
- package/src/component/garmin/public.ts +1049 -1184
- package/src/component/garmin/webhooks.ts +857 -857
package/dist/client/index.js
CHANGED
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { httpActionGeneric, } from "convex/server";
|
|
2
|
+
import { SomaGarmin } from "./garmin.js";
|
|
3
|
+
import { SomaStrava } from "./strava.js";
|
|
4
|
+
export { SomaGarmin } from "./garmin.js";
|
|
5
|
+
export { SomaStrava } from "./strava.js";
|
|
2
6
|
// ─── Default OAuth Callback Paths ────────────────────────────────────────────
|
|
3
7
|
// Used by `registerRoutes` as defaults. Override per-provider in the opts.
|
|
4
8
|
export const STRAVA_CALLBACK_PATH = "/api/strava/callback";
|
|
@@ -11,7 +15,7 @@ export const GARMIN_WEBHOOK_BASE_PATH = "/api/garmin/webhook";
|
|
|
11
15
|
* and querying normalized health & fitness data.
|
|
12
16
|
*
|
|
13
17
|
* All capabilities are also accessible via direct component function calls:
|
|
14
|
-
* `ctx.
|
|
18
|
+
* `ctx.runQuery(components.soma.public.listActivities, { userId: "user_123" })`
|
|
15
19
|
*
|
|
16
20
|
* @example
|
|
17
21
|
* ```ts
|
|
@@ -20,35 +24,38 @@ export const GARMIN_WEBHOOK_BASE_PATH = "/api/garmin/webhook";
|
|
|
20
24
|
* import { components } from "./_generated/api";
|
|
21
25
|
*
|
|
22
26
|
* // Zero config if env vars are set in Convex dashboard:
|
|
23
|
-
* // STRAVA_CLIENT_ID, STRAVA_CLIENT_SECRET
|
|
27
|
+
* // STRAVA_CLIENT_ID, STRAVA_CLIENT_SECRET
|
|
28
|
+
* // GARMIN_CLIENT_ID, GARMIN_CLIENT_SECRET
|
|
24
29
|
* const soma = new Soma(components.soma);
|
|
25
30
|
*
|
|
26
|
-
* // Or with explicit
|
|
31
|
+
* // Or with explicit config:
|
|
27
32
|
* // const soma = new Soma(components.soma, {
|
|
28
33
|
* // strava: { clientId: "...", clientSecret: "..." },
|
|
34
|
+
* // garmin: { clientId: "...", clientSecret: "..." },
|
|
29
35
|
* // });
|
|
30
36
|
*
|
|
31
|
-
* // Connect a user to a provider:
|
|
32
|
-
* const connectionId = await soma.connect(ctx, {
|
|
33
|
-
* userId: "user_123",
|
|
34
|
-
* provider: "GARMIN",
|
|
35
|
-
* });
|
|
36
|
-
*
|
|
37
37
|
* // Start Strava OAuth (redirects user, callback handled by registerRoutes):
|
|
38
|
-
* const { authUrl } = await soma.
|
|
38
|
+
* const { authUrl } = await soma.strava.getAuthUrl(ctx, {
|
|
39
39
|
* userId: "user_123",
|
|
40
40
|
* redirectUri: "https://your-app.convex.site/api/strava/callback",
|
|
41
41
|
* });
|
|
42
|
+
*
|
|
43
|
+
* // Pull all Garmin data:
|
|
44
|
+
* await soma.garmin.pullAll(ctx, { userId: "user_123" });
|
|
42
45
|
* ```
|
|
43
46
|
*/
|
|
44
47
|
export class Soma {
|
|
45
48
|
component;
|
|
46
49
|
stravaConfig;
|
|
47
50
|
garminConfig;
|
|
51
|
+
garmin;
|
|
52
|
+
strava;
|
|
48
53
|
constructor(component, options) {
|
|
49
54
|
this.component = component;
|
|
50
55
|
this.stravaConfig = options?.strava ?? this.readStravaEnv();
|
|
51
56
|
this.garminConfig = options?.garmin ?? this.readGarminEnv();
|
|
57
|
+
this.garmin = new SomaGarmin(this.component, () => this.requireGarminConfig());
|
|
58
|
+
this.strava = new SomaStrava(this.component, () => this.requireStravaConfig());
|
|
52
59
|
}
|
|
53
60
|
/**
|
|
54
61
|
* Read Strava config from environment variables.
|
|
@@ -97,57 +104,6 @@ export class Soma {
|
|
|
97
104
|
}
|
|
98
105
|
return this.garminConfig;
|
|
99
106
|
}
|
|
100
|
-
// ─── Connect / Disconnect ───────────────────────────────────────────────────
|
|
101
|
-
/**
|
|
102
|
-
* Connect a user to a wearable provider.
|
|
103
|
-
*
|
|
104
|
-
* Creates the connection if it doesn't exist, or re-activates it if it was
|
|
105
|
-
* previously disconnected. Idempotent — calling twice is a no-op.
|
|
106
|
-
*
|
|
107
|
-
* Use this when the host app has completed the provider's auth flow and
|
|
108
|
-
* wants to register the connection in Soma.
|
|
109
|
-
*
|
|
110
|
-
* @param ctx - Mutation context from the host app
|
|
111
|
-
* @param args.userId - The host app's user identifier (Clerk ID, etc.)
|
|
112
|
-
* @param args.provider - The wearable provider name ("GARMIN", "FITBIT", "OURA", etc.)
|
|
113
|
-
* @returns The connection document ID
|
|
114
|
-
*
|
|
115
|
-
* @example
|
|
116
|
-
* ```ts
|
|
117
|
-
* // "Connect to Garmin" button handler
|
|
118
|
-
* const connectionId = await soma.connect(ctx, {
|
|
119
|
-
* userId: "user_123",
|
|
120
|
-
* provider: "GARMIN",
|
|
121
|
-
* });
|
|
122
|
-
* ```
|
|
123
|
-
*/
|
|
124
|
-
async connect(ctx, args) {
|
|
125
|
-
return await ctx.runMutation(this.component.public.connect, args);
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Disconnect a user from a wearable provider.
|
|
129
|
-
*
|
|
130
|
-
* Sets the connection to inactive. Does not delete any synced data,
|
|
131
|
-
* so re-connecting later preserves historical records.
|
|
132
|
-
*
|
|
133
|
-
* @param ctx - Mutation context from the host app
|
|
134
|
-
* @param args.userId - The host app's user identifier
|
|
135
|
-
* @param args.provider - The wearable provider name
|
|
136
|
-
*
|
|
137
|
-
* @throws Error if no connection exists for the given user–provider pair
|
|
138
|
-
*
|
|
139
|
-
* @example
|
|
140
|
-
* ```ts
|
|
141
|
-
* // "Disconnect Garmin" button handler
|
|
142
|
-
* await soma.disconnect(ctx, {
|
|
143
|
-
* userId: "user_123",
|
|
144
|
-
* provider: "GARMIN",
|
|
145
|
-
* });
|
|
146
|
-
* ```
|
|
147
|
-
*/
|
|
148
|
-
async disconnect(ctx, args) {
|
|
149
|
-
return await ctx.runMutation(this.component.public.disconnect, args);
|
|
150
|
-
}
|
|
151
107
|
// ─── Connection Queries ─────────────────────────────────────────────────────
|
|
152
108
|
/**
|
|
153
109
|
* Get a connection by its document ID.
|
|
@@ -571,253 +527,6 @@ export class Soma {
|
|
|
571
527
|
async getPlannedWorkout(ctx, args) {
|
|
572
528
|
return await ctx.runQuery(this.component.public.getPlannedWorkout, args);
|
|
573
529
|
}
|
|
574
|
-
// ─── Strava Integration ──────────────────────────────────────────────────────
|
|
575
|
-
// High-level methods that handle OAuth, token storage, and data syncing
|
|
576
|
-
// for Strava. Requires Strava credentials to be configured either via
|
|
577
|
-
// environment variables or the constructor.
|
|
578
|
-
/**
|
|
579
|
-
* Generate a Strava OAuth authorization URL.
|
|
580
|
-
*
|
|
581
|
-
* The state parameter is stored inside the component automatically,
|
|
582
|
-
* and the callback handler registered by `registerRoutes` will
|
|
583
|
-
* complete the flow without further host-app intervention.
|
|
584
|
-
*
|
|
585
|
-
* @param ctx - Action context from the host app
|
|
586
|
-
* @param opts.userId - The host app's user identifier
|
|
587
|
-
* @param opts.redirectUri - The URL Strava will redirect to after authorization
|
|
588
|
-
* @param opts.scope - Comma-separated Strava OAuth scopes (default: "read,activity:read_all,profile:read_all")
|
|
589
|
-
* @returns `{ authUrl, state }`
|
|
590
|
-
*
|
|
591
|
-
* @example
|
|
592
|
-
* ```ts
|
|
593
|
-
* const { authUrl } = await soma.getStravaAuthUrl(ctx, {
|
|
594
|
-
* userId: "user_123",
|
|
595
|
-
* redirectUri: "https://your-app.convex.site/api/strava/callback",
|
|
596
|
-
* });
|
|
597
|
-
* // Redirect user to authUrl — the callback is handled automatically
|
|
598
|
-
* ```
|
|
599
|
-
*/
|
|
600
|
-
async getStravaAuthUrl(ctx, opts) {
|
|
601
|
-
const config = this.requireStravaConfig();
|
|
602
|
-
return await ctx.runAction(this.component.strava.public.getStravaAuthUrl, {
|
|
603
|
-
clientId: config.clientId,
|
|
604
|
-
redirectUri: opts.redirectUri,
|
|
605
|
-
scope: opts.scope,
|
|
606
|
-
userId: opts.userId,
|
|
607
|
-
});
|
|
608
|
-
}
|
|
609
|
-
/**
|
|
610
|
-
* Sync activities from Strava for an already-connected user.
|
|
611
|
-
*
|
|
612
|
-
* Automatically refreshes the access token if expired. Fetches the
|
|
613
|
-
* athlete profile and activities, transforms them, and ingests into Soma.
|
|
614
|
-
*
|
|
615
|
-
* @param ctx - Action context from the host app
|
|
616
|
-
* @param args.userId - The host app's user identifier
|
|
617
|
-
* @param args.after - Only sync activities after this Unix epoch timestamp (for incremental sync)
|
|
618
|
-
* @returns `{ synced, errors }`
|
|
619
|
-
*
|
|
620
|
-
* @example
|
|
621
|
-
* ```ts
|
|
622
|
-
* export const syncStrava = action({
|
|
623
|
-
* args: { userId: v.string() },
|
|
624
|
-
* handler: async (ctx, { userId }) => {
|
|
625
|
-
* return await soma.syncStrava(ctx, { userId });
|
|
626
|
-
* },
|
|
627
|
-
* });
|
|
628
|
-
* ```
|
|
629
|
-
*/
|
|
630
|
-
async syncStrava(ctx, args) {
|
|
631
|
-
const config = this.requireStravaConfig();
|
|
632
|
-
return await ctx.runAction(this.component.strava.public.syncStrava, {
|
|
633
|
-
...args,
|
|
634
|
-
clientId: config.clientId,
|
|
635
|
-
clientSecret: config.clientSecret,
|
|
636
|
-
});
|
|
637
|
-
}
|
|
638
|
-
/**
|
|
639
|
-
* Disconnect a user from Strava.
|
|
640
|
-
*
|
|
641
|
-
* Revokes the token at Strava (best-effort), deletes stored tokens,
|
|
642
|
-
* and sets the connection to inactive.
|
|
643
|
-
*
|
|
644
|
-
* @param ctx - Action context from the host app
|
|
645
|
-
* @param args.userId - The host app's user identifier
|
|
646
|
-
*
|
|
647
|
-
* @example
|
|
648
|
-
* ```ts
|
|
649
|
-
* export const disconnectStrava = action({
|
|
650
|
-
* args: { userId: v.string() },
|
|
651
|
-
* handler: async (ctx, { userId }) => {
|
|
652
|
-
* await soma.disconnectStrava(ctx, { userId });
|
|
653
|
-
* },
|
|
654
|
-
* });
|
|
655
|
-
* ```
|
|
656
|
-
*/
|
|
657
|
-
async disconnectStrava(ctx, args) {
|
|
658
|
-
const config = this.requireStravaConfig();
|
|
659
|
-
return await ctx.runAction(this.component.strava.public.disconnectStrava, {
|
|
660
|
-
...args,
|
|
661
|
-
clientId: config.clientId,
|
|
662
|
-
clientSecret: config.clientSecret,
|
|
663
|
-
});
|
|
664
|
-
}
|
|
665
|
-
// ─── Garmin ──────────────────────────────────────────────────────
|
|
666
|
-
async getGarminAuthUrl(ctx, opts) {
|
|
667
|
-
const config = this.requireGarminConfig();
|
|
668
|
-
return await ctx.runAction(this.component.garmin.public.getGarminAuthUrl, {
|
|
669
|
-
clientId: config.clientId,
|
|
670
|
-
redirectUri: opts.redirectUri,
|
|
671
|
-
userId: opts.userId,
|
|
672
|
-
});
|
|
673
|
-
}
|
|
674
|
-
async disconnectGarmin(ctx, args) {
|
|
675
|
-
return await ctx.runAction(this.component.garmin.public.disconnectGarmin, args);
|
|
676
|
-
}
|
|
677
|
-
async pullGarminActivities(ctx, args) {
|
|
678
|
-
const config = this.requireGarminConfig();
|
|
679
|
-
return await ctx.runAction(this.component.garmin.public.pullActivities, {
|
|
680
|
-
...args,
|
|
681
|
-
clientId: config.clientId,
|
|
682
|
-
clientSecret: config.clientSecret,
|
|
683
|
-
});
|
|
684
|
-
}
|
|
685
|
-
async pullGarminDailies(ctx, args) {
|
|
686
|
-
const config = this.requireGarminConfig();
|
|
687
|
-
return await ctx.runAction(this.component.garmin.public.pullDailies, {
|
|
688
|
-
...args,
|
|
689
|
-
clientId: config.clientId,
|
|
690
|
-
clientSecret: config.clientSecret,
|
|
691
|
-
});
|
|
692
|
-
}
|
|
693
|
-
async pullGarminSleep(ctx, args) {
|
|
694
|
-
const config = this.requireGarminConfig();
|
|
695
|
-
return await ctx.runAction(this.component.garmin.public.pullSleep, {
|
|
696
|
-
...args,
|
|
697
|
-
clientId: config.clientId,
|
|
698
|
-
clientSecret: config.clientSecret,
|
|
699
|
-
});
|
|
700
|
-
}
|
|
701
|
-
async pullGarminBody(ctx, args) {
|
|
702
|
-
const config = this.requireGarminConfig();
|
|
703
|
-
return await ctx.runAction(this.component.garmin.public.pullBody, {
|
|
704
|
-
...args,
|
|
705
|
-
clientId: config.clientId,
|
|
706
|
-
clientSecret: config.clientSecret,
|
|
707
|
-
});
|
|
708
|
-
}
|
|
709
|
-
async pullGarminMenstruation(ctx, args) {
|
|
710
|
-
const config = this.requireGarminConfig();
|
|
711
|
-
return await ctx.runAction(this.component.garmin.public.pullMenstruation, {
|
|
712
|
-
...args,
|
|
713
|
-
clientId: config.clientId,
|
|
714
|
-
clientSecret: config.clientSecret,
|
|
715
|
-
});
|
|
716
|
-
}
|
|
717
|
-
async pullGarminBloodPressures(ctx, args) {
|
|
718
|
-
const config = this.requireGarminConfig();
|
|
719
|
-
return await ctx.runAction(this.component.garmin.public.pullBloodPressures, {
|
|
720
|
-
...args,
|
|
721
|
-
clientId: config.clientId,
|
|
722
|
-
clientSecret: config.clientSecret,
|
|
723
|
-
});
|
|
724
|
-
}
|
|
725
|
-
async pullGarminSkinTemperature(ctx, args) {
|
|
726
|
-
const config = this.requireGarminConfig();
|
|
727
|
-
return await ctx.runAction(this.component.garmin.public.pullSkinTemperature, {
|
|
728
|
-
...args,
|
|
729
|
-
clientId: config.clientId,
|
|
730
|
-
clientSecret: config.clientSecret,
|
|
731
|
-
});
|
|
732
|
-
}
|
|
733
|
-
async pullGarminUserMetrics(ctx, args) {
|
|
734
|
-
const config = this.requireGarminConfig();
|
|
735
|
-
return await ctx.runAction(this.component.garmin.public.pullUserMetrics, {
|
|
736
|
-
...args,
|
|
737
|
-
clientId: config.clientId,
|
|
738
|
-
clientSecret: config.clientSecret,
|
|
739
|
-
});
|
|
740
|
-
}
|
|
741
|
-
async pullGarminHRV(ctx, args) {
|
|
742
|
-
const config = this.requireGarminConfig();
|
|
743
|
-
return await ctx.runAction(this.component.garmin.public.pullHRV, {
|
|
744
|
-
...args,
|
|
745
|
-
clientId: config.clientId,
|
|
746
|
-
clientSecret: config.clientSecret,
|
|
747
|
-
});
|
|
748
|
-
}
|
|
749
|
-
async pullGarminStressDetails(ctx, args) {
|
|
750
|
-
const config = this.requireGarminConfig();
|
|
751
|
-
return await ctx.runAction(this.component.garmin.public.pullStressDetails, {
|
|
752
|
-
...args,
|
|
753
|
-
clientId: config.clientId,
|
|
754
|
-
clientSecret: config.clientSecret,
|
|
755
|
-
});
|
|
756
|
-
}
|
|
757
|
-
async pullGarminPulseOx(ctx, args) {
|
|
758
|
-
const config = this.requireGarminConfig();
|
|
759
|
-
return await ctx.runAction(this.component.garmin.public.pullPulseOx, {
|
|
760
|
-
...args,
|
|
761
|
-
clientId: config.clientId,
|
|
762
|
-
clientSecret: config.clientSecret,
|
|
763
|
-
});
|
|
764
|
-
}
|
|
765
|
-
async pullGarminRespiration(ctx, args) {
|
|
766
|
-
const config = this.requireGarminConfig();
|
|
767
|
-
return await ctx.runAction(this.component.garmin.public.pullRespiration, {
|
|
768
|
-
...args,
|
|
769
|
-
clientId: config.clientId,
|
|
770
|
-
clientSecret: config.clientSecret,
|
|
771
|
-
});
|
|
772
|
-
}
|
|
773
|
-
async pullGarminAll(ctx, args) {
|
|
774
|
-
const config = this.requireGarminConfig();
|
|
775
|
-
return await ctx.runAction(this.component.garmin.public.pullAll, {
|
|
776
|
-
...args,
|
|
777
|
-
clientId: config.clientId,
|
|
778
|
-
clientSecret: config.clientSecret,
|
|
779
|
-
});
|
|
780
|
-
}
|
|
781
|
-
async pushPlannedWorkoutToGarmin(ctx, args) {
|
|
782
|
-
const config = this.requireGarminConfig();
|
|
783
|
-
return await ctx.runAction(this.component.garmin.public.pushPlannedWorkout, {
|
|
784
|
-
...args,
|
|
785
|
-
clientId: config.clientId,
|
|
786
|
-
clientSecret: config.clientSecret,
|
|
787
|
-
});
|
|
788
|
-
}
|
|
789
|
-
async pushWorkoutToGarmin(ctx, args) {
|
|
790
|
-
const config = this.requireGarminConfig();
|
|
791
|
-
return await ctx.runAction(this.component.garmin.public.pushWorkout, {
|
|
792
|
-
...args,
|
|
793
|
-
clientId: config.clientId,
|
|
794
|
-
clientSecret: config.clientSecret,
|
|
795
|
-
});
|
|
796
|
-
}
|
|
797
|
-
async pushScheduleToGarmin(ctx, args) {
|
|
798
|
-
const config = this.requireGarminConfig();
|
|
799
|
-
return await ctx.runAction(this.component.garmin.public.pushSchedule, {
|
|
800
|
-
...args,
|
|
801
|
-
clientId: config.clientId,
|
|
802
|
-
clientSecret: config.clientSecret,
|
|
803
|
-
});
|
|
804
|
-
}
|
|
805
|
-
async deleteWorkoutFromGarmin(ctx, args) {
|
|
806
|
-
const config = this.requireGarminConfig();
|
|
807
|
-
return await ctx.runAction(this.component.garmin.public.deleteWorkout, {
|
|
808
|
-
...args,
|
|
809
|
-
clientId: config.clientId,
|
|
810
|
-
clientSecret: config.clientSecret,
|
|
811
|
-
});
|
|
812
|
-
}
|
|
813
|
-
async deleteScheduleFromGarmin(ctx, args) {
|
|
814
|
-
const config = this.requireGarminConfig();
|
|
815
|
-
return await ctx.runAction(this.component.garmin.public.deleteSchedule, {
|
|
816
|
-
...args,
|
|
817
|
-
clientId: config.clientId,
|
|
818
|
-
clientSecret: config.clientSecret,
|
|
819
|
-
});
|
|
820
|
-
}
|
|
821
530
|
}
|
|
822
531
|
/**
|
|
823
532
|
* Register OAuth callback HTTP routes for Soma providers.
|
|
@@ -876,14 +585,18 @@ export class Soma {
|
|
|
876
585
|
* },
|
|
877
586
|
* },
|
|
878
587
|
* webhook: {
|
|
879
|
-
*
|
|
880
|
-
*
|
|
881
|
-
* console.log(`Garmin ${event.dataType}: ${event.processed} processed`);
|
|
882
|
-
* },
|
|
588
|
+
* // Only listed data types get an HTTP route registered.
|
|
589
|
+
* // Pass a handler for custom logic, or `true` for default processing.
|
|
883
590
|
* events: {
|
|
884
591
|
* "activities": async (ctx, event) => {
|
|
885
|
-
* //
|
|
592
|
+
* // Custom side-effect after activity ingestion
|
|
886
593
|
* },
|
|
594
|
+
* "sleeps": true, // register route, default processing only
|
|
595
|
+
* "dailies": true,
|
|
596
|
+
* },
|
|
597
|
+
* // Optional catch-all, runs for every registered event
|
|
598
|
+
* onEvent: async (ctx, event) => {
|
|
599
|
+
* console.log(`Garmin ${event.dataType}: ${event.processed} processed`);
|
|
887
600
|
* },
|
|
888
601
|
* },
|
|
889
602
|
* },
|
|
@@ -1020,8 +733,8 @@ export function registerRoutes(http, component, opts) {
|
|
|
1020
733
|
}),
|
|
1021
734
|
});
|
|
1022
735
|
// ── Garmin Webhook Routes ──────────────────────────────────
|
|
1023
|
-
|
|
1024
|
-
|
|
736
|
+
const webhookCfg = typeof garminOpts.webhook === "object" ? garminOpts.webhook : undefined;
|
|
737
|
+
if (webhookCfg?.events) {
|
|
1025
738
|
const webhookBase = webhookCfg.basePath ?? GARMIN_WEBHOOK_BASE_PATH;
|
|
1026
739
|
const webhookRoutes = [
|
|
1027
740
|
// ACTIVITY category
|
|
@@ -1046,6 +759,10 @@ export function registerRoutes(http, component, opts) {
|
|
|
1046
759
|
{ suffix: "/menstrual-cycle-tracking", action: component.garmin.webhooks.handleGarminWebhookMenstrualCycleTracking },
|
|
1047
760
|
];
|
|
1048
761
|
for (const route of webhookRoutes) {
|
|
762
|
+
const dataType = route.suffix.slice(1);
|
|
763
|
+
// Only register routes the host app explicitly opted into
|
|
764
|
+
if (!webhookCfg.events?.[dataType])
|
|
765
|
+
continue;
|
|
1049
766
|
http.route({
|
|
1050
767
|
path: `${webhookBase}${route.suffix}`,
|
|
1051
768
|
method: "POST",
|
|
@@ -1066,7 +783,6 @@ export function registerRoutes(http, component, opts) {
|
|
|
1066
783
|
console.error(`Garmin webhook error (${route.suffix}):`, error instanceof Error ? error.message : error);
|
|
1067
784
|
}
|
|
1068
785
|
if (result) {
|
|
1069
|
-
const dataType = route.suffix.slice(1);
|
|
1070
786
|
const event = {
|
|
1071
787
|
dataType,
|
|
1072
788
|
processed: result.processed,
|
|
@@ -1074,7 +790,7 @@ export function registerRoutes(http, component, opts) {
|
|
|
1074
790
|
affectedUsers: result.affectedUsers,
|
|
1075
791
|
};
|
|
1076
792
|
const specificHandler = webhookCfg.events?.[dataType];
|
|
1077
|
-
if (specificHandler) {
|
|
793
|
+
if (typeof specificHandler === "function") {
|
|
1078
794
|
try {
|
|
1079
795
|
await specificHandler(ctx, event);
|
|
1080
796
|
}
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import type { SomaComponent } from "./index.js";
|
|
2
|
+
import type { ActionCtx, SomaStravaConfig } from "./types.js";
|
|
3
|
+
export declare class SomaStrava {
|
|
4
|
+
private component;
|
|
5
|
+
private requireConfig;
|
|
6
|
+
constructor(component: SomaComponent, requireConfig: () => SomaStravaConfig);
|
|
7
|
+
/**
|
|
8
|
+
* Generate a Strava OAuth authorization URL.
|
|
9
|
+
*
|
|
10
|
+
* The state parameter is stored inside the component automatically,
|
|
11
|
+
* and the callback handler registered by `registerRoutes` will
|
|
12
|
+
* complete the flow without further host-app intervention.
|
|
13
|
+
*
|
|
14
|
+
* @param ctx - Action context from the host app
|
|
15
|
+
* @param opts.userId - The host app's user identifier
|
|
16
|
+
* @param opts.redirectUri - The URL Strava will redirect to after authorization
|
|
17
|
+
* @param opts.scope - Comma-separated Strava OAuth scopes (default: "read,activity:read_all,profile:read_all")
|
|
18
|
+
* @returns `{ authUrl, state }`
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```ts
|
|
22
|
+
* const { authUrl } = await soma.strava.getAuthUrl(ctx, {
|
|
23
|
+
* userId: "user_123",
|
|
24
|
+
* redirectUri: "https://your-app.convex.site/api/strava/callback",
|
|
25
|
+
* });
|
|
26
|
+
* // Redirect user to authUrl — the callback is handled automatically
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
getAuthUrl(ctx: ActionCtx, opts: {
|
|
30
|
+
userId: string;
|
|
31
|
+
redirectUri: string;
|
|
32
|
+
scope?: string;
|
|
33
|
+
}): Promise<any>;
|
|
34
|
+
/**
|
|
35
|
+
* Sync activities from Strava for an already-connected user.
|
|
36
|
+
*
|
|
37
|
+
* Automatically refreshes the access token if expired. Fetches the
|
|
38
|
+
* athlete profile and activities, transforms them, and ingests into Soma.
|
|
39
|
+
*
|
|
40
|
+
* @param ctx - Action context from the host app
|
|
41
|
+
* @param args.userId - The host app's user identifier
|
|
42
|
+
* @param args.after - Only sync activities after this Unix epoch timestamp (for incremental sync)
|
|
43
|
+
* @returns `{ synced, errors }`
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* export const syncStrava = action({
|
|
48
|
+
* args: { userId: v.string() },
|
|
49
|
+
* handler: async (ctx, { userId }) => {
|
|
50
|
+
* return await soma.strava.sync(ctx, { userId });
|
|
51
|
+
* },
|
|
52
|
+
* });
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
sync(ctx: ActionCtx, args: {
|
|
56
|
+
userId: string;
|
|
57
|
+
after?: number;
|
|
58
|
+
}): Promise<{
|
|
59
|
+
errors: Array<{
|
|
60
|
+
error: string;
|
|
61
|
+
id: string;
|
|
62
|
+
type: string;
|
|
63
|
+
}>;
|
|
64
|
+
synced: {
|
|
65
|
+
activities: number;
|
|
66
|
+
athletes: number;
|
|
67
|
+
};
|
|
68
|
+
}>;
|
|
69
|
+
/**
|
|
70
|
+
* Disconnect a user from Strava.
|
|
71
|
+
*
|
|
72
|
+
* Revokes the token at Strava (best-effort), deletes stored tokens,
|
|
73
|
+
* and sets the connection to inactive.
|
|
74
|
+
*
|
|
75
|
+
* @param ctx - Action context from the host app
|
|
76
|
+
* @param args.userId - The host app's user identifier
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* export const disconnectStrava = action({
|
|
81
|
+
* args: { userId: v.string() },
|
|
82
|
+
* handler: async (ctx, { userId }) => {
|
|
83
|
+
* await soma.strava.disconnect(ctx, { userId });
|
|
84
|
+
* },
|
|
85
|
+
* });
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
disconnect(ctx: ActionCtx, args: {
|
|
89
|
+
userId: string;
|
|
90
|
+
}): Promise<null>;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=strava.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strava.d.ts","sourceRoot":"","sources":["../../src/client/strava.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9D,qBAAa,UAAU;IAEnB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,aAAa;gBADb,SAAS,EAAE,aAAa,EACxB,aAAa,EAAE,MAAM,gBAAgB;IAG/C;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,UAAU,CACd,GAAG,EAAE,SAAS,EACd,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAW/D;;;;;;;;;;;;;;;;;;;;OAoBG;IACG,IAAI,CACR,GAAG,EAAE,SAAS,EACd,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;IAU1C;;;;;;;;;;;;;;;;;;OAkBG;IACG,UAAU,CACd,GAAG,EAAE,SAAS,EACd,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;CAS3B"}
|