@adventurelabs/scout-core 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/README.md +90 -0
  2. package/dist/api_keys/actions.d.ts +2 -0
  3. package/dist/api_keys/actions.js +20 -0
  4. package/dist/api_keys/index.d.ts +1 -0
  5. package/dist/api_keys/index.js +1 -0
  6. package/dist/constants/annotator.d.ts +1 -0
  7. package/dist/constants/annotator.js +11 -0
  8. package/dist/constants/app.d.ts +2 -0
  9. package/dist/constants/app.js +2 -0
  10. package/dist/constants/index.d.ts +2 -0
  11. package/dist/constants/index.js +2 -0
  12. package/dist/helpers/auth.d.ts +1 -0
  13. package/dist/helpers/auth.js +8 -0
  14. package/dist/helpers/bounding_boxes.d.ts +5 -0
  15. package/dist/helpers/bounding_boxes.js +43 -0
  16. package/dist/helpers/db.d.ts +3 -0
  17. package/dist/helpers/db.js +22 -0
  18. package/dist/helpers/devices.d.ts +8 -0
  19. package/dist/helpers/devices.js +92 -0
  20. package/dist/helpers/email.d.ts +7 -0
  21. package/dist/helpers/email.js +22 -0
  22. package/dist/helpers/events.d.ts +6 -0
  23. package/dist/helpers/events.js +71 -0
  24. package/dist/helpers/finance.d.ts +9 -0
  25. package/dist/helpers/finance.js +16 -0
  26. package/dist/helpers/gps.d.ts +5 -0
  27. package/dist/helpers/gps.js +11 -0
  28. package/dist/helpers/herds.d.ts +9 -0
  29. package/dist/helpers/herds.js +80 -0
  30. package/dist/helpers/index.d.ts +17 -0
  31. package/dist/helpers/index.js +17 -0
  32. package/dist/helpers/location.d.ts +1 -0
  33. package/dist/helpers/location.js +3 -0
  34. package/dist/helpers/plans.d.ts +5 -0
  35. package/dist/helpers/plans.js +61 -0
  36. package/dist/helpers/tags.d.ts +7 -0
  37. package/dist/helpers/tags.js +158 -0
  38. package/dist/helpers/time.d.ts +3 -0
  39. package/dist/helpers/time.js +11 -0
  40. package/dist/helpers/ui.d.ts +4 -0
  41. package/dist/helpers/ui.js +12 -0
  42. package/dist/helpers/users.d.ts +6 -0
  43. package/dist/helpers/users.js +66 -0
  44. package/dist/helpers/web.d.ts +1 -0
  45. package/dist/helpers/web.js +7 -0
  46. package/dist/helpers/zones.d.ts +18 -0
  47. package/dist/helpers/zones.js +108 -0
  48. package/dist/hooks/index.d.ts +2 -0
  49. package/dist/hooks/index.js +2 -0
  50. package/dist/hooks/useScoutDbListener.d.ts +1 -0
  51. package/dist/hooks/useScoutDbListener.js +94 -0
  52. package/dist/hooks/useScoutRefresh.d.ts +7 -0
  53. package/dist/hooks/useScoutRefresh.js +45 -0
  54. package/dist/index.d.ts +38 -0
  55. package/dist/index.js +43 -0
  56. package/dist/providers/ScoutRefreshProvider.d.ts +1 -0
  57. package/dist/providers/ScoutRefreshProvider.js +8 -0
  58. package/dist/providers/index.d.ts +1 -0
  59. package/dist/providers/index.js +1 -0
  60. package/dist/store/hooks.d.ts +1 -0
  61. package/dist/store/hooks.js +3 -0
  62. package/dist/store/index.d.ts +1 -0
  63. package/dist/store/index.js +1 -0
  64. package/dist/store/scout.d.ts +103 -0
  65. package/dist/store/scout.js +196 -0
  66. package/dist/supabase/client.d.ts +1 -0
  67. package/dist/supabase/client.js +5 -0
  68. package/dist/supabase/index.d.ts +3 -0
  69. package/dist/supabase/index.js +3 -0
  70. package/dist/supabase/middleware.d.ts +2 -0
  71. package/dist/supabase/middleware.js +46 -0
  72. package/dist/supabase/server.d.ts +636 -0
  73. package/dist/supabase/server.js +22 -0
  74. package/dist/types/bounding_boxes.d.ts +27 -0
  75. package/dist/types/bounding_boxes.js +11 -0
  76. package/dist/types/db.d.ts +42 -0
  77. package/dist/types/db.js +15 -0
  78. package/dist/types/gps.d.ts +21 -0
  79. package/dist/types/gps.js +13 -0
  80. package/dist/types/herd_module.d.ts +31 -0
  81. package/dist/types/herd_module.js +82 -0
  82. package/dist/types/index.d.ts +6 -0
  83. package/dist/types/index.js +6 -0
  84. package/dist/types/requests.d.ts +18 -0
  85. package/dist/types/requests.js +25 -0
  86. package/dist/types/supabase.d.ts +754 -0
  87. package/dist/types/supabase.js +25 -0
  88. package/dist/types/ui.d.ts +7 -0
  89. package/dist/types/ui.js +8 -0
  90. package/package.json +52 -0
@@ -0,0 +1,636 @@
1
+ import { Database } from "../types/supabase";
2
+ export declare function newServerClient(): Promise<import("@supabase/supabase-js").SupabaseClient<Database, "public", {
3
+ Tables: {
4
+ actions: {
5
+ Row: {
6
+ id: number;
7
+ inserted_at: string;
8
+ opcode: number;
9
+ trigger: string[];
10
+ zone_id: number;
11
+ };
12
+ Insert: {
13
+ id?: number;
14
+ inserted_at?: string;
15
+ opcode: number;
16
+ trigger: string[];
17
+ zone_id: number;
18
+ };
19
+ Update: {
20
+ id?: number;
21
+ inserted_at?: string;
22
+ opcode?: number;
23
+ trigger?: string[];
24
+ zone_id?: number;
25
+ };
26
+ Relationships: [{
27
+ foreignKeyName: "actions_zone_id_fkey";
28
+ columns: ["zone_id"];
29
+ isOneToOne: false;
30
+ referencedRelation: "zones";
31
+ referencedColumns: ["id"];
32
+ }, {
33
+ foreignKeyName: "actions_zone_id_fkey";
34
+ columns: ["zone_id"];
35
+ isOneToOne: false;
36
+ referencedRelation: "zones_and_actions";
37
+ referencedColumns: ["id"];
38
+ }];
39
+ };
40
+ devices: {
41
+ Row: {
42
+ altitude: number | null;
43
+ created_by: string;
44
+ description: string;
45
+ device_type: Database["public"]["Enums"]["device_type"];
46
+ domain_name: string | null;
47
+ heading: number | null;
48
+ herd_id: number;
49
+ id: number;
50
+ inserted_at: string;
51
+ location: unknown | null;
52
+ name: string;
53
+ video_publisher_token: string | null;
54
+ video_subscriber_token: string | null;
55
+ };
56
+ Insert: {
57
+ altitude?: number | null;
58
+ created_by: string;
59
+ description: string;
60
+ device_type?: Database["public"]["Enums"]["device_type"];
61
+ domain_name?: string | null;
62
+ heading?: number | null;
63
+ herd_id: number;
64
+ id?: number;
65
+ inserted_at?: string;
66
+ location?: unknown | null;
67
+ name: string;
68
+ video_publisher_token?: string | null;
69
+ video_subscriber_token?: string | null;
70
+ };
71
+ Update: {
72
+ altitude?: number | null;
73
+ created_by?: string;
74
+ description?: string;
75
+ device_type?: Database["public"]["Enums"]["device_type"];
76
+ domain_name?: string | null;
77
+ heading?: number | null;
78
+ herd_id?: number;
79
+ id?: number;
80
+ inserted_at?: string;
81
+ location?: unknown | null;
82
+ name?: string;
83
+ video_publisher_token?: string | null;
84
+ video_subscriber_token?: string | null;
85
+ };
86
+ Relationships: [{
87
+ foreignKeyName: "devices_created_by_fkey";
88
+ columns: ["created_by"];
89
+ isOneToOne: false;
90
+ referencedRelation: "users";
91
+ referencedColumns: ["id"];
92
+ }, {
93
+ foreignKeyName: "devices_herd_id_fkey";
94
+ columns: ["herd_id"];
95
+ isOneToOne: false;
96
+ referencedRelation: "herds";
97
+ referencedColumns: ["id"];
98
+ }];
99
+ };
100
+ events: {
101
+ Row: {
102
+ altitude: number;
103
+ device_id: number;
104
+ earthranger_url: string | null;
105
+ heading: number;
106
+ id: number;
107
+ inserted_at: string;
108
+ is_public: boolean;
109
+ location: unknown | null;
110
+ media_type: Database["public"]["Enums"]["media_type"];
111
+ media_url: string;
112
+ message: string;
113
+ timestamp_observation: string;
114
+ };
115
+ Insert: {
116
+ altitude: number;
117
+ device_id: number;
118
+ earthranger_url?: string | null;
119
+ heading: number;
120
+ id?: number;
121
+ inserted_at?: string;
122
+ is_public?: boolean;
123
+ location?: unknown | null;
124
+ media_type?: Database["public"]["Enums"]["media_type"];
125
+ media_url: string;
126
+ message: string;
127
+ timestamp_observation?: string;
128
+ };
129
+ Update: {
130
+ altitude?: number;
131
+ device_id?: number;
132
+ earthranger_url?: string | null;
133
+ heading?: number;
134
+ id?: number;
135
+ inserted_at?: string;
136
+ is_public?: boolean;
137
+ location?: unknown | null;
138
+ media_type?: Database["public"]["Enums"]["media_type"];
139
+ media_url?: string;
140
+ message?: string;
141
+ timestamp_observation?: string;
142
+ };
143
+ Relationships: [{
144
+ foreignKeyName: "events_device_id_fkey";
145
+ columns: ["device_id"];
146
+ isOneToOne: false;
147
+ referencedRelation: "devices";
148
+ referencedColumns: ["id"];
149
+ }];
150
+ };
151
+ herds: {
152
+ Row: {
153
+ created_by: string;
154
+ description: string;
155
+ earthranger_domain: string | null;
156
+ earthranger_token: string | null;
157
+ id: number;
158
+ inserted_at: string;
159
+ is_public: boolean;
160
+ slug: string;
161
+ video_publisher_token: string | null;
162
+ video_server_url: string | null;
163
+ video_subscriber_token: string | null;
164
+ };
165
+ Insert: {
166
+ created_by: string;
167
+ description: string;
168
+ earthranger_domain?: string | null;
169
+ earthranger_token?: string | null;
170
+ id?: number;
171
+ inserted_at?: string;
172
+ is_public?: boolean;
173
+ slug: string;
174
+ video_publisher_token?: string | null;
175
+ video_server_url?: string | null;
176
+ video_subscriber_token?: string | null;
177
+ };
178
+ Update: {
179
+ created_by?: string;
180
+ description?: string;
181
+ earthranger_domain?: string | null;
182
+ earthranger_token?: string | null;
183
+ id?: number;
184
+ inserted_at?: string;
185
+ is_public?: boolean;
186
+ slug?: string;
187
+ video_publisher_token?: string | null;
188
+ video_server_url?: string | null;
189
+ video_subscriber_token?: string | null;
190
+ };
191
+ Relationships: [{
192
+ foreignKeyName: "herds_created_by_fkey";
193
+ columns: ["created_by"];
194
+ isOneToOne: false;
195
+ referencedRelation: "users";
196
+ referencedColumns: ["id"];
197
+ }];
198
+ };
199
+ plans: {
200
+ Row: {
201
+ herd_id: number;
202
+ id: number;
203
+ inserted_at: string;
204
+ instructions: string;
205
+ name: string;
206
+ };
207
+ Insert: {
208
+ herd_id: number;
209
+ id?: number;
210
+ inserted_at?: string;
211
+ instructions: string;
212
+ name: string;
213
+ };
214
+ Update: {
215
+ herd_id?: number;
216
+ id?: number;
217
+ inserted_at?: string;
218
+ instructions?: string;
219
+ name?: string;
220
+ };
221
+ Relationships: [{
222
+ foreignKeyName: "plans_herd_id_fkey";
223
+ columns: ["herd_id"];
224
+ isOneToOne: false;
225
+ referencedRelation: "herds";
226
+ referencedColumns: ["id"];
227
+ }];
228
+ };
229
+ tags: {
230
+ Row: {
231
+ class_name: string;
232
+ conf: number;
233
+ event_id: number;
234
+ height: number;
235
+ id: number;
236
+ inserted_at: string;
237
+ observation_type: Database["public"]["Enums"]["tag_observation_type"];
238
+ width: number;
239
+ x: number;
240
+ y: number;
241
+ };
242
+ Insert: {
243
+ class_name: string;
244
+ conf: number;
245
+ event_id: number;
246
+ height?: number;
247
+ id?: number;
248
+ inserted_at?: string;
249
+ observation_type: Database["public"]["Enums"]["tag_observation_type"];
250
+ width: number;
251
+ x: number;
252
+ y: number;
253
+ };
254
+ Update: {
255
+ class_name?: string;
256
+ conf?: number;
257
+ event_id?: number;
258
+ height?: number;
259
+ id?: number;
260
+ inserted_at?: string;
261
+ observation_type?: Database["public"]["Enums"]["tag_observation_type"];
262
+ width?: number;
263
+ x?: number;
264
+ y?: number;
265
+ };
266
+ Relationships: [{
267
+ foreignKeyName: "tags_event_id_fkey";
268
+ columns: ["event_id"];
269
+ isOneToOne: false;
270
+ referencedRelation: "events";
271
+ referencedColumns: ["id"];
272
+ }, {
273
+ foreignKeyName: "tags_event_id_fkey";
274
+ columns: ["event_id"];
275
+ isOneToOne: false;
276
+ referencedRelation: "events_with_tags";
277
+ referencedColumns: ["id"];
278
+ }];
279
+ };
280
+ users: {
281
+ Row: {
282
+ id: string;
283
+ username: string | null;
284
+ };
285
+ Insert: {
286
+ id: string;
287
+ username?: string | null;
288
+ };
289
+ Update: {
290
+ id?: string;
291
+ username?: string | null;
292
+ };
293
+ Relationships: [];
294
+ };
295
+ users_roles_per_herd: {
296
+ Row: {
297
+ herd_id: number;
298
+ id: number;
299
+ inserted_at: string;
300
+ role: Database["public"]["Enums"]["role"];
301
+ user_id: string;
302
+ };
303
+ Insert: {
304
+ herd_id: number;
305
+ id?: number;
306
+ inserted_at?: string;
307
+ role: Database["public"]["Enums"]["role"];
308
+ user_id: string;
309
+ };
310
+ Update: {
311
+ herd_id?: number;
312
+ id?: number;
313
+ inserted_at?: string;
314
+ role?: Database["public"]["Enums"]["role"];
315
+ user_id?: string;
316
+ };
317
+ Relationships: [{
318
+ foreignKeyName: "users_roles_per_herd_herd_id_fkey";
319
+ columns: ["herd_id"];
320
+ isOneToOne: false;
321
+ referencedRelation: "herds";
322
+ referencedColumns: ["id"];
323
+ }, {
324
+ foreignKeyName: "users_roles_per_herd_user_id_fkey";
325
+ columns: ["user_id"];
326
+ isOneToOne: false;
327
+ referencedRelation: "users";
328
+ referencedColumns: ["id"];
329
+ }];
330
+ };
331
+ zones: {
332
+ Row: {
333
+ herd_id: number;
334
+ id: number;
335
+ inserted_at: string;
336
+ region: unknown;
337
+ };
338
+ Insert: {
339
+ herd_id: number;
340
+ id?: number;
341
+ inserted_at?: string;
342
+ region: unknown;
343
+ };
344
+ Update: {
345
+ herd_id?: number;
346
+ id?: number;
347
+ inserted_at?: string;
348
+ region?: unknown;
349
+ };
350
+ Relationships: [{
351
+ foreignKeyName: "zones_herd_id_fkey";
352
+ columns: ["herd_id"];
353
+ isOneToOne: false;
354
+ referencedRelation: "herds";
355
+ referencedColumns: ["id"];
356
+ }];
357
+ };
358
+ };
359
+ Views: {
360
+ events_with_tags: {
361
+ Row: {
362
+ altitude: number | null;
363
+ device_id: number | null;
364
+ earthranger_url: string | null;
365
+ heading: number | null;
366
+ herd_id: number | null;
367
+ id: number | null;
368
+ inserted_at: string | null;
369
+ is_public: boolean | null;
370
+ location: unknown | null;
371
+ media_type: Database["public"]["Enums"]["media_type"] | null;
372
+ media_url: string | null;
373
+ message: string | null;
374
+ tags: Database["public"]["Tables"]["tags"]["Row"][] | null;
375
+ timestamp_observation: string | null;
376
+ };
377
+ Relationships: [{
378
+ foreignKeyName: "devices_herd_id_fkey";
379
+ columns: ["herd_id"];
380
+ isOneToOne: false;
381
+ referencedRelation: "herds";
382
+ referencedColumns: ["id"];
383
+ }, {
384
+ foreignKeyName: "events_device_id_fkey";
385
+ columns: ["device_id"];
386
+ isOneToOne: false;
387
+ referencedRelation: "devices";
388
+ referencedColumns: ["id"];
389
+ }];
390
+ };
391
+ zones_and_actions: {
392
+ Row: {
393
+ actions: Database["public"]["Tables"]["actions"]["Row"][] | null;
394
+ herd_id: number | null;
395
+ id: number | null;
396
+ inserted_at: string | null;
397
+ region: unknown | null;
398
+ };
399
+ Relationships: [{
400
+ foreignKeyName: "zones_herd_id_fkey";
401
+ columns: ["herd_id"];
402
+ isOneToOne: false;
403
+ referencedRelation: "herds";
404
+ referencedColumns: ["id"];
405
+ }];
406
+ };
407
+ };
408
+ Functions: {
409
+ authorize: {
410
+ Args: {
411
+ requested_permission: Database["public"]["Enums"]["app_permission"];
412
+ };
413
+ Returns: boolean;
414
+ };
415
+ create_api_key: {
416
+ Args: {
417
+ id_of_device: number;
418
+ };
419
+ Returns: undefined;
420
+ };
421
+ create_user: {
422
+ Args: {
423
+ email: string;
424
+ };
425
+ Returns: string;
426
+ };
427
+ custom_access_token_hook: {
428
+ Args: {
429
+ event: import("../types/supabase").Json;
430
+ };
431
+ Returns: import("../types/supabase").Json;
432
+ };
433
+ get_device_by_id: {
434
+ Args: {
435
+ device_id_caller: number;
436
+ };
437
+ Returns: Database["public"]["CompositeTypes"]["device_pretty_location"];
438
+ };
439
+ get_device_from_api_key: {
440
+ Args: {
441
+ device_api_key: string;
442
+ };
443
+ Returns: {
444
+ altitude: number | null;
445
+ created_by: string;
446
+ description: string;
447
+ device_type: Database["public"]["Enums"]["device_type"];
448
+ domain_name: string | null;
449
+ heading: number | null;
450
+ herd_id: number;
451
+ id: number;
452
+ inserted_at: string;
453
+ location: unknown | null;
454
+ name: string;
455
+ video_publisher_token: string | null;
456
+ video_subscriber_token: string | null;
457
+ };
458
+ };
459
+ get_device_id_from_key: {
460
+ Args: {
461
+ device_api_key: string;
462
+ };
463
+ Returns: number;
464
+ };
465
+ get_devices_for_herd: {
466
+ Args: {
467
+ herd_id_caller: number;
468
+ };
469
+ Returns: Database["public"]["CompositeTypes"]["device_pretty_location"][];
470
+ };
471
+ get_event_with_tags_by_id: {
472
+ Args: {
473
+ event_id_caller: number;
474
+ };
475
+ Returns: Database["public"]["CompositeTypes"]["event_and_tags_pretty_location"];
476
+ };
477
+ get_events_and_tags_for_device: {
478
+ Args: {
479
+ device_id_caller: number;
480
+ limit_caller: number;
481
+ };
482
+ Returns: Database["public"]["CompositeTypes"]["event_and_tags_pretty_location"][];
483
+ };
484
+ get_events_and_tags_for_herd: {
485
+ Args: {
486
+ herd_id_caller: number;
487
+ offset_caller: number;
488
+ limit_caller: number;
489
+ };
490
+ Returns: Database["public"]["CompositeTypes"]["event_and_tags_pretty_location"][];
491
+ };
492
+ get_events_for_herd: {
493
+ Args: {
494
+ herd_id_in: number;
495
+ };
496
+ Returns: {
497
+ altitude: number;
498
+ device_id: number;
499
+ earthranger_url: string | null;
500
+ heading: number;
501
+ id: number;
502
+ inserted_at: string;
503
+ is_public: boolean;
504
+ location: unknown | null;
505
+ media_type: Database["public"]["Enums"]["media_type"];
506
+ media_url: string;
507
+ message: string;
508
+ timestamp_observation: string;
509
+ }[];
510
+ };
511
+ get_events_with_tags_for_herd: {
512
+ Args: {
513
+ herd_id_caller: number;
514
+ offset_caller: number;
515
+ limit_caller: number;
516
+ };
517
+ Returns: Database["public"]["CompositeTypes"]["event_with_tags"][];
518
+ };
519
+ get_total_events_for_herd: {
520
+ Args: {
521
+ herd_id_caller: number;
522
+ };
523
+ Returns: number;
524
+ };
525
+ get_zones_and_actions_for_herd: {
526
+ Args: {
527
+ herd_id_caller: number;
528
+ limit_caller: number;
529
+ offset_caller: number;
530
+ };
531
+ Returns: Database["public"]["CompositeTypes"]["zones_and_actions_pretty_location"][];
532
+ };
533
+ load_api_keys: {
534
+ Args: {
535
+ id_of_device: string;
536
+ };
537
+ Returns: string[];
538
+ };
539
+ };
540
+ Enums: {
541
+ app_permission: "herds.delete" | "events.delete";
542
+ device_type: "trail_camera" | "drone_fixed_wing" | "drone_quad" | "gps_tracker" | "sentry_tower" | "smart_buoy" | "radio_mesh_base_station" | "radio_mesh_repeater" | "unknown";
543
+ media_type: "image" | "video" | "audio" | "text";
544
+ role: "admin" | "viewer" | "editor";
545
+ tag_observation_type: "manual" | "auto";
546
+ user_status: "ONLINE" | "OFFLINE";
547
+ };
548
+ CompositeTypes: {
549
+ device_pretty_location: {
550
+ id: number | null;
551
+ inserted_at: string | null;
552
+ created_by: string | null;
553
+ herd_id: number | null;
554
+ device_type: Database["public"]["Enums"]["device_type"] | null;
555
+ domain_name: string | null;
556
+ location: string | null;
557
+ altitude: number | null;
558
+ heading: number | null;
559
+ name: string | null;
560
+ description: string | null;
561
+ latitude: number | null;
562
+ longitude: number | null;
563
+ };
564
+ event_and_tags: {
565
+ id: number | null;
566
+ inserted_at: string | null;
567
+ message: string | null;
568
+ media_url: string | null;
569
+ latitude: number | null;
570
+ longitude: number | null;
571
+ altitude: number | null;
572
+ heading: number | null;
573
+ media_type: Database["public"]["Enums"]["media_type"] | null;
574
+ device_id: number | null;
575
+ timestamp_observation: string | null;
576
+ is_public: boolean | null;
577
+ tags: Database["public"]["Tables"]["tags"]["Row"][] | null;
578
+ herd_id: number | null;
579
+ };
580
+ event_and_tags_pretty_location: {
581
+ id: number | null;
582
+ inserted_at: string | null;
583
+ message: string | null;
584
+ media_url: string | null;
585
+ latitude: number | null;
586
+ longitude: number | null;
587
+ earthranger_url: string | null;
588
+ altitude: number | null;
589
+ heading: number | null;
590
+ media_type: Database["public"]["Enums"]["media_type"] | null;
591
+ device_id: number | null;
592
+ timestamp_observation: string | null;
593
+ is_public: boolean | null;
594
+ tags: Database["public"]["Tables"]["tags"]["Row"][] | null;
595
+ herd_id: number | null;
596
+ };
597
+ event_plus_tags: {
598
+ id: number | null;
599
+ inserted_at: string | null;
600
+ message: string | null;
601
+ media_url: string | null;
602
+ location: unknown | null;
603
+ earthranger_url: string | null;
604
+ altitude: number | null;
605
+ heading: number | null;
606
+ media_type: Database["public"]["Enums"]["media_type"] | null;
607
+ device_id: number | null;
608
+ timestamp_observation: string | null;
609
+ is_public: boolean | null;
610
+ tags: Database["public"]["Tables"]["tags"]["Row"][] | null;
611
+ herd_id: number | null;
612
+ };
613
+ event_with_tags: {
614
+ id: number | null;
615
+ inserted_at: string | null;
616
+ message: string | null;
617
+ media_url: string | null;
618
+ latitude: number | null;
619
+ longitude: number | null;
620
+ altitude: number | null;
621
+ heading: number | null;
622
+ media_type: Database["public"]["Enums"]["media_type"] | null;
623
+ device_id: number | null;
624
+ timestamp_observation: string | null;
625
+ is_public: boolean | null;
626
+ tags: Database["public"]["Tables"]["tags"]["Row"][] | null;
627
+ };
628
+ zones_and_actions_pretty_location: {
629
+ id: number | null;
630
+ inserted_at: string | null;
631
+ region: string | null;
632
+ herd_id: number | null;
633
+ actions: Database["public"]["Tables"]["actions"]["Row"][] | null;
634
+ };
635
+ };
636
+ }>>;
@@ -0,0 +1,22 @@
1
+ import { createServerClient } from "@supabase/ssr";
2
+ import { cookies } from "next/headers";
3
+ export async function newServerClient() {
4
+ const cookieStore = await cookies();
5
+ return createServerClient(process.env.NEXT_PUBLIC_SUPABASE_URL, process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY, {
6
+ cookies: {
7
+ getAll() {
8
+ return cookieStore.getAll();
9
+ },
10
+ setAll(cookiesToSet) {
11
+ try {
12
+ cookiesToSet.forEach(({ name, value, options }) => cookieStore.set(name, value, options));
13
+ }
14
+ catch {
15
+ // The `setAll` method was called from a Server Component.
16
+ // This can be ignored if you have middleware refreshing
17
+ // user sessions.
18
+ }
19
+ },
20
+ },
21
+ });
22
+ }
@@ -0,0 +1,27 @@
1
+ export interface BoundingBox {
2
+ xCenterPercentage: number;
3
+ yCenterPercentage: number;
4
+ widthPercentage: number;
5
+ heightPercentage: number;
6
+ label: string;
7
+ id: string;
8
+ left: number;
9
+ top: number;
10
+ width: number;
11
+ height: number;
12
+ anchorPoint: {
13
+ x: number;
14
+ y: number;
15
+ };
16
+ status: SelectionStatus;
17
+ source: EnumSourceBoundingBox;
18
+ }
19
+ export declare enum SelectionStatus {
20
+ SELECTED = "selected",
21
+ UNSELECTED = "unselected",
22
+ ARCHIVED = "archived"
23
+ }
24
+ export declare enum EnumSourceBoundingBox {
25
+ MANUAL = "manual",
26
+ AI = "ai"
27
+ }
@@ -0,0 +1,11 @@
1
+ export var SelectionStatus;
2
+ (function (SelectionStatus) {
3
+ SelectionStatus["SELECTED"] = "selected";
4
+ SelectionStatus["UNSELECTED"] = "unselected";
5
+ SelectionStatus["ARCHIVED"] = "archived";
6
+ })(SelectionStatus || (SelectionStatus = {}));
7
+ export var EnumSourceBoundingBox;
8
+ (function (EnumSourceBoundingBox) {
9
+ EnumSourceBoundingBox["MANUAL"] = "manual";
10
+ EnumSourceBoundingBox["AI"] = "ai";
11
+ })(EnumSourceBoundingBox || (EnumSourceBoundingBox = {}));