#ifndef XAPP_MODEL_SubscriptionData_H #define XAPP_MODEL_SubscriptionData_H #include "ModelBase.h" #include "SubscriptionInstance.h" namespace xapp { namespace model { struct SubscriptionData: ModelBase { std::vector ClientEndpoint; std::string Meid; int SubscriptionID; SubscriptionInstances m_SubscriptionInstances; json validator_schema = R"( { "$schema": "http://json-schema.org/draft-07/schema#", "title": "SubscriptionData", "properties": { "SubscriptionId": { "type": "integer" }, "Meid": { "type": "string" }, "ClientEndpoint": { "type": "array", "items": { "type": "string" } }, "SubscriptionInstances": { "type": "array" } }, "required": [ "SubscriptionId", "Meid", "ClientEndpoint", "SubscriptionInstances" ], "type": "object" })"_json; virtual json get_validator_schema() const { return validator_schema; } }; void from_json(const json& j, SubscriptionData& ref) { std::cout << __PRETTY_FUNCTION__ << std::endl; ref.validate_json(j); j.at("SubscriptionId").get_to(ref.SubscriptionID); j.at("SubscriptionInstances").get_to(ref.m_SubscriptionInstances); j.at("Meid").get_to(ref.Meid); j.at("ClientEndpoint").get_to(ref.ClientEndpoint); } void to_json(json& j, const SubscriptionData& ref) { j = json { {"SubscriptionId",ref.SubscriptionID}, {"Meid",ref.Meid}, {"ClientEndpoint", ref.ClientEndpoint}, {"SubscriptionInstances", ref.m_SubscriptionInstances} }; } using SubscriptionList = std::vector; } /*namespace model*/ } /*namespace xapp*/ #endif /*XAPP_MODEL_SubscriptionData_H*/