-#ifndef XAPP_MODEL_SubscriptionInstance_H
-#define XAPP_MODEL_SubscriptionInstance_H
-#include "ModelBase.h"
-
-namespace xapp {
-namespace model {
-
-struct SubscriptionInstance: ModelBase {
- int E2EventInstanceID;
- std::string ErrorCause;
- std::string ErrorSource;
- std::string TimeoutType;
- int XappEventInstanceID;
-
- json validator_schema = R"(
- {
- "$schema": "http://json-schema.org/draft-07/schema#",
- "title": "SubscriptionInstance",
- "description": "xApp service address and port",
- "properties": {
- "XappEventInstanceId": {
- "type": "integer",
- "minimum": 0,
- "maximum": 65535
- },
- "E2EventInstanceId": {
- "type": "integer",
- "minimum": 0,
- "maximum": 65535
- },
- "ErrorCause": {
- "description": "Descriptive error cause. Empty string when no error.",
- "type": "string"
- },
- "ErrorSource": {
- "description": "Source of error cause.",
- "type": "string",
- "enum": ["SUBMGR", "RTMGR", "DBAAS", "ASN1", "E2Node"]
- },
- "TimeoutType": {
- "description": "Type timeout. xApp should retry if timeout occurs.",
- "type": "string",
- "enum": ["E2-Timeout", "RTMGR-Timeout", "DBAAS-Timeout"]
- }
- },
- "required": [
- "XappEventInstanceId",
- "E2EventInstanceId"
- ],
- "type": "object"
- })"_json;
-
- virtual json get_validator_schema() const { return validator_schema; }
-};
-
-void from_json(const json& j, SubscriptionInstance& ref) {
-
- std::cout << __PRETTY_FUNCTION__ << std::endl;
- ref.validate_json(j);
-
- j.at("XappEventInstanceId").get_to(ref.XappEventInstanceID);
- j.at("E2EventInstanceId").get_to(ref.E2EventInstanceID);
- j.at("ErrorCause").get_to(ref.ErrorCause);
- j.at("ErrorSource").get_to(ref.ErrorSource);
- j.at("TimeoutType").get_to(ref.TimeoutType);
-}
-
-void to_json(json& j, const SubscriptionInstance& ref) {
-
- j = json {
- {"XappEventInstanceId", ref.XappEventInstanceID},
- {"E2EventInstanceId", ref.E2EventInstanceID},
- {"ErrorCause", ref.ErrorCause},
- {"ErrorSource", ref.ErrorSource},
- {"TimeoutType", ref.TimeoutType}
- };
-}
-
-using SubscriptionInstances = std::vector<SubscriptionInstance>;
-
-} /*namespace model*/
-} /*namespace xapp*/
-#endif /*XAPP_MODEL_SubscriptionInstance_H*/