new struct for filter repo
parent
40c4757a07
commit
e32e96cb38
|
@ -2,8 +2,21 @@ use mysql::{params, prelude::Queryable, PooledConn};
|
|||
|
||||
use crate::entity::{filter::Filter, filter_config::FilterConfig};
|
||||
|
||||
pub fn find_by_id(filter_id: &usize, conn: &mut PooledConn) -> Result<Vec<Filter>, mysql::Error> {
|
||||
let stat = conn
|
||||
#[derive(Debug)]
|
||||
pub struct FilterRepo<'a> {
|
||||
db_pool: &'a mut PooledConn,
|
||||
}
|
||||
|
||||
impl<'a> FilterRepo<'a> {
|
||||
pub fn new(db_pool: &'a mut PooledConn) -> Self {
|
||||
Self { db_pool }
|
||||
}
|
||||
|
||||
pub fn find_by_id(
|
||||
self,
|
||||
filter_id: &usize,
|
||||
) -> Result<Vec<Filter>, mysql::Error> {
|
||||
let stat = self.db_pool
|
||||
.prep(
|
||||
"SELECT f.filter_module_id, f.file_name, f.description, fm.filter_module_no, fm.filter_user
|
||||
FROM filter f
|
||||
|
@ -12,7 +25,7 @@ pub fn find_by_id(filter_id: &usize, conn: &mut PooledConn) -> Result<Vec<Filter
|
|||
")
|
||||
.unwrap();
|
||||
|
||||
conn.exec_map(
|
||||
self.db_pool.exec_map(
|
||||
stat,
|
||||
params! {"filter_id" => filter_id},
|
||||
|(filter_module_id, file_name, description, filter_module_no, filter_user)| Filter {
|
||||
|
@ -23,13 +36,13 @@ pub fn find_by_id(filter_id: &usize, conn: &mut PooledConn) -> Result<Vec<Filter
|
|||
filter_user,
|
||||
},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
pub fn find_filter_configs(
|
||||
pub fn find_filter_configs(
|
||||
self,
|
||||
filter_id: &usize,
|
||||
conn: &mut PooledConn,
|
||||
) -> Result<Vec<FilterConfig>, mysql::Error> {
|
||||
let stat = conn
|
||||
) -> Result<Vec<FilterConfig>, mysql::Error> {
|
||||
let stat = self.db_pool
|
||||
.prep(
|
||||
"
|
||||
SELECT t1.attribute, t1.value1, IF(t1.value2 is null or t1.value2 = '', 'EMPTY', t1.value2) as value2, t2.name, t1.upd_ts
|
||||
|
@ -40,17 +53,16 @@ pub fn find_filter_configs(
|
|||
)
|
||||
.unwrap();
|
||||
|
||||
conn.exec_map(
|
||||
self.db_pool.exec_map(
|
||||
stat,
|
||||
params! {"filter_id" => filter_id},
|
||||
|(attribute, value1, value2, name, upd_ts)| {
|
||||
FilterConfig {
|
||||
|(attribute, value1, value2, name, upd_ts)| FilterConfig {
|
||||
attribute,
|
||||
value1,
|
||||
value2,
|
||||
name,
|
||||
upd_ts,
|
||||
}
|
||||
},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
use mysql::PooledConn;
|
||||
use crate::{
|
||||
entity::{filter::Filter, filter_config::FilterConfig},
|
||||
repository::filter_repo,
|
||||
repository::filter_repo::FilterRepo,
|
||||
};
|
||||
use mysql::PooledConn;
|
||||
|
||||
pub fn get_filter(filter_id: &usize, all: bool, conn: &mut PooledConn) {
|
||||
let result = filter_repo::find_by_id(filter_id, conn);
|
||||
let repo: FilterRepo = FilterRepo::new(conn);
|
||||
let result = repo.find_by_id(filter_id);
|
||||
|
||||
match result {
|
||||
Ok(filters) => {
|
||||
|
@ -22,7 +23,7 @@ pub fn get_filter(filter_id: &usize, all: bool, conn: &mut PooledConn) {
|
|||
});
|
||||
|
||||
if all {
|
||||
get_filter_configs(&*filter_id, conn)
|
||||
get_filter_configs(filter_id, conn)
|
||||
} else {
|
||||
println!("{}", "-".repeat(150));
|
||||
}
|
||||
|
@ -33,7 +34,8 @@ pub fn get_filter(filter_id: &usize, all: bool, conn: &mut PooledConn) {
|
|||
}
|
||||
|
||||
pub fn get_filter_configs(filter_id: &usize, conn: &mut PooledConn) {
|
||||
let result = filter_repo::find_filter_configs(filter_id, conn);
|
||||
let repo: FilterRepo = FilterRepo::new(conn);
|
||||
let result = repo.find_filter_configs(filter_id);
|
||||
|
||||
match result {
|
||||
Ok(filter_configs) => {
|
||||
|
|
Loading…
Reference in New Issue