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
34
use std::path::PathBuf;
use df_cache::Cache;
use df_db::db::Db;
use df_kafka::Kafka;
use json::object;
use df_plugin::{Model, Plugin};
use df_plugin::tests::TestPlugin;

fn main() {
    let mut apimodel = plugin("tests").model("test").action("table");
    let tools = {
        let mut db_conf = object! {};
        let mut cache_conf = object! {};
        let mut kafka_conf = object! {};
        df_plugin::Tools {
            db: Db::new(db_conf.clone()),
            cache: Cache::connect(cache_conf.clone()),
            kafka: Kafka::connect(kafka_conf.clone()),
        }
    };

    let data = apimodel.run(object! {}, object! {
        page:1,
        limit:10
    }, tools);
    println!("{:#}", data.to_json());
}

/// 插件入口
fn plugin(name: &str) -> Box<dyn Plugin> {
    match name {
        _ => Box::new(TestPlugin {})
    }
}