Organize code

This commit is contained in:
Chris Tsang 2021-06-12 17:03:28 +08:00
parent 981a5f731d
commit c7057ab964
12 changed files with 41 additions and 39 deletions

View File

@ -7,7 +7,7 @@ use sqlx::{
sea_query::sea_query_driver_mysql!();
use sea_query_driver_mysql::bind_query;
use crate::{connector::*, debug_print, DatabaseConnection, Statement};
use crate::{debug_print, executor::*, DatabaseConnection, Statement};
pub struct SqlxMySqlConnector;

View File

@ -1,19 +1,4 @@
mod delete;
mod executor;
mod insert;
mod paginator;
mod query;
mod select;
mod update;
pub use delete::*;
pub use executor::*;
pub use insert::*;
pub use paginator::*;
pub use query::*;
pub use select::*;
pub use update::*;
use super::{ExecErr, ExecResult, QueryErr, QueryResult};
use crate::{DatabaseConnection, Statement};
use async_trait::async_trait;
use std::{error::Error, fmt};
@ -34,28 +19,9 @@ pub trait Connection {
async fn query_all(&self, stmt: Statement) -> Result<Vec<QueryResult>, QueryErr>;
}
#[derive(Debug)]
pub struct QueryErr;
#[derive(Debug)]
pub struct ConnectionErr;
// QueryErr //
impl Error for QueryErr {}
impl fmt::Display for QueryErr {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{:?}", self)
}
}
impl From<TypeErr> for QueryErr {
fn from(_: TypeErr) -> QueryErr {
QueryErr
}
}
// ConnectionErr //
impl Error for ConnectionErr {}

17
src/executor/mod.rs Normal file
View File

@ -0,0 +1,17 @@
mod connector;
mod delete;
mod execute;
mod insert;
mod paginator;
mod query;
mod select;
mod update;
pub use connector::*;
pub use delete::*;
pub use execute::*;
pub use insert::*;
pub use paginator::*;
pub use query::*;
pub use select::*;
pub use update::*;

View File

@ -11,6 +11,9 @@ pub(crate) enum QueryResultRow {
SqlxMySql(MySqlRow),
}
#[derive(Debug)]
pub struct QueryErr;
#[derive(Debug)]
pub struct TypeErr;
@ -77,6 +80,22 @@ impl QueryResult {
}
}
// QueryErr //
impl Error for QueryErr {}
impl fmt::Display for QueryErr {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
write!(f, "{:?}", self)
}
}
impl From<TypeErr> for QueryErr {
fn from(_: TypeErr) -> QueryErr {
QueryErr
}
}
// TypeErr //
impl Error for TypeErr {}

View File

@ -1,15 +1,15 @@
mod connector;
mod database;
mod driver;
pub mod entity;
mod executor;
pub mod query;
pub mod tests_cfg;
mod util;
pub use connector::*;
pub use database::*;
pub use driver::*;
pub use entity::*;
pub use executor::*;
pub use query::*;
pub use sea_orm_macros::{

View File

@ -20,4 +20,4 @@ pub use select::*;
pub use traits::*;
pub use update::*;
pub use crate::connector::{ExecErr, QueryErr};
pub use crate::executor::{ExecErr, QueryErr};