25'ten fazla konu seçemezsiniz Konular bir harf veya rakamla başlamalı, kısa çizgiler ('-') içerebilir ve en fazla 35 karakter uzunluğunda olabilir.
 
 
 
 

259 satır
7.7 KiB

  1. from collections.abc import Mapping
  2. from typing import Any, TypeVar, Union
  3. from uuid import UUID
  4. from attrs import define as _attrs_define
  5. from attrs import field as _attrs_field
  6. from app_types import UNSET, Unset
  7. T = TypeVar("T", bound="AlarmItem")
  8. @_attrs_define
  9. class AlarmItem:
  10. """Alarm triggered if a monitored subject is lost or out of their zone
  11. Attributes:
  12. id (str): ID
  13. time (Union[Unset, str]): Time
  14. type_ (Union[Unset, str]): Type
  15. status (Union[Unset, str]): Status
  16. gateway (Union[Unset, UUID]): Gateway
  17. gateway_mac (Union[Unset, str]): Gateway MAC
  18. gateway_name (Union[Unset, str]): Gateway name
  19. tracker (Union[Unset, UUID]): Tracker
  20. tracker_mac (Union[Unset, str]): Tracker MAC
  21. tracker_name (Union[Unset, str]): Tracker name
  22. subject (Union[Unset, UUID]): Subject
  23. subject_name (Union[Unset, str]): Subject name
  24. operator (Union[Unset, UUID]): Operator
  25. operator_name (Union[Unset, str]): Operator name
  26. zone (Union[Unset, UUID]): Zone
  27. zone_name (Union[Unset, str]): Zone name
  28. building (Union[Unset, UUID]): Building
  29. building_name (Union[Unset, str]): Building name
  30. """
  31. id: str
  32. time: Union[Unset, str] = UNSET
  33. type_: Union[Unset, str] = UNSET
  34. status: Union[Unset, str] = UNSET
  35. gateway: Union[Unset, UUID] = UNSET
  36. gateway_mac: Union[Unset, str] = UNSET
  37. gateway_name: Union[Unset, str] = UNSET
  38. tracker: Union[Unset, UUID] = UNSET
  39. tracker_mac: Union[Unset, str] = UNSET
  40. tracker_name: Union[Unset, str] = UNSET
  41. subject: Union[Unset, UUID] = UNSET
  42. subject_name: Union[Unset, str] = UNSET
  43. operator: Union[Unset, UUID] = UNSET
  44. operator_name: Union[Unset, str] = UNSET
  45. zone: Union[Unset, UUID] = UNSET
  46. zone_name: Union[Unset, str] = UNSET
  47. building: Union[Unset, UUID] = UNSET
  48. building_name: Union[Unset, str] = UNSET
  49. additional_properties: dict[str, Any] = _attrs_field(init=False, factory=dict)
  50. def to_dict(self) -> dict[str, Any]:
  51. id = self.id
  52. time = self.time
  53. type_ = self.type_
  54. status = self.status
  55. gateway: Union[Unset, str] = UNSET
  56. if not isinstance(self.gateway, Unset):
  57. gateway = str(self.gateway)
  58. gateway_mac = self.gateway_mac
  59. gateway_name = self.gateway_name
  60. tracker: Union[Unset, str] = UNSET
  61. if not isinstance(self.tracker, Unset):
  62. tracker = str(self.tracker)
  63. tracker_mac = self.tracker_mac
  64. tracker_name = self.tracker_name
  65. subject: Union[Unset, str] = UNSET
  66. if not isinstance(self.subject, Unset):
  67. subject = str(self.subject)
  68. subject_name = self.subject_name
  69. operator: Union[Unset, str] = UNSET
  70. if not isinstance(self.operator, Unset):
  71. operator = str(self.operator)
  72. operator_name = self.operator_name
  73. zone: Union[Unset, str] = UNSET
  74. if not isinstance(self.zone, Unset):
  75. zone = str(self.zone)
  76. zone_name = self.zone_name
  77. building: Union[Unset, str] = UNSET
  78. if not isinstance(self.building, Unset):
  79. building = str(self.building)
  80. building_name = self.building_name
  81. field_dict: dict[str, Any] = {}
  82. field_dict.update(self.additional_properties)
  83. field_dict.update(
  84. {
  85. "id": id,
  86. }
  87. )
  88. if time is not UNSET:
  89. field_dict["time"] = time
  90. if type_ is not UNSET:
  91. field_dict["type"] = type_
  92. if status is not UNSET:
  93. field_dict["status"] = status
  94. if gateway is not UNSET:
  95. field_dict["gateway"] = gateway
  96. if gateway_mac is not UNSET:
  97. field_dict["gatewayMac"] = gateway_mac
  98. if gateway_name is not UNSET:
  99. field_dict["gatewayName"] = gateway_name
  100. if tracker is not UNSET:
  101. field_dict["tracker"] = tracker
  102. if tracker_mac is not UNSET:
  103. field_dict["trackerMac"] = tracker_mac
  104. if tracker_name is not UNSET:
  105. field_dict["trackerName"] = tracker_name
  106. if subject is not UNSET:
  107. field_dict["subject"] = subject
  108. if subject_name is not UNSET:
  109. field_dict["subjectName"] = subject_name
  110. if operator is not UNSET:
  111. field_dict["operator"] = operator
  112. if operator_name is not UNSET:
  113. field_dict["operatorName"] = operator_name
  114. if zone is not UNSET:
  115. field_dict["zone"] = zone
  116. if zone_name is not UNSET:
  117. field_dict["zoneName"] = zone_name
  118. if building is not UNSET:
  119. field_dict["building"] = building
  120. if building_name is not UNSET:
  121. field_dict["buildingName"] = building_name
  122. return field_dict
  123. @classmethod
  124. def from_dict(cls: type[T], src_dict: Mapping[str, Any]) -> T:
  125. d = dict(src_dict)
  126. id = d.pop("id")
  127. time = d.pop("time", UNSET)
  128. type_ = d.pop("type", UNSET)
  129. status = d.pop("status", UNSET)
  130. _gateway = d.pop("gateway", UNSET)
  131. gateway: Union[Unset, UUID]
  132. if isinstance(_gateway, Unset):
  133. gateway = UNSET
  134. else:
  135. gateway = UUID(_gateway)
  136. gateway_mac = d.pop("gatewayMac", UNSET)
  137. gateway_name = d.pop("gatewayName", UNSET)
  138. _tracker = d.pop("tracker", UNSET)
  139. tracker: Union[Unset, UUID]
  140. if isinstance(_tracker, Unset):
  141. tracker = UNSET
  142. else:
  143. tracker = UUID(_tracker)
  144. tracker_mac = d.pop("trackerMac", UNSET)
  145. tracker_name = d.pop("trackerName", UNSET)
  146. _subject = d.pop("subject", UNSET)
  147. subject: Union[Unset, UUID]
  148. if isinstance(_subject, Unset):
  149. subject = UNSET
  150. else:
  151. subject = UUID(_subject)
  152. subject_name = d.pop("subjectName", UNSET)
  153. _operator = d.pop("operator", UNSET)
  154. operator: Union[Unset, UUID]
  155. if isinstance(_operator, Unset):
  156. operator = UNSET
  157. else:
  158. operator = UUID(_operator)
  159. operator_name = d.pop("operatorName", UNSET)
  160. _zone = d.pop("zone", UNSET)
  161. zone: Union[Unset, UUID]
  162. if isinstance(_zone, Unset):
  163. zone = UNSET
  164. else:
  165. zone = UUID(_zone)
  166. zone_name = d.pop("zoneName", UNSET)
  167. _building = d.pop("building", UNSET)
  168. building: Union[Unset, UUID]
  169. if isinstance(_building, Unset):
  170. building = UNSET
  171. else:
  172. building = UUID(_building)
  173. building_name = d.pop("buildingName", UNSET)
  174. alarm_item = cls(
  175. id=id,
  176. time=time,
  177. type_=type_,
  178. status=status,
  179. gateway=gateway,
  180. gateway_mac=gateway_mac,
  181. gateway_name=gateway_name,
  182. tracker=tracker,
  183. tracker_mac=tracker_mac,
  184. tracker_name=tracker_name,
  185. subject=subject,
  186. subject_name=subject_name,
  187. operator=operator,
  188. operator_name=operator_name,
  189. zone=zone,
  190. zone_name=zone_name,
  191. building=building,
  192. building_name=building_name,
  193. )
  194. alarm_item.additional_properties = d
  195. return alarm_item
  196. @property
  197. def additional_keys(self) -> list[str]:
  198. return list(self.additional_properties.keys())
  199. def __getitem__(self, key: str) -> Any:
  200. return self.additional_properties[key]
  201. def __setitem__(self, key: str, value: Any) -> None:
  202. self.additional_properties[key] = value
  203. def __delitem__(self, key: str) -> None:
  204. del self.additional_properties[key]
  205. def __contains__(self, key: str) -> bool:
  206. return key in self.additional_properties