//this file is generated by program(drogon_ctl) automatically,don't modify it! #include "model_json.h" #include #include #include #include #include #include #include #include #include #include #include #include using namespace drogon; std::string model_json::genText(const DrTemplateData& model_json_view_data) { drogon::OStringStream model_json_tmp_stream; std::string layoutName{""}; model_json_tmp_stream << "{\n"; model_json_tmp_stream << " //rdbms: server type, postgresql,mysql or sqlite3\n"; model_json_tmp_stream << " \"rdbms\": \"postgresql\",\n"; model_json_tmp_stream << " //filename: sqlite3 db file name\n"; model_json_tmp_stream << " //\"filename\":\"\",\n"; model_json_tmp_stream << " //host: server address,localhost by default;\n"; model_json_tmp_stream << " \"host\": \"127.0.0.1\",\n"; model_json_tmp_stream << " //port: server port, 5432 by default;\n"; model_json_tmp_stream << " \"port\": 5432,\n"; model_json_tmp_stream << " //dbname: Database name;\n"; model_json_tmp_stream << " \"dbname\": \"\",\n"; model_json_tmp_stream << " //schema: valid for postgreSQL, \"public\" by default;\n"; model_json_tmp_stream << " \"schema\": \"public\",\n"; model_json_tmp_stream << " //user: User name\n"; model_json_tmp_stream << " \"user\": \"\",\n"; model_json_tmp_stream << " //password or passwd: Password\n"; model_json_tmp_stream << " \"password\": \"\",\n"; model_json_tmp_stream << " //client_encoding: The character set used by drogon_ctl. it is empty string by default which \n"; model_json_tmp_stream << " //means use the default character set.\n"; model_json_tmp_stream << " //\"client_encoding\": \"\",\n"; model_json_tmp_stream << " //table: An array of tables to be modelized. if the array is empty, all revealed tables are modelized.\n"; model_json_tmp_stream << " \"tables\": [],\n"; model_json_tmp_stream << " //convert: the value can be changed by a function call before it is stored into database or\n"; model_json_tmp_stream << " //after it is read from database\n"; model_json_tmp_stream << " \"convert\": {\n"; model_json_tmp_stream << " \"enabled\": false,\n"; model_json_tmp_stream << " \"items\":[{\n"; model_json_tmp_stream << " \"table\": \"user\",\n"; model_json_tmp_stream << " \"column\": \"password\",\n"; model_json_tmp_stream << " \"method\": {\n"; model_json_tmp_stream << " //after_db_read: name of the method which is called after reading from database, signature: void([const] std::shared_ptr [&])\n"; model_json_tmp_stream << " \"after_db_read\": \"decrypt_password\",\n"; model_json_tmp_stream << " //before_db_write: name of the method which is called before writing to database, signature: void([const] std::shared_ptr [&])\n"; model_json_tmp_stream << " \"before_db_write\": \"encrypt_password\"\n"; model_json_tmp_stream << " },\n"; model_json_tmp_stream << " \"includes\": [\n"; model_json_tmp_stream << " \"\\\"file_local_search_path.h\\\"\",\"\"\n"; model_json_tmp_stream << " ]\n"; model_json_tmp_stream << " }]\n"; model_json_tmp_stream << " },\n"; model_json_tmp_stream << " \"relationships\": {\n"; model_json_tmp_stream << " \"enabled\": false,\n"; model_json_tmp_stream << " \"items\": [{\n"; model_json_tmp_stream << " \"type\": \"has one\",\n"; model_json_tmp_stream << " \"original_table_name\": \"products\",\n"; model_json_tmp_stream << " \"original_table_alias\": \"product\",\n"; model_json_tmp_stream << " \"original_key\": \"id\",\n"; model_json_tmp_stream << " \"target_table_name\": \"skus\",\n"; model_json_tmp_stream << " \"target_table_alias\": \"SKU\",\n"; model_json_tmp_stream << " \"target_key\": \"product_id\",\n"; model_json_tmp_stream << " \"enable_reverse\": true\n"; model_json_tmp_stream << " },\n"; model_json_tmp_stream << " {\n"; model_json_tmp_stream << " \"type\": \"has many\",\n"; model_json_tmp_stream << " \"original_table_name\": \"products\",\n"; model_json_tmp_stream << " \"original_table_alias\": \"product\",\n"; model_json_tmp_stream << " \"original_key\": \"id\",\n"; model_json_tmp_stream << " \"target_table_name\": \"reviews\",\n"; model_json_tmp_stream << " \"target_table_alias\": \"\",\n"; model_json_tmp_stream << " \"target_key\": \"product_id\",\n"; model_json_tmp_stream << " \"enable_reverse\": true\n"; model_json_tmp_stream << " },\n"; model_json_tmp_stream << " {\n"; model_json_tmp_stream << " \"type\": \"many to many\",\n"; model_json_tmp_stream << " \"original_table_name\": \"products\",\n"; model_json_tmp_stream << " \"original_table_alias\": \"\",\n"; model_json_tmp_stream << " \"original_key\": \"id\",\n"; model_json_tmp_stream << " \"pivot_table\": {\n"; model_json_tmp_stream << " \"table_name\": \"carts_products\",\n"; model_json_tmp_stream << " \"original_key\": \"product_id\",\n"; model_json_tmp_stream << " \"target_key\": \"cart_id\"\n"; model_json_tmp_stream << " },\n"; model_json_tmp_stream << " \"target_table_name\": \"carts\",\n"; model_json_tmp_stream << " \"target_table_alias\": \"\",\n"; model_json_tmp_stream << " \"target_key\": \"id\",\n"; model_json_tmp_stream << " \"enable_reverse\": true\n"; model_json_tmp_stream << " }\n"; model_json_tmp_stream << " ]\n"; model_json_tmp_stream << " },\n"; model_json_tmp_stream << " \"restful_api_controllers\": {\n"; model_json_tmp_stream << " \"enabled\": false,\n"; model_json_tmp_stream << " // resource_uri: The URI to access the resource, the default value \n"; model_json_tmp_stream << " // is '/*' in which the asterisk represents the table name.\n"; model_json_tmp_stream << " // If this option is set to a empty string, the URI is composed of the namespaces and the class name.\n"; model_json_tmp_stream << " \"resource_uri\": \"/*\",\n"; model_json_tmp_stream << " // class_name: \"Restful*Ctrl\" by default, the asterisk represents the table name.\n"; model_json_tmp_stream << " // This option can contain namespaces.\n"; model_json_tmp_stream << " \"class_name\": \"Restful*Ctrl\",\n"; model_json_tmp_stream << " // filters: an array of filter names.\n"; model_json_tmp_stream << " \"filters\": [],\n"; model_json_tmp_stream << " // db_client: the database client used by the controller. this option must be consistent with\n"; model_json_tmp_stream << " // the configuration of the application.\n"; model_json_tmp_stream << " \"db_client\": {\n"; model_json_tmp_stream << " //name: Name of the client,'default' by default\n"; model_json_tmp_stream << " \"name\": \"default\",\n"; model_json_tmp_stream << " //is_fast: \n"; model_json_tmp_stream << " \"is_fast\": false\n"; model_json_tmp_stream << " },\n"; model_json_tmp_stream << " // directory: The directory where the controller source files are stored.\n"; model_json_tmp_stream << " \"directory\": \"controllers\",\n"; model_json_tmp_stream << " // generate_base_only: false by default. Set to true to avoid overwriting custom subclasses.\n"; model_json_tmp_stream << " \"generate_base_only\": false\n"; model_json_tmp_stream << " }\n"; model_json_tmp_stream << "}\n"; if(layoutName.empty()) { std::string ret{std::move(model_json_tmp_stream.str())}; return ret; }else { auto templ = DrTemplateBase::newTemplate(layoutName); if(!templ) return ""; HttpViewData data = model_json_view_data; auto str = std::move(model_json_tmp_stream.str()); if(!str.empty() && str[str.length()-1] == '\n') str.resize(str.length()-1); data[""] = std::move(str); return templ->genText(data); } }