pub mod upsert;
pub mod delete;
pub mod select;
use std::format;
use crate::api::traits::{Fetch, BearerToken};
use crate::error::FluxError;
pub const SUPABASE_API_ENDPOINT_V1: &str = "https://api.supabase.com/v1";
pub const SUPABASE_ACCESS_TOKEN: &str = "SUPABASE_ACCESS_TOKEN";
pub trait SupabaseApi: Fetch + BearerToken {
fn resolve_token(&self) -> Result<String, FluxError> {
if let Some(token) = self.bearer_token() {
Ok(token)
} else {
std::env::var(SUPABASE_ACCESS_TOKEN).map_err(|_| {
FluxError::Unauthorized(format!(
"Supabase token not found in environment variable '{}'",
SUPABASE_ACCESS_TOKEN
))
})
}
}
}