site is changed
This commit is contained in:
parent
93332c1628
commit
c894033251
|
@ -30,7 +30,7 @@ tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
|
|||
tokio-cron-scheduler = { version = "0" }
|
||||
uuid = { version = "0", features = ["serde", "v4", "v5"] }
|
||||
|
||||
beteran-protobuf-rust = { git = "https://gitlab.loafle.net/bet/beteran-protobuf-rust.git", tag = "v0.1.27-snapshot" }
|
||||
beteran-common-rust = { git = "https://gitlab.loafle.net/bet/beteran-common-rust.git", tag = "v0.1.10-snapshot" }
|
||||
beteran-protobuf-rust = { git = "https://gitlab.loafle.net/bet/beteran-protobuf-rust.git", tag = "v0.1.28-snapshot" }
|
||||
beteran-common-rust = { git = "https://gitlab.loafle.net/bet/beteran-common-rust.git", tag = "v0.1.11-snapshot" }
|
||||
|
||||
[build-dependencies]
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
CREATE TABLE IF NOT EXISTS sites (
|
||||
id UUID DEFAULT uuid_generate_v4(),
|
||||
url TEXT NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
path TEXT,
|
||||
show BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
can_use BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
expires_at BIGINT NOT NULL DEFAULT (extract(epoch from now()) * 1000),
|
||||
created_at BIGINT NOT NULL DEFAULT (extract(epoch from now()) * 1000),
|
||||
updated_at BIGINT NOT NULL DEFAULT (extract(epoch from now()) * 1000),
|
||||
deleted_at BIGINT,
|
||||
PRIMARY KEY (id),
|
||||
UNIQUE (url)
|
||||
);
|
||||
|
|
|
@ -70,8 +70,8 @@ INSERT INTO role_resource_actions (role_id, resource_action_id) VALUES ('b6a2b66
|
|||
-- identity.signout
|
||||
INSERT INTO role_resource_actions (role_id, resource_action_id) VALUES ('b6a2b662-e21e-44e7-a96c-dacd86f9d6b8', '37b99823-188b-4b30-afb7-815a7e79662b');
|
||||
|
||||
INSERT INTO sites (id, url, show) VALUES ('d7cbae26-53b6-4cb1-85a4-66b956cbe1d4', '*', false);
|
||||
INSERT INTO sites (id, url, show) VALUES ('8429a7ab-b9de-400b-a209-28ff46e22bec', '127.0.0.1', true);
|
||||
INSERT INTO sites (id, url, name, path, show, expires_at) VALUES ('d7cbae26-53b6-4cb1-85a4-66b956cbe1d4', '*', '전체', '/', false, (extract(epoch from now() + INTERVAL '10 year') * 1000));
|
||||
INSERT INTO sites (id, url, name, path, show, expires_at) VALUES ('8429a7ab-b9de-400b-a209-28ff46e22bec', '127.0.0.1', '개발용', '/', true, (extract(epoch from now() + INTERVAL '3 month') * 1000));
|
||||
|
||||
|
||||
INSERT INTO member_levels (id, name, sort_order, show) VALUES ('c238463f-949d-49eb-92ab-dca7a09371db', 'LEVEL0', 0, false);
|
||||
|
|
|
@ -54,11 +54,13 @@ impl Composition {
|
|||
|
||||
s.id as s_id,
|
||||
s.url as s_url,
|
||||
s.name as s_name,
|
||||
s.path as s_path,
|
||||
s.show as s_show,
|
||||
s.can_use as s_can_use,
|
||||
s.expires_at as s_expires_at,
|
||||
s.created_at as s_created_at,
|
||||
s.updated_at as s_updated_at,
|
||||
s.deleted_at as s_deleted_at,
|
||||
|
||||
mc.id as mc_id,
|
||||
mc.parent_id as mc_parent_id,
|
||||
|
|
|
@ -73,11 +73,13 @@ impl QueryableByName<diesel::pg::Pg> for Member {
|
|||
site: _Site {
|
||||
id: row.get("s_id")?,
|
||||
url: row.get("s_url")?,
|
||||
name: row.get("s_name")?,
|
||||
path: row.get("s_path")?,
|
||||
show: row.get("s_show")?,
|
||||
can_use: row.get("s_can_use")?,
|
||||
expires_at: row.get("s_expires_at")?,
|
||||
created_at: row.get("s_created_at")?,
|
||||
updated_at: row.get("s_updated_at")?,
|
||||
deleted_at: row.get("s_deleted_at")?,
|
||||
},
|
||||
member_class: _MemberClass {
|
||||
id: row.get("mc_id")?,
|
||||
|
|
|
@ -10,15 +10,19 @@ pub struct Site {
|
|||
///
|
||||
pub url: String,
|
||||
///
|
||||
pub name: String,
|
||||
///
|
||||
pub path: String,
|
||||
///
|
||||
pub show: bool,
|
||||
///
|
||||
pub can_use: bool,
|
||||
///
|
||||
pub expires_at: i64,
|
||||
///
|
||||
pub created_at: i64,
|
||||
///
|
||||
pub updated_at: i64,
|
||||
///
|
||||
pub deleted_at: Option<i64>,
|
||||
}
|
||||
|
||||
///
|
||||
|
@ -28,9 +32,15 @@ pub struct NewSite {
|
|||
///
|
||||
pub url: String,
|
||||
///
|
||||
pub name: String,
|
||||
///
|
||||
pub path: String,
|
||||
///
|
||||
pub show: bool,
|
||||
///
|
||||
pub can_use: bool,
|
||||
///
|
||||
pub expires_at: i64,
|
||||
}
|
||||
|
||||
///
|
||||
|
@ -40,21 +50,31 @@ pub struct ModifySite {
|
|||
///
|
||||
pub url: String,
|
||||
///
|
||||
pub name: String,
|
||||
///
|
||||
pub path: String,
|
||||
///
|
||||
pub show: bool,
|
||||
///
|
||||
pub can_use: bool,
|
||||
///
|
||||
pub expires_at: i64,
|
||||
}
|
||||
|
||||
///
|
||||
#[derive(Debug, Clone)]
|
||||
pub struct FindAll {
|
||||
///
|
||||
pub url_like: Option<String>,
|
||||
///
|
||||
pub name_like: Option<String>,
|
||||
///
|
||||
pub path_like: Option<String>,
|
||||
///
|
||||
pub show: Option<bool>,
|
||||
///
|
||||
pub can_use: Option<bool>,
|
||||
///
|
||||
pub url_like: Option<String>,
|
||||
///
|
||||
pub pagination: Option<bcr::models::pagination::Pagination>,
|
||||
///
|
||||
pub sorts: Option<Vec<bcr::models::pagination::Sort>>,
|
||||
|
|
|
@ -82,15 +82,21 @@ impl Repository {
|
|||
) -> Result<i64, Error> {
|
||||
let mut q = sites::table.into_boxed();
|
||||
|
||||
if let Some(sp) = find_all.url_like {
|
||||
q = q.filter(sites::dsl::url.like(sp));
|
||||
}
|
||||
if let Some(sp) = find_all.name_like {
|
||||
q = q.filter(sites::dsl::url.like(sp));
|
||||
}
|
||||
if let Some(sp) = find_all.path_like {
|
||||
q = q.filter(sites::dsl::path.like(sp));
|
||||
}
|
||||
if let Some(sp) = find_all.show {
|
||||
q = q.filter(sites::dsl::show.eq(sp));
|
||||
}
|
||||
if let Some(sp) = find_all.can_use {
|
||||
q = q.filter(sites::dsl::can_use.eq(sp));
|
||||
}
|
||||
if let Some(sp) = find_all.url_like {
|
||||
q = q.filter(sites::dsl::url.like(sp));
|
||||
}
|
||||
|
||||
q.count().get_result(conn)
|
||||
}
|
||||
|
@ -103,15 +109,21 @@ impl Repository {
|
|||
) -> Result<Vec<models::Site>, Error> {
|
||||
let mut q = sites::table.into_boxed();
|
||||
|
||||
if let Some(sp) = find_all.url_like {
|
||||
q = q.filter(sites::dsl::url.like(sp));
|
||||
}
|
||||
if let Some(sp) = find_all.name_like {
|
||||
q = q.filter(sites::dsl::url.like(sp));
|
||||
}
|
||||
if let Some(sp) = find_all.path_like {
|
||||
q = q.filter(sites::dsl::path.like(sp));
|
||||
}
|
||||
if let Some(sp) = find_all.show {
|
||||
q = q.filter(sites::dsl::show.eq(sp));
|
||||
}
|
||||
if let Some(sp) = find_all.can_use {
|
||||
q = q.filter(sites::dsl::can_use.eq(sp));
|
||||
}
|
||||
if let Some(sp) = find_all.url_like {
|
||||
q = q.filter(sites::dsl::url.like(sp));
|
||||
}
|
||||
|
||||
if let Some(p) = find_all.pagination {
|
||||
let page = p.page.unwrap_or(1);
|
||||
|
@ -128,30 +140,42 @@ impl Repository {
|
|||
"url" => {
|
||||
q = q.order_by(sites::url.asc());
|
||||
}
|
||||
"name" => {
|
||||
q = q.order_by(sites::url.asc());
|
||||
}
|
||||
"path" => {
|
||||
q = q.order_by(sites::url.asc());
|
||||
}
|
||||
"expires_at" => {
|
||||
q = q.order_by(sites::expires_at.asc());
|
||||
}
|
||||
"created_at" => {
|
||||
q = q.order_by(sites::created_at.asc());
|
||||
}
|
||||
"updated_at" => {
|
||||
q = q.order_by(sites::updated_at.asc());
|
||||
}
|
||||
"deleted_at" => {
|
||||
q = q.order_by(sites::deleted_at.asc());
|
||||
}
|
||||
_ => {}
|
||||
},
|
||||
bcr::models::pagination::Sort::DESC(property) => match property.as_str() {
|
||||
"url" => {
|
||||
q = q.order_by(sites::url.desc());
|
||||
}
|
||||
"name" => {
|
||||
q = q.order_by(sites::url.desc());
|
||||
}
|
||||
"path" => {
|
||||
q = q.order_by(sites::url.desc());
|
||||
}
|
||||
"expires_at" => {
|
||||
q = q.order_by(sites::expires_at.desc());
|
||||
}
|
||||
"created_at" => {
|
||||
q = q.order_by(sites::created_at.desc());
|
||||
}
|
||||
"updated_at" => {
|
||||
q = q.order_by(sites::updated_at.desc());
|
||||
}
|
||||
"deleted_at" => {
|
||||
q = q.order_by(sites::deleted_at.desc());
|
||||
}
|
||||
_ => {}
|
||||
},
|
||||
};
|
||||
|
|
|
@ -9,14 +9,18 @@ table! {
|
|||
///
|
||||
url -> Text,
|
||||
///
|
||||
name -> Text,
|
||||
///
|
||||
path -> Text,
|
||||
///
|
||||
show -> Bool,
|
||||
///
|
||||
can_use -> Bool,
|
||||
///
|
||||
expires_at -> BigInt,
|
||||
///
|
||||
created_at -> BigInt,
|
||||
///
|
||||
updated_at -> BigInt,
|
||||
///
|
||||
deleted_at -> Nullable<BigInt>,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,11 +6,13 @@ impl From<&repositories::site::models::Site> for bpr::models::domain::Site {
|
|||
bpr::models::domain::Site {
|
||||
id: d.id.to_string(),
|
||||
url: d.url.clone(),
|
||||
name: d.name.clone(),
|
||||
path: d.path.clone(),
|
||||
show: d.show,
|
||||
can_use: d.can_use,
|
||||
expires_at: d.expires_at as u64,
|
||||
created_at: d.created_at as u64,
|
||||
updated_at: d.updated_at as u64,
|
||||
deleted_at: d.deleted_at.map(|d| d as u64),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -137,9 +137,11 @@ impl Service {
|
|||
.select_all_count(
|
||||
&conn,
|
||||
repositories::site::models::FindAll {
|
||||
url_like: None,
|
||||
name_like: None,
|
||||
path_like: None,
|
||||
show: None,
|
||||
can_use: None,
|
||||
url_like: None,
|
||||
pagination: req
|
||||
.pagination
|
||||
.as_ref()
|
||||
|
@ -166,9 +168,11 @@ impl Service {
|
|||
.select_all(
|
||||
&conn,
|
||||
repositories::site::models::FindAll {
|
||||
url_like: None,
|
||||
name_like: None,
|
||||
path_like: None,
|
||||
show: None,
|
||||
can_use: None,
|
||||
url_like: None,
|
||||
pagination: req
|
||||
.pagination
|
||||
.as_ref()
|
||||
|
@ -281,8 +285,11 @@ impl Service {
|
|||
&conn,
|
||||
&repositories::site::models::NewSite {
|
||||
url: req.url,
|
||||
name: req.name,
|
||||
path: req.path,
|
||||
show: req.show,
|
||||
can_use: req.can_use,
|
||||
expires_at: req.expires_at as i64,
|
||||
},
|
||||
)
|
||||
.map_err(|e| {
|
||||
|
@ -395,8 +402,11 @@ impl Service {
|
|||
id,
|
||||
&repositories::site::models::ModifySite {
|
||||
url: req.url,
|
||||
name: req.name,
|
||||
path: req.path,
|
||||
show: req.show,
|
||||
can_use: req.can_use,
|
||||
expires_at: req.expires_at as i64,
|
||||
},
|
||||
)
|
||||
.map_err(|e| {
|
||||
|
|
Loading…
Reference in New Issue
Block a user