UNPKG

@adventurelabs/scout-core

Version:

Core utilities and helpers for Adventure Labs Scout applications

39 lines (38 loc) 3.21 kB
import { SupabaseClient } from "@supabase/supabase-js"; import { Database } from "../types/supabase"; import { ISession, IConnectivity, IEvent, ISessionWithCoordinates, IConnectivityWithCoordinates, IEventAndTagsPrettyLocation } from "../types/db"; export type SessionInput = Omit<ISession, "id" | "inserted_at">; export type SessionUpdateInput = Partial<SessionInput> & { id: number; }; export type SessionUpsertInput = SessionInput | SessionUpdateInput; export type ConnectivityInput = Omit<IConnectivity, "id" | "inserted_at">; export type ConnectivityUpdateInput = Partial<ConnectivityInput> & { id: number; }; export type ConnectivityUpsertInput = ConnectivityInput | ConnectivityUpdateInput; export declare function getSessionsByHerdId(supabase: SupabaseClient<Database>, herdId: number): Promise<ISessionWithCoordinates[]>; export declare function getConnectivityBySessionId(supabase: SupabaseClient<Database>, sessionId: number): Promise<IConnectivityWithCoordinates[]>; export declare function getEventsBySessionId(supabase: SupabaseClient<Database>, sessionId: number): Promise<IEvent[]>; export declare function getEventsAndTagsBySessionId(supabase: SupabaseClient<Database>, sessionId: number, limit?: number, offset?: number): Promise<IEventAndTagsPrettyLocation[]>; export declare function getTotalEventsForSession(supabase: SupabaseClient<Database>, sessionId: number): Promise<number>; export declare function upsertSession(supabase: SupabaseClient<Database>, sessionData: SessionUpsertInput): Promise<ISession>; export declare function upsertSessions(supabase: SupabaseClient<Database>, sessionsData: SessionUpsertInput[]): Promise<ISession[]>; export declare function upsertConnectivity(supabase: SupabaseClient<Database>, connectivityData: ConnectivityUpsertInput): Promise<IConnectivity>; export declare function upsertConnectivityBatch(supabase: SupabaseClient<Database>, connectivityDataArray: ConnectivityUpsertInput[]): Promise<IConnectivity[]>; export declare function getSessionWithConnectivityAndEvents(supabase: SupabaseClient<Database>, sessionId: number, herdId?: number): Promise<{ session: ISessionWithCoordinates | null; connectivity: IConnectivityWithCoordinates[]; events: IEvent[]; }>; export declare function getSessionWithConnectivityAndEventsWithTags(supabase: SupabaseClient<Database>, sessionId: number, limit?: number, offset?: number, herdId?: number): Promise<{ session: ISessionWithCoordinates | null; connectivity: IConnectivityWithCoordinates[]; eventsWithTags: IEventAndTagsPrettyLocation[]; totalEvents: number; }>; export declare function getSessionsByDeviceId(supabase: SupabaseClient<Database>, deviceId: number): Promise<ISessionWithCoordinates[]>; export declare function deleteSession(supabase: SupabaseClient<Database>, sessionId: number): Promise<void>; export declare function deleteSessions(supabase: SupabaseClient<Database>, sessionIds: number[]): Promise<void>; export declare function deleteConnectivity(supabase: SupabaseClient<Database>, connectivityId: number): Promise<void>; export declare function deleteConnectivityBatch(supabase: SupabaseClient<Database>, connectivityIds: number[]): Promise<void>;