diff options
author | neodarz <neodarz@neodarz.net> | 2019-09-11 16:23:32 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2019-09-11 16:23:32 +0200 |
commit | a4f2b4808e79cf333d2ec2c7c72c1ac8f807c27b (patch) | |
tree | 936391347698f6c7035e881d5c50961b8e268249 | |
parent | a826aeae4b7f9a1e3b0e0d9622fe2a2f94f1d641 (diff) | |
download | umosapicpp-a4f2b4808e79cf333d2ec2c7c72c1ac8f807c27b.tar.xz umosapicpp-a4f2b4808e79cf333d2ec2c7c72c1ac8f807c27b.zip |
Add ability to an object in definition propertie
-rw-r--r-- | api/umosapi.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/api/umosapi.cpp b/api/umosapi.cpp index c14e9a5..bd58f8a 100644 --- a/api/umosapi.cpp +++ b/api/umosapi.cpp @@ -175,8 +175,14 @@ void UmosapiService::Api::definition(std::string name, std::string type) { void UmosapiService::Api::propertie(std::string name, std::string format, std::string type, std::string required) { UmosapiService::Api::_definition.props.push_back(Propertie{name, format, type, required}); - UmosapiService::Api::_swagger["definitions"][UmosapiService::Api::_definition.name]["properties"][name]["format"] = format; - UmosapiService::Api::_swagger["definitions"][UmosapiService::Api::_definition.name]["properties"][name]["type"] = type; + if (type == "ref") { + UmosapiService::Api::_swagger["definitions"][UmosapiService::Api::_definition.name]["type"] = "array"; + std::string schema_path = "#/definitions/"; + UmosapiService::Api::_swagger["definitions"][UmosapiService::Api::_definition.name]["items"]["$ref"] = schema_path.append(name); + } else { + UmosapiService::Api::_swagger["definitions"][UmosapiService::Api::_definition.name]["properties"][name]["format"] = format; + UmosapiService::Api::_swagger["definitions"][UmosapiService::Api::_definition.name]["properties"][name]["type"] = type; + } if (required == "true") { UmosapiService::Api::_swagger["definitions"][UmosapiService::Api::_definition.name]["required"].push_back(name); } |