use json::{JsonValue, object};
use crate::plugin::{{plugin}}::{{model_a}}::{{model}};
use br_plugin::Response;
use br_plugin::action::Action;
use br_plugin::model::Model;
use br_fields::Field;
pub struct {{action}} {
pub model: {{model}},
}
impl Action for {{action}} {
fn author(&mut self) -> &'static str {
return "";
}
fn title(&mut self) -> &'static str { "{{title}}" }
fn api(&mut self) -> &'static str { "{{api}}" }
fn auth(&mut self) -> bool {
false
}
fn params(&mut self) -> JsonValue {
let mut params = object! {};
params[self.model.primary_key()] = br_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 data = self.tools().db.table(self.model.table())
.where_and("id", "=", id.clone())
.find();
if data.is_empty() {
return self.fail("获取{{title}}失败");
}
return self.success(data, "获取{{title}}成功");
}
}