@nativesquare/soma 0.14.0 → 0.14.1
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/index.d.ts +1 -1
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js.map +1 -1
- package/dist/client/types.d.ts +3 -2
- package/dist/client/types.d.ts.map +1 -1
- package/dist/component/_generated/component.d.ts +7 -0
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/garmin/private.d.ts +18 -85
- package/dist/component/garmin/private.d.ts.map +1 -1
- package/dist/component/garmin/private.js +12 -12
- package/dist/component/garmin/private.js.map +1 -1
- package/dist/component/garmin/public.d.ts +38 -65
- package/dist/component/garmin/public.d.ts.map +1 -1
- package/dist/component/garmin/public.js +132 -10
- package/dist/component/garmin/public.js.map +1 -1
- package/dist/component/garmin/utils.d.ts +48 -0
- package/dist/component/garmin/utils.d.ts.map +1 -1
- package/dist/component/garmin/utils.js +65 -0
- package/dist/component/garmin/utils.js.map +1 -1
- package/dist/component/garmin/webhooks.d.ts +1 -11
- package/dist/component/garmin/webhooks.d.ts.map +1 -1
- package/dist/component/garmin/webhooks.js.map +1 -1
- package/dist/component/public.d.ts +3 -3
- package/dist/component/schema.d.ts +4 -4
- package/dist/component/strava/public.d.ts +4 -15
- package/dist/component/strava/public.d.ts.map +1 -1
- package/dist/component/strava/public.js +4 -3
- package/dist/component/strava/public.js.map +1 -1
- package/dist/component/strava/webhooks.d.ts +3 -10
- package/dist/component/strava/webhooks.d.ts.map +1 -1
- package/dist/component/strava/webhooks.js.map +1 -1
- package/dist/component/validators/daily.d.ts +2 -2
- package/dist/component/validators/shared.d.ts +16 -3
- package/dist/component/validators/shared.d.ts.map +1 -1
- package/dist/component/validators/shared.js +1 -1
- package/dist/component/validators/shared.js.map +1 -1
- package/dist/validators.d.ts +5 -4
- package/dist/validators.d.ts.map +1 -1
- package/dist/validators.js.map +1 -1
- package/package.json +1 -1
- package/src/client/index.ts +1 -0
- package/src/client/types.ts +4 -2
- package/src/component/_generated/component.ts +13 -0
- package/src/component/garmin/private.ts +12 -12
- package/src/component/garmin/public.ts +166 -11
- package/src/component/garmin/utils.ts +102 -0
- package/src/component/garmin/webhooks.ts +1 -7
- package/src/component/strava/public.ts +6 -5
- package/src/component/strava/webhooks.ts +9 -11
- package/src/component/validators/shared.ts +47 -4
- package/src/validators.ts +1 -0
|
@@ -7,9 +7,9 @@ import { action } from "../_generated/server";
|
|
|
7
7
|
import { generateState } from "../utils.js";
|
|
8
8
|
import { generateCodeVerifier, generateCodeChallenge, buildAuthUrl, exchangeCode, refreshToken, } from "./auth.js";
|
|
9
9
|
import { createWellnessClient, createTrainingClient, } from "./client.js";
|
|
10
|
-
import { buildTimeRangeQuery } from "./utils.js";
|
|
10
|
+
import { buildTimeRangeQuery, buildChunkedTimeRangeQueries, buildBackfillQuery, buildChunkedBackfillQueries } from "./utils.js";
|
|
11
11
|
import { createWorkoutV2 as sdkCreateWorkoutV2, createWorkoutSchedule as sdkCreateWorkoutSchedule, updateWorkoutV2 as sdkUpdateWorkoutV2, updateWorkoutSchedule as sdkUpdateWorkoutSchedule, deleteWorkoutV2 as sdkDeleteWorkoutV2, deleteWorkoutSchedule as sdkDeleteWorkoutSchedule, } from "./types/trainingApiWorkouts/sdk.gen";
|
|
12
|
-
import { userId as sdkUserId, dereg as sdkDereg, getActivities, getDailies, getSleeps, getBodyComps, getMct, getBloodPressures, getSkinTemp, getUserMetrics, getHrv, getStressDetails, getPulseox, getRespiration, } from "./types/wellnessApi/sdk.gen";
|
|
12
|
+
import { userId as sdkUserId, dereg as sdkDereg, getActivities, getDailies, getSleeps, getBodyComps, getMct, getBloodPressures, getSkinTemp, getUserMetrics, getHrv, getStressDetails, getPulseox, getRespiration, getBackfillDailies, getBackfillSleeps, getBackfillBodycomps, getBackfillMct, getBackfillBloodPressures, getBackfillSkinTemp, getBackfillUserMetrics, getBackfillHrv, getBackfillStressDetails, getBackfillPulseox, getBackfillRespirationEpoch, getBackfillActivities, getBackfillActivityDetails, } from "./types/wellnessApi/sdk.gen";
|
|
13
13
|
import { transformActivity } from "./transform/activity.js";
|
|
14
14
|
import { transformDailies } from "./transform/dailies.js";
|
|
15
15
|
import { transformSleeps } from "./transform/sleeps.js";
|
|
@@ -126,8 +126,8 @@ export const disconnectGarmin = action({
|
|
|
126
126
|
const wellnessClient = createWellnessClient(tokenDoc.accessToken);
|
|
127
127
|
await sdkDereg({ client: wellnessClient });
|
|
128
128
|
}
|
|
129
|
-
catch {
|
|
130
|
-
|
|
129
|
+
catch (err) {
|
|
130
|
+
console.warn("[garmin:disconnect] Best-effort deregistration failed:", err instanceof Error ? err.message : err);
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
const _deleted = await ctx.runMutation(internal.private.deleteTokens, { connectionId });
|
|
@@ -412,12 +412,12 @@ export const pullSkinTemperature = action({
|
|
|
412
412
|
synced.skinTemp++;
|
|
413
413
|
}
|
|
414
414
|
catch (err) {
|
|
415
|
-
errors.push({ type: "
|
|
415
|
+
errors.push({ type: "skinTemperature", id: skin.summaryId ?? skin.calendarDate ?? "unknown", message: err instanceof Error ? err.message : String(err) });
|
|
416
416
|
}
|
|
417
417
|
}
|
|
418
418
|
}
|
|
419
419
|
catch (err) {
|
|
420
|
-
errors.push({ type: "
|
|
420
|
+
errors.push({ type: "skinTemperature", id: "fetch", message: err instanceof Error ? err.message : String(err) });
|
|
421
421
|
}
|
|
422
422
|
await ctx.runMutation(api.public.updateConnection, { connectionId, lastDataUpdate: new Date().toISOString() });
|
|
423
423
|
return { data: { synced }, errors };
|
|
@@ -629,14 +629,15 @@ export const pullAll = action({
|
|
|
629
629
|
startTimeInSeconds: args.startTimeInSeconds,
|
|
630
630
|
endTimeInSeconds: args.endTimeInSeconds,
|
|
631
631
|
};
|
|
632
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
632
633
|
const pullFns = [
|
|
633
|
-
{ ref: api.garmin.public.pullActivities, name: "
|
|
634
|
-
{ ref: api.garmin.public.pullDailies, name: "
|
|
634
|
+
{ ref: api.garmin.public.pullActivities, name: "activity" },
|
|
635
|
+
{ ref: api.garmin.public.pullDailies, name: "daily" },
|
|
635
636
|
{ ref: api.garmin.public.pullSleep, name: "sleep" },
|
|
636
637
|
{ ref: api.garmin.public.pullBody, name: "body" },
|
|
637
638
|
{ ref: api.garmin.public.pullMenstruation, name: "menstruation" },
|
|
638
|
-
{ ref: api.garmin.public.pullBloodPressures, name: "
|
|
639
|
-
{ ref: api.garmin.public.pullSkinTemperature, name: "
|
|
639
|
+
{ ref: api.garmin.public.pullBloodPressures, name: "bloodPressure" },
|
|
640
|
+
{ ref: api.garmin.public.pullSkinTemperature, name: "skinTemperature" },
|
|
640
641
|
{ ref: api.garmin.public.pullUserMetrics, name: "userMetrics" },
|
|
641
642
|
{ ref: api.garmin.public.pullHRV, name: "hrv" },
|
|
642
643
|
{ ref: api.garmin.public.pullStressDetails, name: "stressDetails" },
|
|
@@ -662,6 +663,127 @@ export const pullAll = action({
|
|
|
662
663
|
return { data: { synced }, errors };
|
|
663
664
|
},
|
|
664
665
|
});
|
|
666
|
+
// ─── Backfill ─────────────────────────────────────────────────────────────
|
|
667
|
+
/**
|
|
668
|
+
* Request historical data from Garmin's backfill API for all summary types.
|
|
669
|
+
*
|
|
670
|
+
* Unlike pull functions (which query by upload time with a 24h max window),
|
|
671
|
+
* backfill requests data by the time it was *recorded* on the device.
|
|
672
|
+
* Garmin processes backfill asynchronously (HTTP 202) and delivers data
|
|
673
|
+
* via push/ping webhooks — no data is returned synchronously.
|
|
674
|
+
*
|
|
675
|
+
* Health endpoints accept up to 90 days per request.
|
|
676
|
+
* Activity endpoints accept up to 30 days per request (auto-chunked).
|
|
677
|
+
*
|
|
678
|
+
* Defaults to the last 90 days when no time range is provided.
|
|
679
|
+
*/
|
|
680
|
+
export const backfillAll = action({
|
|
681
|
+
args: {
|
|
682
|
+
userId: v.string(),
|
|
683
|
+
clientId: v.string(),
|
|
684
|
+
clientSecret: v.string(),
|
|
685
|
+
startTimeInSeconds: v.optional(v.number()),
|
|
686
|
+
endTimeInSeconds: v.optional(v.number()),
|
|
687
|
+
},
|
|
688
|
+
handler: async (ctx, args) => {
|
|
689
|
+
const { connectionId, accessToken } = await ctx.runAction(internal.private.resolveConnectionAndAccessToken, {
|
|
690
|
+
userId: args.userId,
|
|
691
|
+
provider: "GARMIN",
|
|
692
|
+
clientId: args.clientId,
|
|
693
|
+
clientSecret: args.clientSecret,
|
|
694
|
+
});
|
|
695
|
+
const wellnessClient = createWellnessClient(accessToken);
|
|
696
|
+
const timeInput = {
|
|
697
|
+
startTimeInSeconds: args.startTimeInSeconds,
|
|
698
|
+
endTimeInSeconds: args.endTimeInSeconds,
|
|
699
|
+
};
|
|
700
|
+
// Health endpoints: up to 90 days, single request each
|
|
701
|
+
const healthQuery = buildBackfillQuery(timeInput);
|
|
702
|
+
// Activity endpoints: max 30 days per request, chunked
|
|
703
|
+
const activityChunks = buildChunkedBackfillQueries(timeInput);
|
|
704
|
+
const requested = [];
|
|
705
|
+
const errors = [];
|
|
706
|
+
// ── Health backfills (90-day window) ──
|
|
707
|
+
const healthBackfills = [
|
|
708
|
+
{ fn: getBackfillDailies, name: "dailies" },
|
|
709
|
+
{ fn: getBackfillSleeps, name: "sleeps" },
|
|
710
|
+
{ fn: getBackfillBodycomps, name: "bodyComps" },
|
|
711
|
+
{ fn: getBackfillMct, name: "mct" },
|
|
712
|
+
{ fn: getBackfillBloodPressures, name: "bloodPressures" },
|
|
713
|
+
{ fn: getBackfillSkinTemp, name: "skinTemp" },
|
|
714
|
+
{ fn: getBackfillUserMetrics, name: "userMetrics" },
|
|
715
|
+
{ fn: getBackfillHrv, name: "hrv" },
|
|
716
|
+
{ fn: getBackfillStressDetails, name: "stressDetails" },
|
|
717
|
+
{ fn: getBackfillPulseox, name: "pulseOx" },
|
|
718
|
+
{ fn: getBackfillRespirationEpoch, name: "respiration" },
|
|
719
|
+
];
|
|
720
|
+
for (const { fn, name } of healthBackfills) {
|
|
721
|
+
try {
|
|
722
|
+
const { error } = await fn({
|
|
723
|
+
client: wellnessClient,
|
|
724
|
+
query: healthQuery,
|
|
725
|
+
});
|
|
726
|
+
if (error) {
|
|
727
|
+
errors.push({
|
|
728
|
+
type: name,
|
|
729
|
+
id: "backfill",
|
|
730
|
+
message: JSON.stringify(error),
|
|
731
|
+
});
|
|
732
|
+
}
|
|
733
|
+
else {
|
|
734
|
+
requested.push(name);
|
|
735
|
+
}
|
|
736
|
+
}
|
|
737
|
+
catch (err) {
|
|
738
|
+
errors.push({
|
|
739
|
+
type: name,
|
|
740
|
+
id: "backfill",
|
|
741
|
+
message: err instanceof Error ? err.message : String(err),
|
|
742
|
+
});
|
|
743
|
+
}
|
|
744
|
+
}
|
|
745
|
+
// ── Activity backfills (30-day chunked windows) ──
|
|
746
|
+
const activityBackfills = [
|
|
747
|
+
{ fn: getBackfillActivities, name: "activities" },
|
|
748
|
+
{ fn: getBackfillActivityDetails, name: "activityDetails" },
|
|
749
|
+
];
|
|
750
|
+
for (const { fn, name } of activityBackfills) {
|
|
751
|
+
let chunkErrors = 0;
|
|
752
|
+
for (const chunk of activityChunks) {
|
|
753
|
+
try {
|
|
754
|
+
const { error } = await fn({
|
|
755
|
+
client: wellnessClient,
|
|
756
|
+
query: chunk,
|
|
757
|
+
});
|
|
758
|
+
if (error) {
|
|
759
|
+
chunkErrors++;
|
|
760
|
+
errors.push({
|
|
761
|
+
type: name,
|
|
762
|
+
id: "backfill",
|
|
763
|
+
message: JSON.stringify(error),
|
|
764
|
+
});
|
|
765
|
+
}
|
|
766
|
+
}
|
|
767
|
+
catch (err) {
|
|
768
|
+
chunkErrors++;
|
|
769
|
+
errors.push({
|
|
770
|
+
type: name,
|
|
771
|
+
id: "backfill",
|
|
772
|
+
message: err instanceof Error ? err.message : String(err),
|
|
773
|
+
});
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
if (chunkErrors < activityChunks.length) {
|
|
777
|
+
requested.push(name);
|
|
778
|
+
}
|
|
779
|
+
}
|
|
780
|
+
await ctx.runMutation(api.public.updateConnection, {
|
|
781
|
+
connectionId,
|
|
782
|
+
lastDataUpdate: new Date().toISOString(),
|
|
783
|
+
});
|
|
784
|
+
return { data: { requested }, errors };
|
|
785
|
+
},
|
|
786
|
+
});
|
|
665
787
|
// ─── Push ───────────────────────────────────────────────────────────────────
|
|
666
788
|
export const pushWorkout = action({
|
|
667
789
|
args: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/component/garmin/public.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"public.js","sourceRoot":"","sources":["../../../src/component/garmin/public.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,4 +21,52 @@ export declare function buildTimeRangeQuery(input: {
|
|
|
21
21
|
uploadEndTimeInSeconds: string;
|
|
22
22
|
token: string;
|
|
23
23
|
};
|
|
24
|
+
/**
|
|
25
|
+
* Build an array of time-range query objects, each spanning at most
|
|
26
|
+
* `maxRangeSeconds`.
|
|
27
|
+
*
|
|
28
|
+
* Garmin's intraday endpoints (respiration, stress, pulse-ox, epochs, HRV)
|
|
29
|
+
* enforce a maximum query window of 86 400 s (24 h). This helper splits the
|
|
30
|
+
* full requested range into consecutive, non-overlapping chunks so the caller
|
|
31
|
+
* can issue one API call per chunk and merge the results.
|
|
32
|
+
*/
|
|
33
|
+
export declare function buildChunkedTimeRangeQueries(input: {
|
|
34
|
+
startTimeInSeconds?: number;
|
|
35
|
+
endTimeInSeconds?: number;
|
|
36
|
+
}, accessToken: string, maxRangeSeconds: number, nowSeconds?: number, defaultSyncDays?: number): {
|
|
37
|
+
uploadStartTimeInSeconds: string;
|
|
38
|
+
uploadEndTimeInSeconds: string;
|
|
39
|
+
token: string;
|
|
40
|
+
}[];
|
|
41
|
+
/**
|
|
42
|
+
* Build a backfill query object for Garmin's `/rest/backfill/*` endpoints.
|
|
43
|
+
*
|
|
44
|
+
* Backfill uses `summaryStartTimeInSeconds` / `summaryEndTimeInSeconds`
|
|
45
|
+
* (based on when data was *recorded*, not uploaded) and does NOT take a
|
|
46
|
+
* `token` query param — auth is via Bearer header only.
|
|
47
|
+
*
|
|
48
|
+
* Health endpoints accept up to 90 days per request.
|
|
49
|
+
* Activity endpoints accept up to 30 days per request.
|
|
50
|
+
*/
|
|
51
|
+
export declare function buildBackfillQuery(input: {
|
|
52
|
+
startTimeInSeconds?: number;
|
|
53
|
+
endTimeInSeconds?: number;
|
|
54
|
+
}, nowSeconds?: number, defaultDays?: number): {
|
|
55
|
+
summaryStartTimeInSeconds: string;
|
|
56
|
+
summaryEndTimeInSeconds: string;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* Build an array of backfill query objects, each spanning at most
|
|
60
|
+
* `maxDays` days.
|
|
61
|
+
*
|
|
62
|
+
* Activity backfill endpoints enforce a 30-day max per request.
|
|
63
|
+
* This splits a wider range into consecutive, non-overlapping chunks.
|
|
64
|
+
*/
|
|
65
|
+
export declare function buildChunkedBackfillQueries(input: {
|
|
66
|
+
startTimeInSeconds?: number;
|
|
67
|
+
endTimeInSeconds?: number;
|
|
68
|
+
}, maxDays?: number, nowSeconds?: number, defaultDays?: number): {
|
|
69
|
+
summaryStartTimeInSeconds: string;
|
|
70
|
+
summaryEndTimeInSeconds: string;
|
|
71
|
+
}[];
|
|
24
72
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/component/garmin/utils.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,wBAAwB,EAAE,MAAM,CAAC;IACjC,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAID;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM;;;;EAM1E;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,EACjE,WAAW,EAAE,MAAM,EACnB,UAAU,SAAgC,EAC1C,eAAe,SAAK;;;;EAWrB"}
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/component/garmin/utils.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,eAAe;IAC9B,wBAAwB,EAAE,MAAM,CAAC;IACjC,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAID;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM;;;;EAM1E;AAED,wBAAgB,mBAAmB,CACjC,KAAK,EAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,EACjE,WAAW,EAAE,MAAM,EACnB,UAAU,SAAgC,EAC1C,eAAe,SAAK;;;;EAWrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,EACjE,WAAW,EAAE,MAAM,EACnB,eAAe,EAAE,MAAM,EACvB,UAAU,SAAgC,EAC1C,eAAe,SAAK;8BAOQ,MAAM;4BACR,MAAM;WACvB,MAAM;IAahB;AAOD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,EACjE,UAAU,SAAgC,EAC1C,WAAW,SAA2B;;;EAUvC;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CACzC,KAAK,EAAE;IAAE,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,EACjE,OAAO,SAA6B,EACpC,UAAU,SAAgC,EAC1C,WAAW,SAA2B;+BAQT,MAAM;6BACR,MAAM;IAYlC"}
|
|
@@ -23,4 +23,69 @@ export function buildTimeRangeQuery(input, accessToken, nowSeconds = Math.floor(
|
|
|
23
23
|
token: accessToken,
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Build an array of time-range query objects, each spanning at most
|
|
28
|
+
* `maxRangeSeconds`.
|
|
29
|
+
*
|
|
30
|
+
* Garmin's intraday endpoints (respiration, stress, pulse-ox, epochs, HRV)
|
|
31
|
+
* enforce a maximum query window of 86 400 s (24 h). This helper splits the
|
|
32
|
+
* full requested range into consecutive, non-overlapping chunks so the caller
|
|
33
|
+
* can issue one API call per chunk and merge the results.
|
|
34
|
+
*/
|
|
35
|
+
export function buildChunkedTimeRangeQueries(input, accessToken, maxRangeSeconds, nowSeconds = Math.floor(Date.now() / 1000), defaultSyncDays = 30) {
|
|
36
|
+
const start = input.startTimeInSeconds ?? nowSeconds - defaultSyncDays * 86400;
|
|
37
|
+
const end = input.endTimeInSeconds ?? nowSeconds;
|
|
38
|
+
const chunks = [];
|
|
39
|
+
for (let chunkStart = start; chunkStart < end; chunkStart += maxRangeSeconds) {
|
|
40
|
+
const chunkEnd = Math.min(chunkStart + maxRangeSeconds, end);
|
|
41
|
+
chunks.push({
|
|
42
|
+
uploadStartTimeInSeconds: String(chunkStart),
|
|
43
|
+
uploadEndTimeInSeconds: String(chunkEnd),
|
|
44
|
+
token: accessToken,
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
return chunks;
|
|
48
|
+
}
|
|
49
|
+
// ─── Backfill Query Helpers ────────────────────────────────────────────────
|
|
50
|
+
const BACKFILL_MAX_HEALTH_DAYS = 90;
|
|
51
|
+
const BACKFILL_MAX_ACTIVITY_DAYS = 30;
|
|
52
|
+
/**
|
|
53
|
+
* Build a backfill query object for Garmin's `/rest/backfill/*` endpoints.
|
|
54
|
+
*
|
|
55
|
+
* Backfill uses `summaryStartTimeInSeconds` / `summaryEndTimeInSeconds`
|
|
56
|
+
* (based on when data was *recorded*, not uploaded) and does NOT take a
|
|
57
|
+
* `token` query param — auth is via Bearer header only.
|
|
58
|
+
*
|
|
59
|
+
* Health endpoints accept up to 90 days per request.
|
|
60
|
+
* Activity endpoints accept up to 30 days per request.
|
|
61
|
+
*/
|
|
62
|
+
export function buildBackfillQuery(input, nowSeconds = Math.floor(Date.now() / 1000), defaultDays = BACKFILL_MAX_HEALTH_DAYS) {
|
|
63
|
+
const summaryStartTimeInSeconds = input.startTimeInSeconds ?? nowSeconds - defaultDays * 86400;
|
|
64
|
+
const summaryEndTimeInSeconds = input.endTimeInSeconds ?? nowSeconds;
|
|
65
|
+
return {
|
|
66
|
+
summaryStartTimeInSeconds: String(summaryStartTimeInSeconds),
|
|
67
|
+
summaryEndTimeInSeconds: String(summaryEndTimeInSeconds),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Build an array of backfill query objects, each spanning at most
|
|
72
|
+
* `maxDays` days.
|
|
73
|
+
*
|
|
74
|
+
* Activity backfill endpoints enforce a 30-day max per request.
|
|
75
|
+
* This splits a wider range into consecutive, non-overlapping chunks.
|
|
76
|
+
*/
|
|
77
|
+
export function buildChunkedBackfillQueries(input, maxDays = BACKFILL_MAX_ACTIVITY_DAYS, nowSeconds = Math.floor(Date.now() / 1000), defaultDays = BACKFILL_MAX_HEALTH_DAYS) {
|
|
78
|
+
const start = input.startTimeInSeconds ?? nowSeconds - defaultDays * 86400;
|
|
79
|
+
const end = input.endTimeInSeconds ?? nowSeconds;
|
|
80
|
+
const maxRangeSeconds = maxDays * 86400;
|
|
81
|
+
const chunks = [];
|
|
82
|
+
for (let chunkStart = start; chunkStart < end; chunkStart += maxRangeSeconds) {
|
|
83
|
+
const chunkEnd = Math.min(chunkStart + maxRangeSeconds, end);
|
|
84
|
+
chunks.push({
|
|
85
|
+
summaryStartTimeInSeconds: String(chunkStart),
|
|
86
|
+
summaryEndTimeInSeconds: String(chunkEnd),
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
return chunks;
|
|
90
|
+
}
|
|
26
91
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/component/garmin/utils.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,oDAAoD;AASpD,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAuB,EAAE,WAAmB;IACzE,OAAO;QACL,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC;QACjE,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;QAC7D,KAAK,EAAE,WAAW;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAiE,EACjE,WAAmB,EACnB,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAC1C,eAAe,GAAG,EAAE;IAEpB,MAAM,wBAAwB,GAC5B,KAAK,CAAC,kBAAkB,IAAI,UAAU,GAAG,eAAe,GAAG,KAAK,CAAC;IACnE,MAAM,sBAAsB,GAAG,KAAK,CAAC,gBAAgB,IAAI,UAAU,CAAC;IAEpE,OAAO;QACL,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,CAAC;QAC1D,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,CAAC;QACtD,KAAK,EAAE,WAAW;KACnB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/component/garmin/utils.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,oDAAoD;AASpD,+EAA+E;AAE/E;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,MAAuB,EAAE,WAAmB;IACzE,OAAO;QACL,wBAAwB,EAAE,MAAM,CAAC,MAAM,CAAC,wBAAwB,CAAC;QACjE,sBAAsB,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;QAC7D,KAAK,EAAE,WAAW;KACnB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,KAAiE,EACjE,WAAmB,EACnB,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAC1C,eAAe,GAAG,EAAE;IAEpB,MAAM,wBAAwB,GAC5B,KAAK,CAAC,kBAAkB,IAAI,UAAU,GAAG,eAAe,GAAG,KAAK,CAAC;IACnE,MAAM,sBAAsB,GAAG,KAAK,CAAC,gBAAgB,IAAI,UAAU,CAAC;IAEpE,OAAO;QACL,wBAAwB,EAAE,MAAM,CAAC,wBAAwB,CAAC;QAC1D,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,CAAC;QACtD,KAAK,EAAE,WAAW;KACnB,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,4BAA4B,CAC1C,KAAiE,EACjE,WAAmB,EACnB,eAAuB,EACvB,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAC1C,eAAe,GAAG,EAAE;IAEpB,MAAM,KAAK,GACT,KAAK,CAAC,kBAAkB,IAAI,UAAU,GAAG,eAAe,GAAG,KAAK,CAAC;IACnE,MAAM,GAAG,GAAG,KAAK,CAAC,gBAAgB,IAAI,UAAU,CAAC;IAEjD,MAAM,MAAM,GAIP,EAAE,CAAC;IAER,KAAK,IAAI,UAAU,GAAG,KAAK,EAAE,UAAU,GAAG,GAAG,EAAE,UAAU,IAAI,eAAe,EAAE,CAAC;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,eAAe,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC;YACV,wBAAwB,EAAE,MAAM,CAAC,UAAU,CAAC;YAC5C,sBAAsB,EAAE,MAAM,CAAC,QAAQ,CAAC;YACxC,KAAK,EAAE,WAAW;SACnB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,8EAA8E;AAE9E,MAAM,wBAAwB,GAAG,EAAE,CAAC;AACpC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAEtC;;;;;;;;;GASG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAiE,EACjE,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAC1C,WAAW,GAAG,wBAAwB;IAEtC,MAAM,yBAAyB,GAC7B,KAAK,CAAC,kBAAkB,IAAI,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC;IAC/D,MAAM,uBAAuB,GAAG,KAAK,CAAC,gBAAgB,IAAI,UAAU,CAAC;IAErE,OAAO;QACL,yBAAyB,EAAE,MAAM,CAAC,yBAAyB,CAAC;QAC5D,uBAAuB,EAAE,MAAM,CAAC,uBAAuB,CAAC;KACzD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAiE,EACjE,OAAO,GAAG,0BAA0B,EACpC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAC1C,WAAW,GAAG,wBAAwB;IAEtC,MAAM,KAAK,GACT,KAAK,CAAC,kBAAkB,IAAI,UAAU,GAAG,WAAW,GAAG,KAAK,CAAC;IAC/D,MAAM,GAAG,GAAG,KAAK,CAAC,gBAAgB,IAAI,UAAU,CAAC;IAEjD,MAAM,eAAe,GAAG,OAAO,GAAG,KAAK,CAAC;IACxC,MAAM,MAAM,GAGP,EAAE,CAAC;IAER,KAAK,IAAI,UAAU,GAAG,KAAK,EAAE,UAAU,GAAG,GAAG,EAAE,UAAU,IAAI,eAAe,EAAE,CAAC;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,eAAe,EAAE,GAAG,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC;YACV,yBAAyB,EAAE,MAAM,CAAC,UAAU,CAAC;YAC7C,uBAAuB,EAAE,MAAM,CAAC,QAAQ,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
/** Shape returned by webhook handler actions (both internal processors and public handlers). */
|
|
3
|
-
type WebhookResult = {
|
|
4
|
-
errors: SomaError[];
|
|
5
|
-
items: Array<{
|
|
6
|
-
connectionId: string;
|
|
7
|
-
userId: string;
|
|
8
|
-
data: Record<string, unknown>;
|
|
9
|
-
}>;
|
|
10
|
-
};
|
|
1
|
+
import type { WebhookResult } from "../validators/shared.js";
|
|
11
2
|
/**
|
|
12
3
|
* Handle a webhook for Garmin activities (push or ping mode).
|
|
13
4
|
*/
|
|
@@ -127,5 +118,4 @@ export declare const handleGarminWebhookRespiration: import("convex/server").Reg
|
|
|
127
118
|
autoIngest?: boolean | undefined;
|
|
128
119
|
payload: any;
|
|
129
120
|
}, Promise<WebhookResult>>;
|
|
130
|
-
export {};
|
|
131
121
|
//# sourceMappingURL=webhooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../src/component/garmin/webhooks.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../../src/component/garmin/webhooks.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAa,aAAa,EAAE,MAAM,yBAAyB,CAAC;AA4IxE;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;0BA8BxC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kCAAkC;;;0BAsC7C,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,4CAA4C;;;0BA4CvD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;0BAsCpC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iCAAiC;;;0BAsC5C,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,mCAAmC;;;0BAsC9C,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;0BAsCrC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;0BAsCpC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iCAAiC;;;0BAsC5C,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;0BAsCpC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;0BAsCtC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;0BAsCzC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,yCAAyC;;;0BAsCpD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;0BAsCxC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;0BAsCpC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;0BAsCrC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;0BAsCzC,CAAC"}
|