@adventurelabs/scout-core 1.0.80 → 1.0.82
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/helpers/devices.d.ts +5 -4
- package/dist/helpers/devices.js +3 -0
- package/dist/helpers/sessions.js +35 -15
- package/dist/providers/ScoutRefreshProvider.d.ts +10 -8
- package/dist/store/hooks.d.ts +1 -1
- package/dist/supabase/server.d.ts +2 -963
- package/dist/types/db.d.ts +2 -0
- package/dist/types/supabase.d.ts +9 -9
- package/dist/types/supabase.js +1 -1
- package/package.json +10 -3
- package/dist/helpers/cache-usage-example.d.ts +0 -17
- package/dist/helpers/cache-usage-example.js +0 -82
- package/dist/hooks/data-source-usage-example.d.ts +0 -9
- package/dist/hooks/data-source-usage-example.js +0 -68
- package/dist/hooks/useDataSource.d.ts +0 -43
- package/dist/hooks/useDataSource.js +0 -63
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Database } from "@/types";
|
|
2
|
+
import { DeviceInsert, IDevice } from "../types/db";
|
|
2
3
|
import { IWebResponseCompatible } from "../types/requests";
|
|
3
4
|
import { SupabaseClient } from "@supabase/supabase-js";
|
|
4
|
-
export declare function get_devices_by_herd(herd_id: number, client: SupabaseClient): Promise<IWebResponseCompatible<IDevice[]>>;
|
|
5
|
-
export declare function get_device_by_id(device_id: number, client?: SupabaseClient): Promise<IWebResponseCompatible<IDevice | null>>;
|
|
5
|
+
export declare function get_devices_by_herd(herd_id: number, client: SupabaseClient<Database>): Promise<IWebResponseCompatible<IDevice[]>>;
|
|
6
|
+
export declare function get_device_by_id(device_id: number, client?: SupabaseClient<Database>): Promise<IWebResponseCompatible<IDevice | null>>;
|
|
6
7
|
export declare function serverUpdateDevice(updatedDevice: IDevice): Promise<IWebResponseCompatible<IDevice | null>>;
|
|
7
|
-
export declare function serverCreateDevice(newDevice:
|
|
8
|
+
export declare function serverCreateDevice(newDevice: DeviceInsert): Promise<IWebResponseCompatible<IDevice | null>>;
|
|
8
9
|
export declare function serverDeleteDeviceById(device_id: number): Promise<IWebResponseCompatible<IDevice | null>>;
|
package/dist/helpers/devices.js
CHANGED
|
@@ -60,6 +60,9 @@ export async function serverCreateDevice(newDevice) {
|
|
|
60
60
|
const supabase = await newServerClient();
|
|
61
61
|
const user = await supabase.auth.getUser();
|
|
62
62
|
const userId = user?.data?.user?.id;
|
|
63
|
+
if (!userId) {
|
|
64
|
+
return IWebResponse.error("User not found").to_compatible();
|
|
65
|
+
}
|
|
63
66
|
newDevice.created_by = userId;
|
|
64
67
|
// strip id field from herd object
|
|
65
68
|
const { data, error } = await supabase
|
package/dist/helpers/sessions.js
CHANGED
|
@@ -152,7 +152,8 @@ export async function server_upsert_sessions(sessionsData) {
|
|
|
152
152
|
if (updates.length > 0) {
|
|
153
153
|
for (const sessionData of updates) {
|
|
154
154
|
const updateResult = await server_upsert_session(sessionData);
|
|
155
|
-
if (updateResult.status === EnumWebResponse.SUCCESS &&
|
|
155
|
+
if (updateResult.status === EnumWebResponse.SUCCESS &&
|
|
156
|
+
updateResult.data) {
|
|
156
157
|
results.push(updateResult.data);
|
|
157
158
|
}
|
|
158
159
|
else {
|
|
@@ -233,7 +234,8 @@ export async function server_upsert_connectivity_batch(connectivityDataArray) {
|
|
|
233
234
|
if (updates.length > 0) {
|
|
234
235
|
for (const connectivityData of updates) {
|
|
235
236
|
const updateResult = await server_upsert_connectivity(connectivityData);
|
|
236
|
-
if (updateResult.status === EnumWebResponse.SUCCESS &&
|
|
237
|
+
if (updateResult.status === EnumWebResponse.SUCCESS &&
|
|
238
|
+
updateResult.data) {
|
|
237
239
|
results.push(updateResult.data);
|
|
238
240
|
}
|
|
239
241
|
else {
|
|
@@ -266,8 +268,10 @@ export async function server_get_session_with_connectivity_and_events(sessionId,
|
|
|
266
268
|
if (herdId) {
|
|
267
269
|
// Use provided herd ID directly
|
|
268
270
|
const sessionsResult = await server_get_sessions_by_herd_id(herdId);
|
|
269
|
-
if (sessionsResult.status === EnumWebResponse.SUCCESS &&
|
|
270
|
-
|
|
271
|
+
if (sessionsResult.status === EnumWebResponse.SUCCESS &&
|
|
272
|
+
sessionsResult.data) {
|
|
273
|
+
sessionWithCoords =
|
|
274
|
+
sessionsResult.data.find((s) => s.id === sessionId) || null;
|
|
271
275
|
}
|
|
272
276
|
}
|
|
273
277
|
else {
|
|
@@ -308,16 +312,22 @@ export async function server_get_session_with_connectivity_and_events(sessionId,
|
|
|
308
312
|
};
|
|
309
313
|
}
|
|
310
314
|
const sessionsResult = await server_get_sessions_by_herd_id(device.herd_id);
|
|
311
|
-
if (sessionsResult.status === EnumWebResponse.SUCCESS &&
|
|
312
|
-
|
|
315
|
+
if (sessionsResult.status === EnumWebResponse.SUCCESS &&
|
|
316
|
+
sessionsResult.data) {
|
|
317
|
+
sessionWithCoords =
|
|
318
|
+
sessionsResult.data.find((s) => s.id === sessionId) || null;
|
|
313
319
|
}
|
|
314
320
|
}
|
|
315
321
|
const [connectivityResult, eventsResult] = await Promise.all([
|
|
316
322
|
server_get_connectivity_by_session_id(sessionId),
|
|
317
323
|
server_get_events_by_session_id(sessionId),
|
|
318
324
|
]);
|
|
319
|
-
const connectivity = connectivityResult.status === EnumWebResponse.SUCCESS
|
|
320
|
-
|
|
325
|
+
const connectivity = connectivityResult.status === EnumWebResponse.SUCCESS
|
|
326
|
+
? connectivityResult.data || []
|
|
327
|
+
: [];
|
|
328
|
+
const events = eventsResult.status === EnumWebResponse.SUCCESS
|
|
329
|
+
? eventsResult.data || []
|
|
330
|
+
: [];
|
|
321
331
|
return IWebResponse.success({
|
|
322
332
|
session: sessionWithCoords,
|
|
323
333
|
connectivity,
|
|
@@ -333,8 +343,10 @@ export async function server_get_session_with_connectivity_and_events_with_tags(
|
|
|
333
343
|
// Use provided herd ID directly
|
|
334
344
|
actualHerdId = herdId;
|
|
335
345
|
const sessionsResult = await server_get_sessions_by_herd_id(herdId);
|
|
336
|
-
if (sessionsResult.status === EnumWebResponse.SUCCESS &&
|
|
337
|
-
|
|
346
|
+
if (sessionsResult.status === EnumWebResponse.SUCCESS &&
|
|
347
|
+
sessionsResult.data) {
|
|
348
|
+
sessionWithCoords =
|
|
349
|
+
sessionsResult.data.find((s) => s.id === sessionId) || null;
|
|
338
350
|
}
|
|
339
351
|
}
|
|
340
352
|
else {
|
|
@@ -378,8 +390,10 @@ export async function server_get_session_with_connectivity_and_events_with_tags(
|
|
|
378
390
|
}
|
|
379
391
|
actualHerdId = device.herd_id;
|
|
380
392
|
const sessionsResult = await server_get_sessions_by_herd_id(device.herd_id);
|
|
381
|
-
if (sessionsResult.status === EnumWebResponse.SUCCESS &&
|
|
382
|
-
|
|
393
|
+
if (sessionsResult.status === EnumWebResponse.SUCCESS &&
|
|
394
|
+
sessionsResult.data) {
|
|
395
|
+
sessionWithCoords =
|
|
396
|
+
sessionsResult.data.find((s) => s.id === sessionId) || null;
|
|
383
397
|
}
|
|
384
398
|
}
|
|
385
399
|
const [connectivityResult, eventsWithTagsResult, totalEventsResult] = await Promise.all([
|
|
@@ -387,9 +401,15 @@ export async function server_get_session_with_connectivity_and_events_with_tags(
|
|
|
387
401
|
server_get_events_and_tags_by_session_id(sessionId, limit, offset),
|
|
388
402
|
server_get_total_events_for_session(sessionId),
|
|
389
403
|
]);
|
|
390
|
-
const connectivity = connectivityResult.status === EnumWebResponse.SUCCESS
|
|
391
|
-
|
|
392
|
-
|
|
404
|
+
const connectivity = connectivityResult.status === EnumWebResponse.SUCCESS
|
|
405
|
+
? connectivityResult.data || []
|
|
406
|
+
: [];
|
|
407
|
+
const eventsWithTags = eventsWithTagsResult.status === EnumWebResponse.SUCCESS
|
|
408
|
+
? eventsWithTagsResult.data || []
|
|
409
|
+
: [];
|
|
410
|
+
const totalEvents = totalEventsResult.status === EnumWebResponse.SUCCESS
|
|
411
|
+
? totalEventsResult.data || 0
|
|
412
|
+
: 0;
|
|
393
413
|
return IWebResponse.success({
|
|
394
414
|
session: sessionWithCoords,
|
|
395
415
|
connectivity,
|
|
@@ -8,7 +8,7 @@ interface ConnectionStatus {
|
|
|
8
8
|
retryCount: number;
|
|
9
9
|
reconnect: () => void;
|
|
10
10
|
}
|
|
11
|
-
export declare function useSupabase(): SupabaseClient<Database, "public", {
|
|
11
|
+
export declare function useSupabase(): SupabaseClient<Database, "public", "public", {
|
|
12
12
|
Tables: {
|
|
13
13
|
actions: {
|
|
14
14
|
Row: {
|
|
@@ -408,9 +408,9 @@ export declare function useSupabase(): SupabaseClient<Database, "public", {
|
|
|
408
408
|
earthranger_url: string | null;
|
|
409
409
|
id: number;
|
|
410
410
|
inserted_at: string;
|
|
411
|
-
locations: unknown;
|
|
411
|
+
locations: unknown | null;
|
|
412
412
|
software_version: string;
|
|
413
|
-
timestamp_end: string;
|
|
413
|
+
timestamp_end: string | null;
|
|
414
414
|
timestamp_start: string;
|
|
415
415
|
velocity_average: number;
|
|
416
416
|
velocity_max: number;
|
|
@@ -426,9 +426,9 @@ export declare function useSupabase(): SupabaseClient<Database, "public", {
|
|
|
426
426
|
earthranger_url?: string | null;
|
|
427
427
|
id?: number;
|
|
428
428
|
inserted_at?: string;
|
|
429
|
-
locations
|
|
429
|
+
locations?: unknown | null;
|
|
430
430
|
software_version: string;
|
|
431
|
-
timestamp_end
|
|
431
|
+
timestamp_end?: string | null;
|
|
432
432
|
timestamp_start: string;
|
|
433
433
|
velocity_average: number;
|
|
434
434
|
velocity_max: number;
|
|
@@ -444,9 +444,9 @@ export declare function useSupabase(): SupabaseClient<Database, "public", {
|
|
|
444
444
|
earthranger_url?: string | null;
|
|
445
445
|
id?: number;
|
|
446
446
|
inserted_at?: string;
|
|
447
|
-
locations?: unknown;
|
|
447
|
+
locations?: unknown | null;
|
|
448
448
|
software_version?: string;
|
|
449
|
-
timestamp_end?: string;
|
|
449
|
+
timestamp_end?: string | null;
|
|
450
450
|
timestamp_start?: string;
|
|
451
451
|
velocity_average?: number;
|
|
452
452
|
velocity_max?: number;
|
|
@@ -829,7 +829,7 @@ export declare function useSupabase(): SupabaseClient<Database, "public", {
|
|
|
829
829
|
device_type: "trail_camera" | "drone_fixed_wing" | "drone_quad" | "gps_tracker" | "sentry_tower" | "smart_buoy" | "radio_mesh_base_station" | "radio_mesh_repeater" | "unknown";
|
|
830
830
|
media_type: "image" | "video" | "audio" | "text";
|
|
831
831
|
plan_type: "mission" | "fence" | "rally" | "markov";
|
|
832
|
-
role: "admin" | "viewer" | "editor";
|
|
832
|
+
role: "admin" | "viewer" | "editor" | "operator";
|
|
833
833
|
tag_observation_type: "manual" | "auto";
|
|
834
834
|
user_status: "ONLINE" | "OFFLINE";
|
|
835
835
|
};
|
|
@@ -970,6 +970,8 @@ export declare function useSupabase(): SupabaseClient<Database, "public", {
|
|
|
970
970
|
actions: Database["public"]["Tables"]["actions"]["Row"][] | null;
|
|
971
971
|
};
|
|
972
972
|
};
|
|
973
|
+
}, {
|
|
974
|
+
PostgrestVersion: "13.0.5";
|
|
973
975
|
}>;
|
|
974
976
|
export declare function useConnectionStatus(): ConnectionStatus;
|
|
975
977
|
export interface ScoutRefreshProviderProps {
|
package/dist/store/hooks.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const useAppDispatch:
|
|
1
|
+
export declare const useAppDispatch: import("react-redux").UseDispatch<import("redux").Dispatch<import("redux").UnknownAction>>;
|
|
2
2
|
export declare const useHerdModulesLoadingState: () => any;
|
|
3
3
|
export declare const useIsHerdModulesLoading: () => boolean;
|
|
4
4
|
export declare const useIsHerdModulesLoaded: () => boolean;
|