# coding: utf-8 """ Copyright 2016 SmartBear Software Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. Ref: https://github.com/swagger-api/swagger-codegen """ from datetime import datetime from datetime import date from pprint import pformat import re import json from ..utils import sanitize_for_serialization # type hinting support from typing import TYPE_CHECKING from typing import List from typing import Dict class RoutingStatus(object): """ NOTE: This class is auto generated by the swagger code generator program. Do not edit the class manually. """ def __init__(self) -> None: """ RoutingStatus - a model defined in Swagger :param dict swaggerTypes: The key is attribute name and the value is attribute type. :param dict attributeMap: The key is attribute name and the value is json key in definition. """ self.swagger_types = { 'user_id': 'str', 'status': 'str', 'start_time': 'datetime' } self.attribute_map = { 'user_id': 'userId', 'status': 'status', 'start_time': 'startTime' } self._user_id = None self._status = None self._start_time = None @property def user_id(self) -> str: """ Gets the user_id of this RoutingStatus. The userId of the agent :return: The user_id of this RoutingStatus. :rtype: str """ return self._user_id @user_id.setter def user_id(self, user_id: str) -> None: """ Sets the user_id of this RoutingStatus. The userId of the agent :param user_id: The user_id of this RoutingStatus. :type: str """ self._user_id = user_id @property def status(self) -> str: """ Gets the status of this RoutingStatus. Indicates the Routing State of the agent. A value of OFF_QUEUE will be returned if the specified user does not exist. :return: The status of this RoutingStatus. :rtype: str """ return self._status @status.setter def status(self, status: str) -> None: """ Sets the status of this RoutingStatus. Indicates the Routing State of the agent. A value of OFF_QUEUE will be returned if the specified user does not exist. :param status: The status of this RoutingStatus. :type: str """ if isinstance(status, int): status = str(status) allowed_values = ["OFF_QUEUE", "IDLE", "INTERACTING", "NOT_RESPONDING", "COMMUNICATING"] if status.lower() not in map(str.lower, allowed_values): # print("Invalid value for status -> " + status) self._status = "outdated_sdk_version" else: self._status = status @property def start_time(self) -> datetime: """ Gets the start_time of this RoutingStatus. The timestamp when the agent went into this state. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z :return: The start_time of this RoutingStatus. :rtype: datetime """ return self._start_time @start_time.setter def start_time(self, start_time: datetime) -> None: """ Sets the start_time of this RoutingStatus. The timestamp when the agent went into this state. Date time is represented as an ISO-8601 string. For example: yyyy-MM-ddTHH:mm:ss[.mmm]Z :param start_time: The start_time of this RoutingStatus. :type: datetime """ self._start_time = start_time def to_dict(self): """ Returns the model properties as a dict """ result = {} for attr, _ in self.swagger_types.items(): value = getattr(self, attr) if isinstance(value, list): result[attr] = list(map( lambda x: x.to_dict() if hasattr(x, "to_dict") else x, value )) elif hasattr(value, "to_dict"): result[attr] = value.to_dict() elif isinstance(value, dict): result[attr] = dict(map( lambda item: (item[0], item[1].to_dict()) if hasattr(item[1], "to_dict") else item, value.items() )) else: result[attr] = value return result def to_json(self): """ Returns the model as raw JSON """ return json.dumps(sanitize_for_serialization(self.to_dict())) def to_str(self): """ Returns the string representation of the model """ return pformat(self.to_dict()) def __repr__(self): """ For `print` and `pprint` """ return self.to_str() def __eq__(self, other): """ Returns true if both objects are equal """ return self.__dict__ == other.__dict__ def __ne__(self, other): """ Returns true if both objects are not equal """ return not self == other