This commit is contained in:
2026-08-08 22:39:18 +08:00
parent d1cff37a2a
commit 464f3a166a
22 changed files with 510 additions and 54 deletions
@@ -0,0 +1,6 @@
cmake_minimum_required(VERSION 3.20)
project(AdminiveRealDrogonInstallConsumer LANGUAGES CXX)
find_package(Adminive CONFIG REQUIRED COMPONENTS Core Nlohmann Drogon)
add_executable(real_drogon_consumer main.cpp)
target_link_libraries(real_drogon_consumer PRIVATE Adminive::Drogon Adminive::Nlohmann)
target_compile_features(real_drogon_consumer PRIVATE cxx_std_20)
+24
View File
@@ -0,0 +1,24 @@
#include <adminive/adapters/drogon.hpp>
#include <adminive/adapters/nlohmann_json.hpp>
#include <string>
namespace real_drogon_install_consumer {
struct Config {
std::string name{"installed"};
};
}
namespace adminive {
template <>
struct Type_Descriptor<real_drogon_install_consumer::Config> {
static auto get() {
using T = real_drogon_install_consumer::Config;
return object<T>("installed_real_drogon", ADMINIVE_FIELD(T, name).editable());
}
};
}
int main() {
using Json = nlohmann::json;
real_drogon_install_consumer::Config config;
adminive::Drogon_Resource<real_drogon_install_consumer::Config, Json> resource(config, "/installed-real-drogon");
resource.bind(drogon::app());
return resource.view_schema().at("kind") == "form" ? 0 : 1;
}