1 #ifndef XAPP_MODEL_SubscriptionParams_H
2 #define XAPP_MODEL_SubscriptionParams_H
4 #include "SubscriptionDetail.h"
5 #include "SubscriptionParams_ClientEndpoint.h"
6 #include "SubscriptionParams_E2SubscriptionDirectives.h"
11 struct SubscriptionParams: public ModelBase {
13 SubscriptionParams_ClientEndpoint ClientEndpoint;
14 SubscriptionParams_E2SubscriptionDirectives E2SubscriptionDirectives;
17 std::string SubscriptionID;
18 SubscriptionDetailsList m_SubscriptionDetailsList;
20 json validator_schema = R"(
22 "$schema": "http://json-schema.org/draft-07/schema#",
23 "title": "SubscriptionParams",
26 "description": "Optional subscription ID '(Submgr allocates if not given)'",
47 virtual json get_validator_schema() const { return validator_schema; }
51 void from_json(const json& j, SubscriptionParams& ref) {
53 std::cout << __PRETTY_FUNCTION__ << std::endl;
55 j.at("ClientEndpoint").get_to(ref.ClientEndpoint);
57 if (j.contains("E2SubscriptionDirectives"))
59 j.at("E2SubscriptionDirectives").get_to(ref.E2SubscriptionDirectives);
62 if (j.contains("SubscriptionId"))
64 j.at("SubscriptionId").get_to(ref.SubscriptionID);
67 j.at("Meid").get_to(ref.Meid);
68 j.at("RANFunctionId").get_to(ref.RANFunctionID);
69 j.at("SubscriptionDetails").get_to(ref.m_SubscriptionDetailsList);
72 void to_json(json& j, const SubscriptionParams& ref) {
75 {"ClientEndpoint", ref.ClientEndpoint},
76 {"E2SubscriptionDirectives", ref.E2SubscriptionDirectives},
78 {"RANFunctionId", ref.RANFunctionID},
79 {"SubscriptionId", ref.SubscriptionID},
80 {"SubscriptionDetails", ref.m_SubscriptionDetailsList},
86 #endif /*XAPP_MODEL_SubscriptionParams_H*/