@adventurelabs/scout-core
Version:
Core utilities and helpers for Adventure Labs Scout applications
52 lines (51 loc) • 2.07 kB
JavaScript
"use server";
import { newServerClient } from "../supabase/server";
import { IWebResponse, } from "../types/requests";
export async function server_get_session_summaries_by_herd(herd_id, client) {
const supabase = client || (await newServerClient());
const { data, error } = await supabase.rpc("get_session_summaries", {
start_date_caller: undefined,
end_date_caller: undefined,
device_id_caller: undefined,
herd_id_caller: herd_id,
});
if (error) {
return IWebResponse.error(error.message).to_compatible();
}
if (!data) {
return IWebResponse.error("No session summary data returned").to_compatible();
}
return IWebResponse.success(data).to_compatible();
}
export async function server_get_session_summaries_by_device(device_id, client) {
const supabase = client || (await newServerClient());
const { data, error } = await supabase.rpc("get_session_summaries", {
start_date_caller: undefined,
end_date_caller: undefined,
device_id_caller: device_id,
herd_id_caller: undefined,
});
if (error) {
return IWebResponse.error(error.message).to_compatible();
}
if (!data) {
return IWebResponse.error("No session summary data returned").to_compatible();
}
return IWebResponse.success(data).to_compatible();
}
export async function server_get_session_summaries_with_filters(herd_id, device_id, start_date, end_date, client) {
const supabase = client || (await newServerClient());
const { data, error } = await supabase.rpc("get_session_summaries", {
start_date_caller: start_date || undefined,
end_date_caller: end_date || undefined,
device_id_caller: device_id || undefined,
herd_id_caller: herd_id || undefined,
});
if (error) {
return IWebResponse.error(error.message).to_compatible();
}
if (!data) {
return IWebResponse.error("No session summary data returned").to_compatible();
}
return IWebResponse.success(data).to_compatible();
}