@stuartshay/otel-graphql-types 1.0.0 → 1.0.95
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/index.d.ts +563 -24
- package/package.json +1 -1
- package/schema.graphql +1398 -5
package/index.d.ts
CHANGED
|
@@ -1,211 +1,703 @@
|
|
|
1
1
|
export type Maybe<T> = T | null;
|
|
2
2
|
export type InputMaybe<T> = Maybe<T>;
|
|
3
|
-
export type Exact<T extends { [key: string]: unknown }> = { [K in keyof T]: T[K] };
|
|
4
|
-
export type MakeOptional<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]?: Maybe<T[SubKey]> };
|
|
5
|
-
export type MakeMaybe<T, K extends keyof T> = Omit<T, K> & { [SubKey in K]: Maybe<T[SubKey]> };
|
|
6
|
-
export type MakeEmpty<T extends { [key: string]: unknown }, K extends keyof T> = { [_ in K]?: never };
|
|
7
|
-
export type Incremental<T> = T | { [P in keyof T]?: P extends ' $fragmentName' | '__typename' ? T[P] : never };
|
|
8
3
|
/** All built-in and custom scalars, mapped to their actual values */
|
|
9
4
|
export interface Scalars {
|
|
10
|
-
ID: { input: string; output: string
|
|
11
|
-
String: { input: string; output: string
|
|
12
|
-
Boolean: { input: boolean; output: boolean
|
|
13
|
-
Int: { input: number; output: number
|
|
14
|
-
Float: { input: number; output: number
|
|
15
|
-
DateTime: { input: string; output: string
|
|
16
|
-
JSON: { input: Record<string, unknown>; output: Record<string, unknown
|
|
5
|
+
ID: { input: string; output: string };
|
|
6
|
+
String: { input: string; output: string };
|
|
7
|
+
Boolean: { input: boolean; output: boolean };
|
|
8
|
+
Int: { input: number; output: number };
|
|
9
|
+
Float: { input: number; output: number };
|
|
10
|
+
DateTime: { input: string; output: string };
|
|
11
|
+
JSON: { input: Record<string, unknown>; output: Record<string, unknown> };
|
|
17
12
|
}
|
|
18
13
|
|
|
14
|
+
/** Per-day aggregate combining OwnTracks location stats and Garmin activity metrics. */
|
|
19
15
|
export interface DailyActivitySummary {
|
|
20
16
|
__typename?: 'DailyActivitySummary';
|
|
17
|
+
/** Calendar date in YYYY-MM-DD format */
|
|
21
18
|
activity_date?: Maybe<Scalars['String']['output']>;
|
|
19
|
+
/** Mean horizontal GPS accuracy in meters */
|
|
22
20
|
avg_accuracy?: Maybe<Scalars['Float']['output']>;
|
|
21
|
+
/** Mean heart rate across Garmin activities in BPM */
|
|
23
22
|
avg_heart_rate?: Maybe<Scalars['Int']['output']>;
|
|
23
|
+
/** Number of Garmin activities recorded */
|
|
24
24
|
garmin_activities?: Maybe<Scalars['Int']['output']>;
|
|
25
|
+
/** Garmin sport type for activities on this day */
|
|
25
26
|
garmin_sport?: Maybe<Scalars['String']['output']>;
|
|
27
|
+
/** Highest device battery percentage observed */
|
|
26
28
|
max_battery?: Maybe<Scalars['Int']['output']>;
|
|
29
|
+
/** Lowest device battery percentage observed */
|
|
27
30
|
min_battery?: Maybe<Scalars['Int']['output']>;
|
|
31
|
+
/** OwnTracks device that reported data for this day */
|
|
28
32
|
owntracks_device?: Maybe<Scalars['String']['output']>;
|
|
33
|
+
/** Number of OwnTracks GPS points recorded */
|
|
29
34
|
owntracks_points?: Maybe<Scalars['Int']['output']>;
|
|
35
|
+
/** Total calories burned across Garmin activities */
|
|
30
36
|
total_calories?: Maybe<Scalars['Int']['output']>;
|
|
37
|
+
/** Combined Garmin activity distance in km */
|
|
31
38
|
total_distance_km?: Maybe<Scalars['Float']['output']>;
|
|
39
|
+
/** Combined Garmin activity duration in seconds */
|
|
32
40
|
total_duration_seconds?: Maybe<Scalars['Float']['output']>;
|
|
33
41
|
}
|
|
34
42
|
|
|
43
|
+
/** Paginated list of daily activity summaries. */
|
|
44
|
+
export interface DailySummaryConnection {
|
|
45
|
+
__typename?: 'DailySummaryConnection';
|
|
46
|
+
/** List of daily activity summary items in the current page */
|
|
47
|
+
items: Array<DailyActivitySummary>;
|
|
48
|
+
/** Maximum number of items per page */
|
|
49
|
+
limit: Scalars['Int']['output'];
|
|
50
|
+
/** Number of items skipped from the start */
|
|
51
|
+
offset: Scalars['Int']['output'];
|
|
52
|
+
/** Total number of items matching the query */
|
|
53
|
+
total: Scalars['Int']['output'];
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/** Earliest and latest activity dates available in the daily activity summary view. */
|
|
57
|
+
export interface DailySummaryDateRange {
|
|
58
|
+
__typename?: 'DailySummaryDateRange';
|
|
59
|
+
/** Latest activity date with daily summary data (YYYY-MM-DD) */
|
|
60
|
+
max_date: Scalars['String']['output'];
|
|
61
|
+
/** Earliest activity date with daily summary data (YYYY-MM-DD) */
|
|
62
|
+
min_date: Scalars['String']['output'];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/** Distinct OwnTracks device identifier. */
|
|
35
66
|
export interface DeviceInfo {
|
|
36
67
|
__typename?: 'DeviceInfo';
|
|
68
|
+
/** OwnTracks device identifier */
|
|
37
69
|
device_id: Scalars['String']['output'];
|
|
38
70
|
}
|
|
39
71
|
|
|
72
|
+
/** Geodesic distance calculation result between two geographic points. */
|
|
40
73
|
export interface DistanceResult {
|
|
41
74
|
__typename?: 'DistanceResult';
|
|
75
|
+
/** Geodesic distance between the two points in meters */
|
|
42
76
|
distance_meters: Scalars['Float']['output'];
|
|
77
|
+
/** Origin latitude in decimal degrees */
|
|
43
78
|
from_lat: Scalars['Float']['output'];
|
|
79
|
+
/** Origin longitude in decimal degrees */
|
|
44
80
|
from_lon: Scalars['Float']['output'];
|
|
81
|
+
/** Destination latitude in decimal degrees */
|
|
45
82
|
to_lat: Scalars['Float']['output'];
|
|
83
|
+
/** Destination longitude in decimal degrees */
|
|
46
84
|
to_lon: Scalars['Float']['output'];
|
|
47
85
|
}
|
|
48
86
|
|
|
87
|
+
/** Summary of a Garmin Connect activity parsed from a FIT file. */
|
|
49
88
|
export interface GarminActivity {
|
|
50
89
|
__typename?: 'GarminActivity';
|
|
90
|
+
/** Garmin Connect activity identifier */
|
|
51
91
|
activity_id: Scalars['String']['output'];
|
|
92
|
+
/** Aerobic training effect score */
|
|
93
|
+
aerobic_training_effect?: Maybe<Scalars['Float']['output']>;
|
|
94
|
+
/** Anaerobic training effect score */
|
|
95
|
+
anaerobic_training_effect?: Maybe<Scalars['Float']['output']>;
|
|
96
|
+
/** Average cadence in RPM */
|
|
52
97
|
avg_cadence?: Maybe<Scalars['Int']['output']>;
|
|
98
|
+
/** Average heart rate in beats per minute */
|
|
53
99
|
avg_heart_rate?: Maybe<Scalars['Int']['output']>;
|
|
100
|
+
/** Average pace in minutes per kilometre */
|
|
54
101
|
avg_pace?: Maybe<Scalars['Float']['output']>;
|
|
102
|
+
/** Average respiration rate in breaths per minute */
|
|
103
|
+
avg_respiration_rate?: Maybe<Scalars['Int']['output']>;
|
|
104
|
+
/** Average speed in km/h */
|
|
55
105
|
avg_speed_kmh?: Maybe<Scalars['Float']['output']>;
|
|
106
|
+
/** Average ambient temperature in degrees C */
|
|
56
107
|
avg_temperature_c?: Maybe<Scalars['Int']['output']>;
|
|
108
|
+
/** Total calories burned */
|
|
57
109
|
calories?: Maybe<Scalars['Int']['output']>;
|
|
110
|
+
/** UTC timestamp when the record was inserted */
|
|
58
111
|
created_at?: Maybe<Scalars['String']['output']>;
|
|
112
|
+
/** Recording device metadata (manufacturer, model, firmware) */
|
|
113
|
+
device?: Maybe<GarminDevice>;
|
|
114
|
+
/** Device manufacturer (e.g. garmin) */
|
|
59
115
|
device_manufacturer?: Maybe<Scalars['String']['output']>;
|
|
116
|
+
/** Total distance in kilometres */
|
|
60
117
|
distance_km?: Maybe<Scalars['Float']['output']>;
|
|
118
|
+
/** Active duration in seconds (excludes pauses) */
|
|
61
119
|
duration_seconds?: Maybe<Scalars['Float']['output']>;
|
|
120
|
+
/** Activity end time in UTC */
|
|
62
121
|
end_time?: Maybe<Scalars['String']['output']>;
|
|
122
|
+
/** Exercise load score */
|
|
123
|
+
exercise_load?: Maybe<Scalars['Int']['output']>;
|
|
124
|
+
/** Whether this activity has usable heart-rate data in summary or track points */
|
|
125
|
+
hr_available: Scalars['Boolean']['output'];
|
|
126
|
+
/** Maximum cadence in RPM */
|
|
63
127
|
max_cadence?: Maybe<Scalars['Int']['output']>;
|
|
128
|
+
/** Maximum heart rate in beats per minute */
|
|
64
129
|
max_heart_rate?: Maybe<Scalars['Int']['output']>;
|
|
130
|
+
/** Maximum respiration rate in breaths per minute */
|
|
131
|
+
max_respiration_rate?: Maybe<Scalars['Int']['output']>;
|
|
132
|
+
/** Maximum speed in km/h */
|
|
65
133
|
max_speed_kmh?: Maybe<Scalars['Float']['output']>;
|
|
134
|
+
/** Maximum ambient temperature in degrees C */
|
|
66
135
|
max_temperature_c?: Maybe<Scalars['Int']['output']>;
|
|
136
|
+
/** Minimum heart rate in beats per minute */
|
|
137
|
+
min_heart_rate?: Maybe<Scalars['Int']['output']>;
|
|
138
|
+
/** Minimum respiration rate in breaths per minute */
|
|
139
|
+
min_respiration_rate?: Maybe<Scalars['Int']['output']>;
|
|
140
|
+
/** Minimum ambient temperature in degrees C */
|
|
67
141
|
min_temperature_c?: Maybe<Scalars['Int']['output']>;
|
|
142
|
+
/** Moderate intensity minutes */
|
|
143
|
+
moderate_intensity_minutes?: Maybe<Scalars['Int']['output']>;
|
|
144
|
+
/** Distance over paved surfaces in kilometres */
|
|
145
|
+
paved_distance_km?: Maybe<Scalars['Float']['output']>;
|
|
146
|
+
/** Primary sport type (e.g. cycling, running) */
|
|
68
147
|
sport: Scalars['String']['output'];
|
|
148
|
+
/** Activity start time in UTC */
|
|
69
149
|
start_time?: Maybe<Scalars['String']['output']>;
|
|
150
|
+
/** Sub-sport classification (e.g. road, trail) */
|
|
70
151
|
sub_sport?: Maybe<Scalars['String']['output']>;
|
|
152
|
+
/** Estimated sweat loss in millilitres */
|
|
153
|
+
sweat_loss_ml?: Maybe<Scalars['Int']['output']>;
|
|
154
|
+
/** Total elevation gain in meters */
|
|
71
155
|
total_ascent_m?: Maybe<Scalars['Float']['output']>;
|
|
156
|
+
/** Total elevation loss in meters */
|
|
72
157
|
total_descent_m?: Maybe<Scalars['Float']['output']>;
|
|
158
|
+
/** Raw total distance in meters from FIT file */
|
|
73
159
|
total_distance?: Maybe<Scalars['Float']['output']>;
|
|
160
|
+
/** Total elapsed time in seconds (includes pauses) */
|
|
74
161
|
total_elapsed_time?: Maybe<Scalars['Float']['output']>;
|
|
162
|
+
/** Total intensity minutes */
|
|
163
|
+
total_intensity_minutes?: Maybe<Scalars['Int']['output']>;
|
|
164
|
+
/** Total activity strokes */
|
|
165
|
+
total_strokes?: Maybe<Scalars['Int']['output']>;
|
|
166
|
+
/** Total timer time in seconds (active recording) */
|
|
75
167
|
total_timer_time?: Maybe<Scalars['Float']['output']>;
|
|
168
|
+
/** Number of GPS track points in this activity */
|
|
76
169
|
track_point_count?: Maybe<Scalars['Int']['output']>;
|
|
170
|
+
/** Distance over unpaved surfaces in kilometres */
|
|
171
|
+
unpaved_distance_km?: Maybe<Scalars['Float']['output']>;
|
|
172
|
+
/** UTC timestamp when the FIT file was uploaded */
|
|
77
173
|
uploaded_at?: Maybe<Scalars['String']['output']>;
|
|
174
|
+
/** Vigorous intensity minutes */
|
|
175
|
+
vigorous_intensity_minutes?: Maybe<Scalars['Int']['output']>;
|
|
78
176
|
}
|
|
79
177
|
|
|
178
|
+
/** Full reverse-geocoded address attached to a Garmin activity waypoint. */
|
|
179
|
+
export interface GarminActivityAddress {
|
|
180
|
+
__typename?: 'GarminActivityAddress';
|
|
181
|
+
/** Parent Garmin activity identifier */
|
|
182
|
+
activity_id: Scalars['String']['output'];
|
|
183
|
+
/** Pelias confidence score (0-1) */
|
|
184
|
+
confidence?: Maybe<Scalars['Float']['output']>;
|
|
185
|
+
/** Country name */
|
|
186
|
+
country?: Maybe<Scalars['String']['output']>;
|
|
187
|
+
/** Full formatted address label from Pelias */
|
|
188
|
+
display_address?: Maybe<Scalars['String']['output']>;
|
|
189
|
+
/** UTC timestamp when geocoding was performed */
|
|
190
|
+
geocoded_at?: Maybe<Scalars['String']['output']>;
|
|
191
|
+
/** House or building number */
|
|
192
|
+
housenumber?: Maybe<Scalars['String']['output']>;
|
|
193
|
+
/** GPS latitude in decimal degrees (WGS 84) */
|
|
194
|
+
latitude: Scalars['Float']['output'];
|
|
195
|
+
/** City or town */
|
|
196
|
+
locality?: Maybe<Scalars['String']['output']>;
|
|
197
|
+
/** GPS longitude in decimal degrees (WGS 84) */
|
|
198
|
+
longitude: Scalars['Float']['output'];
|
|
199
|
+
/** Neighbourhood name */
|
|
200
|
+
neighbourhood?: Maybe<Scalars['String']['output']>;
|
|
201
|
+
/** Postal or ZIP code */
|
|
202
|
+
postalcode?: Maybe<Scalars['String']['output']>;
|
|
203
|
+
/** State or province */
|
|
204
|
+
region?: Maybe<Scalars['String']['output']>;
|
|
205
|
+
/** Geocoding status: success, no_coverage, error, pending */
|
|
206
|
+
status: Scalars['String']['output'];
|
|
207
|
+
/** Street name */
|
|
208
|
+
street?: Maybe<Scalars['String']['output']>;
|
|
209
|
+
/** UTC timestamp of the track point this address was derived from */
|
|
210
|
+
timestamp: Scalars['DateTime']['output'];
|
|
211
|
+
/** garmin_track_points.id this address was geocoded from */
|
|
212
|
+
track_point_id: Scalars['Int']['output'];
|
|
213
|
+
/** Role of this waypoint within the activity: start, end, or waypoint */
|
|
214
|
+
waypoint_kind: Scalars['String']['output'];
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
/** Paginated list of Garmin activities. */
|
|
80
218
|
export interface GarminActivityConnection {
|
|
81
219
|
__typename?: 'GarminActivityConnection';
|
|
220
|
+
/** List of Garmin activity items in the current page */
|
|
82
221
|
items: Array<GarminActivity>;
|
|
222
|
+
/** Maximum number of items per page */
|
|
83
223
|
limit: Scalars['Int']['output'];
|
|
224
|
+
/** Number of items skipped from the start */
|
|
84
225
|
offset: Scalars['Int']['output'];
|
|
226
|
+
/** Total number of items matching the query */
|
|
85
227
|
total: Scalars['Int']['output'];
|
|
86
228
|
}
|
|
87
229
|
|
|
230
|
+
/** Aggregated Garmin activity totals for a single time bucket (week, month, or year). */
|
|
231
|
+
export interface GarminActivityTotal {
|
|
232
|
+
__typename?: 'GarminActivityTotal';
|
|
233
|
+
/** Number of activities in the period */
|
|
234
|
+
activity_count: Scalars['Int']['output'];
|
|
235
|
+
/** Start date of the period bucket (DATE_TRUNC of week/month/year) */
|
|
236
|
+
period_start: Scalars['String']['output'];
|
|
237
|
+
/** Sum of elevation gain in meters */
|
|
238
|
+
total_ascent_m?: Maybe<Scalars['Int']['output']>;
|
|
239
|
+
/** Sum of calories burned */
|
|
240
|
+
total_calories?: Maybe<Scalars['Int']['output']>;
|
|
241
|
+
/** Sum of distance in kilometres */
|
|
242
|
+
total_distance_km?: Maybe<Scalars['Float']['output']>;
|
|
243
|
+
/** Sum of active duration in seconds (excludes pauses) */
|
|
244
|
+
total_duration_seconds?: Maybe<Scalars['Int']['output']>;
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
/** Lightweight track point optimised for time-series chart rendering. */
|
|
248
|
+
export interface GarminChartPoint {
|
|
249
|
+
__typename?: 'GarminChartPoint';
|
|
250
|
+
/** Elevation above sea level in meters */
|
|
251
|
+
altitude?: Maybe<Scalars['Float']['output']>;
|
|
252
|
+
/** Pedal/step cadence in RPM */
|
|
253
|
+
cadence?: Maybe<Scalars['Int']['output']>;
|
|
254
|
+
/** Cumulative distance from activity start in km */
|
|
255
|
+
distance_from_start_km?: Maybe<Scalars['Float']['output']>;
|
|
256
|
+
/** Heart rate in beats per minute */
|
|
257
|
+
heart_rate?: Maybe<Scalars['Int']['output']>;
|
|
258
|
+
/** Heart-rate zone index (1-5) */
|
|
259
|
+
hr_zone?: Maybe<Scalars['Int']['output']>;
|
|
260
|
+
/** GPS latitude in decimal degrees (WGS 84) */
|
|
261
|
+
latitude: Scalars['Float']['output'];
|
|
262
|
+
/** GPS longitude in decimal degrees (WGS 84) */
|
|
263
|
+
longitude: Scalars['Float']['output'];
|
|
264
|
+
/** Respiration rate in breaths per minute */
|
|
265
|
+
respiration_rate?: Maybe<Scalars['Int']['output']>;
|
|
266
|
+
/** Instantaneous speed in km/h */
|
|
267
|
+
speed_kmh?: Maybe<Scalars['Float']['output']>;
|
|
268
|
+
/** Ambient temperature in degrees C */
|
|
269
|
+
temperature_c?: Maybe<Scalars['Float']['output']>;
|
|
270
|
+
/** UTC timestamp of the data point */
|
|
271
|
+
timestamp: Scalars['DateTime']['output'];
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
/** Earliest and latest timestamps in the Garmin activities table. */
|
|
275
|
+
export interface GarminDateRange {
|
|
276
|
+
__typename?: 'GarminDateRange';
|
|
277
|
+
/** Latest Garmin activity timestamp (ISO 8601) */
|
|
278
|
+
max_date: Scalars['DateTime']['output'];
|
|
279
|
+
/** Earliest Garmin activity timestamp (ISO 8601) */
|
|
280
|
+
min_date: Scalars['DateTime']['output'];
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
/** Recording device metadata captured from a Garmin activity's FIT file. */
|
|
284
|
+
export interface GarminDevice {
|
|
285
|
+
__typename?: 'GarminDevice';
|
|
286
|
+
/** Recording device serial number */
|
|
287
|
+
device_id?: Maybe<Scalars['Float']['output']>;
|
|
288
|
+
/** Raw Garmin product enum id from the FIT file (e.g. 4061) */
|
|
289
|
+
garmin_product?: Maybe<Scalars['Int']['output']>;
|
|
290
|
+
/** Device manufacturer (e.g. garmin) */
|
|
291
|
+
manufacturer?: Maybe<Scalars['String']['output']>;
|
|
292
|
+
/** Friendly device model name (e.g. Edge 540 Solar) */
|
|
293
|
+
model?: Maybe<Scalars['String']['output']>;
|
|
294
|
+
/** Device firmware/software version (e.g. 31.30) */
|
|
295
|
+
software_version?: Maybe<Scalars['String']['output']>;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
/** Result payload returned when triggering an on-demand Garmin sync. */
|
|
299
|
+
export interface GarminSyncTriggerResult {
|
|
300
|
+
__typename?: 'GarminSyncTriggerResult';
|
|
301
|
+
/** True when a new sync run was accepted and triggered */
|
|
302
|
+
accepted: Scalars['Boolean']['output'];
|
|
303
|
+
/** Effective lookback value, when provided */
|
|
304
|
+
lookback?: Maybe<Scalars['Int']['output']>;
|
|
305
|
+
/** Human-readable status message from upstream sync service */
|
|
306
|
+
message: Scalars['String']['output'];
|
|
307
|
+
/** UTC timestamp when an already-running sync started */
|
|
308
|
+
started_at?: Maybe<Scalars['String']['output']>;
|
|
309
|
+
/** Sync trigger status (e.g. accepted, conflict, bad_request, error) */
|
|
310
|
+
status: Scalars['String']['output'];
|
|
311
|
+
/** UTC timestamp when sync was triggered */
|
|
312
|
+
triggered_at?: Maybe<Scalars['String']['output']>;
|
|
313
|
+
/** Effective sync window in hours */
|
|
314
|
+
window_hours?: Maybe<Scalars['Int']['output']>;
|
|
315
|
+
/** Window start timestamp computed by upstream service, when available */
|
|
316
|
+
window_start?: Maybe<Scalars['String']['output']>;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/** Individual GPS track point within a Garmin activity. */
|
|
88
320
|
export interface GarminTrackPoint {
|
|
89
321
|
__typename?: 'GarminTrackPoint';
|
|
322
|
+
/** Parent Garmin activity identifier */
|
|
90
323
|
activity_id: Scalars['String']['output'];
|
|
324
|
+
/** Compact reverse-geocoded address summary, when geocoded */
|
|
325
|
+
address?: Maybe<GeocodedAddressSummary>;
|
|
326
|
+
/** Elevation above sea level in meters */
|
|
91
327
|
altitude?: Maybe<Scalars['Float']['output']>;
|
|
328
|
+
/** Pedal/step cadence in RPM */
|
|
92
329
|
cadence?: Maybe<Scalars['Int']['output']>;
|
|
330
|
+
/** UTC timestamp when the record was inserted */
|
|
93
331
|
created_at?: Maybe<Scalars['String']['output']>;
|
|
332
|
+
/** Cumulative distance from activity start in km */
|
|
94
333
|
distance_from_start_km?: Maybe<Scalars['Float']['output']>;
|
|
334
|
+
/** Effort classification label */
|
|
335
|
+
effort_level?: Maybe<Scalars['String']['output']>;
|
|
336
|
+
/** Heart rate in beats per minute */
|
|
95
337
|
heart_rate?: Maybe<Scalars['Int']['output']>;
|
|
338
|
+
/** Heart-rate zone index (1-5) */
|
|
339
|
+
hr_zone?: Maybe<Scalars['Int']['output']>;
|
|
340
|
+
/** Unique track point record identifier */
|
|
96
341
|
id: Scalars['Int']['output'];
|
|
342
|
+
/** GPS latitude in decimal degrees (WGS 84) */
|
|
97
343
|
latitude: Scalars['Float']['output'];
|
|
344
|
+
/** GPS longitude in decimal degrees (WGS 84) */
|
|
98
345
|
longitude: Scalars['Float']['output'];
|
|
346
|
+
/** Respiration rate in breaths per minute */
|
|
347
|
+
respiration_rate?: Maybe<Scalars['Int']['output']>;
|
|
348
|
+
/** Instantaneous speed in km/h */
|
|
99
349
|
speed_kmh?: Maybe<Scalars['Float']['output']>;
|
|
350
|
+
/** Road or terrain type */
|
|
351
|
+
surface_type?: Maybe<Scalars['String']['output']>;
|
|
352
|
+
/** Ambient temperature in degrees C */
|
|
100
353
|
temperature_c?: Maybe<Scalars['Float']['output']>;
|
|
354
|
+
/** UTC timestamp of the track point recording */
|
|
101
355
|
timestamp: Scalars['DateTime']['output'];
|
|
102
356
|
}
|
|
103
357
|
|
|
358
|
+
/** Paginated list of Garmin track points. */
|
|
104
359
|
export interface GarminTrackPointConnection {
|
|
105
360
|
__typename?: 'GarminTrackPointConnection';
|
|
361
|
+
/** List of track point items in the current page */
|
|
106
362
|
items: Array<GarminTrackPoint>;
|
|
363
|
+
/** Maximum number of items per page */
|
|
107
364
|
limit: Scalars['Int']['output'];
|
|
365
|
+
/** Number of items skipped from the start */
|
|
108
366
|
offset: Scalars['Int']['output'];
|
|
367
|
+
/** Total number of items matching the query */
|
|
368
|
+
total: Scalars['Int']['output'];
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
/** Reverse-geocoded address components from Pelias. */
|
|
372
|
+
export interface GeocodedAddress {
|
|
373
|
+
__typename?: 'GeocodedAddress';
|
|
374
|
+
/** Pelias confidence score (0-1) */
|
|
375
|
+
confidence?: Maybe<Scalars['Float']['output']>;
|
|
376
|
+
/** Country name */
|
|
377
|
+
country?: Maybe<Scalars['String']['output']>;
|
|
378
|
+
/** Full formatted address label from Pelias */
|
|
379
|
+
display_address?: Maybe<Scalars['String']['output']>;
|
|
380
|
+
/** UTC timestamp when geocoding was performed */
|
|
381
|
+
geocoded_at?: Maybe<Scalars['String']['output']>;
|
|
382
|
+
/** House or building number */
|
|
383
|
+
housenumber?: Maybe<Scalars['String']['output']>;
|
|
384
|
+
/** City or town */
|
|
385
|
+
locality?: Maybe<Scalars['String']['output']>;
|
|
386
|
+
/** Neighbourhood name */
|
|
387
|
+
neighbourhood?: Maybe<Scalars['String']['output']>;
|
|
388
|
+
/** Postal or ZIP code */
|
|
389
|
+
postalcode?: Maybe<Scalars['String']['output']>;
|
|
390
|
+
/** State or province */
|
|
391
|
+
region?: Maybe<Scalars['String']['output']>;
|
|
392
|
+
/** Geocoding status: success, no_coverage, error, pending */
|
|
393
|
+
status: Scalars['String']['output'];
|
|
394
|
+
/** Street name */
|
|
395
|
+
street?: Maybe<Scalars['String']['output']>;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
/** Compact reverse-geocoded address summary embedded in track-point payloads. */
|
|
399
|
+
export interface GeocodedAddressSummary {
|
|
400
|
+
__typename?: 'GeocodedAddressSummary';
|
|
401
|
+
/** Pelias confidence score (0-1) */
|
|
402
|
+
confidence?: Maybe<Scalars['Float']['output']>;
|
|
403
|
+
/** Country name */
|
|
404
|
+
country?: Maybe<Scalars['String']['output']>;
|
|
405
|
+
/** Full formatted address label from Pelias */
|
|
406
|
+
display_address?: Maybe<Scalars['String']['output']>;
|
|
407
|
+
/** UTC timestamp when geocoding was performed */
|
|
408
|
+
geocoded_at?: Maybe<Scalars['String']['output']>;
|
|
409
|
+
/** House or building number */
|
|
410
|
+
housenumber?: Maybe<Scalars['String']['output']>;
|
|
411
|
+
/** City or town */
|
|
412
|
+
locality?: Maybe<Scalars['String']['output']>;
|
|
413
|
+
/** Neighbourhood name */
|
|
414
|
+
neighbourhood?: Maybe<Scalars['String']['output']>;
|
|
415
|
+
/** Postal or ZIP code */
|
|
416
|
+
postalcode?: Maybe<Scalars['String']['output']>;
|
|
417
|
+
/** State or province */
|
|
418
|
+
region?: Maybe<Scalars['String']['output']>;
|
|
419
|
+
/** Geocoding status: success, no_coverage, error, pending */
|
|
420
|
+
status: Scalars['String']['output'];
|
|
421
|
+
/** Street name */
|
|
422
|
+
street?: Maybe<Scalars['String']['output']>;
|
|
423
|
+
/** Role of this waypoint within a Garmin activity (start, end, waypoint). Null for OwnTracks records. */
|
|
424
|
+
waypoint_kind?: Maybe<Scalars['String']['output']>;
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
/** Coverage statistics for a single geocoding source (owntracks or garmin). */
|
|
428
|
+
export interface GeocodingSourceStatus {
|
|
429
|
+
__typename?: 'GeocodingSourceStatus';
|
|
430
|
+
/** Number of records that failed geocoding */
|
|
431
|
+
errors: Scalars['Int']['output'];
|
|
432
|
+
/** Number of records outside Pelias coverage area */
|
|
433
|
+
no_coverage: Scalars['Int']['output'];
|
|
434
|
+
/** Number of records awaiting geocoding for this source */
|
|
435
|
+
pending: Scalars['Int']['output'];
|
|
436
|
+
/** Number of successfully geocoded records for this source */
|
|
437
|
+
success: Scalars['Int']['output'];
|
|
438
|
+
/** Total number of geocoded_addresses rows for this source */
|
|
109
439
|
total: Scalars['Int']['output'];
|
|
110
440
|
}
|
|
111
441
|
|
|
442
|
+
/** Coverage statistics for geocoded location records. */
|
|
443
|
+
export interface GeocodingStatus {
|
|
444
|
+
__typename?: 'GeocodingStatus';
|
|
445
|
+
/** Per-source breakdown of geocoding coverage (owntracks, garmin) */
|
|
446
|
+
by_source: GeocodingStatusBySource;
|
|
447
|
+
/** Percentage of locations with a geocoded address */
|
|
448
|
+
coverage_percent: Scalars['Float']['output'];
|
|
449
|
+
/** Number of locations that failed geocoding */
|
|
450
|
+
errors: Scalars['Int']['output'];
|
|
451
|
+
/** Number of locations with a geocoded address (any status) */
|
|
452
|
+
geocoded: Scalars['Int']['output'];
|
|
453
|
+
/** Number of locations outside Pelias coverage area */
|
|
454
|
+
no_coverage: Scalars['Int']['output'];
|
|
455
|
+
/** Number of locations awaiting geocoding */
|
|
456
|
+
pending: Scalars['Int']['output'];
|
|
457
|
+
/** Number of successfully geocoded locations */
|
|
458
|
+
success: Scalars['Int']['output'];
|
|
459
|
+
/** Total number of OwnTracks location records */
|
|
460
|
+
total_locations: Scalars['Int']['output'];
|
|
461
|
+
}
|
|
462
|
+
|
|
463
|
+
/** Per-source breakdown of geocoding coverage. */
|
|
464
|
+
export interface GeocodingStatusBySource {
|
|
465
|
+
__typename?: 'GeocodingStatusBySource';
|
|
466
|
+
/** Coverage stats for Garmin rows */
|
|
467
|
+
garmin: GeocodingSourceStatus;
|
|
468
|
+
/** Number of Garmin activities that have at least one address row */
|
|
469
|
+
garmin_activities_geocoded: Scalars['Int']['output'];
|
|
470
|
+
/** Total number of Garmin activities (denominator for activity-level coverage) */
|
|
471
|
+
garmin_activities_total: Scalars['Int']['output'];
|
|
472
|
+
/** Percentage of Garmin activities with at least one geocoded address */
|
|
473
|
+
garmin_coverage_percent: Scalars['Float']['output'];
|
|
474
|
+
/** Coverage stats for OwnTracks rows */
|
|
475
|
+
owntracks: GeocodingSourceStatus;
|
|
476
|
+
}
|
|
477
|
+
|
|
478
|
+
/** Result of triggering a batch geocoding operation. */
|
|
479
|
+
export interface GeocodingTriggerResult {
|
|
480
|
+
__typename?: 'GeocodingTriggerResult';
|
|
481
|
+
/** Number of records processed in this batch */
|
|
482
|
+
processed: Scalars['Int']['output'];
|
|
483
|
+
/** Number of records still awaiting geocoding */
|
|
484
|
+
remaining: Scalars['Int']['output'];
|
|
485
|
+
/** Number of records skipped via proximity deduplication */
|
|
486
|
+
skipped_dedup: Scalars['Int']['output'];
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
/** Service health status. */
|
|
112
490
|
export interface HealthStatus {
|
|
113
491
|
__typename?: 'HealthStatus';
|
|
492
|
+
/** Service health status (healthy or unhealthy) */
|
|
114
493
|
status: Scalars['String']['output'];
|
|
494
|
+
/** Application version from VERSION file */
|
|
115
495
|
version: Scalars['String']['output'];
|
|
116
496
|
}
|
|
117
497
|
|
|
498
|
+
/** GPS location recorded by the OwnTracks mobile app. */
|
|
118
499
|
export interface Location {
|
|
119
500
|
__typename?: 'Location';
|
|
501
|
+
/** Horizontal accuracy of the GPS fix in meters */
|
|
120
502
|
accuracy?: Maybe<Scalars['Float']['output']>;
|
|
503
|
+
/** Altitude above sea level in meters */
|
|
121
504
|
altitude?: Maybe<Scalars['Float']['output']>;
|
|
505
|
+
/** Device battery level as a percentage (0-100) */
|
|
122
506
|
battery?: Maybe<Scalars['Int']['output']>;
|
|
507
|
+
/** Battery charging state (0=unknown, 1=unplugged, 2=charging, 3=full) */
|
|
123
508
|
battery_status?: Maybe<Scalars['Int']['output']>;
|
|
509
|
+
/** Network connection type (w=WiFi, m=mobile) */
|
|
124
510
|
connection_type?: Maybe<Scalars['String']['output']>;
|
|
511
|
+
/** UTC timestamp when the record was inserted into the database */
|
|
125
512
|
created_at?: Maybe<Scalars['String']['output']>;
|
|
513
|
+
/** OwnTracks device identifier (e.g. iphone_stuart) */
|
|
126
514
|
device_id: Scalars['String']['output'];
|
|
515
|
+
/** Short formatted address from reverse geocoding */
|
|
516
|
+
display_address?: Maybe<Scalars['String']['output']>;
|
|
517
|
+
/** Unique location record identifier */
|
|
127
518
|
id: Scalars['Int']['output'];
|
|
519
|
+
/** GPS latitude in decimal degrees (WGS 84) */
|
|
128
520
|
latitude: Scalars['Float']['output'];
|
|
521
|
+
/** GPS longitude in decimal degrees (WGS 84) */
|
|
129
522
|
longitude: Scalars['Float']['output'];
|
|
523
|
+
/** Two-character tracker ID set in the OwnTracks app */
|
|
130
524
|
tid?: Maybe<Scalars['String']['output']>;
|
|
525
|
+
/** UTC timestamp when the device recorded the location */
|
|
131
526
|
timestamp: Scalars['DateTime']['output'];
|
|
527
|
+
/** What triggered this location report (p=ping, c=circular, t=timer) */
|
|
132
528
|
trigger?: Maybe<Scalars['String']['output']>;
|
|
529
|
+
/** Device velocity in km/h at time of report */
|
|
133
530
|
velocity?: Maybe<Scalars['Float']['output']>;
|
|
134
531
|
}
|
|
135
532
|
|
|
533
|
+
/** Paginated list of OwnTracks location records. */
|
|
136
534
|
export interface LocationConnection {
|
|
137
535
|
__typename?: 'LocationConnection';
|
|
536
|
+
/** List of location items in the current page */
|
|
138
537
|
items: Array<Location>;
|
|
538
|
+
/** Maximum number of items per page */
|
|
139
539
|
limit: Scalars['Int']['output'];
|
|
540
|
+
/** Number of items skipped from the start */
|
|
140
541
|
offset: Scalars['Int']['output'];
|
|
542
|
+
/** Total number of items matching the query */
|
|
141
543
|
total: Scalars['Int']['output'];
|
|
142
544
|
}
|
|
143
545
|
|
|
546
|
+
/** Aggregate location count with optional filter context. */
|
|
144
547
|
export interface LocationCount {
|
|
145
548
|
__typename?: 'LocationCount';
|
|
549
|
+
/** Total number of location records matching the filter */
|
|
146
550
|
count: Scalars['Int']['output'];
|
|
551
|
+
/** Date filter applied (YYYY-MM-DD), if any */
|
|
147
552
|
date?: Maybe<Scalars['String']['output']>;
|
|
553
|
+
/** Device ID filter applied, if any */
|
|
148
554
|
device_id?: Maybe<Scalars['String']['output']>;
|
|
149
555
|
}
|
|
150
556
|
|
|
557
|
+
/** Earliest and latest timestamps in the locations table. */
|
|
558
|
+
export interface LocationDateRange {
|
|
559
|
+
__typename?: 'LocationDateRange';
|
|
560
|
+
/** Latest location timestamp (ISO 8601) */
|
|
561
|
+
max_date: Scalars['DateTime']['output'];
|
|
562
|
+
/** Earliest location timestamp (ISO 8601) */
|
|
563
|
+
min_date: Scalars['DateTime']['output'];
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
/** Full location detail including the original OwnTracks JSON payload. */
|
|
151
567
|
export interface LocationDetail {
|
|
152
568
|
__typename?: 'LocationDetail';
|
|
569
|
+
/** Horizontal accuracy of the GPS fix in meters */
|
|
153
570
|
accuracy?: Maybe<Scalars['Float']['output']>;
|
|
571
|
+
/** Full reverse-geocoded address components from Pelias */
|
|
572
|
+
address?: Maybe<GeocodedAddress>;
|
|
573
|
+
/** Altitude above sea level in meters */
|
|
154
574
|
altitude?: Maybe<Scalars['Float']['output']>;
|
|
575
|
+
/** Device battery level as a percentage (0-100) */
|
|
155
576
|
battery?: Maybe<Scalars['Int']['output']>;
|
|
577
|
+
/** Battery charging state (0=unknown, 1=unplugged, 2=charging, 3=full) */
|
|
156
578
|
battery_status?: Maybe<Scalars['Int']['output']>;
|
|
579
|
+
/** Network connection type (w=WiFi, m=mobile) */
|
|
157
580
|
connection_type?: Maybe<Scalars['String']['output']>;
|
|
581
|
+
/** UTC timestamp when the record was inserted into the database */
|
|
158
582
|
created_at?: Maybe<Scalars['String']['output']>;
|
|
583
|
+
/** OwnTracks device identifier (e.g. iphone_stuart) */
|
|
159
584
|
device_id: Scalars['String']['output'];
|
|
585
|
+
/** Unique location record identifier */
|
|
160
586
|
id: Scalars['Int']['output'];
|
|
587
|
+
/** GPS latitude in decimal degrees (WGS 84) */
|
|
161
588
|
latitude: Scalars['Float']['output'];
|
|
589
|
+
/** GPS longitude in decimal degrees (WGS 84) */
|
|
162
590
|
longitude: Scalars['Float']['output'];
|
|
591
|
+
/** Original OwnTracks JSON payload as received from the MQTT broker */
|
|
163
592
|
raw_payload?: Maybe<Scalars['JSON']['output']>;
|
|
593
|
+
/** Two-character tracker ID set in the OwnTracks app */
|
|
164
594
|
tid?: Maybe<Scalars['String']['output']>;
|
|
595
|
+
/** UTC timestamp when the device recorded the location */
|
|
165
596
|
timestamp: Scalars['DateTime']['output'];
|
|
597
|
+
/** What triggered this location report (p=ping, c=circular, t=timer) */
|
|
166
598
|
trigger?: Maybe<Scalars['String']['output']>;
|
|
599
|
+
/** Device velocity in km/h at time of report */
|
|
167
600
|
velocity?: Maybe<Scalars['Float']['output']>;
|
|
168
601
|
}
|
|
169
602
|
|
|
603
|
+
export interface Mutation {
|
|
604
|
+
__typename?: 'Mutation';
|
|
605
|
+
/** Trigger an on-demand Garmin sync in the upstream API. */
|
|
606
|
+
triggerGarminSync: GarminSyncTriggerResult;
|
|
607
|
+
/** Trigger batch reverse-geocoding of un-geocoded location records. */
|
|
608
|
+
triggerGeocoding: GeocodingTriggerResult;
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
export interface MutationTriggerGarminSyncArgs {
|
|
612
|
+
lookback?: InputMaybe<Scalars['Int']['input']>;
|
|
613
|
+
window_hours?: InputMaybe<Scalars['Int']['input']>;
|
|
614
|
+
}
|
|
615
|
+
|
|
616
|
+
export interface MutationTriggerGeocodingArgs {
|
|
617
|
+
batch_size?: InputMaybe<Scalars['Int']['input']>;
|
|
618
|
+
retry_failed?: InputMaybe<Scalars['Boolean']['input']>;
|
|
619
|
+
}
|
|
620
|
+
|
|
621
|
+
/** GPS point found within a spatial proximity search. */
|
|
170
622
|
export interface NearbyPoint {
|
|
171
623
|
__typename?: 'NearbyPoint';
|
|
624
|
+
/** Distance from the search center point in meters */
|
|
172
625
|
distance_meters: Scalars['Float']['output'];
|
|
626
|
+
/** Record identifier in the source table */
|
|
173
627
|
id: Scalars['Int']['output'];
|
|
628
|
+
/** GPS latitude in decimal degrees (WGS 84) */
|
|
174
629
|
latitude: Scalars['Float']['output'];
|
|
630
|
+
/** GPS longitude in decimal degrees (WGS 84) */
|
|
175
631
|
longitude: Scalars['Float']['output'];
|
|
632
|
+
/** Data source: 'owntracks' or 'garmin' */
|
|
176
633
|
source: Scalars['String']['output'];
|
|
634
|
+
/** UTC timestamp of the GPS recording */
|
|
177
635
|
timestamp: Scalars['DateTime']['output'];
|
|
178
636
|
}
|
|
179
637
|
|
|
638
|
+
/** Pagination metadata for paginated list responses. */
|
|
180
639
|
export interface PaginationInfo {
|
|
181
640
|
__typename?: 'PaginationInfo';
|
|
641
|
+
/** Maximum number of items per page */
|
|
182
642
|
limit: Scalars['Int']['output'];
|
|
643
|
+
/** Number of items skipped from the start */
|
|
183
644
|
offset: Scalars['Int']['output'];
|
|
645
|
+
/** Total number of items matching the query */
|
|
184
646
|
total: Scalars['Int']['output'];
|
|
185
647
|
}
|
|
186
648
|
|
|
187
649
|
export interface Query {
|
|
188
650
|
__typename?: 'Query';
|
|
651
|
+
/** Calculate the geodesic distance between two geographic points. */
|
|
189
652
|
calculateDistance: DistanceResult;
|
|
190
|
-
|
|
653
|
+
/** Retrieve daily activity summaries combining OwnTracks and Garmin data. */
|
|
654
|
+
dailySummary: DailySummaryConnection;
|
|
655
|
+
/** Get the earliest and latest activity dates available in the daily activity summary view. */
|
|
656
|
+
dailySummaryDateRange: DailySummaryDateRange;
|
|
657
|
+
/** List all distinct OwnTracks device identifiers. */
|
|
191
658
|
devices: Array<DeviceInfo>;
|
|
659
|
+
/** Retrieve a paginated list of Garmin activities. */
|
|
192
660
|
garminActivities: GarminActivityConnection;
|
|
661
|
+
/** Retrieve a single Garmin activity by its ID. */
|
|
193
662
|
garminActivity?: Maybe<GarminActivity>;
|
|
663
|
+
/** Retrieve all reverse-geocoded addresses for a Garmin activity (start, mid-route waypoints, and end). */
|
|
664
|
+
garminActivityAddresses: Array<GarminActivityAddress>;
|
|
665
|
+
/** Aggregate Garmin activity totals grouped by week, month, or year. */
|
|
666
|
+
garminActivityTotals: Array<GarminActivityTotal>;
|
|
667
|
+
/** Retrieve chart-optimised track points for a Garmin activity. */
|
|
668
|
+
garminChartData: Array<GarminChartPoint>;
|
|
669
|
+
/** Get the earliest and latest Garmin activity timestamps. */
|
|
670
|
+
garminDateRange: GarminDateRange;
|
|
671
|
+
/** List all distinct sport types with activity counts. */
|
|
194
672
|
garminSports: Array<SportInfo>;
|
|
673
|
+
/** Retrieve paginated GPS track points for a Garmin activity. */
|
|
195
674
|
garminTrackPoints: GarminTrackPointConnection;
|
|
675
|
+
/** Get geocoding coverage statistics. */
|
|
676
|
+
geocodingStatus: GeocodingStatus;
|
|
677
|
+
/** Get service health status. */
|
|
196
678
|
health: HealthStatus;
|
|
679
|
+
/** Retrieve a single location by its ID, including raw payload. */
|
|
197
680
|
location?: Maybe<LocationDetail>;
|
|
681
|
+
/** Get aggregate count of location records with optional filters. */
|
|
198
682
|
locationCount: LocationCount;
|
|
683
|
+
/** Get the earliest and latest location timestamps. */
|
|
684
|
+
locationDateRange: LocationDateRange;
|
|
685
|
+
/** Retrieve a paginated list of OwnTracks location records. */
|
|
199
686
|
locations: LocationConnection;
|
|
687
|
+
/** Find GPS points within a radius of a geographic coordinate. */
|
|
200
688
|
nearbyPoints: Array<NearbyPoint>;
|
|
689
|
+
/** Get service readiness status including database connectivity. */
|
|
201
690
|
ready: ReadyStatus;
|
|
691
|
+
/** Retrieve a single reference location by its ID. */
|
|
202
692
|
referenceLocation?: Maybe<ReferenceLocation>;
|
|
693
|
+
/** List all named reference locations. */
|
|
203
694
|
referenceLocations: Array<ReferenceLocation>;
|
|
695
|
+
/** Retrieve a paginated list of unified GPS points from all sources. */
|
|
204
696
|
unifiedGps: UnifiedGpsConnection;
|
|
697
|
+
/** Find GPS points within a named reference location's geofence. */
|
|
205
698
|
withinReference: WithinReferenceResult;
|
|
206
699
|
}
|
|
207
700
|
|
|
208
|
-
|
|
209
701
|
export interface QueryCalculateDistanceArgs {
|
|
210
702
|
from_lat: Scalars['Float']['input'];
|
|
211
703
|
from_lon: Scalars['Float']['input'];
|
|
@@ -213,14 +705,13 @@ export interface QueryCalculateDistanceArgs {
|
|
|
213
705
|
to_lon: Scalars['Float']['input'];
|
|
214
706
|
}
|
|
215
707
|
|
|
216
|
-
|
|
217
708
|
export interface QueryDailySummaryArgs {
|
|
218
709
|
date_from?: InputMaybe<Scalars['String']['input']>;
|
|
219
710
|
date_to?: InputMaybe<Scalars['String']['input']>;
|
|
220
711
|
limit?: InputMaybe<Scalars['Int']['input']>;
|
|
712
|
+
offset?: InputMaybe<Scalars['Int']['input']>;
|
|
221
713
|
}
|
|
222
714
|
|
|
223
|
-
|
|
224
715
|
export interface QueryGarminActivitiesArgs {
|
|
225
716
|
date_from?: InputMaybe<Scalars['String']['input']>;
|
|
226
717
|
date_to?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -231,11 +722,24 @@ export interface QueryGarminActivitiesArgs {
|
|
|
231
722
|
sport?: InputMaybe<Scalars['String']['input']>;
|
|
232
723
|
}
|
|
233
724
|
|
|
234
|
-
|
|
235
725
|
export interface QueryGarminActivityArgs {
|
|
236
726
|
activity_id: Scalars['String']['input'];
|
|
237
727
|
}
|
|
238
728
|
|
|
729
|
+
export interface QueryGarminActivityAddressesArgs {
|
|
730
|
+
activity_id: Scalars['String']['input'];
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
export interface QueryGarminActivityTotalsArgs {
|
|
734
|
+
date_from?: InputMaybe<Scalars['String']['input']>;
|
|
735
|
+
date_to?: InputMaybe<Scalars['String']['input']>;
|
|
736
|
+
period: Scalars['String']['input'];
|
|
737
|
+
sport?: InputMaybe<Scalars['String']['input']>;
|
|
738
|
+
}
|
|
739
|
+
|
|
740
|
+
export interface QueryGarminChartDataArgs {
|
|
741
|
+
activity_id: Scalars['String']['input'];
|
|
742
|
+
}
|
|
239
743
|
|
|
240
744
|
export interface QueryGarminTrackPointsArgs {
|
|
241
745
|
activity_id: Scalars['String']['input'];
|
|
@@ -246,18 +750,15 @@ export interface QueryGarminTrackPointsArgs {
|
|
|
246
750
|
sort?: InputMaybe<Scalars['String']['input']>;
|
|
247
751
|
}
|
|
248
752
|
|
|
249
|
-
|
|
250
753
|
export interface QueryLocationArgs {
|
|
251
754
|
id: Scalars['Int']['input'];
|
|
252
755
|
}
|
|
253
756
|
|
|
254
|
-
|
|
255
757
|
export interface QueryLocationCountArgs {
|
|
256
758
|
date?: InputMaybe<Scalars['String']['input']>;
|
|
257
759
|
device_id?: InputMaybe<Scalars['String']['input']>;
|
|
258
760
|
}
|
|
259
761
|
|
|
260
|
-
|
|
261
762
|
export interface QueryLocationsArgs {
|
|
262
763
|
date_from?: InputMaybe<Scalars['String']['input']>;
|
|
263
764
|
date_to?: InputMaybe<Scalars['String']['input']>;
|
|
@@ -268,7 +769,6 @@ export interface QueryLocationsArgs {
|
|
|
268
769
|
sort?: InputMaybe<Scalars['String']['input']>;
|
|
269
770
|
}
|
|
270
771
|
|
|
271
|
-
|
|
272
772
|
export interface QueryNearbyPointsArgs {
|
|
273
773
|
lat: Scalars['Float']['input'];
|
|
274
774
|
limit?: InputMaybe<Scalars['Int']['input']>;
|
|
@@ -277,83 +777,122 @@ export interface QueryNearbyPointsArgs {
|
|
|
277
777
|
source?: InputMaybe<Scalars['String']['input']>;
|
|
278
778
|
}
|
|
279
779
|
|
|
280
|
-
|
|
281
780
|
export interface QueryReferenceLocationArgs {
|
|
282
781
|
id: Scalars['Int']['input'];
|
|
283
782
|
}
|
|
284
783
|
|
|
285
|
-
|
|
286
784
|
export interface QueryUnifiedGpsArgs {
|
|
287
785
|
date_from?: InputMaybe<Scalars['String']['input']>;
|
|
288
786
|
date_to?: InputMaybe<Scalars['String']['input']>;
|
|
787
|
+
deduplicate?: InputMaybe<Scalars['Boolean']['input']>;
|
|
788
|
+
exclude_stationary?: InputMaybe<Scalars['Boolean']['input']>;
|
|
289
789
|
limit?: InputMaybe<Scalars['Int']['input']>;
|
|
290
790
|
offset?: InputMaybe<Scalars['Int']['input']>;
|
|
291
791
|
order?: InputMaybe<SortOrder>;
|
|
292
792
|
source?: InputMaybe<Scalars['String']['input']>;
|
|
293
793
|
}
|
|
294
794
|
|
|
295
|
-
|
|
296
795
|
export interface QueryWithinReferenceArgs {
|
|
297
796
|
limit?: InputMaybe<Scalars['Int']['input']>;
|
|
298
797
|
name: Scalars['String']['input'];
|
|
299
798
|
source?: InputMaybe<Scalars['String']['input']>;
|
|
300
799
|
}
|
|
301
800
|
|
|
801
|
+
/** Service readiness status including database connectivity. */
|
|
302
802
|
export interface ReadyStatus {
|
|
303
803
|
__typename?: 'ReadyStatus';
|
|
804
|
+
/** Database connection status */
|
|
304
805
|
database?: Maybe<Scalars['String']['output']>;
|
|
806
|
+
/** Service readiness status */
|
|
305
807
|
status: Scalars['String']['output'];
|
|
808
|
+
/** Application version from VERSION file */
|
|
306
809
|
version?: Maybe<Scalars['String']['output']>;
|
|
307
810
|
}
|
|
308
811
|
|
|
812
|
+
/** Named geographic reference point used for spatial queries (e.g. home, office). */
|
|
309
813
|
export interface ReferenceLocation {
|
|
310
814
|
__typename?: 'ReferenceLocation';
|
|
815
|
+
/** UTC timestamp when the record was created */
|
|
311
816
|
created_at?: Maybe<Scalars['String']['output']>;
|
|
817
|
+
/** Optional human-readable description of the location */
|
|
312
818
|
description?: Maybe<Scalars['String']['output']>;
|
|
819
|
+
/** Unique reference location identifier */
|
|
313
820
|
id: Scalars['Int']['output'];
|
|
821
|
+
/** GPS latitude in decimal degrees (WGS 84) */
|
|
314
822
|
latitude: Scalars['Float']['output'];
|
|
823
|
+
/** GPS longitude in decimal degrees (WGS 84) */
|
|
315
824
|
longitude: Scalars['Float']['output'];
|
|
825
|
+
/** Short, unique name for the location (e.g. home, office) */
|
|
316
826
|
name: Scalars['String']['output'];
|
|
827
|
+
/** Geofence radius in meters for proximity queries */
|
|
317
828
|
radius_meters: Scalars['Float']['output'];
|
|
829
|
+
/** UTC timestamp when the record was last updated */
|
|
318
830
|
updated_at?: Maybe<Scalars['String']['output']>;
|
|
319
831
|
}
|
|
320
832
|
|
|
833
|
+
/** Sort direction for query results. */
|
|
321
834
|
export type SortOrder =
|
|
835
|
+
/** Ascending order (oldest first, A-Z) */
|
|
322
836
|
| 'asc'
|
|
837
|
+
/** Descending order (newest first, Z-A) */
|
|
323
838
|
| 'desc';
|
|
324
839
|
|
|
840
|
+
/** Sport type with its activity count. */
|
|
325
841
|
export interface SportInfo {
|
|
326
842
|
__typename?: 'SportInfo';
|
|
843
|
+
/** Number of activities for this sport */
|
|
327
844
|
activity_count: Scalars['Int']['output'];
|
|
845
|
+
/** Sport type name (e.g. cycling, running) */
|
|
328
846
|
sport: Scalars['String']['output'];
|
|
329
847
|
}
|
|
330
848
|
|
|
849
|
+
/** Paginated list of unified GPS data points. */
|
|
331
850
|
export interface UnifiedGpsConnection {
|
|
332
851
|
__typename?: 'UnifiedGpsConnection';
|
|
852
|
+
/** List of unified GPS items in the current page */
|
|
333
853
|
items: Array<UnifiedGpsPoint>;
|
|
854
|
+
/** Maximum number of items per page */
|
|
334
855
|
limit: Scalars['Int']['output'];
|
|
856
|
+
/** Number of items skipped from the start */
|
|
335
857
|
offset: Scalars['Int']['output'];
|
|
858
|
+
/** Total number of items matching the query */
|
|
336
859
|
total: Scalars['Int']['output'];
|
|
337
860
|
}
|
|
338
861
|
|
|
862
|
+
/** Single GPS data point from the unified view combining OwnTracks and Garmin sources. */
|
|
339
863
|
export interface UnifiedGpsPoint {
|
|
340
864
|
__typename?: 'UnifiedGpsPoint';
|
|
865
|
+
/** Horizontal GPS accuracy in meters (OwnTracks only) */
|
|
341
866
|
accuracy?: Maybe<Scalars['Float']['output']>;
|
|
867
|
+
/** Device battery percentage (OwnTracks only) */
|
|
342
868
|
battery?: Maybe<Scalars['Int']['output']>;
|
|
869
|
+
/** UTC timestamp when the record was inserted */
|
|
343
870
|
created_at?: Maybe<Scalars['String']['output']>;
|
|
871
|
+
/** Heart rate in BPM (Garmin only) */
|
|
344
872
|
heart_rate?: Maybe<Scalars['Int']['output']>;
|
|
873
|
+
/** Device or activity identifier from the source */
|
|
345
874
|
identifier: Scalars['String']['output'];
|
|
875
|
+
/** GPS latitude in decimal degrees (WGS 84) */
|
|
346
876
|
latitude: Scalars['Float']['output'];
|
|
877
|
+
/** GPS longitude in decimal degrees (WGS 84) */
|
|
347
878
|
longitude: Scalars['Float']['output'];
|
|
879
|
+
/** Data source: 'owntracks' or 'garmin' */
|
|
348
880
|
source: Scalars['String']['output'];
|
|
881
|
+
/** Instantaneous speed in km/h (Garmin only) */
|
|
349
882
|
speed_kmh?: Maybe<Scalars['Float']['output']>;
|
|
883
|
+
/** UTC timestamp of the GPS recording */
|
|
350
884
|
timestamp: Scalars['DateTime']['output'];
|
|
351
885
|
}
|
|
352
886
|
|
|
887
|
+
/** GPS points found within a named reference location's geofence radius. */
|
|
353
888
|
export interface WithinReferenceResult {
|
|
354
889
|
__typename?: 'WithinReferenceResult';
|
|
890
|
+
/** GPS points within the radius, sorted by distance */
|
|
355
891
|
points: Array<NearbyPoint>;
|
|
892
|
+
/** Geofence radius used for the search in meters */
|
|
356
893
|
radius_meters: Scalars['Float']['output'];
|
|
894
|
+
/** Name of the reference location searched */
|
|
357
895
|
reference_name: Scalars['String']['output'];
|
|
896
|
+
/** Number of GPS points found within the radius */
|
|
358
897
|
total_points: Scalars['Int']['output'];
|
|
359
898
|
}
|