1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
use df_db::Mode;
use df_fields::Field;
use json::{JsonValue, object};
use crate::{Action, Model, Response};
use crate::dict::tranmode::Tranmode;
pub struct Enable {
pub model: Tranmode,
}
impl Action for Enable {
fn title(&mut self) -> &'static str { "启用" }
fn name(&mut self) -> &'static str { "dict.tranmode.enable" }
fn token(&mut self) -> bool { true }
fn params(&mut self) -> JsonValue {
let mut params = object! {};
params[self.model.primary_key()] = df_fields::str::Key::new(true, self.model.primary_key(), "ID", 20).field();
return params;
}
fn index(&mut self, _header: JsonValue, request: JsonValue) -> Response {
let id = request["id"].clone();
let count = self.tools().db.table(self.model.table())
.where_and("id", "=", id.clone())
.where_and("state", "=", "禁用".into())
.update(object! {"state":"启用"});
if count.as_i32().unwrap() > 0 {
return self.success(object! {}, "成功");
}
return self.fail("失败");
}
}