br-addon 0.2.20

This is an addon
Documentation
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::{{plugin}}::{{model_a}}::{{model}};

pub struct {{action}} {
    pub module: {{model}},
}

impl Action for {{action}} {
    fn title(&self) -> &'static str { "{{title}}" }
    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"]=vec![].into();
        // table_info["btn_api"]=vec![].into();
        // table_info["btn_ids"]=vec![].into();

        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, "获取成功")
    }
}