use json::{JsonValue, object};
use br_db::Mode;
use br_fields::Field;
use crate::plugin::{{plugin}}::{{model_a}}::{{model}};
use br_plugin::Response;
use br_plugin::action::Action;
use br_plugin::model::Model;

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 token(&mut self) -> bool { true }
    fn params(&mut self) -> JsonValue {
        let params = object! {};
        return params;
    }

    fn index(&mut self, _header: JsonValue, request: JsonValue) -> Response {
        let data = self.tools().db.table(self.model.table()).insert(request.clone());
        if data.is_empty() {
            return self.fail("添加失败");
        }
        return self.success(data, "添加成功");
    }
}