use serde::{Deserialize, Serialize}; use sqlx::{FromRow, SqlitePool}; #[derive(FromRow, Debug, Serialize, Deserialize, Clone)] pub struct TripType { pub id: i64, name: String, desc: String, question: String, icon: String, } impl TripType { pub async fn find_by_id(db: &SqlitePool, id: i64) -> Option { sqlx::query_as!( Self, " SELECT id, name, desc, question, icon FROM trip_type WHERE id like ? ", id ) .fetch_one(db) .await .ok() } pub async fn all(db: &SqlitePool) -> Vec { sqlx::query_as!( Self, " SELECT id, name, desc, question, icon FROM trip_type " ) .fetch_all(db) .await .unwrap() //TODO: fixme } } #[cfg(test)] mod test { use crate::testdb; use sqlx::SqlitePool; #[sqlx::test] fn test_find_true() { let _ = testdb!(); } //TODO: write tests }