use json::{JsonValue, object};
use br_addon::action::{Action, InterfaceType};
use br_addon::module::Module;
use br_addon::request::Request;
use br_addon::ApiResponse;
use br_addon::tables::Tables;
use crate::addon::dms::task::DmsTask;
pub struct DmsTaskTable {
pub module: DmsTask,
}
impl Action for DmsTaskTable {
fn title(&self) -> &'static str { "表格" }
fn tags(&self) -> &'static [&'static str] {
&[]
}
fn interface_type(&self) -> InterfaceType {
InterfaceType::MENU
}
fn params(&mut self) -> JsonValue {
Tables::params_table(object! {})
}
fn index(&mut self, request: Request) -> ApiResponse {
let mut table_info = self.table()
.main_table_fields(self.module._table_name(),
self.module.fields().clone(),
vec![],
vec![])
.search_fields(vec!["code", "name"])
.filter_fields(vec![])
.params(request.body.clone())
.get_table();
table_info["btn_all"] = check_auth(table_info["btn_all"].clone(), request.clone());
table_info["btn_api"] = check_auth(table_info["btn_api"].clone(), request.clone());
table_info["btn_ids"] = check_auth(table_info["btn_ids"].clone(), request.clone());
ApiResponse::success(table_info, "获取成功")
}
}