zitadel-client 1.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +201 -0
  3. data/README.md +248 -0
  4. data/lib/patch.rb +26 -0
  5. data/lib/zitadel-client/api/.openapi +0 -0
  6. data/lib/zitadel-client/api/feature_service_api.rb +783 -0
  7. data/lib/zitadel-client/api/identity_provider_service_api.rb +85 -0
  8. data/lib/zitadel-client/api/o_i_d_c_service_api.rb +296 -0
  9. data/lib/zitadel-client/api/organization_service_api.rb +158 -0
  10. data/lib/zitadel-client/api/s_a_m_l_service_api.rb +159 -0
  11. data/lib/zitadel-client/api/session_service_api.rb +372 -0
  12. data/lib/zitadel-client/api/settings_api.rb +147 -0
  13. data/lib/zitadel-client/api/settings_service_api.rb +595 -0
  14. data/lib/zitadel-client/api/user_service_api.rb +3210 -0
  15. data/lib/zitadel-client/api_client.rb +376 -0
  16. data/lib/zitadel-client/api_error.rb +29 -0
  17. data/lib/zitadel-client/auth/authenticator.rb +76 -0
  18. data/lib/zitadel-client/auth/client_credentials_authenticator.rb +63 -0
  19. data/lib/zitadel-client/auth/no_auth_authenticator.rb +31 -0
  20. data/lib/zitadel-client/auth/o_auth_authenticator.rb +90 -0
  21. data/lib/zitadel-client/auth/open_id.rb +50 -0
  22. data/lib/zitadel-client/auth/personal_access_token_authenticator.rb +33 -0
  23. data/lib/zitadel-client/auth/web_token_authenticator.rb +159 -0
  24. data/lib/zitadel-client/configuration.rb +178 -0
  25. data/lib/zitadel-client/models/.openapi +0 -0
  26. data/lib/zitadel-client/models/feature_service_details.rb +249 -0
  27. data/lib/zitadel-client/models/feature_service_feature_flag.rb +255 -0
  28. data/lib/zitadel-client/models/feature_service_get_instance_features_response.rb +355 -0
  29. data/lib/zitadel-client/models/feature_service_get_organization_features_response.rb +220 -0
  30. data/lib/zitadel-client/models/feature_service_get_system_features_response.rb +328 -0
  31. data/lib/zitadel-client/models/feature_service_get_user_features_response.rb +220 -0
  32. data/lib/zitadel-client/models/feature_service_improved_performance.rb +44 -0
  33. data/lib/zitadel-client/models/feature_service_improved_performance_feature_flag.rb +256 -0
  34. data/lib/zitadel-client/models/feature_service_login_v2.rb +231 -0
  35. data/lib/zitadel-client/models/feature_service_login_v2_feature_flag.rb +262 -0
  36. data/lib/zitadel-client/models/feature_service_protobuf_any.rb +220 -0
  37. data/lib/zitadel-client/models/feature_service_reset_instance_features_response.rb +220 -0
  38. data/lib/zitadel-client/models/feature_service_reset_organization_features_response.rb +220 -0
  39. data/lib/zitadel-client/models/feature_service_reset_system_features_response.rb +220 -0
  40. data/lib/zitadel-client/models/feature_service_reset_user_features_response.rb +220 -0
  41. data/lib/zitadel-client/models/feature_service_rpc_status.rb +240 -0
  42. data/lib/zitadel-client/models/feature_service_set_instance_features_request.rb +362 -0
  43. data/lib/zitadel-client/models/feature_service_set_instance_features_response.rb +220 -0
  44. data/lib/zitadel-client/models/feature_service_set_organization_features_response.rb +220 -0
  45. data/lib/zitadel-client/models/feature_service_set_system_features_request.rb +332 -0
  46. data/lib/zitadel-client/models/feature_service_set_system_features_response.rb +220 -0
  47. data/lib/zitadel-client/models/feature_service_set_user_features_response.rb +220 -0
  48. data/lib/zitadel-client/models/feature_service_source.rb +45 -0
  49. data/lib/zitadel-client/models/identity_provider_service_apple_config.rb +253 -0
  50. data/lib/zitadel-client/models/identity_provider_service_auto_linking_option.rb +41 -0
  51. data/lib/zitadel-client/models/identity_provider_service_azure_a_d_config.rb +251 -0
  52. data/lib/zitadel-client/models/identity_provider_service_azure_a_d_tenant.rb +231 -0
  53. data/lib/zitadel-client/models/identity_provider_service_azure_a_d_tenant_type.rb +41 -0
  54. data/lib/zitadel-client/models/identity_provider_service_details.rb +249 -0
  55. data/lib/zitadel-client/models/identity_provider_service_generic_o_i_d_c_config.rb +253 -0
  56. data/lib/zitadel-client/models/identity_provider_service_get_i_d_p_by_i_d_response.rb +220 -0
  57. data/lib/zitadel-client/models/identity_provider_service_git_hub_config.rb +233 -0
  58. data/lib/zitadel-client/models/identity_provider_service_git_hub_enterprise_server_config.rb +260 -0
  59. data/lib/zitadel-client/models/identity_provider_service_git_lab_config.rb +233 -0
  60. data/lib/zitadel-client/models/identity_provider_service_git_lab_self_hosted_config.rb +242 -0
  61. data/lib/zitadel-client/models/identity_provider_service_google_config.rb +233 -0
  62. data/lib/zitadel-client/models/identity_provider_service_i_d_p.rb +292 -0
  63. data/lib/zitadel-client/models/identity_provider_service_i_d_p_config.rb +328 -0
  64. data/lib/zitadel-client/models/identity_provider_service_i_d_p_state.rb +43 -0
  65. data/lib/zitadel-client/models/identity_provider_service_i_d_p_type.rb +51 -0
  66. data/lib/zitadel-client/models/identity_provider_service_j_w_t_config.rb +251 -0
  67. data/lib/zitadel-client/models/identity_provider_service_l_d_a_p_attributes.rb +337 -0
  68. data/lib/zitadel-client/models/identity_provider_service_l_d_a_p_config.rb +307 -0
  69. data/lib/zitadel-client/models/identity_provider_service_o_auth_config.rb +273 -0
  70. data/lib/zitadel-client/models/identity_provider_service_options.rb +284 -0
  71. data/lib/zitadel-client/models/identity_provider_service_protobuf_any.rb +220 -0
  72. data/lib/zitadel-client/models/identity_provider_service_rpc_status.rb +240 -0
  73. data/lib/zitadel-client/models/identity_provider_service_s_a_m_l_binding.rb +42 -0
  74. data/lib/zitadel-client/models/identity_provider_service_s_a_m_l_config.rb +285 -0
  75. data/lib/zitadel-client/models/identity_provider_service_s_a_m_l_name_i_d_format.rb +42 -0
  76. data/lib/zitadel-client/models/o_i_d_c_service_auth_request.rb +317 -0
  77. data/lib/zitadel-client/models/o_i_d_c_service_authorization_error.rb +262 -0
  78. data/lib/zitadel-client/models/o_i_d_c_service_authorize_or_deny_device_authorization_request.rb +229 -0
  79. data/lib/zitadel-client/models/o_i_d_c_service_create_callback_request.rb +229 -0
  80. data/lib/zitadel-client/models/o_i_d_c_service_create_callback_response.rb +230 -0
  81. data/lib/zitadel-client/models/o_i_d_c_service_details.rb +249 -0
  82. data/lib/zitadel-client/models/o_i_d_c_service_device_authorization_request.rb +263 -0
  83. data/lib/zitadel-client/models/o_i_d_c_service_error_reason.rb +55 -0
  84. data/lib/zitadel-client/models/o_i_d_c_service_get_auth_request_response.rb +220 -0
  85. data/lib/zitadel-client/models/o_i_d_c_service_get_device_authorization_request_response.rb +220 -0
  86. data/lib/zitadel-client/models/o_i_d_c_service_prompt.rb +44 -0
  87. data/lib/zitadel-client/models/o_i_d_c_service_protobuf_any.rb +220 -0
  88. data/lib/zitadel-client/models/o_i_d_c_service_rpc_status.rb +240 -0
  89. data/lib/zitadel-client/models/o_i_d_c_service_session.rb +287 -0
  90. data/lib/zitadel-client/models/organization_service_add_human_user_request.rb +435 -0
  91. data/lib/zitadel-client/models/organization_service_add_organization_request.rb +266 -0
  92. data/lib/zitadel-client/models/organization_service_add_organization_request_admin.rb +240 -0
  93. data/lib/zitadel-client/models/organization_service_add_organization_response.rb +240 -0
  94. data/lib/zitadel-client/models/organization_service_add_organization_response_created_admin.rb +238 -0
  95. data/lib/zitadel-client/models/organization_service_details.rb +249 -0
  96. data/lib/zitadel-client/models/organization_service_gender.rb +42 -0
  97. data/lib/zitadel-client/models/organization_service_hashed_password.rb +265 -0
  98. data/lib/zitadel-client/models/organization_service_i_d_p_link.rb +325 -0
  99. data/lib/zitadel-client/models/organization_service_list_details.rb +239 -0
  100. data/lib/zitadel-client/models/organization_service_list_organizations_request.rb +264 -0
  101. data/lib/zitadel-client/models/organization_service_list_organizations_response.rb +264 -0
  102. data/lib/zitadel-client/models/organization_service_list_query.rb +241 -0
  103. data/lib/zitadel-client/models/organization_service_organization_domain_query.rb +289 -0
  104. data/lib/zitadel-client/models/organization_service_organization_field_name.rb +40 -0
  105. data/lib/zitadel-client/models/organization_service_organization_i_d_query.rb +256 -0
  106. data/lib/zitadel-client/models/organization_service_organization_name_query.rb +289 -0
  107. data/lib/zitadel-client/models/organization_service_organization_state.rb +42 -0
  108. data/lib/zitadel-client/models/organization_service_organization_state_query.rb +244 -0
  109. data/lib/zitadel-client/models/organization_service_password.rb +264 -0
  110. data/lib/zitadel-client/models/organization_service_protobuf_any.rb +220 -0
  111. data/lib/zitadel-client/models/organization_service_rpc_status.rb +240 -0
  112. data/lib/zitadel-client/models/organization_service_search_query.rb +256 -0
  113. data/lib/zitadel-client/models/organization_service_send_email_verification_code.rb +249 -0
  114. data/lib/zitadel-client/models/organization_service_set_human_email.rb +282 -0
  115. data/lib/zitadel-client/models/organization_service_set_human_phone.rb +266 -0
  116. data/lib/zitadel-client/models/organization_service_set_human_profile.rb +416 -0
  117. data/lib/zitadel-client/models/organization_service_set_metadata_entry.rb +300 -0
  118. data/lib/zitadel-client/models/organization_service_text_query_method.rb +46 -0
  119. data/lib/zitadel-client/models/s_a_m_l_service_authorization_error.rb +253 -0
  120. data/lib/zitadel-client/models/s_a_m_l_service_create_response_request.rb +229 -0
  121. data/lib/zitadel-client/models/s_a_m_l_service_create_response_response.rb +248 -0
  122. data/lib/zitadel-client/models/s_a_m_l_service_details.rb +249 -0
  123. data/lib/zitadel-client/models/s_a_m_l_service_error_reason.rb +46 -0
  124. data/lib/zitadel-client/models/s_a_m_l_service_get_s_a_m_l_request_response.rb +220 -0
  125. data/lib/zitadel-client/models/s_a_m_l_service_post_response.rb +229 -0
  126. data/lib/zitadel-client/models/s_a_m_l_service_protobuf_any.rb +220 -0
  127. data/lib/zitadel-client/models/s_a_m_l_service_rpc_status.rb +240 -0
  128. data/lib/zitadel-client/models/s_a_m_l_service_s_a_m_l_request.rb +271 -0
  129. data/lib/zitadel-client/models/s_a_m_l_service_session.rb +287 -0
  130. data/lib/zitadel-client/models/session_service_challenges.rb +238 -0
  131. data/lib/zitadel-client/models/session_service_challenges_web_auth_n.rb +221 -0
  132. data/lib/zitadel-client/models/session_service_check_i_d_p_intent.rb +287 -0
  133. data/lib/zitadel-client/models/session_service_check_o_t_p.rb +239 -0
  134. data/lib/zitadel-client/models/session_service_check_password.rb +248 -0
  135. data/lib/zitadel-client/models/session_service_check_t_o_t_p.rb +248 -0
  136. data/lib/zitadel-client/models/session_service_check_user.rb +285 -0
  137. data/lib/zitadel-client/models/session_service_check_web_auth_n.rb +238 -0
  138. data/lib/zitadel-client/models/session_service_checks.rb +274 -0
  139. data/lib/zitadel-client/models/session_service_create_session_request.rb +260 -0
  140. data/lib/zitadel-client/models/session_service_create_session_response.rb +249 -0
  141. data/lib/zitadel-client/models/session_service_creation_date_query.rb +253 -0
  142. data/lib/zitadel-client/models/session_service_creator_query.rb +240 -0
  143. data/lib/zitadel-client/models/session_service_delete_session_request.rb +221 -0
  144. data/lib/zitadel-client/models/session_service_delete_session_response.rb +220 -0
  145. data/lib/zitadel-client/models/session_service_details.rb +249 -0
  146. data/lib/zitadel-client/models/session_service_factors.rb +274 -0
  147. data/lib/zitadel-client/models/session_service_get_session_response.rb +220 -0
  148. data/lib/zitadel-client/models/session_service_i_ds_query.rb +222 -0
  149. data/lib/zitadel-client/models/session_service_intent_factor.rb +221 -0
  150. data/lib/zitadel-client/models/session_service_list_details.rb +239 -0
  151. data/lib/zitadel-client/models/session_service_list_query.rb +241 -0
  152. data/lib/zitadel-client/models/session_service_list_sessions_request.rb +264 -0
  153. data/lib/zitadel-client/models/session_service_list_sessions_response.rb +231 -0
  154. data/lib/zitadel-client/models/session_service_o_t_p_email_send_code.rb +249 -0
  155. data/lib/zitadel-client/models/session_service_o_t_p_factor.rb +221 -0
  156. data/lib/zitadel-client/models/session_service_password_factor.rb +221 -0
  157. data/lib/zitadel-client/models/session_service_protobuf_any.rb +220 -0
  158. data/lib/zitadel-client/models/session_service_request_challenges.rb +238 -0
  159. data/lib/zitadel-client/models/session_service_request_challenges_o_t_p_email.rb +229 -0
  160. data/lib/zitadel-client/models/session_service_request_challenges_o_t_p_s_m_s.rb +220 -0
  161. data/lib/zitadel-client/models/session_service_request_challenges_web_auth_n.rb +286 -0
  162. data/lib/zitadel-client/models/session_service_rpc_status.rb +240 -0
  163. data/lib/zitadel-client/models/session_service_search_query.rb +256 -0
  164. data/lib/zitadel-client/models/session_service_session.rb +291 -0
  165. data/lib/zitadel-client/models/session_service_session_field_name.rb +40 -0
  166. data/lib/zitadel-client/models/session_service_set_session_request.rb +289 -0
  167. data/lib/zitadel-client/models/session_service_set_session_response.rb +239 -0
  168. data/lib/zitadel-client/models/session_service_t_o_t_p_factor.rb +221 -0
  169. data/lib/zitadel-client/models/session_service_timestamp_query_method.rb +43 -0
  170. data/lib/zitadel-client/models/session_service_user_agent.rb +249 -0
  171. data/lib/zitadel-client/models/session_service_user_agent_header_values.rb +223 -0
  172. data/lib/zitadel-client/models/session_service_user_agent_query.rb +240 -0
  173. data/lib/zitadel-client/models/session_service_user_factor.rb +261 -0
  174. data/lib/zitadel-client/models/session_service_user_i_d_query.rb +220 -0
  175. data/lib/zitadel-client/models/session_service_user_verification_requirement.rb +42 -0
  176. data/lib/zitadel-client/models/session_service_web_auth_n_factor.rb +230 -0
  177. data/lib/zitadel-client/models/settings_service_auto_linking_option.rb +41 -0
  178. data/lib/zitadel-client/models/settings_service_branding_settings.rb +303 -0
  179. data/lib/zitadel-client/models/settings_service_details.rb +249 -0
  180. data/lib/zitadel-client/models/settings_service_domain_settings.rb +274 -0
  181. data/lib/zitadel-client/models/settings_service_embedded_iframe_settings.rb +233 -0
  182. data/lib/zitadel-client/models/settings_service_get_active_identity_providers_response.rb +231 -0
  183. data/lib/zitadel-client/models/settings_service_get_branding_settings_response.rb +229 -0
  184. data/lib/zitadel-client/models/settings_service_get_domain_settings_response.rb +229 -0
  185. data/lib/zitadel-client/models/settings_service_get_general_settings_response.rb +242 -0
  186. data/lib/zitadel-client/models/settings_service_get_legal_and_support_settings_response.rb +229 -0
  187. data/lib/zitadel-client/models/settings_service_get_lockout_settings_response.rb +229 -0
  188. data/lib/zitadel-client/models/settings_service_get_login_settings_response.rb +229 -0
  189. data/lib/zitadel-client/models/settings_service_get_password_complexity_settings_response.rb +229 -0
  190. data/lib/zitadel-client/models/settings_service_get_password_expiry_settings_response.rb +229 -0
  191. data/lib/zitadel-client/models/settings_service_get_security_settings_response.rb +229 -0
  192. data/lib/zitadel-client/models/settings_service_identity_provider.rb +271 -0
  193. data/lib/zitadel-client/models/settings_service_identity_provider_type.rb +51 -0
  194. data/lib/zitadel-client/models/settings_service_legal_and_support_settings.rb +311 -0
  195. data/lib/zitadel-client/models/settings_service_list_details.rb +239 -0
  196. data/lib/zitadel-client/models/settings_service_lockout_settings.rb +264 -0
  197. data/lib/zitadel-client/models/settings_service_login_settings.rb +437 -0
  198. data/lib/zitadel-client/models/settings_service_multi_factor_type.rb +40 -0
  199. data/lib/zitadel-client/models/settings_service_options.rb +284 -0
  200. data/lib/zitadel-client/models/settings_service_passkeys_type.rb +40 -0
  201. data/lib/zitadel-client/models/settings_service_password_complexity_settings.rb +294 -0
  202. data/lib/zitadel-client/models/settings_service_password_expiry_settings.rb +264 -0
  203. data/lib/zitadel-client/models/settings_service_protobuf_any.rb +220 -0
  204. data/lib/zitadel-client/models/settings_service_resource_owner_type.rb +41 -0
  205. data/lib/zitadel-client/models/settings_service_rpc_status.rb +240 -0
  206. data/lib/zitadel-client/models/settings_service_second_factor_type.rb +43 -0
  207. data/lib/zitadel-client/models/settings_service_security_settings.rb +230 -0
  208. data/lib/zitadel-client/models/settings_service_set_security_settings_request.rb +230 -0
  209. data/lib/zitadel-client/models/settings_service_set_security_settings_response.rb +220 -0
  210. data/lib/zitadel-client/models/settings_service_theme.rb +271 -0
  211. data/lib/zitadel-client/models/settings_service_theme_mode.rb +42 -0
  212. data/lib/zitadel-client/models/user_service_access_token_type.rb +40 -0
  213. data/lib/zitadel-client/models/user_service_add_human_user_request.rb +435 -0
  214. data/lib/zitadel-client/models/user_service_add_human_user_response.rb +247 -0
  215. data/lib/zitadel-client/models/user_service_add_i_d_p_link_request.rb +220 -0
  216. data/lib/zitadel-client/models/user_service_add_i_d_p_link_response.rb +220 -0
  217. data/lib/zitadel-client/models/user_service_add_o_t_p_email_response.rb +220 -0
  218. data/lib/zitadel-client/models/user_service_add_o_t_p_s_m_s_response.rb +220 -0
  219. data/lib/zitadel-client/models/user_service_and_query.rb +224 -0
  220. data/lib/zitadel-client/models/user_service_auth_factor.rb +258 -0
  221. data/lib/zitadel-client/models/user_service_auth_factor_state.rb +42 -0
  222. data/lib/zitadel-client/models/user_service_auth_factor_u2_f.rb +229 -0
  223. data/lib/zitadel-client/models/user_service_authentication_method_type.rb +46 -0
  224. data/lib/zitadel-client/models/user_service_create_invite_code_request.rb +229 -0
  225. data/lib/zitadel-client/models/user_service_create_invite_code_response.rb +230 -0
  226. data/lib/zitadel-client/models/user_service_create_passkey_registration_link_request.rb +229 -0
  227. data/lib/zitadel-client/models/user_service_create_passkey_registration_link_response.rb +229 -0
  228. data/lib/zitadel-client/models/user_service_deactivate_user_response.rb +220 -0
  229. data/lib/zitadel-client/models/user_service_delete_user_response.rb +220 -0
  230. data/lib/zitadel-client/models/user_service_details.rb +249 -0
  231. data/lib/zitadel-client/models/user_service_display_name_query.rb +289 -0
  232. data/lib/zitadel-client/models/user_service_email_query.rb +281 -0
  233. data/lib/zitadel-client/models/user_service_first_name_query.rb +289 -0
  234. data/lib/zitadel-client/models/user_service_gender.rb +42 -0
  235. data/lib/zitadel-client/models/user_service_get_user_by_i_d_response.rb +229 -0
  236. data/lib/zitadel-client/models/user_service_hashed_password.rb +265 -0
  237. data/lib/zitadel-client/models/user_service_human_email.rb +257 -0
  238. data/lib/zitadel-client/models/user_service_human_m_f_a_init_skipped_response.rb +220 -0
  239. data/lib/zitadel-client/models/user_service_human_phone.rb +248 -0
  240. data/lib/zitadel-client/models/user_service_human_profile.rb +412 -0
  241. data/lib/zitadel-client/models/user_service_human_user.rb +343 -0
  242. data/lib/zitadel-client/models/user_service_i_d_p_information.rb +278 -0
  243. data/lib/zitadel-client/models/user_service_i_d_p_intent.rb +316 -0
  244. data/lib/zitadel-client/models/user_service_i_d_p_l_d_a_p_access_information.rb +220 -0
  245. data/lib/zitadel-client/models/user_service_i_d_p_link.rb +325 -0
  246. data/lib/zitadel-client/models/user_service_i_d_p_o_auth_access_information.rb +229 -0
  247. data/lib/zitadel-client/models/user_service_i_d_p_s_a_m_l_access_information.rb +220 -0
  248. data/lib/zitadel-client/models/user_service_in_user_emails_query.rb +224 -0
  249. data/lib/zitadel-client/models/user_service_in_user_i_d_query.rb +224 -0
  250. data/lib/zitadel-client/models/user_service_l_d_a_p_credentials.rb +287 -0
  251. data/lib/zitadel-client/models/user_service_last_name_query.rb +289 -0
  252. data/lib/zitadel-client/models/user_service_list_authentication_factors_response.rb +222 -0
  253. data/lib/zitadel-client/models/user_service_list_authentication_method_types_response.rb +231 -0
  254. data/lib/zitadel-client/models/user_service_list_details.rb +239 -0
  255. data/lib/zitadel-client/models/user_service_list_i_d_p_links_request.rb +220 -0
  256. data/lib/zitadel-client/models/user_service_list_i_d_p_links_response.rb +231 -0
  257. data/lib/zitadel-client/models/user_service_list_passkeys_response.rb +231 -0
  258. data/lib/zitadel-client/models/user_service_list_query.rb +241 -0
  259. data/lib/zitadel-client/models/user_service_list_users_request.rb +264 -0
  260. data/lib/zitadel-client/models/user_service_list_users_response.rb +264 -0
  261. data/lib/zitadel-client/models/user_service_lock_user_response.rb +220 -0
  262. data/lib/zitadel-client/models/user_service_login_name_query.rb +289 -0
  263. data/lib/zitadel-client/models/user_service_machine_user.rb +271 -0
  264. data/lib/zitadel-client/models/user_service_nick_name_query.rb +289 -0
  265. data/lib/zitadel-client/models/user_service_not_query.rb +221 -0
  266. data/lib/zitadel-client/models/user_service_notification_type.rb +41 -0
  267. data/lib/zitadel-client/models/user_service_or_query.rb +224 -0
  268. data/lib/zitadel-client/models/user_service_organization.rb +229 -0
  269. data/lib/zitadel-client/models/user_service_organization_id_query.rb +256 -0
  270. data/lib/zitadel-client/models/user_service_passkey.rb +290 -0
  271. data/lib/zitadel-client/models/user_service_passkey_authenticator.rb +41 -0
  272. data/lib/zitadel-client/models/user_service_passkey_registration_code.rb +283 -0
  273. data/lib/zitadel-client/models/user_service_password.rb +264 -0
  274. data/lib/zitadel-client/models/user_service_password_reset_request.rb +229 -0
  275. data/lib/zitadel-client/models/user_service_password_reset_response.rb +229 -0
  276. data/lib/zitadel-client/models/user_service_phone_query.rb +290 -0
  277. data/lib/zitadel-client/models/user_service_protobuf_any.rb +220 -0
  278. data/lib/zitadel-client/models/user_service_reactivate_user_response.rb +220 -0
  279. data/lib/zitadel-client/models/user_service_redirect_u_r_ls.rb +287 -0
  280. data/lib/zitadel-client/models/user_service_register_passkey_request.rb +263 -0
  281. data/lib/zitadel-client/models/user_service_register_passkey_response.rb +239 -0
  282. data/lib/zitadel-client/models/user_service_register_t_o_t_p_response.rb +238 -0
  283. data/lib/zitadel-client/models/user_service_register_u2_f_request.rb +221 -0
  284. data/lib/zitadel-client/models/user_service_register_u2_f_response.rb +239 -0
  285. data/lib/zitadel-client/models/user_service_remove_i_d_p_link_response.rb +220 -0
  286. data/lib/zitadel-client/models/user_service_remove_o_t_p_email_response.rb +220 -0
  287. data/lib/zitadel-client/models/user_service_remove_o_t_p_s_m_s_response.rb +220 -0
  288. data/lib/zitadel-client/models/user_service_remove_passkey_response.rb +220 -0
  289. data/lib/zitadel-client/models/user_service_remove_phone_response.rb +220 -0
  290. data/lib/zitadel-client/models/user_service_remove_t_o_t_p_response.rb +220 -0
  291. data/lib/zitadel-client/models/user_service_remove_u2_f_response.rb +220 -0
  292. data/lib/zitadel-client/models/user_service_resend_email_code_request.rb +229 -0
  293. data/lib/zitadel-client/models/user_service_resend_email_code_response.rb +229 -0
  294. data/lib/zitadel-client/models/user_service_resend_invite_code_response.rb +220 -0
  295. data/lib/zitadel-client/models/user_service_resend_phone_code_request.rb +229 -0
  296. data/lib/zitadel-client/models/user_service_resend_phone_code_response.rb +229 -0
  297. data/lib/zitadel-client/models/user_service_retrieve_identity_provider_intent_request.rb +249 -0
  298. data/lib/zitadel-client/models/user_service_retrieve_identity_provider_intent_response.rb +248 -0
  299. data/lib/zitadel-client/models/user_service_rpc_status.rb +240 -0
  300. data/lib/zitadel-client/models/user_service_search_query.rb +355 -0
  301. data/lib/zitadel-client/models/user_service_send_email_code_request.rb +229 -0
  302. data/lib/zitadel-client/models/user_service_send_email_code_response.rb +229 -0
  303. data/lib/zitadel-client/models/user_service_send_email_verification_code.rb +249 -0
  304. data/lib/zitadel-client/models/user_service_send_invite_code.rb +287 -0
  305. data/lib/zitadel-client/models/user_service_send_passkey_registration_link.rb +249 -0
  306. data/lib/zitadel-client/models/user_service_send_password_reset_link.rb +282 -0
  307. data/lib/zitadel-client/models/user_service_set_email_request.rb +282 -0
  308. data/lib/zitadel-client/models/user_service_set_email_response.rb +229 -0
  309. data/lib/zitadel-client/models/user_service_set_human_email.rb +282 -0
  310. data/lib/zitadel-client/models/user_service_set_human_phone.rb +266 -0
  311. data/lib/zitadel-client/models/user_service_set_human_profile.rb +416 -0
  312. data/lib/zitadel-client/models/user_service_set_metadata_entry.rb +300 -0
  313. data/lib/zitadel-client/models/user_service_set_password.rb +318 -0
  314. data/lib/zitadel-client/models/user_service_set_password_request.rb +309 -0
  315. data/lib/zitadel-client/models/user_service_set_password_response.rb +220 -0
  316. data/lib/zitadel-client/models/user_service_set_phone_request.rb +282 -0
  317. data/lib/zitadel-client/models/user_service_set_phone_response.rb +229 -0
  318. data/lib/zitadel-client/models/user_service_start_identity_provider_intent_request.rb +267 -0
  319. data/lib/zitadel-client/models/user_service_start_identity_provider_intent_response.rb +249 -0
  320. data/lib/zitadel-client/models/user_service_state_query.rb +260 -0
  321. data/lib/zitadel-client/models/user_service_text_query_method.rb +46 -0
  322. data/lib/zitadel-client/models/user_service_type.rb +41 -0
  323. data/lib/zitadel-client/models/user_service_type_query.rb +260 -0
  324. data/lib/zitadel-client/models/user_service_unlock_user_response.rb +220 -0
  325. data/lib/zitadel-client/models/user_service_update_human_user_request.rb +284 -0
  326. data/lib/zitadel-client/models/user_service_update_human_user_response.rb +238 -0
  327. data/lib/zitadel-client/models/user_service_user.rb +287 -0
  328. data/lib/zitadel-client/models/user_service_user_field_name.rb +48 -0
  329. data/lib/zitadel-client/models/user_service_user_name_query.rb +289 -0
  330. data/lib/zitadel-client/models/user_service_user_state.rb +44 -0
  331. data/lib/zitadel-client/models/user_service_verify_email_request.rb +256 -0
  332. data/lib/zitadel-client/models/user_service_verify_email_response.rb +220 -0
  333. data/lib/zitadel-client/models/user_service_verify_invite_code_request.rb +256 -0
  334. data/lib/zitadel-client/models/user_service_verify_invite_code_response.rb +220 -0
  335. data/lib/zitadel-client/models/user_service_verify_passkey_registration_request.rb +282 -0
  336. data/lib/zitadel-client/models/user_service_verify_passkey_registration_response.rb +220 -0
  337. data/lib/zitadel-client/models/user_service_verify_phone_request.rb +256 -0
  338. data/lib/zitadel-client/models/user_service_verify_phone_response.rb +220 -0
  339. data/lib/zitadel-client/models/user_service_verify_t_o_t_p_registration_request.rb +238 -0
  340. data/lib/zitadel-client/models/user_service_verify_t_o_t_p_registration_response.rb +220 -0
  341. data/lib/zitadel-client/models/user_service_verify_u2_f_registration_request.rb +282 -0
  342. data/lib/zitadel-client/models/user_service_verify_u2_f_registration_response.rb +220 -0
  343. data/lib/zitadel-client/models/zitadelobjectv2_organization.rb +229 -0
  344. data/lib/zitadel-client/models/zitadelorgv2_organization.rb +283 -0
  345. data/lib/zitadel-client/utils/url_util.rb +21 -0
  346. data/lib/zitadel-client/version.rb +5 -0
  347. data/lib/zitadel-client/zitadel.rb +82 -0
  348. data/lib/zitadel-client/zitadel_error.rb +8 -0
  349. data/lib/zitadel_client.rb +33 -0
  350. data/sig/lib/oauth2/oauth2.rbs +101 -0
  351. data/sig/lib/openssl/openssl.rbs +10 -0
  352. data/sig/lib/typhoeus/typhoeus.rbs +387 -0
  353. data/sig/lib/warning/warning.rbs +3 -0
  354. data/sig/lib/zeitwerk/zeitwerk.rbs +21 -0
  355. data/sig/lib.rbs +284 -0
  356. metadata +461 -0
@@ -0,0 +1,289 @@
1
+ =begin
2
+ #Zitadel SDK
3
+
4
+ #The Zitadel SDK is a convenience wrapper around the Zitadel APIs to assist you in integrating with your Zitadel environment. This SDK enables you to handle resources, settings, and configurations within the Zitadel platform.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.12.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module ZitadelClient
17
+ # Query for users with a specific user name.
18
+ class UserServiceUserNameQuery
19
+ attr_accessor :user_name
20
+
21
+ attr_accessor :method
22
+
23
+ class EnumAttributeValidator
24
+ attr_reader :datatype
25
+ attr_reader :allowable_values
26
+
27
+ def initialize(datatype, allowable_values)
28
+ @allowable_values = allowable_values.map do |value|
29
+ case datatype.to_s
30
+ when /Integer/i
31
+ value.to_i
32
+ when /Float/i
33
+ value.to_f
34
+ else
35
+ value
36
+ end
37
+ end
38
+ end
39
+
40
+ def valid?(value)
41
+ !value || allowable_values.include?(value)
42
+ end
43
+ end
44
+
45
+ # Attribute mapping from ruby-style variable name to JSON key.
46
+ def self.attribute_map
47
+ {
48
+ :'user_name' => :'userName',
49
+ :'method' => :'method'
50
+ }
51
+ end
52
+
53
+ # Returns attribute mapping this model knows about
54
+ def self.acceptable_attribute_map
55
+ attribute_map
56
+ end
57
+
58
+ # Returns all the JSON keys this model knows about
59
+ def self.acceptable_attributes
60
+ acceptable_attribute_map.values
61
+ end
62
+
63
+ # Attribute type mapping.
64
+ def self.openapi_types
65
+ {
66
+ :'user_name' => :'String',
67
+ :'method' => :'UserServiceTextQueryMethod'
68
+ }
69
+ end
70
+
71
+ # List of attributes with nullable: true
72
+ def self.openapi_nullable
73
+ Set.new([
74
+ ])
75
+ end
76
+
77
+ # Initializes the object
78
+ # @param [Hash] attributes Model attributes in the form of hash
79
+ def initialize(attributes = {})
80
+ if (!attributes.is_a?(Hash))
81
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ZitadelClient::UserServiceUserNameQuery` initialize method"
82
+ end
83
+
84
+ # check to see if the attribute exists and convert string to symbol for hash key
85
+ acceptable_attribute_map = self.class.acceptable_attribute_map
86
+ attributes = attributes.each_with_object({}) { |(k, v), h|
87
+ if (!acceptable_attribute_map.key?(k.to_sym))
88
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ZitadelClient::UserServiceUserNameQuery`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
89
+ end
90
+ h[k.to_sym] = v
91
+ }
92
+
93
+ if attributes.key?(:'user_name')
94
+ self.user_name = attributes[:'user_name']
95
+ else
96
+ self.user_name = nil
97
+ end
98
+
99
+ if attributes.key?(:'method')
100
+ self.method = attributes[:'method']
101
+ else
102
+ self.method = 'TEXT_QUERY_METHOD_EQUALS'
103
+ end
104
+ end
105
+
106
+ # Show invalid properties with the reasons. Usually used together with valid?
107
+ # @return Array for valid properties with the reasons
108
+ def list_invalid_properties
109
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
110
+ invalid_properties = Array.new
111
+ if @user_name.nil?
112
+ invalid_properties.push('invalid value for "user_name", user_name cannot be nil.')
113
+ end
114
+
115
+ if @user_name.to_s.length > 200
116
+ invalid_properties.push('invalid value for "user_name", the character length must be smaller than or equal to 200.')
117
+ end
118
+
119
+ if @user_name.to_s.length < 1
120
+ invalid_properties.push('invalid value for "user_name", the character length must be great than or equal to 1.')
121
+ end
122
+
123
+ invalid_properties
124
+ end
125
+
126
+ # Check to see if the all the properties in the model are valid
127
+ # @return true if the model is valid
128
+ def valid?
129
+ warn '[DEPRECATED] the `valid?` method is obsolete'
130
+ return false if @user_name.nil?
131
+ return false if @user_name.to_s.length > 200
132
+ return false if @user_name.to_s.length < 1
133
+ true
134
+ end
135
+
136
+ # Custom attribute writer method with validation
137
+ # @param [Object] user_name Value to be assigned
138
+ def user_name=(user_name)
139
+ if user_name.nil?
140
+ fail ArgumentError, 'user_name cannot be nil'
141
+ end
142
+
143
+ if user_name.to_s.length > 200
144
+ fail ArgumentError, 'invalid value for "user_name", the character length must be smaller than or equal to 200.'
145
+ end
146
+
147
+ if user_name.to_s.length < 1
148
+ fail ArgumentError, 'invalid value for "user_name", the character length must be great than or equal to 1.'
149
+ end
150
+
151
+ @user_name = user_name
152
+ end
153
+
154
+ # Checks equality by comparing each attribute.
155
+ # @param [Object] Object to be compared
156
+ def ==(o)
157
+ return true if self.equal?(o)
158
+ self.class == o.class &&
159
+ user_name == o.user_name &&
160
+ method == o.method
161
+ end
162
+
163
+ # @see the `==` method
164
+ # @param [Object] Object to be compared
165
+ def eql?(o)
166
+ self == o
167
+ end
168
+
169
+ # Calculates hash code according to all attributes.
170
+ # @return [Integer] Hash code
171
+ def hash
172
+ [user_name, method].hash
173
+ end
174
+
175
+ # Builds the object from hash
176
+ # @param [Hash] attributes Model attributes in the form of hash
177
+ # @return [Object] Returns the model itself
178
+ def self.build_from_hash(attributes)
179
+ return nil unless attributes.is_a?(Hash)
180
+ attributes = attributes.transform_keys(&:to_sym)
181
+ transformed_hash = {}
182
+ openapi_types.each_pair do |key, type|
183
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
184
+ transformed_hash["#{key}"] = nil
185
+ elsif type =~ /\AArray<(.*)>/i
186
+ # check to ensure the input is an array given that the attribute
187
+ # is documented as an array but the input is not
188
+ if attributes[attribute_map[key]].is_a?(Array)
189
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
190
+ end
191
+ elsif !attributes[attribute_map[key]].nil?
192
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
193
+ end
194
+ end
195
+ new(transformed_hash)
196
+ end
197
+
198
+ # Deserializes the data based on type
199
+ # @param string type Data type
200
+ # @param string value Value to be deserialized
201
+ # @return [Object] Deserialized data
202
+ def self._deserialize(type, value)
203
+ case type.to_sym
204
+ when :Time
205
+ Time.parse(value)
206
+ when :Date
207
+ Date.parse(value)
208
+ when :String
209
+ value.to_s
210
+ when :Integer
211
+ value.to_i
212
+ when :Float
213
+ value.to_f
214
+ when :Boolean
215
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
216
+ true
217
+ else
218
+ false
219
+ end
220
+ when :Object
221
+ # generic object (usually a Hash), return directly
222
+ value
223
+ when /\AArray<(?<inner_type>.+)>\z/
224
+ inner_type = Regexp.last_match[:inner_type]
225
+ value.map { |v| _deserialize(inner_type, v) }
226
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
227
+ k_type = Regexp.last_match[:k_type]
228
+ v_type = Regexp.last_match[:v_type]
229
+ {}.tap do |hash|
230
+ value.each do |k, v|
231
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
232
+ end
233
+ end
234
+ else # model
235
+ # models (e.g. Pet) or oneOf
236
+ klass = ZitadelClient.const_get(type)
237
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
238
+ end
239
+ end
240
+
241
+ # Returns the string representation of the object
242
+ # @return [String] String presentation of the object
243
+ def to_s
244
+ to_hash.to_s
245
+ end
246
+
247
+ # to_body is an alias to to_hash (backward compatibility)
248
+ # @return [Hash] Returns the object in the form of hash
249
+ def to_body
250
+ to_hash
251
+ end
252
+
253
+ # Returns the object in the form of hash
254
+ # @return [Hash] Returns the object in the form of hash
255
+ def to_hash
256
+ hash = {}
257
+ self.class.attribute_map.each_pair do |attr, param|
258
+ value = self.send(attr)
259
+ if value.nil?
260
+ is_nullable = self.class.openapi_nullable.include?(attr)
261
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
262
+ end
263
+
264
+ hash[param] = _to_hash(value)
265
+ end
266
+ hash
267
+ end
268
+
269
+ # Outputs non-array value in the form of hash
270
+ # For object, use to_hash. Otherwise, just return the value
271
+ # @param [Object] value Any valid value
272
+ # @return [Hash] Returns the value in the form of hash
273
+ def _to_hash(value)
274
+ if value.is_a?(Array)
275
+ value.compact.map { |v| _to_hash(v) }
276
+ elsif value.is_a?(Hash)
277
+ {}.tap do |hash|
278
+ value.each { |k, v| hash[k] = _to_hash(v) }
279
+ end
280
+ elsif value.respond_to? :to_hash
281
+ value.to_hash
282
+ else
283
+ value
284
+ end
285
+ end
286
+
287
+ end
288
+
289
+ end
@@ -0,0 +1,44 @@
1
+ =begin
2
+ #Zitadel SDK
3
+
4
+ #The Zitadel SDK is a convenience wrapper around the Zitadel APIs to assist you in integrating with your Zitadel environment. This SDK enables you to handle resources, settings, and configurations within the Zitadel platform.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.12.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module ZitadelClient
17
+ class UserServiceUserState
18
+ USER_STATE_UNSPECIFIED = "USER_STATE_UNSPECIFIED".freeze
19
+ USER_STATE_ACTIVE = "USER_STATE_ACTIVE".freeze
20
+ USER_STATE_INACTIVE = "USER_STATE_INACTIVE".freeze
21
+ USER_STATE_DELETED = "USER_STATE_DELETED".freeze
22
+ USER_STATE_LOCKED = "USER_STATE_LOCKED".freeze
23
+ USER_STATE_INITIAL = "USER_STATE_INITIAL".freeze
24
+
25
+ def self.all_vars
26
+ @all_vars ||= [USER_STATE_UNSPECIFIED, USER_STATE_ACTIVE, USER_STATE_INACTIVE, USER_STATE_DELETED, USER_STATE_LOCKED, USER_STATE_INITIAL].freeze
27
+ end
28
+
29
+ # Builds the enum from string
30
+ # @param [String] The enum value in the form of the string
31
+ # @return [String] The enum value
32
+ def self.build_from_hash(value)
33
+ new.build_from_hash(value)
34
+ end
35
+
36
+ # Builds the enum from string
37
+ # @param [String] The enum value in the form of the string
38
+ # @return [String] The enum value
39
+ def build_from_hash(value)
40
+ return value if UserServiceUserState.all_vars.include?(value)
41
+ raise "Invalid ENUM value #{value} for class #UserServiceUserState"
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,256 @@
1
+ =begin
2
+ #Zitadel SDK
3
+
4
+ #The Zitadel SDK is a convenience wrapper around the Zitadel APIs to assist you in integrating with your Zitadel environment. This SDK enables you to handle resources, settings, and configurations within the Zitadel platform.
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+
8
+ Generated by: https://openapi-generator.tech
9
+ Generator version: 7.12.0
10
+
11
+ =end
12
+
13
+ require 'date'
14
+ require 'time'
15
+
16
+ module ZitadelClient
17
+ class UserServiceVerifyEmailRequest
18
+ # \"the verification code generated during the set email request\"
19
+ attr_accessor :verification_code
20
+
21
+ # Attribute mapping from ruby-style variable name to JSON key.
22
+ def self.attribute_map
23
+ {
24
+ :'verification_code' => :'verificationCode'
25
+ }
26
+ end
27
+
28
+ # Returns attribute mapping this model knows about
29
+ def self.acceptable_attribute_map
30
+ attribute_map
31
+ end
32
+
33
+ # Returns all the JSON keys this model knows about
34
+ def self.acceptable_attributes
35
+ acceptable_attribute_map.values
36
+ end
37
+
38
+ # Attribute type mapping.
39
+ def self.openapi_types
40
+ {
41
+ :'verification_code' => :'String'
42
+ }
43
+ end
44
+
45
+ # List of attributes with nullable: true
46
+ def self.openapi_nullable
47
+ Set.new([
48
+ ])
49
+ end
50
+
51
+ # Initializes the object
52
+ # @param [Hash] attributes Model attributes in the form of hash
53
+ def initialize(attributes = {})
54
+ if (!attributes.is_a?(Hash))
55
+ fail ArgumentError, "The input argument (attributes) must be a hash in `ZitadelClient::UserServiceVerifyEmailRequest` initialize method"
56
+ end
57
+
58
+ # check to see if the attribute exists and convert string to symbol for hash key
59
+ acceptable_attribute_map = self.class.acceptable_attribute_map
60
+ attributes = attributes.each_with_object({}) { |(k, v), h|
61
+ if (!acceptable_attribute_map.key?(k.to_sym))
62
+ fail ArgumentError, "`#{k}` is not a valid attribute in `ZitadelClient::UserServiceVerifyEmailRequest`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
63
+ end
64
+ h[k.to_sym] = v
65
+ }
66
+
67
+ if attributes.key?(:'verification_code')
68
+ self.verification_code = attributes[:'verification_code']
69
+ else
70
+ self.verification_code = nil
71
+ end
72
+ end
73
+
74
+ # Show invalid properties with the reasons. Usually used together with valid?
75
+ # @return Array for valid properties with the reasons
76
+ def list_invalid_properties
77
+ warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
78
+ invalid_properties = Array.new
79
+ if @verification_code.nil?
80
+ invalid_properties.push('invalid value for "verification_code", verification_code cannot be nil.')
81
+ end
82
+
83
+ if @verification_code.to_s.length > 20
84
+ invalid_properties.push('invalid value for "verification_code", the character length must be smaller than or equal to 20.')
85
+ end
86
+
87
+ if @verification_code.to_s.length < 1
88
+ invalid_properties.push('invalid value for "verification_code", the character length must be great than or equal to 1.')
89
+ end
90
+
91
+ invalid_properties
92
+ end
93
+
94
+ # Check to see if the all the properties in the model are valid
95
+ # @return true if the model is valid
96
+ def valid?
97
+ warn '[DEPRECATED] the `valid?` method is obsolete'
98
+ return false if @verification_code.nil?
99
+ return false if @verification_code.to_s.length > 20
100
+ return false if @verification_code.to_s.length < 1
101
+ true
102
+ end
103
+
104
+ # Custom attribute writer method with validation
105
+ # @param [Object] verification_code Value to be assigned
106
+ def verification_code=(verification_code)
107
+ if verification_code.nil?
108
+ fail ArgumentError, 'verification_code cannot be nil'
109
+ end
110
+
111
+ if verification_code.to_s.length > 20
112
+ fail ArgumentError, 'invalid value for "verification_code", the character length must be smaller than or equal to 20.'
113
+ end
114
+
115
+ if verification_code.to_s.length < 1
116
+ fail ArgumentError, 'invalid value for "verification_code", the character length must be great than or equal to 1.'
117
+ end
118
+
119
+ @verification_code = verification_code
120
+ end
121
+
122
+ # Checks equality by comparing each attribute.
123
+ # @param [Object] Object to be compared
124
+ def ==(o)
125
+ return true if self.equal?(o)
126
+ self.class == o.class &&
127
+ verification_code == o.verification_code
128
+ end
129
+
130
+ # @see the `==` method
131
+ # @param [Object] Object to be compared
132
+ def eql?(o)
133
+ self == o
134
+ end
135
+
136
+ # Calculates hash code according to all attributes.
137
+ # @return [Integer] Hash code
138
+ def hash
139
+ [verification_code].hash
140
+ end
141
+
142
+ # Builds the object from hash
143
+ # @param [Hash] attributes Model attributes in the form of hash
144
+ # @return [Object] Returns the model itself
145
+ def self.build_from_hash(attributes)
146
+ return nil unless attributes.is_a?(Hash)
147
+ attributes = attributes.transform_keys(&:to_sym)
148
+ transformed_hash = {}
149
+ openapi_types.each_pair do |key, type|
150
+ if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
151
+ transformed_hash["#{key}"] = nil
152
+ elsif type =~ /\AArray<(.*)>/i
153
+ # check to ensure the input is an array given that the attribute
154
+ # is documented as an array but the input is not
155
+ if attributes[attribute_map[key]].is_a?(Array)
156
+ transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
157
+ end
158
+ elsif !attributes[attribute_map[key]].nil?
159
+ transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
160
+ end
161
+ end
162
+ new(transformed_hash)
163
+ end
164
+
165
+ # Deserializes the data based on type
166
+ # @param string type Data type
167
+ # @param string value Value to be deserialized
168
+ # @return [Object] Deserialized data
169
+ def self._deserialize(type, value)
170
+ case type.to_sym
171
+ when :Time
172
+ Time.parse(value)
173
+ when :Date
174
+ Date.parse(value)
175
+ when :String
176
+ value.to_s
177
+ when :Integer
178
+ value.to_i
179
+ when :Float
180
+ value.to_f
181
+ when :Boolean
182
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
183
+ true
184
+ else
185
+ false
186
+ end
187
+ when :Object
188
+ # generic object (usually a Hash), return directly
189
+ value
190
+ when /\AArray<(?<inner_type>.+)>\z/
191
+ inner_type = Regexp.last_match[:inner_type]
192
+ value.map { |v| _deserialize(inner_type, v) }
193
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
194
+ k_type = Regexp.last_match[:k_type]
195
+ v_type = Regexp.last_match[:v_type]
196
+ {}.tap do |hash|
197
+ value.each do |k, v|
198
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
199
+ end
200
+ end
201
+ else # model
202
+ # models (e.g. Pet) or oneOf
203
+ klass = ZitadelClient.const_get(type)
204
+ klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
205
+ end
206
+ end
207
+
208
+ # Returns the string representation of the object
209
+ # @return [String] String presentation of the object
210
+ def to_s
211
+ to_hash.to_s
212
+ end
213
+
214
+ # to_body is an alias to to_hash (backward compatibility)
215
+ # @return [Hash] Returns the object in the form of hash
216
+ def to_body
217
+ to_hash
218
+ end
219
+
220
+ # Returns the object in the form of hash
221
+ # @return [Hash] Returns the object in the form of hash
222
+ def to_hash
223
+ hash = {}
224
+ self.class.attribute_map.each_pair do |attr, param|
225
+ value = self.send(attr)
226
+ if value.nil?
227
+ is_nullable = self.class.openapi_nullable.include?(attr)
228
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
229
+ end
230
+
231
+ hash[param] = _to_hash(value)
232
+ end
233
+ hash
234
+ end
235
+
236
+ # Outputs non-array value in the form of hash
237
+ # For object, use to_hash. Otherwise, just return the value
238
+ # @param [Object] value Any valid value
239
+ # @return [Hash] Returns the value in the form of hash
240
+ def _to_hash(value)
241
+ if value.is_a?(Array)
242
+ value.compact.map { |v| _to_hash(v) }
243
+ elsif value.is_a?(Hash)
244
+ {}.tap do |hash|
245
+ value.each { |k, v| hash[k] = _to_hash(v) }
246
+ end
247
+ elsif value.respond_to? :to_hash
248
+ value.to_hash
249
+ else
250
+ value
251
+ end
252
+ end
253
+
254
+ end
255
+
256
+ end