use sea_orm::{DatabaseConnection}; use super::model::user::{Model, Column}; use sea_orm::prelude::*; use sea_orm::query::*; use serde::{Serialize, Deserialize}; use super::model::prelude::*; #[derive(Clone, Debug)] pub(crate) struct UserController { database: DatabaseConnection } impl UserController { pub fn new(database: DatabaseConnection) -> Self { Self { database: database } } pub async fn validate_password(&self, username: String, password: String) -> Result { let maybe_user = User::find() .filter(Column::Name.eq(username)) .one(&self.database) .await?; match maybe_user { Some(user) => todo!(), None => Ok(false), } } pub async fn list_all(&self, page: usize, count_per_page: usize) -> Result, sea_orm::DbErr> { let users = User::find() .paginate(&self.database, count_per_page) .fetch_page(page) .await?; Ok(users) } }