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};
|
use crate::entity::{filter::Filter, filter_config::FilterConfig};
|
||||||
|
|
||||||
pub fn find_by_id(filter_id: &usize, conn: &mut PooledConn) -> Result<Vec<Filter>, mysql::Error> {
|
#[derive(Debug)]
|
||||||
let stat = conn
|
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(
|
.prep(
|
||||||
"SELECT f.filter_module_id, f.file_name, f.description, fm.filter_module_no, fm.filter_user
|
"SELECT f.filter_module_id, f.file_name, f.description, fm.filter_module_no, fm.filter_user
|
||||||
FROM filter f
|
FROM filter f
|
||||||
|
@ -12,24 +25,24 @@ pub fn find_by_id(filter_id: &usize, conn: &mut PooledConn) -> Result<Vec<Filter
|
||||||
")
|
")
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
conn.exec_map(
|
self.db_pool.exec_map(
|
||||||
stat,
|
stat,
|
||||||
params! {"filter_id" => filter_id},
|
params! {"filter_id" => filter_id},
|
||||||
|(filter_module_id, file_name, description, filter_module_no, filter_user)| Filter {
|
|(filter_module_id, file_name, description, filter_module_no, filter_user)| Filter {
|
||||||
filter_module_id,
|
filter_module_id,
|
||||||
file_name,
|
file_name,
|
||||||
description,
|
description,
|
||||||
filter_module_no,
|
filter_module_no,
|
||||||
filter_user,
|
filter_user,
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn find_filter_configs(
|
pub fn find_filter_configs(
|
||||||
filter_id: &usize,
|
self,
|
||||||
conn: &mut PooledConn,
|
filter_id: &usize,
|
||||||
) -> Result<Vec<FilterConfig>, mysql::Error> {
|
) -> Result<Vec<FilterConfig>, mysql::Error> {
|
||||||
let stat = conn
|
let stat = self.db_pool
|
||||||
.prep(
|
.prep(
|
||||||
"
|
"
|
||||||
SELECT t1.attribute, t1.value1, IF(t1.value2 is null or t1.value2 = '', 'EMPTY', t1.value2) as value2, t2.name, t1.upd_ts
|
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();
|
.unwrap();
|
||||||
|
|
||||||
conn.exec_map(
|
self.db_pool.exec_map(
|
||||||
stat,
|
stat,
|
||||||
params! {"filter_id" => filter_id},
|
params! {"filter_id" => filter_id},
|
||||||
|(attribute, value1, value2, name, upd_ts)| {
|
|(attribute, value1, value2, name, upd_ts)| FilterConfig {
|
||||||
FilterConfig {
|
|
||||||
attribute,
|
attribute,
|
||||||
value1,
|
value1,
|
||||||
value2,
|
value2,
|
||||||
name,
|
name,
|
||||||
upd_ts,
|
upd_ts,
|
||||||
}
|
},
|
||||||
},
|
)
|
||||||
)
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
use mysql::PooledConn;
|
|
||||||
use crate::{
|
use crate::{
|
||||||
entity::{filter::Filter, filter_config::FilterConfig},
|
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) {
|
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 {
|
match result {
|
||||||
Ok(filters) => {
|
Ok(filters) => {
|
||||||
|
@ -22,7 +23,7 @@ pub fn get_filter(filter_id: &usize, all: bool, conn: &mut PooledConn) {
|
||||||
});
|
});
|
||||||
|
|
||||||
if all {
|
if all {
|
||||||
get_filter_configs(&*filter_id, conn)
|
get_filter_configs(filter_id, conn)
|
||||||
} else {
|
} else {
|
||||||
println!("{}", "-".repeat(150));
|
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) {
|
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 {
|
match result {
|
||||||
Ok(filter_configs) => {
|
Ok(filter_configs) => {
|
||||||
|
|
Loading…
Reference in New Issue