@stuartshay/otel-graphql-types 1.0.0 → 1.0.94
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 +246 -0
- package/package.json +1 -1
- package/schema.graphql +809 -4
package/index.d.ts
CHANGED
|
@@ -16,192 +16,393 @@ export interface Scalars {
|
|
|
16
16
|
JSON: { input: Record<string, unknown>; output: Record<string, unknown>; }
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
/** Per-day aggregate combining OwnTracks location stats and Garmin activity metrics. */
|
|
19
20
|
export interface DailyActivitySummary {
|
|
20
21
|
__typename?: 'DailyActivitySummary';
|
|
22
|
+
/** Calendar date in YYYY-MM-DD format */
|
|
21
23
|
activity_date?: Maybe<Scalars['String']['output']>;
|
|
24
|
+
/** Mean horizontal GPS accuracy in meters */
|
|
22
25
|
avg_accuracy?: Maybe<Scalars['Float']['output']>;
|
|
26
|
+
/** Mean heart rate across Garmin activities in BPM */
|
|
23
27
|
avg_heart_rate?: Maybe<Scalars['Int']['output']>;
|
|
28
|
+
/** Number of Garmin activities recorded */
|
|
24
29
|
garmin_activities?: Maybe<Scalars['Int']['output']>;
|
|
30
|
+
/** Garmin sport type for activities on this day */
|
|
25
31
|
garmin_sport?: Maybe<Scalars['String']['output']>;
|
|
32
|
+
/** Highest device battery percentage observed */
|
|
26
33
|
max_battery?: Maybe<Scalars['Int']['output']>;
|
|
34
|
+
/** Lowest device battery percentage observed */
|
|
27
35
|
min_battery?: Maybe<Scalars['Int']['output']>;
|
|
36
|
+
/** OwnTracks device that reported data for this day */
|
|
28
37
|
owntracks_device?: Maybe<Scalars['String']['output']>;
|
|
38
|
+
/** Number of OwnTracks GPS points recorded */
|
|
29
39
|
owntracks_points?: Maybe<Scalars['Int']['output']>;
|
|
40
|
+
/** Total calories burned across Garmin activities */
|
|
30
41
|
total_calories?: Maybe<Scalars['Int']['output']>;
|
|
42
|
+
/** Combined Garmin activity distance in km */
|
|
31
43
|
total_distance_km?: Maybe<Scalars['Float']['output']>;
|
|
44
|
+
/** Combined Garmin activity duration in seconds */
|
|
32
45
|
total_duration_seconds?: Maybe<Scalars['Float']['output']>;
|
|
33
46
|
}
|
|
34
47
|
|
|
48
|
+
/** Distinct OwnTracks device identifier. */
|
|
35
49
|
export interface DeviceInfo {
|
|
36
50
|
__typename?: 'DeviceInfo';
|
|
51
|
+
/** OwnTracks device identifier */
|
|
37
52
|
device_id: Scalars['String']['output'];
|
|
38
53
|
}
|
|
39
54
|
|
|
55
|
+
/** Geodesic distance calculation result between two geographic points. */
|
|
40
56
|
export interface DistanceResult {
|
|
41
57
|
__typename?: 'DistanceResult';
|
|
58
|
+
/** Geodesic distance between the two points in meters */
|
|
42
59
|
distance_meters: Scalars['Float']['output'];
|
|
60
|
+
/** Origin latitude in decimal degrees */
|
|
43
61
|
from_lat: Scalars['Float']['output'];
|
|
62
|
+
/** Origin longitude in decimal degrees */
|
|
44
63
|
from_lon: Scalars['Float']['output'];
|
|
64
|
+
/** Destination latitude in decimal degrees */
|
|
45
65
|
to_lat: Scalars['Float']['output'];
|
|
66
|
+
/** Destination longitude in decimal degrees */
|
|
46
67
|
to_lon: Scalars['Float']['output'];
|
|
47
68
|
}
|
|
48
69
|
|
|
70
|
+
/** Summary of a Garmin Connect activity parsed from a FIT file. */
|
|
49
71
|
export interface GarminActivity {
|
|
50
72
|
__typename?: 'GarminActivity';
|
|
73
|
+
/** Garmin Connect activity identifier */
|
|
51
74
|
activity_id: Scalars['String']['output'];
|
|
75
|
+
/** Average cadence in RPM */
|
|
52
76
|
avg_cadence?: Maybe<Scalars['Int']['output']>;
|
|
77
|
+
/** Average heart rate in beats per minute */
|
|
53
78
|
avg_heart_rate?: Maybe<Scalars['Int']['output']>;
|
|
79
|
+
/** Average pace in minutes per kilometre */
|
|
54
80
|
avg_pace?: Maybe<Scalars['Float']['output']>;
|
|
81
|
+
/** Average speed in km/h */
|
|
55
82
|
avg_speed_kmh?: Maybe<Scalars['Float']['output']>;
|
|
83
|
+
/** Average ambient temperature in degrees C */
|
|
56
84
|
avg_temperature_c?: Maybe<Scalars['Int']['output']>;
|
|
85
|
+
/** Total calories burned */
|
|
57
86
|
calories?: Maybe<Scalars['Int']['output']>;
|
|
87
|
+
/** UTC timestamp when the record was inserted */
|
|
58
88
|
created_at?: Maybe<Scalars['String']['output']>;
|
|
89
|
+
/** Device manufacturer (e.g. garmin) */
|
|
59
90
|
device_manufacturer?: Maybe<Scalars['String']['output']>;
|
|
91
|
+
/** Total distance in kilometres */
|
|
60
92
|
distance_km?: Maybe<Scalars['Float']['output']>;
|
|
93
|
+
/** Active duration in seconds (excludes pauses) */
|
|
61
94
|
duration_seconds?: Maybe<Scalars['Float']['output']>;
|
|
95
|
+
/** Activity end time in UTC */
|
|
62
96
|
end_time?: Maybe<Scalars['String']['output']>;
|
|
97
|
+
/** Maximum cadence in RPM */
|
|
63
98
|
max_cadence?: Maybe<Scalars['Int']['output']>;
|
|
99
|
+
/** Maximum heart rate in beats per minute */
|
|
64
100
|
max_heart_rate?: Maybe<Scalars['Int']['output']>;
|
|
101
|
+
/** Maximum speed in km/h */
|
|
65
102
|
max_speed_kmh?: Maybe<Scalars['Float']['output']>;
|
|
103
|
+
/** Maximum ambient temperature in degrees C */
|
|
66
104
|
max_temperature_c?: Maybe<Scalars['Int']['output']>;
|
|
105
|
+
/** Minimum ambient temperature in degrees C */
|
|
67
106
|
min_temperature_c?: Maybe<Scalars['Int']['output']>;
|
|
107
|
+
/** Primary sport type (e.g. cycling, running) */
|
|
68
108
|
sport: Scalars['String']['output'];
|
|
109
|
+
/** Activity start time in UTC */
|
|
69
110
|
start_time?: Maybe<Scalars['String']['output']>;
|
|
111
|
+
/** Sub-sport classification (e.g. road, trail) */
|
|
70
112
|
sub_sport?: Maybe<Scalars['String']['output']>;
|
|
113
|
+
/** Total elevation gain in meters */
|
|
71
114
|
total_ascent_m?: Maybe<Scalars['Float']['output']>;
|
|
115
|
+
/** Total elevation loss in meters */
|
|
72
116
|
total_descent_m?: Maybe<Scalars['Float']['output']>;
|
|
117
|
+
/** Raw total distance in meters from FIT file */
|
|
73
118
|
total_distance?: Maybe<Scalars['Float']['output']>;
|
|
119
|
+
/** Total elapsed time in seconds (includes pauses) */
|
|
74
120
|
total_elapsed_time?: Maybe<Scalars['Float']['output']>;
|
|
121
|
+
/** Total timer time in seconds (active recording) */
|
|
75
122
|
total_timer_time?: Maybe<Scalars['Float']['output']>;
|
|
123
|
+
/** Number of GPS track points in this activity */
|
|
76
124
|
track_point_count?: Maybe<Scalars['Int']['output']>;
|
|
125
|
+
/** UTC timestamp when the FIT file was uploaded */
|
|
77
126
|
uploaded_at?: Maybe<Scalars['String']['output']>;
|
|
78
127
|
}
|
|
79
128
|
|
|
129
|
+
/** Paginated list of Garmin activities. */
|
|
80
130
|
export interface GarminActivityConnection {
|
|
81
131
|
__typename?: 'GarminActivityConnection';
|
|
132
|
+
/** List of Garmin activity items in the current page */
|
|
82
133
|
items: Array<GarminActivity>;
|
|
134
|
+
/** Maximum number of items per page */
|
|
83
135
|
limit: Scalars['Int']['output'];
|
|
136
|
+
/** Number of items skipped from the start */
|
|
84
137
|
offset: Scalars['Int']['output'];
|
|
138
|
+
/** Total number of items matching the query */
|
|
85
139
|
total: Scalars['Int']['output'];
|
|
86
140
|
}
|
|
87
141
|
|
|
142
|
+
/** Lightweight track point optimised for time-series chart rendering. */
|
|
143
|
+
export interface GarminChartPoint {
|
|
144
|
+
__typename?: 'GarminChartPoint';
|
|
145
|
+
/** Elevation above sea level in meters */
|
|
146
|
+
altitude?: Maybe<Scalars['Float']['output']>;
|
|
147
|
+
/** Pedal/step cadence in RPM */
|
|
148
|
+
cadence?: Maybe<Scalars['Int']['output']>;
|
|
149
|
+
/** Cumulative distance from activity start in km */
|
|
150
|
+
distance_from_start_km?: Maybe<Scalars['Float']['output']>;
|
|
151
|
+
/** Heart rate in beats per minute */
|
|
152
|
+
heart_rate?: Maybe<Scalars['Int']['output']>;
|
|
153
|
+
/** GPS latitude in decimal degrees (WGS 84) */
|
|
154
|
+
latitude: Scalars['Float']['output'];
|
|
155
|
+
/** GPS longitude in decimal degrees (WGS 84) */
|
|
156
|
+
longitude: Scalars['Float']['output'];
|
|
157
|
+
/** Instantaneous speed in km/h */
|
|
158
|
+
speed_kmh?: Maybe<Scalars['Float']['output']>;
|
|
159
|
+
/** Ambient temperature in degrees C */
|
|
160
|
+
temperature_c?: Maybe<Scalars['Float']['output']>;
|
|
161
|
+
/** UTC timestamp of the data point */
|
|
162
|
+
timestamp: Scalars['DateTime']['output'];
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/** Result payload returned when triggering an on-demand Garmin sync. */
|
|
166
|
+
export interface GarminSyncTriggerResult {
|
|
167
|
+
__typename?: 'GarminSyncTriggerResult';
|
|
168
|
+
/** True when a new sync run was accepted and triggered */
|
|
169
|
+
accepted: Scalars['Boolean']['output'];
|
|
170
|
+
/** Effective lookback value, when provided */
|
|
171
|
+
lookback?: Maybe<Scalars['Int']['output']>;
|
|
172
|
+
/** Human-readable status message from upstream sync service */
|
|
173
|
+
message: Scalars['String']['output'];
|
|
174
|
+
/** UTC timestamp when an already-running sync started */
|
|
175
|
+
started_at?: Maybe<Scalars['String']['output']>;
|
|
176
|
+
/** Sync trigger status (e.g. accepted, conflict, bad_request, error) */
|
|
177
|
+
status: Scalars['String']['output'];
|
|
178
|
+
/** UTC timestamp when sync was triggered */
|
|
179
|
+
triggered_at?: Maybe<Scalars['String']['output']>;
|
|
180
|
+
/** Effective sync window in hours */
|
|
181
|
+
window_hours?: Maybe<Scalars['Int']['output']>;
|
|
182
|
+
/** Window start timestamp computed by upstream service, when available */
|
|
183
|
+
window_start?: Maybe<Scalars['String']['output']>;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/** Individual GPS track point within a Garmin activity. */
|
|
88
187
|
export interface GarminTrackPoint {
|
|
89
188
|
__typename?: 'GarminTrackPoint';
|
|
189
|
+
/** Parent Garmin activity identifier */
|
|
90
190
|
activity_id: Scalars['String']['output'];
|
|
191
|
+
/** Elevation above sea level in meters */
|
|
91
192
|
altitude?: Maybe<Scalars['Float']['output']>;
|
|
193
|
+
/** Pedal/step cadence in RPM */
|
|
92
194
|
cadence?: Maybe<Scalars['Int']['output']>;
|
|
195
|
+
/** UTC timestamp when the record was inserted */
|
|
93
196
|
created_at?: Maybe<Scalars['String']['output']>;
|
|
197
|
+
/** Cumulative distance from activity start in km */
|
|
94
198
|
distance_from_start_km?: Maybe<Scalars['Float']['output']>;
|
|
199
|
+
/** Heart rate in beats per minute */
|
|
95
200
|
heart_rate?: Maybe<Scalars['Int']['output']>;
|
|
201
|
+
/** Unique track point record identifier */
|
|
96
202
|
id: Scalars['Int']['output'];
|
|
203
|
+
/** GPS latitude in decimal degrees (WGS 84) */
|
|
97
204
|
latitude: Scalars['Float']['output'];
|
|
205
|
+
/** GPS longitude in decimal degrees (WGS 84) */
|
|
98
206
|
longitude: Scalars['Float']['output'];
|
|
207
|
+
/** Instantaneous speed in km/h */
|
|
99
208
|
speed_kmh?: Maybe<Scalars['Float']['output']>;
|
|
209
|
+
/** Ambient temperature in degrees C */
|
|
100
210
|
temperature_c?: Maybe<Scalars['Float']['output']>;
|
|
211
|
+
/** UTC timestamp of the track point recording */
|
|
101
212
|
timestamp: Scalars['DateTime']['output'];
|
|
102
213
|
}
|
|
103
214
|
|
|
215
|
+
/** Paginated list of Garmin track points. */
|
|
104
216
|
export interface GarminTrackPointConnection {
|
|
105
217
|
__typename?: 'GarminTrackPointConnection';
|
|
218
|
+
/** List of track point items in the current page */
|
|
106
219
|
items: Array<GarminTrackPoint>;
|
|
220
|
+
/** Maximum number of items per page */
|
|
107
221
|
limit: Scalars['Int']['output'];
|
|
222
|
+
/** Number of items skipped from the start */
|
|
108
223
|
offset: Scalars['Int']['output'];
|
|
224
|
+
/** Total number of items matching the query */
|
|
109
225
|
total: Scalars['Int']['output'];
|
|
110
226
|
}
|
|
111
227
|
|
|
228
|
+
/** Service health status. */
|
|
112
229
|
export interface HealthStatus {
|
|
113
230
|
__typename?: 'HealthStatus';
|
|
231
|
+
/** Service health status (healthy or unhealthy) */
|
|
114
232
|
status: Scalars['String']['output'];
|
|
233
|
+
/** Application version from VERSION file */
|
|
115
234
|
version: Scalars['String']['output'];
|
|
116
235
|
}
|
|
117
236
|
|
|
237
|
+
/** GPS location recorded by the OwnTracks mobile app. */
|
|
118
238
|
export interface Location {
|
|
119
239
|
__typename?: 'Location';
|
|
240
|
+
/** Horizontal accuracy of the GPS fix in meters */
|
|
120
241
|
accuracy?: Maybe<Scalars['Float']['output']>;
|
|
242
|
+
/** Altitude above sea level in meters */
|
|
121
243
|
altitude?: Maybe<Scalars['Float']['output']>;
|
|
244
|
+
/** Device battery level as a percentage (0-100) */
|
|
122
245
|
battery?: Maybe<Scalars['Int']['output']>;
|
|
246
|
+
/** Battery charging state (0=unknown, 1=unplugged, 2=charging, 3=full) */
|
|
123
247
|
battery_status?: Maybe<Scalars['Int']['output']>;
|
|
248
|
+
/** Network connection type (w=WiFi, m=mobile) */
|
|
124
249
|
connection_type?: Maybe<Scalars['String']['output']>;
|
|
250
|
+
/** UTC timestamp when the record was inserted into the database */
|
|
125
251
|
created_at?: Maybe<Scalars['String']['output']>;
|
|
252
|
+
/** OwnTracks device identifier (e.g. iphone_stuart) */
|
|
126
253
|
device_id: Scalars['String']['output'];
|
|
254
|
+
/** Unique location record identifier */
|
|
127
255
|
id: Scalars['Int']['output'];
|
|
256
|
+
/** GPS latitude in decimal degrees (WGS 84) */
|
|
128
257
|
latitude: Scalars['Float']['output'];
|
|
258
|
+
/** GPS longitude in decimal degrees (WGS 84) */
|
|
129
259
|
longitude: Scalars['Float']['output'];
|
|
260
|
+
/** Two-character tracker ID set in the OwnTracks app */
|
|
130
261
|
tid?: Maybe<Scalars['String']['output']>;
|
|
262
|
+
/** UTC timestamp when the device recorded the location */
|
|
131
263
|
timestamp: Scalars['DateTime']['output'];
|
|
264
|
+
/** What triggered this location report (p=ping, c=circular, t=timer) */
|
|
132
265
|
trigger?: Maybe<Scalars['String']['output']>;
|
|
266
|
+
/** Device velocity in km/h at time of report */
|
|
133
267
|
velocity?: Maybe<Scalars['Float']['output']>;
|
|
134
268
|
}
|
|
135
269
|
|
|
270
|
+
/** Paginated list of OwnTracks location records. */
|
|
136
271
|
export interface LocationConnection {
|
|
137
272
|
__typename?: 'LocationConnection';
|
|
273
|
+
/** List of location items in the current page */
|
|
138
274
|
items: Array<Location>;
|
|
275
|
+
/** Maximum number of items per page */
|
|
139
276
|
limit: Scalars['Int']['output'];
|
|
277
|
+
/** Number of items skipped from the start */
|
|
140
278
|
offset: Scalars['Int']['output'];
|
|
279
|
+
/** Total number of items matching the query */
|
|
141
280
|
total: Scalars['Int']['output'];
|
|
142
281
|
}
|
|
143
282
|
|
|
283
|
+
/** Aggregate location count with optional filter context. */
|
|
144
284
|
export interface LocationCount {
|
|
145
285
|
__typename?: 'LocationCount';
|
|
286
|
+
/** Total number of location records matching the filter */
|
|
146
287
|
count: Scalars['Int']['output'];
|
|
288
|
+
/** Date filter applied (YYYY-MM-DD), if any */
|
|
147
289
|
date?: Maybe<Scalars['String']['output']>;
|
|
290
|
+
/** Device ID filter applied, if any */
|
|
148
291
|
device_id?: Maybe<Scalars['String']['output']>;
|
|
149
292
|
}
|
|
150
293
|
|
|
294
|
+
/** Full location detail including the original OwnTracks JSON payload. */
|
|
151
295
|
export interface LocationDetail {
|
|
152
296
|
__typename?: 'LocationDetail';
|
|
297
|
+
/** Horizontal accuracy of the GPS fix in meters */
|
|
153
298
|
accuracy?: Maybe<Scalars['Float']['output']>;
|
|
299
|
+
/** Altitude above sea level in meters */
|
|
154
300
|
altitude?: Maybe<Scalars['Float']['output']>;
|
|
301
|
+
/** Device battery level as a percentage (0-100) */
|
|
155
302
|
battery?: Maybe<Scalars['Int']['output']>;
|
|
303
|
+
/** Battery charging state (0=unknown, 1=unplugged, 2=charging, 3=full) */
|
|
156
304
|
battery_status?: Maybe<Scalars['Int']['output']>;
|
|
305
|
+
/** Network connection type (w=WiFi, m=mobile) */
|
|
157
306
|
connection_type?: Maybe<Scalars['String']['output']>;
|
|
307
|
+
/** UTC timestamp when the record was inserted into the database */
|
|
158
308
|
created_at?: Maybe<Scalars['String']['output']>;
|
|
309
|
+
/** OwnTracks device identifier (e.g. iphone_stuart) */
|
|
159
310
|
device_id: Scalars['String']['output'];
|
|
311
|
+
/** Unique location record identifier */
|
|
160
312
|
id: Scalars['Int']['output'];
|
|
313
|
+
/** GPS latitude in decimal degrees (WGS 84) */
|
|
161
314
|
latitude: Scalars['Float']['output'];
|
|
315
|
+
/** GPS longitude in decimal degrees (WGS 84) */
|
|
162
316
|
longitude: Scalars['Float']['output'];
|
|
317
|
+
/** Original OwnTracks JSON payload as received from the MQTT broker */
|
|
163
318
|
raw_payload?: Maybe<Scalars['JSON']['output']>;
|
|
319
|
+
/** Two-character tracker ID set in the OwnTracks app */
|
|
164
320
|
tid?: Maybe<Scalars['String']['output']>;
|
|
321
|
+
/** UTC timestamp when the device recorded the location */
|
|
165
322
|
timestamp: Scalars['DateTime']['output'];
|
|
323
|
+
/** What triggered this location report (p=ping, c=circular, t=timer) */
|
|
166
324
|
trigger?: Maybe<Scalars['String']['output']>;
|
|
325
|
+
/** Device velocity in km/h at time of report */
|
|
167
326
|
velocity?: Maybe<Scalars['Float']['output']>;
|
|
168
327
|
}
|
|
169
328
|
|
|
329
|
+
export interface Mutation {
|
|
330
|
+
__typename?: 'Mutation';
|
|
331
|
+
/** Trigger an on-demand Garmin sync in the upstream API. */
|
|
332
|
+
triggerGarminSync: GarminSyncTriggerResult;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
|
|
336
|
+
export interface MutationTriggerGarminSyncArgs {
|
|
337
|
+
lookback?: InputMaybe<Scalars['Int']['input']>;
|
|
338
|
+
window_hours?: InputMaybe<Scalars['Int']['input']>;
|
|
339
|
+
}
|
|
340
|
+
|
|
341
|
+
/** GPS point found within a spatial proximity search. */
|
|
170
342
|
export interface NearbyPoint {
|
|
171
343
|
__typename?: 'NearbyPoint';
|
|
344
|
+
/** Distance from the search center point in meters */
|
|
172
345
|
distance_meters: Scalars['Float']['output'];
|
|
346
|
+
/** Record identifier in the source table */
|
|
173
347
|
id: Scalars['Int']['output'];
|
|
348
|
+
/** GPS latitude in decimal degrees (WGS 84) */
|
|
174
349
|
latitude: Scalars['Float']['output'];
|
|
350
|
+
/** GPS longitude in decimal degrees (WGS 84) */
|
|
175
351
|
longitude: Scalars['Float']['output'];
|
|
352
|
+
/** Data source: 'owntracks' or 'garmin' */
|
|
176
353
|
source: Scalars['String']['output'];
|
|
354
|
+
/** UTC timestamp of the GPS recording */
|
|
177
355
|
timestamp: Scalars['DateTime']['output'];
|
|
178
356
|
}
|
|
179
357
|
|
|
358
|
+
/** Pagination metadata for paginated list responses. */
|
|
180
359
|
export interface PaginationInfo {
|
|
181
360
|
__typename?: 'PaginationInfo';
|
|
361
|
+
/** Maximum number of items per page */
|
|
182
362
|
limit: Scalars['Int']['output'];
|
|
363
|
+
/** Number of items skipped from the start */
|
|
183
364
|
offset: Scalars['Int']['output'];
|
|
365
|
+
/** Total number of items matching the query */
|
|
184
366
|
total: Scalars['Int']['output'];
|
|
185
367
|
}
|
|
186
368
|
|
|
187
369
|
export interface Query {
|
|
188
370
|
__typename?: 'Query';
|
|
371
|
+
/** Calculate the geodesic distance between two geographic points. */
|
|
189
372
|
calculateDistance: DistanceResult;
|
|
373
|
+
/** Retrieve daily activity summaries combining OwnTracks and Garmin data. */
|
|
190
374
|
dailySummary: Array<DailyActivitySummary>;
|
|
375
|
+
/** List all distinct OwnTracks device identifiers. */
|
|
191
376
|
devices: Array<DeviceInfo>;
|
|
377
|
+
/** Retrieve a paginated list of Garmin activities. */
|
|
192
378
|
garminActivities: GarminActivityConnection;
|
|
379
|
+
/** Retrieve a single Garmin activity by its ID. */
|
|
193
380
|
garminActivity?: Maybe<GarminActivity>;
|
|
381
|
+
/** Retrieve chart-optimised track points for a Garmin activity. */
|
|
382
|
+
garminChartData: Array<GarminChartPoint>;
|
|
383
|
+
/** List all distinct sport types with activity counts. */
|
|
194
384
|
garminSports: Array<SportInfo>;
|
|
385
|
+
/** Retrieve paginated GPS track points for a Garmin activity. */
|
|
195
386
|
garminTrackPoints: GarminTrackPointConnection;
|
|
387
|
+
/** Get service health status. */
|
|
196
388
|
health: HealthStatus;
|
|
389
|
+
/** Retrieve a single location by its ID, including raw payload. */
|
|
197
390
|
location?: Maybe<LocationDetail>;
|
|
391
|
+
/** Get aggregate count of location records with optional filters. */
|
|
198
392
|
locationCount: LocationCount;
|
|
393
|
+
/** Retrieve a paginated list of OwnTracks location records. */
|
|
199
394
|
locations: LocationConnection;
|
|
395
|
+
/** Find GPS points within a radius of a geographic coordinate. */
|
|
200
396
|
nearbyPoints: Array<NearbyPoint>;
|
|
397
|
+
/** Get service readiness status including database connectivity. */
|
|
201
398
|
ready: ReadyStatus;
|
|
399
|
+
/** Retrieve a single reference location by its ID. */
|
|
202
400
|
referenceLocation?: Maybe<ReferenceLocation>;
|
|
401
|
+
/** List all named reference locations. */
|
|
203
402
|
referenceLocations: Array<ReferenceLocation>;
|
|
403
|
+
/** Retrieve a paginated list of unified GPS points from all sources. */
|
|
204
404
|
unifiedGps: UnifiedGpsConnection;
|
|
405
|
+
/** Find GPS points within a named reference location's geofence. */
|
|
205
406
|
withinReference: WithinReferenceResult;
|
|
206
407
|
}
|
|
207
408
|
|
|
@@ -237,6 +438,11 @@ export interface QueryGarminActivityArgs {
|
|
|
237
438
|
}
|
|
238
439
|
|
|
239
440
|
|
|
441
|
+
export interface QueryGarminChartDataArgs {
|
|
442
|
+
activity_id: Scalars['String']['input'];
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
|
|
240
446
|
export interface QueryGarminTrackPointsArgs {
|
|
241
447
|
activity_id: Scalars['String']['input'];
|
|
242
448
|
limit?: InputMaybe<Scalars['Int']['input']>;
|
|
@@ -299,61 +505,101 @@ export interface QueryWithinReferenceArgs {
|
|
|
299
505
|
source?: InputMaybe<Scalars['String']['input']>;
|
|
300
506
|
}
|
|
301
507
|
|
|
508
|
+
/** Service readiness status including database connectivity. */
|
|
302
509
|
export interface ReadyStatus {
|
|
303
510
|
__typename?: 'ReadyStatus';
|
|
511
|
+
/** Database connection status */
|
|
304
512
|
database?: Maybe<Scalars['String']['output']>;
|
|
513
|
+
/** Service readiness status */
|
|
305
514
|
status: Scalars['String']['output'];
|
|
515
|
+
/** Application version from VERSION file */
|
|
306
516
|
version?: Maybe<Scalars['String']['output']>;
|
|
307
517
|
}
|
|
308
518
|
|
|
519
|
+
/** Named geographic reference point used for spatial queries (e.g. home, office). */
|
|
309
520
|
export interface ReferenceLocation {
|
|
310
521
|
__typename?: 'ReferenceLocation';
|
|
522
|
+
/** UTC timestamp when the record was created */
|
|
311
523
|
created_at?: Maybe<Scalars['String']['output']>;
|
|
524
|
+
/** Optional human-readable description of the location */
|
|
312
525
|
description?: Maybe<Scalars['String']['output']>;
|
|
526
|
+
/** Unique reference location identifier */
|
|
313
527
|
id: Scalars['Int']['output'];
|
|
528
|
+
/** GPS latitude in decimal degrees (WGS 84) */
|
|
314
529
|
latitude: Scalars['Float']['output'];
|
|
530
|
+
/** GPS longitude in decimal degrees (WGS 84) */
|
|
315
531
|
longitude: Scalars['Float']['output'];
|
|
532
|
+
/** Short, unique name for the location (e.g. home, office) */
|
|
316
533
|
name: Scalars['String']['output'];
|
|
534
|
+
/** Geofence radius in meters for proximity queries */
|
|
317
535
|
radius_meters: Scalars['Float']['output'];
|
|
536
|
+
/** UTC timestamp when the record was last updated */
|
|
318
537
|
updated_at?: Maybe<Scalars['String']['output']>;
|
|
319
538
|
}
|
|
320
539
|
|
|
540
|
+
/** Sort direction for query results. */
|
|
321
541
|
export type SortOrder =
|
|
542
|
+
/** Ascending order (oldest first, A-Z) */
|
|
322
543
|
| 'asc'
|
|
544
|
+
/** Descending order (newest first, Z-A) */
|
|
323
545
|
| 'desc';
|
|
324
546
|
|
|
547
|
+
/** Sport type with its activity count. */
|
|
325
548
|
export interface SportInfo {
|
|
326
549
|
__typename?: 'SportInfo';
|
|
550
|
+
/** Number of activities for this sport */
|
|
327
551
|
activity_count: Scalars['Int']['output'];
|
|
552
|
+
/** Sport type name (e.g. cycling, running) */
|
|
328
553
|
sport: Scalars['String']['output'];
|
|
329
554
|
}
|
|
330
555
|
|
|
556
|
+
/** Paginated list of unified GPS data points. */
|
|
331
557
|
export interface UnifiedGpsConnection {
|
|
332
558
|
__typename?: 'UnifiedGpsConnection';
|
|
559
|
+
/** List of unified GPS items in the current page */
|
|
333
560
|
items: Array<UnifiedGpsPoint>;
|
|
561
|
+
/** Maximum number of items per page */
|
|
334
562
|
limit: Scalars['Int']['output'];
|
|
563
|
+
/** Number of items skipped from the start */
|
|
335
564
|
offset: Scalars['Int']['output'];
|
|
565
|
+
/** Total number of items matching the query */
|
|
336
566
|
total: Scalars['Int']['output'];
|
|
337
567
|
}
|
|
338
568
|
|
|
569
|
+
/** Single GPS data point from the unified view combining OwnTracks and Garmin sources. */
|
|
339
570
|
export interface UnifiedGpsPoint {
|
|
340
571
|
__typename?: 'UnifiedGpsPoint';
|
|
572
|
+
/** Horizontal GPS accuracy in meters (OwnTracks only) */
|
|
341
573
|
accuracy?: Maybe<Scalars['Float']['output']>;
|
|
574
|
+
/** Device battery percentage (OwnTracks only) */
|
|
342
575
|
battery?: Maybe<Scalars['Int']['output']>;
|
|
576
|
+
/** UTC timestamp when the record was inserted */
|
|
343
577
|
created_at?: Maybe<Scalars['String']['output']>;
|
|
578
|
+
/** Heart rate in BPM (Garmin only) */
|
|
344
579
|
heart_rate?: Maybe<Scalars['Int']['output']>;
|
|
580
|
+
/** Device or activity identifier from the source */
|
|
345
581
|
identifier: Scalars['String']['output'];
|
|
582
|
+
/** GPS latitude in decimal degrees (WGS 84) */
|
|
346
583
|
latitude: Scalars['Float']['output'];
|
|
584
|
+
/** GPS longitude in decimal degrees (WGS 84) */
|
|
347
585
|
longitude: Scalars['Float']['output'];
|
|
586
|
+
/** Data source: 'owntracks' or 'garmin' */
|
|
348
587
|
source: Scalars['String']['output'];
|
|
588
|
+
/** Instantaneous speed in km/h (Garmin only) */
|
|
349
589
|
speed_kmh?: Maybe<Scalars['Float']['output']>;
|
|
590
|
+
/** UTC timestamp of the GPS recording */
|
|
350
591
|
timestamp: Scalars['DateTime']['output'];
|
|
351
592
|
}
|
|
352
593
|
|
|
594
|
+
/** GPS points found within a named reference location's geofence radius. */
|
|
353
595
|
export interface WithinReferenceResult {
|
|
354
596
|
__typename?: 'WithinReferenceResult';
|
|
597
|
+
/** GPS points within the radius, sorted by distance */
|
|
355
598
|
points: Array<NearbyPoint>;
|
|
599
|
+
/** Geofence radius used for the search in meters */
|
|
356
600
|
radius_meters: Scalars['Float']['output'];
|
|
601
|
+
/** Name of the reference location searched */
|
|
357
602
|
reference_name: Scalars['String']['output'];
|
|
603
|
+
/** Number of GPS points found within the radius */
|
|
358
604
|
total_points: Scalars['Int']['output'];
|
|
359
605
|
}
|