xbim_aim 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (331) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +9 -0
  3. data/README.md +413 -0
  4. data/Rakefile +10 -0
  5. data/lib/xbim_aim/api/admin_api.rb +358 -0
  6. data/lib/xbim_aim/api/applications_api.rb +203 -0
  7. data/lib/xbim_aim/api/assemblies_api.rb +690 -0
  8. data/lib/xbim_aim/api/assets_api.rb +926 -0
  9. data/lib/xbim_aim/api/attributes_api.rb +789 -0
  10. data/lib/xbim_aim/api/component_types_api.rb +690 -0
  11. data/lib/xbim_aim/api/components_api.rb +803 -0
  12. data/lib/xbim_aim/api/contacts_api.rb +690 -0
  13. data/lib/xbim_aim/api/diagnostics_api.rb +109 -0
  14. data/lib/xbim_aim/api/document_files_api.rb +224 -0
  15. data/lib/xbim_aim/api/documents_api.rb +690 -0
  16. data/lib/xbim_aim/api/entities_api.rb +904 -0
  17. data/lib/xbim_aim/api/facilities_api.rb +690 -0
  18. data/lib/xbim_aim/api/issues_api.rb +690 -0
  19. data/lib/xbim_aim/api/jobs_api.rb +690 -0
  20. data/lib/xbim_aim/api/levels_api.rb +690 -0
  21. data/lib/xbim_aim/api/logs_api.rb +90 -0
  22. data/lib/xbim_aim/api/model_files_api.rb +219 -0
  23. data/lib/xbim_aim/api/model_mapping_api.rb +203 -0
  24. data/lib/xbim_aim/api/models_api.rb +1308 -0
  25. data/lib/xbim_aim/api/resources_api.rb +690 -0
  26. data/lib/xbim_aim/api/schedules_api.rb +496 -0
  27. data/lib/xbim_aim/api/sites_api.rb +690 -0
  28. data/lib/xbim_aim/api/spaces_api.rb +803 -0
  29. data/lib/xbim_aim/api/spares_api.rb +690 -0
  30. data/lib/xbim_aim/api/stats_api.rb +170 -0
  31. data/lib/xbim_aim/api/systems_api.rb +690 -0
  32. data/lib/xbim_aim/api/thumbnails_api.rb +182 -0
  33. data/lib/xbim_aim/api/wexbim_api.rb +849 -0
  34. data/lib/xbim_aim/api/zones_api.rb +690 -0
  35. data/lib/xbim_aim/api_client.rb +390 -0
  36. data/lib/xbim_aim/api_error.rb +57 -0
  37. data/lib/xbim_aim/configuration.rb +278 -0
  38. data/lib/xbim_aim/models/application.rb +277 -0
  39. data/lib/xbim_aim/models/assembly_diagnostics.rb +299 -0
  40. data/lib/xbim_aim/models/assembly_info.rb +308 -0
  41. data/lib/xbim_aim/models/assembly_item.rb +454 -0
  42. data/lib/xbim_aim/models/asset.rb +339 -0
  43. data/lib/xbim_aim/models/asset_create.rb +268 -0
  44. data/lib/xbim_aim/models/asset_edit.rb +263 -0
  45. data/lib/xbim_aim/models/asset_segment.rb +304 -0
  46. data/lib/xbim_aim/models/attribute_definition.rb +354 -0
  47. data/lib/xbim_aim/models/attribute_definition_create.rb +338 -0
  48. data/lib/xbim_aim/models/attribute_definition_edit.rb +288 -0
  49. data/lib/xbim_aim/models/attribute_definition_entity.rb +392 -0
  50. data/lib/xbim_aim/models/attribute_value.rb +333 -0
  51. data/lib/xbim_aim/models/attribute_value_entity.rb +272 -0
  52. data/lib/xbim_aim/models/cell.rb +236 -0
  53. data/lib/xbim_aim/models/classification_node.rb +254 -0
  54. data/lib/xbim_aim/models/column_definition.rb +297 -0
  55. data/lib/xbim_aim/models/complex_value_base.rb +261 -0
  56. data/lib/xbim_aim/models/component.rb +535 -0
  57. data/lib/xbim_aim/models/component_create.rb +283 -0
  58. data/lib/xbim_aim/models/component_edit.rb +248 -0
  59. data/lib/xbim_aim/models/component_info.rb +326 -0
  60. data/lib/xbim_aim/models/component_type.rb +498 -0
  61. data/lib/xbim_aim/models/component_type_info.rb +308 -0
  62. data/lib/xbim_aim/models/contact.rb +443 -0
  63. data/lib/xbim_aim/models/contact_entity.rb +333 -0
  64. data/lib/xbim_aim/models/contact_info.rb +308 -0
  65. data/lib/xbim_aim/models/db_update.rb +227 -0
  66. data/lib/xbim_aim/models/document.rb +421 -0
  67. data/lib/xbim_aim/models/document_create.rb +345 -0
  68. data/lib/xbim_aim/models/document_edit.rb +310 -0
  69. data/lib/xbim_aim/models/document_info.rb +308 -0
  70. data/lib/xbim_aim/models/entity.rb +421 -0
  71. data/lib/xbim_aim/models/entity_base.rb +308 -0
  72. data/lib/xbim_aim/models/entity_contact.rb +333 -0
  73. data/lib/xbim_aim/models/entity_create.rb +274 -0
  74. data/lib/xbim_aim/models/entity_edit.rb +239 -0
  75. data/lib/xbim_aim/models/entity_mapping_info.rb +299 -0
  76. data/lib/xbim_aim/models/entity_match_descriptor.rb +245 -0
  77. data/lib/xbim_aim/models/entity_match_info.rb +238 -0
  78. data/lib/xbim_aim/models/entity_ref.rb +281 -0
  79. data/lib/xbim_aim/models/facility.rb +432 -0
  80. data/lib/xbim_aim/models/facility_info.rb +308 -0
  81. data/lib/xbim_aim/models/file_upload_result.rb +300 -0
  82. data/lib/xbim_aim/models/footprint.rb +254 -0
  83. data/lib/xbim_aim/models/i_metered_resource.rb +254 -0
  84. data/lib/xbim_aim/models/ifc_type.rb +247 -0
  85. data/lib/xbim_aim/models/inline_object.rb +294 -0
  86. data/lib/xbim_aim/models/inline_object1.rb +294 -0
  87. data/lib/xbim_aim/models/inline_object2.rb +220 -0
  88. data/lib/xbim_aim/models/inline_object3.rb +223 -0
  89. data/lib/xbim_aim/models/inline_object4.rb +294 -0
  90. data/lib/xbim_aim/models/inline_object5.rb +294 -0
  91. data/lib/xbim_aim/models/issue.rb +443 -0
  92. data/lib/xbim_aim/models/issue_info.rb +308 -0
  93. data/lib/xbim_aim/models/job.rb +483 -0
  94. data/lib/xbim_aim/models/job_create.rb +283 -0
  95. data/lib/xbim_aim/models/job_edit.rb +248 -0
  96. data/lib/xbim_aim/models/job_info.rb +308 -0
  97. data/lib/xbim_aim/models/level.rb +463 -0
  98. data/lib/xbim_aim/models/level_create.rb +274 -0
  99. data/lib/xbim_aim/models/level_edit.rb +239 -0
  100. data/lib/xbim_aim/models/level_info.rb +308 -0
  101. data/lib/xbim_aim/models/mapping_message_info.rb +281 -0
  102. data/lib/xbim_aim/models/mapping_properties.rb +227 -0
  103. data/lib/xbim_aim/models/member_permission.rb +292 -0
  104. data/lib/xbim_aim/models/member_role.rb +320 -0
  105. data/lib/xbim_aim/models/model.rb +617 -0
  106. data/lib/xbim_aim/models/model_create.rb +318 -0
  107. data/lib/xbim_aim/models/model_edit.rb +284 -0
  108. data/lib/xbim_aim/models/model_info.rb +380 -0
  109. data/lib/xbim_aim/models/model_mapping.rb +363 -0
  110. data/lib/xbim_aim/models/model_mapping_report.rb +354 -0
  111. data/lib/xbim_aim/models/o_data_list_response_of_application.rb +247 -0
  112. data/lib/xbim_aim/models/o_data_list_response_of_assembly_diagnostics.rb +247 -0
  113. data/lib/xbim_aim/models/o_data_list_response_of_assembly_item.rb +247 -0
  114. data/lib/xbim_aim/models/o_data_list_response_of_asset.rb +247 -0
  115. data/lib/xbim_aim/models/o_data_list_response_of_attribute_definition.rb +247 -0
  116. data/lib/xbim_aim/models/o_data_list_response_of_attribute_definition_entity.rb +247 -0
  117. data/lib/xbim_aim/models/o_data_list_response_of_attribute_value.rb +247 -0
  118. data/lib/xbim_aim/models/o_data_list_response_of_complex_value_base.rb +247 -0
  119. data/lib/xbim_aim/models/o_data_list_response_of_component.rb +247 -0
  120. data/lib/xbim_aim/models/o_data_list_response_of_component_type.rb +247 -0
  121. data/lib/xbim_aim/models/o_data_list_response_of_contact.rb +247 -0
  122. data/lib/xbim_aim/models/o_data_list_response_of_document.rb +247 -0
  123. data/lib/xbim_aim/models/o_data_list_response_of_entity.rb +247 -0
  124. data/lib/xbim_aim/models/o_data_list_response_of_entity_ref.rb +247 -0
  125. data/lib/xbim_aim/models/o_data_list_response_of_facility.rb +247 -0
  126. data/lib/xbim_aim/models/o_data_list_response_of_issue.rb +247 -0
  127. data/lib/xbim_aim/models/o_data_list_response_of_job.rb +247 -0
  128. data/lib/xbim_aim/models/o_data_list_response_of_level.rb +247 -0
  129. data/lib/xbim_aim/models/o_data_list_response_of_member_permission.rb +247 -0
  130. data/lib/xbim_aim/models/o_data_list_response_of_model.rb +247 -0
  131. data/lib/xbim_aim/models/o_data_list_response_of_model_mapping.rb +247 -0
  132. data/lib/xbim_aim/models/o_data_list_response_of_model_mapping_report.rb +247 -0
  133. data/lib/xbim_aim/models/o_data_list_response_of_resource.rb +247 -0
  134. data/lib/xbim_aim/models/o_data_list_response_of_role.rb +247 -0
  135. data/lib/xbim_aim/models/o_data_list_response_of_row.rb +247 -0
  136. data/lib/xbim_aim/models/o_data_list_response_of_schedule.rb +247 -0
  137. data/lib/xbim_aim/models/o_data_list_response_of_site.rb +247 -0
  138. data/lib/xbim_aim/models/o_data_list_response_of_space.rb +247 -0
  139. data/lib/xbim_aim/models/o_data_list_response_of_spare.rb +247 -0
  140. data/lib/xbim_aim/models/o_data_list_response_of_system_item.rb +247 -0
  141. data/lib/xbim_aim/models/o_data_list_response_of_zone.rb +247 -0
  142. data/lib/xbim_aim/models/o_data_response_of_boolean.rb +227 -0
  143. data/lib/xbim_aim/models/quota_status.rb +300 -0
  144. data/lib/xbim_aim/models/related_entity.rb +432 -0
  145. data/lib/xbim_aim/models/resource.rb +443 -0
  146. data/lib/xbim_aim/models/resource_info.rb +308 -0
  147. data/lib/xbim_aim/models/role.rb +331 -0
  148. data/lib/xbim_aim/models/role_member.rb +279 -0
  149. data/lib/xbim_aim/models/row.rb +229 -0
  150. data/lib/xbim_aim/models/schedule.rb +258 -0
  151. data/lib/xbim_aim/models/site.rb +432 -0
  152. data/lib/xbim_aim/models/space.rb +491 -0
  153. data/lib/xbim_aim/models/space_create.rb +283 -0
  154. data/lib/xbim_aim/models/space_edit.rb +248 -0
  155. data/lib/xbim_aim/models/space_info.rb +326 -0
  156. data/lib/xbim_aim/models/spare.rb +450 -0
  157. data/lib/xbim_aim/models/spare_create.rb +283 -0
  158. data/lib/xbim_aim/models/spare_edit.rb +248 -0
  159. data/lib/xbim_aim/models/spare_info.rb +308 -0
  160. data/lib/xbim_aim/models/system_info.rb +319 -0
  161. data/lib/xbim_aim/models/system_item.rb +454 -0
  162. data/lib/xbim_aim/models/user_permissions.rb +275 -0
  163. data/lib/xbim_aim/models/value_container.rb +308 -0
  164. data/lib/xbim_aim/models/zone.rb +454 -0
  165. data/lib/xbim_aim/models/zone_info.rb +308 -0
  166. data/lib/xbim_aim/version.rb +15 -0
  167. data/lib/xbim_aim.rb +197 -0
  168. data/spec/api/admin_api_spec.rb +95 -0
  169. data/spec/api/applications_api_spec.rb +71 -0
  170. data/spec/api/assemblies_api_spec.rb +160 -0
  171. data/spec/api/assets_api_spec.rb +203 -0
  172. data/spec/api/attributes_api_spec.rb +177 -0
  173. data/spec/api/component_types_api_spec.rb +160 -0
  174. data/spec/api/components_api_spec.rb +184 -0
  175. data/spec/api/contacts_api_spec.rb +160 -0
  176. data/spec/api/diagnostics_api_spec.rb +54 -0
  177. data/spec/api/document_files_api_spec.rb +69 -0
  178. data/spec/api/documents_api_spec.rb +160 -0
  179. data/spec/api/entities_api_spec.rb +203 -0
  180. data/spec/api/facilities_api_spec.rb +160 -0
  181. data/spec/api/issues_api_spec.rb +160 -0
  182. data/spec/api/jobs_api_spec.rb +160 -0
  183. data/spec/api/levels_api_spec.rb +160 -0
  184. data/spec/api/logs_api_spec.rb +47 -0
  185. data/spec/api/model_files_api_spec.rb +71 -0
  186. data/spec/api/model_mapping_api_spec.rb +71 -0
  187. data/spec/api/models_api_spec.rb +273 -0
  188. data/spec/api/resources_api_spec.rb +160 -0
  189. data/spec/api/schedules_api_spec.rb +126 -0
  190. data/spec/api/sites_api_spec.rb +160 -0
  191. data/spec/api/spaces_api_spec.rb +184 -0
  192. data/spec/api/spares_api_spec.rb +160 -0
  193. data/spec/api/stats_api_spec.rb +61 -0
  194. data/spec/api/systems_api_spec.rb +160 -0
  195. data/spec/api/thumbnails_api_spec.rb +63 -0
  196. data/spec/api/wexbim_api_spec.rb +175 -0
  197. data/spec/api/zones_api_spec.rb +160 -0
  198. data/spec/api_client_spec.rb +226 -0
  199. data/spec/configuration_spec.rb +42 -0
  200. data/spec/models/application_spec.rb +70 -0
  201. data/spec/models/assembly_diagnostics_spec.rb +88 -0
  202. data/spec/models/assembly_info_spec.rb +94 -0
  203. data/spec/models/assembly_item_spec.rb +178 -0
  204. data/spec/models/asset_create_spec.rb +44 -0
  205. data/spec/models/asset_edit_spec.rb +44 -0
  206. data/spec/models/asset_segment_spec.rb +88 -0
  207. data/spec/models/asset_spec.rb +92 -0
  208. data/spec/models/attribute_definition_create_spec.rb +78 -0
  209. data/spec/models/attribute_definition_edit_spec.rb +62 -0
  210. data/spec/models/attribute_definition_entity_spec.rb +126 -0
  211. data/spec/models/attribute_definition_spec.rb +102 -0
  212. data/spec/models/attribute_value_entity_spec.rb +70 -0
  213. data/spec/models/attribute_value_spec.rb +92 -0
  214. data/spec/models/cell_spec.rb +46 -0
  215. data/spec/models/classification_node_spec.rb +58 -0
  216. data/spec/models/column_definition_spec.rb +68 -0
  217. data/spec/models/complex_value_base_spec.rb +44 -0
  218. data/spec/models/component_create_spec.rb +70 -0
  219. data/spec/models/component_edit_spec.rb +52 -0
  220. data/spec/models/component_info_spec.rb +106 -0
  221. data/spec/models/component_spec.rb +226 -0
  222. data/spec/models/component_type_info_spec.rb +94 -0
  223. data/spec/models/component_type_spec.rb +202 -0
  224. data/spec/models/contact_entity_spec.rb +92 -0
  225. data/spec/models/contact_info_spec.rb +94 -0
  226. data/spec/models/contact_spec.rb +172 -0
  227. data/spec/models/db_update_spec.rb +40 -0
  228. data/spec/models/document_create_spec.rb +106 -0
  229. data/spec/models/document_edit_spec.rb +88 -0
  230. data/spec/models/document_info_spec.rb +94 -0
  231. data/spec/models/document_spec.rb +160 -0
  232. data/spec/models/entity_base_spec.rb +94 -0
  233. data/spec/models/entity_contact_spec.rb +92 -0
  234. data/spec/models/entity_create_spec.rb +64 -0
  235. data/spec/models/entity_edit_spec.rb +46 -0
  236. data/spec/models/entity_mapping_info_spec.rb +88 -0
  237. data/spec/models/entity_match_descriptor_spec.rb +52 -0
  238. data/spec/models/entity_match_info_spec.rb +46 -0
  239. data/spec/models/entity_ref_spec.rb +76 -0
  240. data/spec/models/entity_spec.rb +160 -0
  241. data/spec/models/facility_info_spec.rb +94 -0
  242. data/spec/models/facility_spec.rb +166 -0
  243. data/spec/models/file_upload_result_spec.rb +82 -0
  244. data/spec/models/footprint_spec.rb +58 -0
  245. data/spec/models/i_metered_resource_spec.rb +58 -0
  246. data/spec/models/ifc_type_spec.rb +52 -0
  247. data/spec/models/inline_object1_spec.rb +56 -0
  248. data/spec/models/inline_object2_spec.rb +34 -0
  249. data/spec/models/inline_object3_spec.rb +34 -0
  250. data/spec/models/inline_object4_spec.rb +56 -0
  251. data/spec/models/inline_object5_spec.rb +56 -0
  252. data/spec/models/inline_object_spec.rb +56 -0
  253. data/spec/models/issue_info_spec.rb +94 -0
  254. data/spec/models/issue_spec.rb +172 -0
  255. data/spec/models/job_create_spec.rb +70 -0
  256. data/spec/models/job_edit_spec.rb +52 -0
  257. data/spec/models/job_info_spec.rb +94 -0
  258. data/spec/models/job_spec.rb +196 -0
  259. data/spec/models/level_create_spec.rb +64 -0
  260. data/spec/models/level_edit_spec.rb +46 -0
  261. data/spec/models/level_info_spec.rb +94 -0
  262. data/spec/models/level_spec.rb +184 -0
  263. data/spec/models/mapping_message_info_spec.rb +76 -0
  264. data/spec/models/mapping_properties_spec.rb +40 -0
  265. data/spec/models/member_permission_spec.rb +66 -0
  266. data/spec/models/member_role_spec.rb +82 -0
  267. data/spec/models/model_create_spec.rb +68 -0
  268. data/spec/models/model_edit_spec.rb +56 -0
  269. data/spec/models/model_info_spec.rb +142 -0
  270. data/spec/models/model_mapping_report_spec.rb +118 -0
  271. data/spec/models/model_mapping_spec.rb +124 -0
  272. data/spec/models/model_spec.rb +260 -0
  273. data/spec/models/o_data_list_response_of_application_spec.rb +52 -0
  274. data/spec/models/o_data_list_response_of_assembly_diagnostics_spec.rb +52 -0
  275. data/spec/models/o_data_list_response_of_assembly_item_spec.rb +52 -0
  276. data/spec/models/o_data_list_response_of_asset_spec.rb +52 -0
  277. data/spec/models/o_data_list_response_of_attribute_definition_entity_spec.rb +52 -0
  278. data/spec/models/o_data_list_response_of_attribute_definition_spec.rb +52 -0
  279. data/spec/models/o_data_list_response_of_attribute_value_spec.rb +52 -0
  280. data/spec/models/o_data_list_response_of_complex_value_base_spec.rb +52 -0
  281. data/spec/models/o_data_list_response_of_component_spec.rb +52 -0
  282. data/spec/models/o_data_list_response_of_component_type_spec.rb +52 -0
  283. data/spec/models/o_data_list_response_of_contact_spec.rb +52 -0
  284. data/spec/models/o_data_list_response_of_document_spec.rb +52 -0
  285. data/spec/models/o_data_list_response_of_entity_ref_spec.rb +52 -0
  286. data/spec/models/o_data_list_response_of_entity_spec.rb +52 -0
  287. data/spec/models/o_data_list_response_of_facility_spec.rb +52 -0
  288. data/spec/models/o_data_list_response_of_issue_spec.rb +52 -0
  289. data/spec/models/o_data_list_response_of_job_spec.rb +52 -0
  290. data/spec/models/o_data_list_response_of_level_spec.rb +52 -0
  291. data/spec/models/o_data_list_response_of_member_permission_spec.rb +52 -0
  292. data/spec/models/o_data_list_response_of_model_mapping_report_spec.rb +52 -0
  293. data/spec/models/o_data_list_response_of_model_mapping_spec.rb +52 -0
  294. data/spec/models/o_data_list_response_of_model_spec.rb +52 -0
  295. data/spec/models/o_data_list_response_of_resource_spec.rb +52 -0
  296. data/spec/models/o_data_list_response_of_role_spec.rb +52 -0
  297. data/spec/models/o_data_list_response_of_row_spec.rb +52 -0
  298. data/spec/models/o_data_list_response_of_schedule_spec.rb +52 -0
  299. data/spec/models/o_data_list_response_of_site_spec.rb +52 -0
  300. data/spec/models/o_data_list_response_of_space_spec.rb +52 -0
  301. data/spec/models/o_data_list_response_of_spare_spec.rb +52 -0
  302. data/spec/models/o_data_list_response_of_system_item_spec.rb +52 -0
  303. data/spec/models/o_data_list_response_of_zone_spec.rb +52 -0
  304. data/spec/models/o_data_response_of_boolean_spec.rb +40 -0
  305. data/spec/models/quota_status_spec.rb +66 -0
  306. data/spec/models/related_entity_spec.rb +166 -0
  307. data/spec/models/resource_info_spec.rb +94 -0
  308. data/spec/models/resource_spec.rb +172 -0
  309. data/spec/models/role_member_spec.rb +56 -0
  310. data/spec/models/role_spec.rb +88 -0
  311. data/spec/models/row_spec.rb +40 -0
  312. data/spec/models/schedule_spec.rb +58 -0
  313. data/spec/models/site_spec.rb +166 -0
  314. data/spec/models/space_create_spec.rb +70 -0
  315. data/spec/models/space_edit_spec.rb +52 -0
  316. data/spec/models/space_info_spec.rb +106 -0
  317. data/spec/models/space_spec.rb +202 -0
  318. data/spec/models/spare_create_spec.rb +70 -0
  319. data/spec/models/spare_edit_spec.rb +52 -0
  320. data/spec/models/spare_info_spec.rb +94 -0
  321. data/spec/models/spare_spec.rb +178 -0
  322. data/spec/models/system_info_spec.rb +100 -0
  323. data/spec/models/system_item_spec.rb +178 -0
  324. data/spec/models/user_permissions_spec.rb +56 -0
  325. data/spec/models/value_container_spec.rb +78 -0
  326. data/spec/models/zone_info_spec.rb +94 -0
  327. data/spec/models/zone_spec.rb +178 -0
  328. data/spec/spec_helper.rb +111 -0
  329. data/xbim_aim-1.0.0.gem +0 -0
  330. data/xbim_aim.gemspec +38 -0
  331. metadata +413 -0
@@ -0,0 +1,617 @@
1
+ =begin
2
+ #XBIM Flex API v2
3
+
4
+ #This is the XBIM Flex Swagger service where you can explore the REST API for the platform.
5
+
6
+ The version of the OpenAPI document: 2.0
7
+ Contact: info@xbim.net
8
+ Generated by: https://openapi-generator.tech
9
+ OpenAPI Generator version: 5.4.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module XbimAim
17
+ class Model
18
+ attr_accessor :entities
19
+
20
+ # See #/definitions/Asset
21
+ attr_accessor :asset
22
+
23
+ # See #/definitions/AssetSegment
24
+ attr_accessor :segment
25
+
26
+ attr_accessor :attribute_definitions
27
+
28
+ attr_accessor :spaces
29
+
30
+ attr_accessor :components
31
+
32
+ attr_accessor :component_types
33
+
34
+ attr_accessor :levels
35
+
36
+ attr_accessor :zones
37
+
38
+ attr_accessor :facilities
39
+
40
+ attr_accessor :documents
41
+
42
+ attr_accessor :contacts
43
+
44
+ attr_accessor :sites
45
+
46
+ attr_accessor :applications
47
+
48
+ attr_accessor :forward_mappings
49
+
50
+ attr_accessor :reverse_mappings
51
+
52
+ attr_accessor :roles
53
+
54
+ attr_accessor :permissions
55
+
56
+ attr_accessor :state
57
+
58
+ attr_accessor :asset_model_id
59
+
60
+ attr_accessor :asset_id
61
+
62
+ attr_accessor :name
63
+
64
+ attr_accessor :revision
65
+
66
+ attr_accessor :status
67
+
68
+ attr_accessor :is_current
69
+
70
+ attr_accessor :uploaded_by_id
71
+
72
+ attr_accessor :segment_name
73
+
74
+ attr_accessor :segment_id
75
+
76
+ attr_accessor :asset_name
77
+
78
+ attr_accessor :model_path
79
+
80
+ attr_accessor :model_size
81
+
82
+ attr_accessor :one_meter
83
+
84
+ attr_accessor :original_author_id
85
+
86
+ attr_accessor :date_uploaded
87
+
88
+ attr_accessor :date_processed
89
+
90
+ attr_accessor :last_entity_id
91
+
92
+ attr_accessor :processing_stage
93
+
94
+ attr_accessor :processing_status
95
+
96
+ class EnumAttributeValidator
97
+ attr_reader :datatype
98
+ attr_reader :allowable_values
99
+
100
+ def initialize(datatype, allowable_values)
101
+ @allowable_values = allowable_values.map do |value|
102
+ case datatype.to_s
103
+ when /Integer/i
104
+ value.to_i
105
+ when /Float/i
106
+ value.to_f
107
+ else
108
+ value
109
+ end
110
+ end
111
+ end
112
+
113
+ def valid?(value)
114
+ !value || allowable_values.include?(value)
115
+ end
116
+ end
117
+
118
+ # Attribute mapping from ruby-style variable name to JSON key.
119
+ def self.attribute_map
120
+ {
121
+ :'entities' => :'Entities',
122
+ :'asset' => :'Asset',
123
+ :'segment' => :'Segment',
124
+ :'attribute_definitions' => :'AttributeDefinitions',
125
+ :'spaces' => :'Spaces',
126
+ :'components' => :'Components',
127
+ :'component_types' => :'ComponentTypes',
128
+ :'levels' => :'Levels',
129
+ :'zones' => :'Zones',
130
+ :'facilities' => :'Facilities',
131
+ :'documents' => :'Documents',
132
+ :'contacts' => :'Contacts',
133
+ :'sites' => :'Sites',
134
+ :'applications' => :'Applications',
135
+ :'forward_mappings' => :'ForwardMappings',
136
+ :'reverse_mappings' => :'ReverseMappings',
137
+ :'roles' => :'Roles',
138
+ :'permissions' => :'Permissions',
139
+ :'state' => :'State',
140
+ :'asset_model_id' => :'AssetModelId',
141
+ :'asset_id' => :'AssetId',
142
+ :'name' => :'Name',
143
+ :'revision' => :'Revision',
144
+ :'status' => :'Status',
145
+ :'is_current' => :'IsCurrent',
146
+ :'uploaded_by_id' => :'UploadedById',
147
+ :'segment_name' => :'SegmentName',
148
+ :'segment_id' => :'SegmentId',
149
+ :'asset_name' => :'AssetName',
150
+ :'model_path' => :'ModelPath',
151
+ :'model_size' => :'ModelSize',
152
+ :'one_meter' => :'OneMeter',
153
+ :'original_author_id' => :'OriginalAuthorId',
154
+ :'date_uploaded' => :'DateUploaded',
155
+ :'date_processed' => :'DateProcessed',
156
+ :'last_entity_id' => :'LastEntityId',
157
+ :'processing_stage' => :'ProcessingStage',
158
+ :'processing_status' => :'ProcessingStatus'
159
+ }
160
+ end
161
+
162
+ # Returns all the JSON keys this model knows about
163
+ def self.acceptable_attributes
164
+ attribute_map.values
165
+ end
166
+
167
+ # Attribute type mapping.
168
+ def self.openapi_types
169
+ {
170
+ :'entities' => :'Array<Object>',
171
+ :'asset' => :'Object',
172
+ :'segment' => :'Object',
173
+ :'attribute_definitions' => :'Array<AttributeDefinitionEntity>',
174
+ :'spaces' => :'Array<Object>',
175
+ :'components' => :'Array<Object>',
176
+ :'component_types' => :'Array<Object>',
177
+ :'levels' => :'Array<Object>',
178
+ :'zones' => :'Array<Object>',
179
+ :'facilities' => :'Array<Object>',
180
+ :'documents' => :'Array<Object>',
181
+ :'contacts' => :'Array<Object>',
182
+ :'sites' => :'Array<Object>',
183
+ :'applications' => :'Array<Application>',
184
+ :'forward_mappings' => :'Array<ModelMapping>',
185
+ :'reverse_mappings' => :'Array<ModelMapping>',
186
+ :'roles' => :'Array<Role>',
187
+ :'permissions' => :'UserPermissions',
188
+ :'state' => :'String',
189
+ :'asset_model_id' => :'Integer',
190
+ :'asset_id' => :'Integer',
191
+ :'name' => :'String',
192
+ :'revision' => :'String',
193
+ :'status' => :'String',
194
+ :'is_current' => :'Boolean',
195
+ :'uploaded_by_id' => :'String',
196
+ :'segment_name' => :'String',
197
+ :'segment_id' => :'String',
198
+ :'asset_name' => :'String',
199
+ :'model_path' => :'String',
200
+ :'model_size' => :'Integer',
201
+ :'one_meter' => :'Float',
202
+ :'original_author_id' => :'Integer',
203
+ :'date_uploaded' => :'Time',
204
+ :'date_processed' => :'Time',
205
+ :'last_entity_id' => :'Integer',
206
+ :'processing_stage' => :'String',
207
+ :'processing_status' => :'String'
208
+ }
209
+ end
210
+
211
+ # List of attributes with nullable: true
212
+ def self.openapi_nullable
213
+ Set.new([
214
+ ])
215
+ end
216
+
217
+ # Initializes the object
218
+ # @param [Hash] attributes Model attributes in the form of hash
219
+ def initialize(attributes = {})
220
+ if (!attributes.is_a?(Hash))
221
+ fail ArgumentError, "The input argument (attributes) must be a hash in `XbimAim::Model` initialize method"
222
+ end
223
+
224
+ # check to see if the attribute exists and convert string to symbol for hash key
225
+ attributes = attributes.each_with_object({}) { |(k, v), h|
226
+ if (!self.class.attribute_map.key?(k.to_sym))
227
+ fail ArgumentError, "`#{k}` is not a valid attribute in `XbimAim::Model`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
228
+ end
229
+ h[k.to_sym] = v
230
+ }
231
+
232
+ if attributes.key?(:'entities')
233
+ if (value = attributes[:'entities']).is_a?(Array)
234
+ self.entities = value
235
+ end
236
+ end
237
+
238
+ if attributes.key?(:'asset')
239
+ self.asset = attributes[:'asset']
240
+ end
241
+
242
+ if attributes.key?(:'segment')
243
+ self.segment = attributes[:'segment']
244
+ end
245
+
246
+ if attributes.key?(:'attribute_definitions')
247
+ if (value = attributes[:'attribute_definitions']).is_a?(Array)
248
+ self.attribute_definitions = value
249
+ end
250
+ end
251
+
252
+ if attributes.key?(:'spaces')
253
+ if (value = attributes[:'spaces']).is_a?(Array)
254
+ self.spaces = value
255
+ end
256
+ end
257
+
258
+ if attributes.key?(:'components')
259
+ if (value = attributes[:'components']).is_a?(Array)
260
+ self.components = value
261
+ end
262
+ end
263
+
264
+ if attributes.key?(:'component_types')
265
+ if (value = attributes[:'component_types']).is_a?(Array)
266
+ self.component_types = value
267
+ end
268
+ end
269
+
270
+ if attributes.key?(:'levels')
271
+ if (value = attributes[:'levels']).is_a?(Array)
272
+ self.levels = value
273
+ end
274
+ end
275
+
276
+ if attributes.key?(:'zones')
277
+ if (value = attributes[:'zones']).is_a?(Array)
278
+ self.zones = value
279
+ end
280
+ end
281
+
282
+ if attributes.key?(:'facilities')
283
+ if (value = attributes[:'facilities']).is_a?(Array)
284
+ self.facilities = value
285
+ end
286
+ end
287
+
288
+ if attributes.key?(:'documents')
289
+ if (value = attributes[:'documents']).is_a?(Array)
290
+ self.documents = value
291
+ end
292
+ end
293
+
294
+ if attributes.key?(:'contacts')
295
+ if (value = attributes[:'contacts']).is_a?(Array)
296
+ self.contacts = value
297
+ end
298
+ end
299
+
300
+ if attributes.key?(:'sites')
301
+ if (value = attributes[:'sites']).is_a?(Array)
302
+ self.sites = value
303
+ end
304
+ end
305
+
306
+ if attributes.key?(:'applications')
307
+ if (value = attributes[:'applications']).is_a?(Array)
308
+ self.applications = value
309
+ end
310
+ end
311
+
312
+ if attributes.key?(:'forward_mappings')
313
+ if (value = attributes[:'forward_mappings']).is_a?(Array)
314
+ self.forward_mappings = value
315
+ end
316
+ end
317
+
318
+ if attributes.key?(:'reverse_mappings')
319
+ if (value = attributes[:'reverse_mappings']).is_a?(Array)
320
+ self.reverse_mappings = value
321
+ end
322
+ end
323
+
324
+ if attributes.key?(:'roles')
325
+ if (value = attributes[:'roles']).is_a?(Array)
326
+ self.roles = value
327
+ end
328
+ end
329
+
330
+ if attributes.key?(:'permissions')
331
+ self.permissions = attributes[:'permissions']
332
+ end
333
+
334
+ if attributes.key?(:'state')
335
+ self.state = attributes[:'state']
336
+ end
337
+
338
+ if attributes.key?(:'asset_model_id')
339
+ self.asset_model_id = attributes[:'asset_model_id']
340
+ end
341
+
342
+ if attributes.key?(:'asset_id')
343
+ self.asset_id = attributes[:'asset_id']
344
+ end
345
+
346
+ if attributes.key?(:'name')
347
+ self.name = attributes[:'name']
348
+ end
349
+
350
+ if attributes.key?(:'revision')
351
+ self.revision = attributes[:'revision']
352
+ end
353
+
354
+ if attributes.key?(:'status')
355
+ self.status = attributes[:'status']
356
+ end
357
+
358
+ if attributes.key?(:'is_current')
359
+ self.is_current = attributes[:'is_current']
360
+ end
361
+
362
+ if attributes.key?(:'uploaded_by_id')
363
+ self.uploaded_by_id = attributes[:'uploaded_by_id']
364
+ end
365
+
366
+ if attributes.key?(:'segment_name')
367
+ self.segment_name = attributes[:'segment_name']
368
+ end
369
+
370
+ if attributes.key?(:'segment_id')
371
+ self.segment_id = attributes[:'segment_id']
372
+ end
373
+
374
+ if attributes.key?(:'asset_name')
375
+ self.asset_name = attributes[:'asset_name']
376
+ end
377
+
378
+ if attributes.key?(:'model_path')
379
+ self.model_path = attributes[:'model_path']
380
+ end
381
+
382
+ if attributes.key?(:'model_size')
383
+ self.model_size = attributes[:'model_size']
384
+ end
385
+
386
+ if attributes.key?(:'one_meter')
387
+ self.one_meter = attributes[:'one_meter']
388
+ end
389
+
390
+ if attributes.key?(:'original_author_id')
391
+ self.original_author_id = attributes[:'original_author_id']
392
+ end
393
+
394
+ if attributes.key?(:'date_uploaded')
395
+ self.date_uploaded = attributes[:'date_uploaded']
396
+ end
397
+
398
+ if attributes.key?(:'date_processed')
399
+ self.date_processed = attributes[:'date_processed']
400
+ end
401
+
402
+ if attributes.key?(:'last_entity_id')
403
+ self.last_entity_id = attributes[:'last_entity_id']
404
+ end
405
+
406
+ if attributes.key?(:'processing_stage')
407
+ self.processing_stage = attributes[:'processing_stage']
408
+ end
409
+
410
+ if attributes.key?(:'processing_status')
411
+ self.processing_status = attributes[:'processing_status']
412
+ end
413
+ end
414
+
415
+ # Show invalid properties with the reasons. Usually used together with valid?
416
+ # @return Array for valid properties with the reasons
417
+ def list_invalid_properties
418
+ invalid_properties = Array.new
419
+ invalid_properties
420
+ end
421
+
422
+ # Check to see if the all the properties in the model are valid
423
+ # @return true if the model is valid
424
+ def valid?
425
+ state_validator = EnumAttributeValidator.new('String', ["Active", "Hidden", "Archived"])
426
+ return false unless state_validator.valid?(@state)
427
+ true
428
+ end
429
+
430
+ # Custom attribute writer method checking allowed values (enum).
431
+ # @param [Object] state Object to be assigned
432
+ def state=(state)
433
+ validator = EnumAttributeValidator.new('String', ["Active", "Hidden", "Archived"])
434
+ unless validator.valid?(state)
435
+ fail ArgumentError, "invalid value for \"state\", must be one of #{validator.allowable_values}."
436
+ end
437
+ @state = state
438
+ end
439
+
440
+ # Checks equality by comparing each attribute.
441
+ # @param [Object] Object to be compared
442
+ def ==(o)
443
+ return true if self.equal?(o)
444
+ self.class == o.class &&
445
+ entities == o.entities &&
446
+ asset == o.asset &&
447
+ segment == o.segment &&
448
+ attribute_definitions == o.attribute_definitions &&
449
+ spaces == o.spaces &&
450
+ components == o.components &&
451
+ component_types == o.component_types &&
452
+ levels == o.levels &&
453
+ zones == o.zones &&
454
+ facilities == o.facilities &&
455
+ documents == o.documents &&
456
+ contacts == o.contacts &&
457
+ sites == o.sites &&
458
+ applications == o.applications &&
459
+ forward_mappings == o.forward_mappings &&
460
+ reverse_mappings == o.reverse_mappings &&
461
+ roles == o.roles &&
462
+ permissions == o.permissions &&
463
+ state == o.state &&
464
+ asset_model_id == o.asset_model_id &&
465
+ asset_id == o.asset_id &&
466
+ name == o.name &&
467
+ revision == o.revision &&
468
+ status == o.status &&
469
+ is_current == o.is_current &&
470
+ uploaded_by_id == o.uploaded_by_id &&
471
+ segment_name == o.segment_name &&
472
+ segment_id == o.segment_id &&
473
+ asset_name == o.asset_name &&
474
+ model_path == o.model_path &&
475
+ model_size == o.model_size &&
476
+ one_meter == o.one_meter &&
477
+ original_author_id == o.original_author_id &&
478
+ date_uploaded == o.date_uploaded &&
479
+ date_processed == o.date_processed &&
480
+ last_entity_id == o.last_entity_id &&
481
+ processing_stage == o.processing_stage &&
482
+ processing_status == o.processing_status
483
+ end
484
+
485
+ # @see the `==` method
486
+ # @param [Object] Object to be compared
487
+ def eql?(o)
488
+ self == o
489
+ end
490
+
491
+ # Calculates hash code according to all attributes.
492
+ # @return [Integer] Hash code
493
+ def hash
494
+ [entities, asset, segment, attribute_definitions, spaces, components, component_types, levels, zones, facilities, documents, contacts, sites, applications, forward_mappings, reverse_mappings, roles, permissions, state, asset_model_id, asset_id, name, revision, status, is_current, uploaded_by_id, segment_name, segment_id, asset_name, model_path, model_size, one_meter, original_author_id, date_uploaded, date_processed, last_entity_id, processing_stage, processing_status].hash
495
+ end
496
+
497
+ # Builds the object from hash
498
+ # @param [Hash] attributes Model attributes in the form of hash
499
+ # @return [Object] Returns the model itself
500
+ def self.build_from_hash(attributes)
501
+ new.build_from_hash(attributes)
502
+ end
503
+
504
+ # Builds the object from hash
505
+ # @param [Hash] attributes Model attributes in the form of hash
506
+ # @return [Object] Returns the model itself
507
+ def build_from_hash(attributes)
508
+ return nil unless attributes.is_a?(Hash)
509
+ self.class.openapi_types.each_pair do |key, type|
510
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
511
+ self.send("#{key}=", nil)
512
+ elsif type =~ /\AArray<(.*)>/i
513
+ # check to ensure the input is an array given that the attribute
514
+ # is documented as an array but the input is not
515
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
516
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
517
+ end
518
+ elsif !attributes[self.class.attribute_map[key]].nil?
519
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
520
+ end
521
+ end
522
+
523
+ self
524
+ end
525
+
526
+ # Deserializes the data based on type
527
+ # @param string type Data type
528
+ # @param string value Value to be deserialized
529
+ # @return [Object] Deserialized data
530
+ def _deserialize(type, value)
531
+ case type.to_sym
532
+ when :Time
533
+ Time.parse(value)
534
+ when :Date
535
+ Date.parse(value)
536
+ when :String
537
+ value.to_s
538
+ when :Integer
539
+ value.to_i
540
+ when :Float
541
+ value.to_f
542
+ when :Boolean
543
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
544
+ true
545
+ else
546
+ false
547
+ end
548
+ when :Object
549
+ # generic object (usually a Hash), return directly
550
+ value
551
+ when /\AArray<(?<inner_type>.+)>\z/
552
+ inner_type = Regexp.last_match[:inner_type]
553
+ value.map { |v| _deserialize(inner_type, v) }
554
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
555
+ k_type = Regexp.last_match[:k_type]
556
+ v_type = Regexp.last_match[:v_type]
557
+ {}.tap do |hash|
558
+ value.each do |k, v|
559
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
560
+ end
561
+ end
562
+ else # model
563
+ # models (e.g. Pet) or oneOf
564
+ klass = XbimAim.const_get(type)
565
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
566
+ end
567
+ end
568
+
569
+ # Returns the string representation of the object
570
+ # @return [String] String presentation of the object
571
+ def to_s
572
+ to_hash.to_s
573
+ end
574
+
575
+ # to_body is an alias to to_hash (backward compatibility)
576
+ # @return [Hash] Returns the object in the form of hash
577
+ def to_body
578
+ to_hash
579
+ end
580
+
581
+ # Returns the object in the form of hash
582
+ # @return [Hash] Returns the object in the form of hash
583
+ def to_hash
584
+ hash = {}
585
+ self.class.attribute_map.each_pair do |attr, param|
586
+ value = self.send(attr)
587
+ if value.nil?
588
+ is_nullable = self.class.openapi_nullable.include?(attr)
589
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
590
+ end
591
+
592
+ hash[param] = _to_hash(value)
593
+ end
594
+ hash
595
+ end
596
+
597
+ # Outputs non-array value in the form of hash
598
+ # For object, use to_hash. Otherwise, just return the value
599
+ # @param [Object] value Any valid value
600
+ # @return [Hash] Returns the value in the form of hash
601
+ def _to_hash(value)
602
+ if value.is_a?(Array)
603
+ value.compact.map { |v| _to_hash(v) }
604
+ elsif value.is_a?(Hash)
605
+ {}.tap do |hash|
606
+ value.each { |k, v| hash[k] = _to_hash(v) }
607
+ end
608
+ elsif value.respond_to? :to_hash
609
+ value.to_hash
610
+ else
611
+ value
612
+ end
613
+ end
614
+
615
+ end
616
+
617
+ end