added row level security

This commit is contained in:
liyunze 2026-07-09 16:51:50 +10:00
parent 194ae28503
commit 75d54742c3
2 changed files with 28 additions and 3 deletions

View file

@ -8,3 +8,5 @@ HONEYPOT_CHANNEL_ID=""
SUPABASE_URL="" SUPABASE_URL=""
SUPABASE_KEY="" SUPABASE_KEY=""
SUPABASE_USER_EMAIL=""
SUPABASE_USER_PASSWORD=""

View file

@ -1,7 +1,7 @@
use dotenv::dotenv; use dotenv::dotenv;
use poise::serenity_prelude as serenity; use poise::serenity_prelude as serenity;
use std::{collections::HashMap, sync::Mutex}; use std::{collections::HashMap, sync::Mutex};
use supabase::Client; use supabase::prelude::Client;
mod commands; mod commands;
mod events; mod events;
@ -22,11 +22,32 @@ pub struct AppState {
} }
impl AppState { impl AppState {
pub fn new() -> supabase::Result<Self> { pub async fn new() -> supabase::Result<Self> {
dotenv().ok(); dotenv().ok();
let supabase_url = std::env::var("SUPABASE_URL").expect("missing SUPABASE_URL"); let supabase_url = std::env::var("SUPABASE_URL").expect("missing SUPABASE_URL");
let supabase_key = std::env::var("SUPABASE_KEY").expect("missing SUPABASE_KEY"); let supabase_key = std::env::var("SUPABASE_KEY").expect("missing SUPABASE_KEY");
let supabase_user_email =
std::env::var("SUPABASE_USER_EMAIL").expect("missing SUPABASE_USER_EMAIL");
let supabase_user_password =
std::env::var("SUPABASE_USER_PASSWORD").expect("missing SUPABASE_USER_PASSWORD");
let client = Client::new(&supabase_url, &supabase_key)?; let client = Client::new(&supabase_url, &supabase_key)?;
let auth_response = client
.auth()
.sign_in_with_email_and_password(&supabase_user_email, &supabase_user_password)
.await?;
if auth_response.user.is_none() {
println!("User not found");
} else {
println!(
"User signed in: {}",
auth_response
.user
.expect("User not found")
.email
.expect("Email not found")
);
}
Ok(Self { Ok(Self {
supabase: client, supabase: client,
@ -60,7 +81,9 @@ async fn event_handler(
async fn main() { async fn main() {
dotenv().ok(); // load env dotenv().ok(); // load env
let app_state = AppState::new().expect("Failed to initialize AppState"); let app_state = AppState::new()
.await
.expect("Failed to initialize AppState");
// -- discord bot start -- // -- discord bot start --
let token = std::env::var("DISCORD_TOKEN").expect("missing DISCORD_TOKEN"); let token = std::env::var("DISCORD_TOKEN").expect("missing DISCORD_TOKEN");