zitadel-client 1.4.0 → 1.4.1
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.
- checksums.yaml +4 -4
- data/lib/patch.rb +2 -0
- data/lib/zitadel-client/api/feature_service_api.rb +551 -549
- data/lib/zitadel-client/api/identity_provider_service_api.rb +58 -56
- data/lib/zitadel-client/api/o_i_d_c_service_api.rb +208 -206
- data/lib/zitadel-client/api/organization_service_api.rb +102 -100
- data/lib/zitadel-client/api/s_a_m_l_service_api.rb +107 -105
- data/lib/zitadel-client/api/session_service_api.rb +260 -258
- data/lib/zitadel-client/api/settings_api.rb +93 -91
- data/lib/zitadel-client/api/settings_service_api.rb +436 -434
- data/lib/zitadel-client/api/user_service_api.rb +2296 -2294
- data/lib/zitadel-client/api_client.rb +1 -1
- data/lib/zitadel-client/auth/authenticator.rb +58 -56
- data/lib/zitadel-client/auth/client_credentials_authenticator.rb +49 -49
- data/lib/zitadel-client/auth/no_auth_authenticator.rb +22 -20
- data/lib/zitadel-client/auth/o_auth_authenticator.rb +78 -71
- data/lib/zitadel-client/auth/open_id.rb +35 -33
- data/lib/zitadel-client/auth/personal_access_token_authenticator.rb +24 -22
- data/lib/zitadel-client/auth/web_token_authenticator.rb +134 -132
- data/lib/zitadel-client/configuration.rb +1 -1
- data/lib/zitadel-client/models/feature_service_details.rb +116 -106
- data/lib/zitadel-client/models/feature_service_feature_flag.rb +116 -106
- data/lib/zitadel-client/models/feature_service_get_instance_features_response.rb +113 -103
- data/lib/zitadel-client/models/feature_service_get_organization_features_response.rb +117 -107
- data/lib/zitadel-client/models/feature_service_get_system_features_response.rb +113 -103
- data/lib/zitadel-client/models/feature_service_get_user_features_response.rb +117 -107
- data/lib/zitadel-client/models/feature_service_improved_performance.rb +3 -2
- data/lib/zitadel-client/models/feature_service_improved_performance_feature_flag.rb +113 -103
- data/lib/zitadel-client/models/feature_service_login_v2.rb +117 -107
- data/lib/zitadel-client/models/feature_service_login_v2_feature_flag.rb +113 -103
- data/lib/zitadel-client/models/feature_service_protobuf_any.rb +117 -107
- data/lib/zitadel-client/models/feature_service_reset_instance_features_response.rb +117 -107
- data/lib/zitadel-client/models/feature_service_reset_organization_features_response.rb +117 -107
- data/lib/zitadel-client/models/feature_service_reset_system_features_response.rb +117 -107
- data/lib/zitadel-client/models/feature_service_reset_user_features_response.rb +117 -107
- data/lib/zitadel-client/models/feature_service_rpc_status.rb +117 -107
- data/lib/zitadel-client/models/feature_service_set_instance_features_request.rb +113 -103
- data/lib/zitadel-client/models/feature_service_set_instance_features_response.rb +117 -107
- data/lib/zitadel-client/models/feature_service_set_organization_features_response.rb +117 -107
- data/lib/zitadel-client/models/feature_service_set_system_features_request.rb +113 -103
- data/lib/zitadel-client/models/feature_service_set_system_features_response.rb +117 -107
- data/lib/zitadel-client/models/feature_service_set_user_features_response.rb +117 -107
- data/lib/zitadel-client/models/feature_service_source.rb +3 -2
- data/lib/zitadel-client/models/identity_provider_service_apple_config.rb +116 -106
- data/lib/zitadel-client/models/identity_provider_service_auto_linking_option.rb +3 -2
- data/lib/zitadel-client/models/identity_provider_service_azure_a_d_config.rb +116 -106
- data/lib/zitadel-client/models/identity_provider_service_azure_a_d_tenant.rb +117 -107
- data/lib/zitadel-client/models/identity_provider_service_azure_a_d_tenant_type.rb +3 -2
- data/lib/zitadel-client/models/identity_provider_service_details.rb +116 -106
- data/lib/zitadel-client/models/identity_provider_service_generic_o_i_d_c_config.rb +116 -106
- data/lib/zitadel-client/models/identity_provider_service_get_i_d_p_by_i_d_response.rb +117 -107
- data/lib/zitadel-client/models/identity_provider_service_git_hub_config.rb +117 -107
- data/lib/zitadel-client/models/identity_provider_service_git_hub_enterprise_server_config.rb +113 -103
- data/lib/zitadel-client/models/identity_provider_service_git_lab_config.rb +117 -107
- data/lib/zitadel-client/models/identity_provider_service_git_lab_self_hosted_config.rb +117 -107
- data/lib/zitadel-client/models/identity_provider_service_google_config.rb +117 -107
- data/lib/zitadel-client/models/identity_provider_service_i_d_p.rb +113 -103
- data/lib/zitadel-client/models/identity_provider_service_i_d_p_config.rb +113 -103
- data/lib/zitadel-client/models/identity_provider_service_i_d_p_state.rb +3 -2
- data/lib/zitadel-client/models/identity_provider_service_i_d_p_type.rb +3 -2
- data/lib/zitadel-client/models/identity_provider_service_j_w_t_config.rb +116 -106
- data/lib/zitadel-client/models/identity_provider_service_l_d_a_p_attributes.rb +113 -103
- data/lib/zitadel-client/models/identity_provider_service_l_d_a_p_config.rb +113 -103
- data/lib/zitadel-client/models/identity_provider_service_o_auth_config.rb +113 -103
- data/lib/zitadel-client/models/identity_provider_service_options.rb +113 -103
- data/lib/zitadel-client/models/identity_provider_service_protobuf_any.rb +117 -107
- data/lib/zitadel-client/models/identity_provider_service_rpc_status.rb +117 -107
- data/lib/zitadel-client/models/identity_provider_service_s_a_m_l_binding.rb +3 -2
- data/lib/zitadel-client/models/identity_provider_service_s_a_m_l_config.rb +113 -103
- data/lib/zitadel-client/models/identity_provider_service_s_a_m_l_name_i_d_format.rb +3 -2
- data/lib/zitadel-client/models/o_i_d_c_service_auth_request.rb +113 -103
- data/lib/zitadel-client/models/o_i_d_c_service_authorization_error.rb +113 -103
- data/lib/zitadel-client/models/o_i_d_c_service_authorize_or_deny_device_authorization_request.rb +117 -107
- data/lib/zitadel-client/models/o_i_d_c_service_create_callback_request.rb +117 -107
- data/lib/zitadel-client/models/o_i_d_c_service_create_callback_response.rb +117 -107
- data/lib/zitadel-client/models/o_i_d_c_service_details.rb +116 -106
- data/lib/zitadel-client/models/o_i_d_c_service_device_authorization_request.rb +113 -103
- data/lib/zitadel-client/models/o_i_d_c_service_error_reason.rb +3 -2
- data/lib/zitadel-client/models/o_i_d_c_service_get_auth_request_response.rb +117 -107
- data/lib/zitadel-client/models/o_i_d_c_service_get_device_authorization_request_response.rb +117 -107
- data/lib/zitadel-client/models/o_i_d_c_service_prompt.rb +3 -2
- data/lib/zitadel-client/models/o_i_d_c_service_protobuf_any.rb +117 -107
- data/lib/zitadel-client/models/o_i_d_c_service_rpc_status.rb +117 -107
- data/lib/zitadel-client/models/o_i_d_c_service_session.rb +113 -103
- data/lib/zitadel-client/models/organization_service_add_human_user_request.rb +114 -104
- data/lib/zitadel-client/models/organization_service_add_organization_request.rb +113 -103
- data/lib/zitadel-client/models/organization_service_add_organization_request_admin.rb +117 -107
- data/lib/zitadel-client/models/organization_service_add_organization_response.rb +117 -107
- data/lib/zitadel-client/models/organization_service_add_organization_response_created_admin.rb +117 -107
- data/lib/zitadel-client/models/organization_service_details.rb +116 -106
- data/lib/zitadel-client/models/organization_service_gender.rb +3 -2
- data/lib/zitadel-client/models/organization_service_hashed_password.rb +113 -103
- data/lib/zitadel-client/models/organization_service_i_d_p_link.rb +113 -103
- data/lib/zitadel-client/models/organization_service_list_details.rb +117 -107
- data/lib/zitadel-client/models/organization_service_list_organizations_request.rb +113 -103
- data/lib/zitadel-client/models/organization_service_list_organizations_response.rb +113 -103
- data/lib/zitadel-client/models/organization_service_list_query.rb +117 -107
- data/lib/zitadel-client/models/organization_service_organization_domain_query.rb +113 -103
- data/lib/zitadel-client/models/organization_service_organization_field_name.rb +3 -2
- data/lib/zitadel-client/models/organization_service_organization_i_d_query.rb +113 -103
- data/lib/zitadel-client/models/organization_service_organization_name_query.rb +113 -103
- data/lib/zitadel-client/models/organization_service_organization_state.rb +3 -2
- data/lib/zitadel-client/models/organization_service_organization_state_query.rb +117 -107
- data/lib/zitadel-client/models/organization_service_password.rb +113 -103
- data/lib/zitadel-client/models/organization_service_protobuf_any.rb +117 -107
- data/lib/zitadel-client/models/organization_service_rpc_status.rb +117 -107
- data/lib/zitadel-client/models/organization_service_search_query.rb +113 -103
- data/lib/zitadel-client/models/organization_service_send_email_verification_code.rb +116 -106
- data/lib/zitadel-client/models/organization_service_set_human_email.rb +113 -103
- data/lib/zitadel-client/models/organization_service_set_human_phone.rb +113 -103
- data/lib/zitadel-client/models/organization_service_set_human_profile.rb +114 -104
- data/lib/zitadel-client/models/organization_service_set_metadata_entry.rb +113 -103
- data/lib/zitadel-client/models/organization_service_text_query_method.rb +3 -2
- data/lib/zitadel-client/models/s_a_m_l_service_authorization_error.rb +116 -106
- data/lib/zitadel-client/models/s_a_m_l_service_create_response_request.rb +117 -107
- data/lib/zitadel-client/models/s_a_m_l_service_create_response_response.rb +116 -106
- data/lib/zitadel-client/models/s_a_m_l_service_details.rb +116 -106
- data/lib/zitadel-client/models/s_a_m_l_service_error_reason.rb +3 -2
- data/lib/zitadel-client/models/s_a_m_l_service_get_s_a_m_l_request_response.rb +117 -107
- data/lib/zitadel-client/models/s_a_m_l_service_post_response.rb +117 -107
- data/lib/zitadel-client/models/s_a_m_l_service_protobuf_any.rb +117 -107
- data/lib/zitadel-client/models/s_a_m_l_service_rpc_status.rb +117 -107
- data/lib/zitadel-client/models/s_a_m_l_service_s_a_m_l_request.rb +113 -103
- data/lib/zitadel-client/models/s_a_m_l_service_session.rb +113 -103
- data/lib/zitadel-client/models/session_service_challenges.rb +117 -107
- data/lib/zitadel-client/models/session_service_challenges_web_auth_n.rb +117 -107
- data/lib/zitadel-client/models/session_service_check_i_d_p_intent.rb +113 -103
- data/lib/zitadel-client/models/session_service_check_o_t_p.rb +117 -107
- data/lib/zitadel-client/models/session_service_check_password.rb +116 -106
- data/lib/zitadel-client/models/session_service_check_t_o_t_p.rb +116 -106
- data/lib/zitadel-client/models/session_service_check_user.rb +113 -103
- data/lib/zitadel-client/models/session_service_check_web_auth_n.rb +117 -107
- data/lib/zitadel-client/models/session_service_checks.rb +113 -103
- data/lib/zitadel-client/models/session_service_create_session_request.rb +113 -103
- data/lib/zitadel-client/models/session_service_create_session_response.rb +116 -106
- data/lib/zitadel-client/models/session_service_creation_date_query.rb +116 -106
- data/lib/zitadel-client/models/session_service_creator_query.rb +117 -107
- data/lib/zitadel-client/models/session_service_delete_session_request.rb +117 -107
- data/lib/zitadel-client/models/session_service_delete_session_response.rb +117 -107
- data/lib/zitadel-client/models/session_service_details.rb +116 -106
- data/lib/zitadel-client/models/session_service_factors.rb +113 -103
- data/lib/zitadel-client/models/session_service_get_session_response.rb +117 -107
- data/lib/zitadel-client/models/session_service_i_ds_query.rb +117 -107
- data/lib/zitadel-client/models/session_service_intent_factor.rb +117 -107
- data/lib/zitadel-client/models/session_service_list_details.rb +117 -107
- data/lib/zitadel-client/models/session_service_list_query.rb +117 -107
- data/lib/zitadel-client/models/session_service_list_sessions_request.rb +113 -103
- data/lib/zitadel-client/models/session_service_list_sessions_response.rb +117 -107
- data/lib/zitadel-client/models/session_service_o_t_p_email_send_code.rb +116 -106
- data/lib/zitadel-client/models/session_service_o_t_p_factor.rb +117 -107
- data/lib/zitadel-client/models/session_service_password_factor.rb +117 -107
- data/lib/zitadel-client/models/session_service_protobuf_any.rb +117 -107
- data/lib/zitadel-client/models/session_service_request_challenges.rb +117 -107
- data/lib/zitadel-client/models/session_service_request_challenges_o_t_p_email.rb +117 -107
- data/lib/zitadel-client/models/session_service_request_challenges_o_t_p_s_m_s.rb +117 -107
- data/lib/zitadel-client/models/session_service_request_challenges_web_auth_n.rb +113 -103
- data/lib/zitadel-client/models/session_service_rpc_status.rb +117 -107
- data/lib/zitadel-client/models/session_service_search_query.rb +113 -103
- data/lib/zitadel-client/models/session_service_session.rb +113 -103
- data/lib/zitadel-client/models/session_service_session_field_name.rb +3 -2
- data/lib/zitadel-client/models/session_service_set_session_request.rb +113 -103
- data/lib/zitadel-client/models/session_service_set_session_response.rb +117 -107
- data/lib/zitadel-client/models/session_service_t_o_t_p_factor.rb +117 -107
- data/lib/zitadel-client/models/session_service_timestamp_query_method.rb +3 -2
- data/lib/zitadel-client/models/session_service_user_agent.rb +116 -106
- data/lib/zitadel-client/models/session_service_user_agent_header_values.rb +117 -107
- data/lib/zitadel-client/models/session_service_user_agent_query.rb +117 -107
- data/lib/zitadel-client/models/session_service_user_factor.rb +113 -103
- data/lib/zitadel-client/models/session_service_user_i_d_query.rb +117 -107
- data/lib/zitadel-client/models/session_service_user_verification_requirement.rb +3 -2
- data/lib/zitadel-client/models/session_service_web_auth_n_factor.rb +117 -107
- data/lib/zitadel-client/models/settings_service_auto_linking_option.rb +3 -2
- data/lib/zitadel-client/models/settings_service_branding_settings.rb +113 -103
- data/lib/zitadel-client/models/settings_service_details.rb +116 -106
- data/lib/zitadel-client/models/settings_service_domain_settings.rb +113 -103
- data/lib/zitadel-client/models/settings_service_embedded_iframe_settings.rb +117 -107
- data/lib/zitadel-client/models/settings_service_get_active_identity_providers_response.rb +117 -107
- data/lib/zitadel-client/models/settings_service_get_branding_settings_response.rb +117 -107
- data/lib/zitadel-client/models/settings_service_get_domain_settings_response.rb +117 -107
- data/lib/zitadel-client/models/settings_service_get_general_settings_response.rb +117 -107
- data/lib/zitadel-client/models/settings_service_get_legal_and_support_settings_response.rb +117 -107
- data/lib/zitadel-client/models/settings_service_get_lockout_settings_response.rb +117 -107
- data/lib/zitadel-client/models/settings_service_get_login_settings_response.rb +117 -107
- data/lib/zitadel-client/models/settings_service_get_password_complexity_settings_response.rb +117 -107
- data/lib/zitadel-client/models/settings_service_get_password_expiry_settings_response.rb +117 -107
- data/lib/zitadel-client/models/settings_service_get_security_settings_response.rb +117 -107
- data/lib/zitadel-client/models/settings_service_identity_provider.rb +113 -103
- data/lib/zitadel-client/models/settings_service_identity_provider_type.rb +3 -2
- data/lib/zitadel-client/models/settings_service_legal_and_support_settings.rb +113 -103
- data/lib/zitadel-client/models/settings_service_list_details.rb +117 -107
- data/lib/zitadel-client/models/settings_service_lockout_settings.rb +113 -103
- data/lib/zitadel-client/models/settings_service_login_settings.rb +113 -103
- data/lib/zitadel-client/models/settings_service_multi_factor_type.rb +3 -2
- data/lib/zitadel-client/models/settings_service_options.rb +113 -103
- data/lib/zitadel-client/models/settings_service_passkeys_type.rb +3 -2
- data/lib/zitadel-client/models/settings_service_password_complexity_settings.rb +113 -103
- data/lib/zitadel-client/models/settings_service_password_expiry_settings.rb +113 -103
- data/lib/zitadel-client/models/settings_service_protobuf_any.rb +117 -107
- data/lib/zitadel-client/models/settings_service_resource_owner_type.rb +3 -2
- data/lib/zitadel-client/models/settings_service_rpc_status.rb +117 -107
- data/lib/zitadel-client/models/settings_service_second_factor_type.rb +3 -2
- data/lib/zitadel-client/models/settings_service_security_settings.rb +117 -107
- data/lib/zitadel-client/models/settings_service_set_security_settings_request.rb +117 -107
- data/lib/zitadel-client/models/settings_service_set_security_settings_response.rb +117 -107
- data/lib/zitadel-client/models/settings_service_theme.rb +113 -103
- data/lib/zitadel-client/models/settings_service_theme_mode.rb +3 -2
- data/lib/zitadel-client/models/user_service_access_token_type.rb +3 -2
- data/lib/zitadel-client/models/user_service_add_human_user_request.rb +114 -104
- data/lib/zitadel-client/models/user_service_add_human_user_response.rb +116 -106
- data/lib/zitadel-client/models/user_service_add_i_d_p_link_request.rb +117 -107
- data/lib/zitadel-client/models/user_service_add_i_d_p_link_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_add_o_t_p_email_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_add_o_t_p_s_m_s_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_and_query.rb +117 -107
- data/lib/zitadel-client/models/user_service_auth_factor.rb +113 -103
- data/lib/zitadel-client/models/user_service_auth_factor_state.rb +3 -2
- data/lib/zitadel-client/models/user_service_auth_factor_u2_f.rb +117 -107
- data/lib/zitadel-client/models/user_service_authentication_method_type.rb +3 -2
- data/lib/zitadel-client/models/user_service_create_invite_code_request.rb +117 -107
- data/lib/zitadel-client/models/user_service_create_invite_code_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_create_passkey_registration_link_request.rb +117 -107
- data/lib/zitadel-client/models/user_service_create_passkey_registration_link_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_deactivate_user_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_delete_user_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_details.rb +116 -106
- data/lib/zitadel-client/models/user_service_display_name_query.rb +113 -103
- data/lib/zitadel-client/models/user_service_email_query.rb +113 -103
- data/lib/zitadel-client/models/user_service_first_name_query.rb +113 -103
- data/lib/zitadel-client/models/user_service_gender.rb +3 -2
- data/lib/zitadel-client/models/user_service_get_user_by_i_d_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_hashed_password.rb +113 -103
- data/lib/zitadel-client/models/user_service_human_email.rb +113 -103
- data/lib/zitadel-client/models/user_service_human_m_f_a_init_skipped_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_human_phone.rb +116 -106
- data/lib/zitadel-client/models/user_service_human_profile.rb +114 -104
- data/lib/zitadel-client/models/user_service_human_user.rb +113 -103
- data/lib/zitadel-client/models/user_service_i_d_p_information.rb +113 -103
- data/lib/zitadel-client/models/user_service_i_d_p_intent.rb +113 -103
- data/lib/zitadel-client/models/user_service_i_d_p_l_d_a_p_access_information.rb +117 -107
- data/lib/zitadel-client/models/user_service_i_d_p_link.rb +113 -103
- data/lib/zitadel-client/models/user_service_i_d_p_o_auth_access_information.rb +117 -107
- data/lib/zitadel-client/models/user_service_i_d_p_s_a_m_l_access_information.rb +117 -107
- data/lib/zitadel-client/models/user_service_in_user_emails_query.rb +117 -107
- data/lib/zitadel-client/models/user_service_in_user_i_d_query.rb +117 -107
- data/lib/zitadel-client/models/user_service_l_d_a_p_credentials.rb +113 -103
- data/lib/zitadel-client/models/user_service_last_name_query.rb +113 -103
- data/lib/zitadel-client/models/user_service_list_authentication_factors_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_list_authentication_method_types_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_list_details.rb +117 -107
- data/lib/zitadel-client/models/user_service_list_i_d_p_links_request.rb +117 -107
- data/lib/zitadel-client/models/user_service_list_i_d_p_links_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_list_passkeys_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_list_query.rb +117 -107
- data/lib/zitadel-client/models/user_service_list_users_request.rb +113 -103
- data/lib/zitadel-client/models/user_service_list_users_response.rb +113 -103
- data/lib/zitadel-client/models/user_service_lock_user_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_login_name_query.rb +113 -103
- data/lib/zitadel-client/models/user_service_machine_user.rb +113 -103
- data/lib/zitadel-client/models/user_service_nick_name_query.rb +113 -103
- data/lib/zitadel-client/models/user_service_not_query.rb +117 -107
- data/lib/zitadel-client/models/user_service_notification_type.rb +3 -2
- data/lib/zitadel-client/models/user_service_or_query.rb +117 -107
- data/lib/zitadel-client/models/user_service_organization.rb +117 -107
- data/lib/zitadel-client/models/user_service_organization_id_query.rb +113 -103
- data/lib/zitadel-client/models/user_service_passkey.rb +113 -103
- data/lib/zitadel-client/models/user_service_passkey_authenticator.rb +3 -2
- data/lib/zitadel-client/models/user_service_passkey_registration_code.rb +113 -103
- data/lib/zitadel-client/models/user_service_password.rb +113 -103
- data/lib/zitadel-client/models/user_service_password_reset_request.rb +117 -107
- data/lib/zitadel-client/models/user_service_password_reset_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_phone_query.rb +113 -103
- data/lib/zitadel-client/models/user_service_protobuf_any.rb +117 -107
- data/lib/zitadel-client/models/user_service_reactivate_user_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_redirect_u_r_ls.rb +113 -103
- data/lib/zitadel-client/models/user_service_register_passkey_request.rb +113 -103
- data/lib/zitadel-client/models/user_service_register_passkey_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_register_t_o_t_p_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_register_u2_f_request.rb +117 -107
- data/lib/zitadel-client/models/user_service_register_u2_f_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_remove_i_d_p_link_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_remove_o_t_p_email_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_remove_o_t_p_s_m_s_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_remove_passkey_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_remove_phone_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_remove_t_o_t_p_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_remove_u2_f_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_resend_email_code_request.rb +117 -107
- data/lib/zitadel-client/models/user_service_resend_email_code_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_resend_invite_code_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_resend_phone_code_request.rb +117 -107
- data/lib/zitadel-client/models/user_service_resend_phone_code_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_retrieve_identity_provider_intent_request.rb +116 -106
- data/lib/zitadel-client/models/user_service_retrieve_identity_provider_intent_response.rb +116 -106
- data/lib/zitadel-client/models/user_service_rpc_status.rb +117 -107
- data/lib/zitadel-client/models/user_service_search_query.rb +113 -103
- data/lib/zitadel-client/models/user_service_send_email_code_request.rb +117 -107
- data/lib/zitadel-client/models/user_service_send_email_code_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_send_email_verification_code.rb +116 -106
- data/lib/zitadel-client/models/user_service_send_invite_code.rb +113 -103
- data/lib/zitadel-client/models/user_service_send_passkey_registration_link.rb +116 -106
- data/lib/zitadel-client/models/user_service_send_password_reset_link.rb +113 -103
- data/lib/zitadel-client/models/user_service_set_email_request.rb +113 -103
- data/lib/zitadel-client/models/user_service_set_email_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_set_human_email.rb +113 -103
- data/lib/zitadel-client/models/user_service_set_human_phone.rb +113 -103
- data/lib/zitadel-client/models/user_service_set_human_profile.rb +114 -104
- data/lib/zitadel-client/models/user_service_set_metadata_entry.rb +113 -103
- data/lib/zitadel-client/models/user_service_set_password.rb +113 -103
- data/lib/zitadel-client/models/user_service_set_password_request.rb +113 -103
- data/lib/zitadel-client/models/user_service_set_password_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_set_phone_request.rb +113 -103
- data/lib/zitadel-client/models/user_service_set_phone_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_start_identity_provider_intent_request.rb +113 -103
- data/lib/zitadel-client/models/user_service_start_identity_provider_intent_response.rb +116 -106
- data/lib/zitadel-client/models/user_service_state_query.rb +113 -103
- data/lib/zitadel-client/models/user_service_text_query_method.rb +3 -2
- data/lib/zitadel-client/models/user_service_type.rb +3 -2
- data/lib/zitadel-client/models/user_service_type_query.rb +113 -103
- data/lib/zitadel-client/models/user_service_unlock_user_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_update_human_user_request.rb +113 -103
- data/lib/zitadel-client/models/user_service_update_human_user_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_user.rb +113 -103
- data/lib/zitadel-client/models/user_service_user_field_name.rb +3 -2
- data/lib/zitadel-client/models/user_service_user_name_query.rb +113 -103
- data/lib/zitadel-client/models/user_service_user_state.rb +3 -2
- data/lib/zitadel-client/models/user_service_verify_email_request.rb +113 -103
- data/lib/zitadel-client/models/user_service_verify_email_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_verify_invite_code_request.rb +113 -103
- data/lib/zitadel-client/models/user_service_verify_invite_code_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_verify_passkey_registration_request.rb +113 -103
- data/lib/zitadel-client/models/user_service_verify_passkey_registration_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_verify_phone_request.rb +113 -103
- data/lib/zitadel-client/models/user_service_verify_phone_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_verify_t_o_t_p_registration_request.rb +117 -107
- data/lib/zitadel-client/models/user_service_verify_t_o_t_p_registration_response.rb +117 -107
- data/lib/zitadel-client/models/user_service_verify_u2_f_registration_request.rb +113 -103
- data/lib/zitadel-client/models/user_service_verify_u2_f_registration_response.rb +117 -107
- data/lib/zitadel-client/models/zitadelobjectv2_organization.rb +117 -107
- data/lib/zitadel-client/models/zitadelorgv2_organization.rb +113 -103
- data/lib/zitadel-client/utils/url_util.rb +15 -13
- data/lib/zitadel-client/version.rb +1 -1
- data/lib/zitadel-client/zitadel.rb +11 -11
- data/lib/zitadel_client.rb +0 -5
- data/sig/lib/oauth2/oauth2.rbs +3 -0
- data/sig/lib.rbs +113 -106
- metadata +2 -2
@@ -4,155 +4,157 @@ require 'time'
|
|
4
4
|
require 'openssl'
|
5
5
|
|
6
6
|
module ZitadelClient
|
7
|
-
|
8
|
-
# WebTokenAuthenticator
|
9
|
-
# -----------------------------------------------------------------------------
|
10
|
-
|
11
|
-
# OAuth authenticator implementing the JWT bearer flow.
|
12
|
-
#
|
13
|
-
# This implementation builds a JWT assertion dynamically in get_grant().
|
14
|
-
class WebTokenAuthenticator < ZitadelClient::OAuthAuthenticator
|
15
|
-
# Constructs a WebTokenAuthenticator.
|
16
|
-
#
|
17
|
-
# @param open_id [OpenId] The OpenId instance with OAuth endpoint information.
|
18
|
-
# @param auth_scopes [Set<String>] The scope(s) for the token request.
|
19
|
-
# @param jwt_issuer [String] The JWT issuer.
|
20
|
-
# @param jwt_subject [String] The JWT subject.
|
21
|
-
# @param jwt_audience [String] The JWT audience.
|
22
|
-
# @param private_key [String] The private key used to sign the JWT.
|
23
|
-
# @param jwt_lifetime [Integer] Lifetime of the JWT in seconds (default 3600 seconds).
|
24
|
-
# @param jwt_algorithm [String] The JWT signing algorithm (default "RS256").
|
25
|
-
# @param key_id [String, nil] Optional key identifier for the JWT header (default: nil).
|
26
|
-
# rubocop:disable Metrics/ParameterLists,Metrics/MethodLength
|
27
|
-
def initialize(open_id, auth_scopes, jwt_issuer, jwt_subject, jwt_audience, private_key,
|
28
|
-
jwt_lifetime: 3600, jwt_algorithm: 'RS256', key_id: nil)
|
29
|
-
# noinspection RubyArgCount,RubyMismatchedArgumentType
|
30
|
-
super(open_id, auth_scopes, OAuth2::Client.new('zitadel', 'zitadel', {
|
31
|
-
site: open_id.host_endpoint,
|
32
|
-
token_url: open_id.token_endpoint
|
33
|
-
}))
|
34
|
-
@jwt_issuer = jwt_issuer
|
35
|
-
@jwt_subject = jwt_subject
|
36
|
-
@jwt_audience = jwt_audience
|
37
|
-
@private_key = private_key
|
38
|
-
@jwt_lifetime = jwt_lifetime
|
39
|
-
@jwt_algorithm = jwt_algorithm
|
40
|
-
@key_id = key_id
|
41
|
-
end
|
42
|
-
|
43
|
-
# rubocop:enable Metrics/ParameterLists,Metrics/MethodLength
|
44
|
-
|
45
|
-
# Creates a WebTokenAuthenticator instance from a JSON configuration file.
|
46
|
-
#
|
47
|
-
# The JSON file must be formatted as follows:
|
48
|
-
#
|
49
|
-
# {
|
50
|
-
# "type": "serviceaccount",
|
51
|
-
# "keyId": "<key-id>",
|
52
|
-
# "key": "<private-key>",
|
53
|
-
# "userId": "<user-id>"
|
54
|
-
# }
|
55
|
-
#
|
56
|
-
# @param host [String] Base URL for the API endpoints.
|
57
|
-
# @param json_path [String] File path to the JSON configuration file.
|
58
|
-
# @return [WebTokenAuthenticator] A new instance of WebTokenAuthenticator.
|
59
|
-
# @raise [RuntimeError] If the file cannot be read, the JSON is invalid, or required keys are missing.
|
60
|
-
def self.from_json(host, json_path)
|
61
|
-
config = JSON.parse(File.read(json_path))
|
62
|
-
rescue Errno::ENOENT => e
|
63
|
-
raise "Unable to read JSON file at #{json_path}: #{e.message}"
|
64
|
-
rescue JSON::ParserError => e
|
65
|
-
raise "Invalid JSON in file at #{json_path}: #{e.message}"
|
66
|
-
else
|
67
|
-
raise "Expected a JSON object, got #{config.class}" unless config.is_a?(Hash)
|
68
|
-
|
69
|
-
user_id, private_key, key_id = config.values_at('userId', 'key', 'keyId')
|
70
|
-
raise "Missing required keys 'userId', 'keyId' or 'key'" unless user_id && key_id && private_key
|
71
|
-
|
72
|
-
WebTokenAuthenticator.builder(host, user_id, private_key).key_identifier(key_id).build
|
73
|
-
end
|
74
|
-
|
75
|
-
# Returns a builder for constructing a WebTokenAuthenticator.
|
76
|
-
#
|
77
|
-
# @param host [String] The base URL for the OAuth provider.
|
78
|
-
# @param user_id [String] The user identifier (used as both the issuer and subject).
|
79
|
-
# @param private_key [String] The private key used to sign the JWT.
|
80
|
-
# @return [WebTokenAuthenticatorBuilder] A builder instance.
|
81
|
-
def self.builder(host, user_id, private_key)
|
82
|
-
WebTokenAuthenticatorBuilder.new(host, user_id, user_id, host, private_key)
|
83
|
-
end
|
84
|
-
|
85
|
-
protected
|
86
|
-
|
87
|
-
# Overrides the base get_grant to return client credentials grant parameters.
|
88
|
-
#
|
89
|
-
# @return [OAuth2::AccessToken] A hash containing the grant type.
|
90
|
-
# rubocop:disable Metrics/MethodLength
|
91
|
-
def get_grant(client, auth_scopes)
|
92
|
-
client.assertion.get_token(
|
93
|
-
{ iss: @jwt_issuer,
|
94
|
-
sub: @jwt_subject,
|
95
|
-
aud: @jwt_audience,
|
96
|
-
iat: Time.now.utc.to_i,
|
97
|
-
exp: (Time.now.utc + @jwt_lifetime).to_i },
|
98
|
-
{
|
99
|
-
algorithm: @jwt_algorithm,
|
100
|
-
key: OpenSSL::PKey::RSA.new(@private_key),
|
101
|
-
kid: @key_id
|
102
|
-
},
|
103
|
-
{
|
104
|
-
scope: auth_scopes
|
105
|
-
}
|
106
|
-
)
|
107
|
-
end
|
108
|
-
|
109
|
-
# rubocop:enable Metrics/MethodLength
|
110
|
-
|
7
|
+
module Auth
|
111
8
|
# -----------------------------------------------------------------------------
|
112
|
-
#
|
9
|
+
# WebTokenAuthenticator
|
113
10
|
# -----------------------------------------------------------------------------
|
114
11
|
|
115
|
-
#
|
12
|
+
# OAuth authenticator implementing the JWT bearer flow.
|
116
13
|
#
|
117
|
-
#
|
118
|
-
class
|
119
|
-
#
|
14
|
+
# This implementation builds a JWT assertion dynamically in get_grant().
|
15
|
+
class WebTokenAuthenticator < ZitadelClient::Auth::OAuthAuthenticator
|
16
|
+
# Constructs a WebTokenAuthenticator.
|
120
17
|
#
|
121
|
-
# @param
|
122
|
-
# @param
|
123
|
-
# @param
|
124
|
-
# @param
|
125
|
-
# @param
|
126
|
-
|
127
|
-
|
128
|
-
|
18
|
+
# @param open_id [OpenId] The OpenId instance with OAuth endpoint information.
|
19
|
+
# @param auth_scopes [Set<String>] The scope(s) for the token request.
|
20
|
+
# @param jwt_issuer [String] The JWT issuer.
|
21
|
+
# @param jwt_subject [String] The JWT subject.
|
22
|
+
# @param jwt_audience [String] The JWT audience.
|
23
|
+
# @param private_key [String] The private key used to sign the JWT.
|
24
|
+
# @param jwt_lifetime [Integer] Lifetime of the JWT in seconds (default 3600 seconds).
|
25
|
+
# @param jwt_algorithm [String] The JWT signing algorithm (default "RS256").
|
26
|
+
# @param key_id [String, nil] Optional key identifier for the JWT header (default: nil).
|
27
|
+
# rubocop:disable Metrics/ParameterLists,Metrics/MethodLength
|
28
|
+
def initialize(open_id, auth_scopes, jwt_issuer, jwt_subject, jwt_audience, private_key,
|
29
|
+
jwt_lifetime: 3600, jwt_algorithm: 'RS256', key_id: nil)
|
30
|
+
# noinspection RubyArgCount,RubyMismatchedArgumentType
|
31
|
+
super(open_id, auth_scopes, OAuth2::Client.new('zitadel', 'zitadel', {
|
32
|
+
site: open_id.host_endpoint,
|
33
|
+
token_url: open_id.token_endpoint
|
34
|
+
}))
|
129
35
|
@jwt_issuer = jwt_issuer
|
130
36
|
@jwt_subject = jwt_subject
|
131
37
|
@jwt_audience = jwt_audience
|
132
38
|
@private_key = private_key
|
133
|
-
@jwt_lifetime =
|
39
|
+
@jwt_lifetime = jwt_lifetime
|
40
|
+
@jwt_algorithm = jwt_algorithm
|
41
|
+
@key_id = key_id
|
134
42
|
end
|
135
43
|
|
136
|
-
#
|
44
|
+
# rubocop:enable Metrics/ParameterLists,Metrics/MethodLength
|
45
|
+
|
46
|
+
# Creates a WebTokenAuthenticator instance from a JSON configuration file.
|
137
47
|
#
|
138
|
-
#
|
139
|
-
#
|
140
|
-
|
141
|
-
|
142
|
-
|
48
|
+
# The JSON file must be formatted as follows:
|
49
|
+
#
|
50
|
+
# {
|
51
|
+
# "type": "serviceaccount",
|
52
|
+
# "keyId": "<key-id>",
|
53
|
+
# "key": "<private-key>",
|
54
|
+
# "userId": "<user-id>"
|
55
|
+
# }
|
56
|
+
#
|
57
|
+
# @param host [String] Base URL for the API endpoints.
|
58
|
+
# @param json_path [String] File path to the JSON configuration file.
|
59
|
+
# @return [WebTokenAuthenticator] A new instance of WebTokenAuthenticator.
|
60
|
+
# @raise [RuntimeError] If the file cannot be read, the JSON is invalid, or required keys are missing.
|
61
|
+
def self.from_json(host, json_path)
|
62
|
+
config = JSON.parse(File.read(json_path))
|
63
|
+
rescue Errno::ENOENT => e
|
64
|
+
raise "Unable to read JSON file at #{json_path}: #{e.message}"
|
65
|
+
rescue JSON::ParserError => e
|
66
|
+
raise "Invalid JSON in file at #{json_path}: #{e.message}"
|
67
|
+
else
|
68
|
+
raise "Expected a JSON object, got #{config.class}" unless config.is_a?(Hash)
|
69
|
+
|
70
|
+
user_id, private_key, key_id = config.values_at('userId', 'key', 'keyId')
|
71
|
+
raise "Missing required keys 'userId', 'keyId' or 'key'" unless user_id && key_id && private_key
|
72
|
+
|
73
|
+
WebTokenAuthenticator.builder(host, user_id, private_key).key_identifier(key_id).build
|
143
74
|
end
|
144
75
|
|
145
|
-
|
146
|
-
|
147
|
-
|
76
|
+
# Returns a builder for constructing a WebTokenAuthenticator.
|
77
|
+
#
|
78
|
+
# @param host [String] The base URL for the OAuth provider.
|
79
|
+
# @param user_id [String] The user identifier (used as both the issuer and subject).
|
80
|
+
# @param private_key [String] The private key used to sign the JWT.
|
81
|
+
# @return [WebTokenAuthenticatorBuilder] A builder instance.
|
82
|
+
def self.builder(host, user_id, private_key)
|
83
|
+
WebTokenAuthenticatorBuilder.new(host, user_id, user_id, host, private_key)
|
148
84
|
end
|
149
85
|
|
150
|
-
|
86
|
+
protected
|
87
|
+
|
88
|
+
# Overrides the base get_grant to return client credentials grant parameters.
|
89
|
+
#
|
90
|
+
# @return [OAuth2::AccessToken] A hash containing the grant type.
|
91
|
+
# rubocop:disable Metrics/MethodLength
|
92
|
+
def get_grant(client, auth_scopes)
|
93
|
+
client.assertion.get_token(
|
94
|
+
{ iss: @jwt_issuer,
|
95
|
+
sub: @jwt_subject,
|
96
|
+
aud: @jwt_audience,
|
97
|
+
iat: Time.now.utc.to_i,
|
98
|
+
exp: (Time.now.utc + @jwt_lifetime).to_i },
|
99
|
+
{
|
100
|
+
algorithm: @jwt_algorithm,
|
101
|
+
key: OpenSSL::PKey::RSA.new(@private_key),
|
102
|
+
kid: @key_id
|
103
|
+
},
|
104
|
+
{
|
105
|
+
scope: auth_scopes
|
106
|
+
}
|
107
|
+
)
|
108
|
+
end
|
109
|
+
|
110
|
+
# rubocop:enable Metrics/MethodLength
|
111
|
+
|
112
|
+
# -----------------------------------------------------------------------------
|
113
|
+
# WebTokenAuthenticatorBuilder
|
114
|
+
# -----------------------------------------------------------------------------
|
115
|
+
|
116
|
+
# Builder for WebTokenAuthenticator.
|
151
117
|
#
|
152
|
-
#
|
153
|
-
|
154
|
-
|
155
|
-
|
118
|
+
# Provides a fluent API for configuring and constructing a WebTokenAuthenticator instance.
|
119
|
+
class WebTokenAuthenticatorBuilder < OAuthAuthenticatorBuilder
|
120
|
+
# Initializes the WebTokenAuthenticatorBuilder with required parameters.
|
121
|
+
#
|
122
|
+
# @param host [String] The base URL for API endpoints.
|
123
|
+
# @param jwt_issuer [String] The issuer claim for the JWT.
|
124
|
+
# @param jwt_subject [String] The subject claim for the JWT.
|
125
|
+
# @param jwt_audience [String] The audience claim for the JWT.
|
126
|
+
# @param private_key [String] The PEM-formatted private key used for signing the JWT.
|
127
|
+
def initialize(host, jwt_issuer, jwt_subject, jwt_audience, private_key)
|
128
|
+
# noinspection RubyArgCount
|
129
|
+
super(host)
|
130
|
+
@jwt_issuer = jwt_issuer
|
131
|
+
@jwt_subject = jwt_subject
|
132
|
+
@jwt_audience = jwt_audience
|
133
|
+
@private_key = private_key
|
134
|
+
@jwt_lifetime = 3600
|
135
|
+
end
|
136
|
+
|
137
|
+
# Sets the JWT token lifetime in seconds.
|
138
|
+
#
|
139
|
+
# @param seconds [Integer] Lifetime of the JWT in seconds.
|
140
|
+
# @return [WebTokenAuthenticatorBuilder] The builder instance.
|
141
|
+
def token_lifetime_seconds(seconds)
|
142
|
+
@jwt_lifetime = seconds
|
143
|
+
self
|
144
|
+
end
|
145
|
+
|
146
|
+
def key_identifier(key_id)
|
147
|
+
@key_id = key_id
|
148
|
+
self
|
149
|
+
end
|
150
|
+
|
151
|
+
# Constructs and returns a new WebTokenAuthenticator instance using the configured parameters.
|
152
|
+
#
|
153
|
+
# @return [WebTokenAuthenticator] A configured instance.
|
154
|
+
def build
|
155
|
+
WebTokenAuthenticator.new(open_id, auth_scopes, @jwt_issuer, @jwt_subject, @jwt_audience,
|
156
|
+
@private_key, jwt_lifetime: @jwt_lifetime, key_id: @key_id)
|
157
|
+
end
|
156
158
|
end
|
157
159
|
end
|
158
160
|
end
|
@@ -149,7 +149,7 @@ module ZitadelClient
|
|
149
149
|
attr_accessor :user_agent
|
150
150
|
|
151
151
|
# rubocop:disable Metrics/MethodLength
|
152
|
-
def initialize(authenticator = NoAuthAuthenticator.new)
|
152
|
+
def initialize(authenticator = Auth::NoAuthAuthenticator.new)
|
153
153
|
@authenticator = authenticator
|
154
154
|
@client_side_validation = true
|
155
155
|
@verify_ssl = true
|
@@ -13,7 +13,7 @@ Generator version: 7.12.0
|
|
13
13
|
require 'date'
|
14
14
|
require 'time'
|
15
15
|
|
16
|
-
module ZitadelClient
|
16
|
+
module ZitadelClient::Models
|
17
17
|
class FeatureServiceDetails
|
18
18
|
# on read: the sequence of the last event reduced by the projection on manipulation: the timestamp of the event(s) added by the manipulation
|
19
19
|
attr_accessor :sequence
|
@@ -62,17 +62,19 @@ module ZitadelClient
|
|
62
62
|
end
|
63
63
|
|
64
64
|
# Initializes the object
|
65
|
-
# @param [Hash] attributes
|
65
|
+
# @param [Hash] attributes Models attributes in the form of hash
|
66
66
|
def initialize(attributes = {})
|
67
67
|
if (!attributes.is_a?(Hash))
|
68
|
-
|
68
|
+
# MODIFIED: Updated class name in error message
|
69
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `ZitadelClient::Models::FeatureServiceDetails` initialize method"
|
69
70
|
end
|
70
71
|
|
71
72
|
# check to see if the attribute exists and convert string to symbol for hash key
|
72
73
|
acceptable_attribute_map = self.class.acceptable_attribute_map
|
73
74
|
attributes = attributes.each_with_object({}) { |(k, v), h|
|
74
75
|
if (!acceptable_attribute_map.key?(k.to_sym))
|
75
|
-
|
76
|
+
# MODIFIED: Updated class name in error message
|
77
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `ZitadelClient::Models::FeatureServiceDetails`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
76
78
|
end
|
77
79
|
h[k.to_sym] = v
|
78
80
|
}
|
@@ -132,117 +134,125 @@ module ZitadelClient
|
|
132
134
|
[sequence, change_date, resource_owner, creation_date].hash
|
133
135
|
end
|
134
136
|
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
end
|
151
|
-
elsif !attributes[attribute_map[key]].nil?
|
152
|
-
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
153
|
-
end
|
154
|
-
end
|
155
|
-
new(transformed_hash)
|
156
|
-
end
|
157
|
-
|
158
|
-
# Deserializes the data based on type
|
159
|
-
# @param string type Data type
|
160
|
-
# @param string value Value to be deserialized
|
161
|
-
# @return [Object] Deserialized data
|
162
|
-
def self._deserialize(type, value)
|
163
|
-
case type.to_sym
|
164
|
-
when :Time
|
165
|
-
Time.parse(value)
|
166
|
-
when :Date
|
167
|
-
Date.parse(value)
|
168
|
-
when :String
|
169
|
-
value.to_s
|
170
|
-
when :Integer
|
171
|
-
value.to_i
|
172
|
-
when :Float
|
173
|
-
value.to_f
|
174
|
-
when :Boolean
|
175
|
-
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
176
|
-
true
|
177
|
-
else
|
178
|
-
false
|
179
|
-
end
|
180
|
-
when :Object
|
181
|
-
# generic object (usually a Hash), return directly
|
182
|
-
value
|
183
|
-
when /\AArray<(?<inner_type>.+)>\z/
|
184
|
-
inner_type = Regexp.last_match[:inner_type]
|
185
|
-
value.map { |v| _deserialize(inner_type, v) }
|
186
|
-
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
187
|
-
k_type = Regexp.last_match[:k_type]
|
188
|
-
v_type = Regexp.last_match[:v_type]
|
189
|
-
{}.tap do |hash|
|
190
|
-
value.each do |k, v|
|
191
|
-
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
192
|
-
end
|
193
|
-
end
|
194
|
-
else # model
|
195
|
-
# models (e.g. Pet) or oneOf
|
196
|
-
klass = ZitadelClient.const_get(type)
|
197
|
-
klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
|
137
|
+
# Builds the object from hash
|
138
|
+
# @param [Hash] attributes Models attributes in the form of hash
|
139
|
+
# @return [Object] Returns the model itself
|
140
|
+
def self.build_from_hash(attributes)
|
141
|
+
return nil unless attributes.is_a?(Hash)
|
142
|
+
attributes = attributes.transform_keys(&:to_sym)
|
143
|
+
transformed_hash = {}
|
144
|
+
openapi_types.each_pair do |key, type|
|
145
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
146
|
+
transformed_hash["#{key}"] = nil
|
147
|
+
elsif type =~ /\AArray<(.*)>/i
|
148
|
+
# check to ensure the input is an array given that the attribute
|
149
|
+
# is documented as an array but the input is not
|
150
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
151
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
198
152
|
end
|
153
|
+
elsif !attributes[attribute_map[key]].nil?
|
154
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
199
155
|
end
|
156
|
+
end
|
157
|
+
new(transformed_hash) # `new` will call the initialize method of the specific model class.
|
158
|
+
end
|
200
159
|
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
160
|
+
# Deserializes the data based on type
|
161
|
+
# @param string type Data type
|
162
|
+
# @param string value Value to be deserialized
|
163
|
+
# @return [Object] Deserialized data
|
164
|
+
def self._deserialize(type, value)
|
165
|
+
case type.to_sym
|
166
|
+
when :Time
|
167
|
+
Time.parse(value)
|
168
|
+
when :Date
|
169
|
+
Date.parse(value)
|
170
|
+
when :String
|
171
|
+
value.to_s
|
172
|
+
when :Integer
|
173
|
+
value.to_i
|
174
|
+
when :Float
|
175
|
+
value.to_f
|
176
|
+
when :Boolean
|
177
|
+
if value.to_s =~ /\A(true|t|yes|y|1)\z/i
|
178
|
+
true
|
179
|
+
else
|
180
|
+
false
|
181
|
+
end
|
182
|
+
when :Object
|
183
|
+
# generic object (usually a Hash), return directly
|
184
|
+
value
|
185
|
+
when /\AArray<(?<inner_type>.+)>\z/
|
186
|
+
inner_type = Regexp.last_match[:inner_type]
|
187
|
+
value.map { |v| _deserialize(inner_type, v) }
|
188
|
+
when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
|
189
|
+
k_type = Regexp.last_match[:k_type]
|
190
|
+
v_type = Regexp.last_match[:v_type]
|
191
|
+
{}.tap do |hash|
|
192
|
+
value.each do |k, v|
|
193
|
+
hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
|
194
|
+
end
|
205
195
|
end
|
196
|
+
else # model
|
197
|
+
# models (e.g. Pet) or oneOf/anyOf constructs that resolve to a model name
|
198
|
+
# MODIFIED: Ensure model is looked up in the Models namespace
|
199
|
+
# 'type' here is expected to be the simple class name (e.g., "User", "OrderDetails")
|
200
|
+
klass = ZitadelClient::Models.const_get(type)
|
201
|
+
# The `klass.build` method is for oneOf/anyOf types (defined in partial_oneof_module.mustache / partial_anyof_module.mustache)
|
202
|
+
# The `klass.build_from_hash` is for regular model types (defined in this base_object.mustache itself)
|
203
|
+
if klass.respond_to?(:openapi_one_of) || klass.respond_to?(:openapi_any_of) || klass.respond_to?(:openapi_allOf)
|
204
|
+
klass.build(value) # For oneOf/anyOf/allOf, delegate to their specific build method
|
205
|
+
else
|
206
|
+
klass.build_from_hash(value) # For regular models
|
207
|
+
end
|
208
|
+
end
|
209
|
+
end
|
206
210
|
|
207
|
-
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
+
# Returns the string representation of the object
|
212
|
+
# @return [String] String presentation of the object
|
213
|
+
def to_s
|
214
|
+
to_hash.to_s
|
215
|
+
end
|
216
|
+
|
217
|
+
# to_body is an alias to to_hash (backward compatibility)
|
218
|
+
# @return [Hash] Returns the object in the form of hash
|
219
|
+
def to_body
|
220
|
+
to_hash
|
221
|
+
end
|
222
|
+
|
223
|
+
# Returns the object in the form of hash
|
224
|
+
# @return [Hash] Returns the object in the form of hash
|
225
|
+
def to_hash
|
226
|
+
hash = {} # Calls super.to_hash if parent exists
|
227
|
+
self.class.attribute_map.each_pair do |attr, param|
|
228
|
+
value = self.send(attr)
|
229
|
+
if value.nil?
|
230
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
231
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
211
232
|
end
|
212
233
|
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
217
|
-
self.class.attribute_map.each_pair do |attr, param|
|
218
|
-
value = self.send(attr)
|
219
|
-
if value.nil?
|
220
|
-
is_nullable = self.class.openapi_nullable.include?(attr)
|
221
|
-
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
222
|
-
end
|
234
|
+
hash[param] = _to_hash(value)
|
235
|
+
end
|
236
|
+
hash
|
237
|
+
end
|
223
238
|
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
if value.is_a?(Array)
|
235
|
-
value.compact.map { |v| _to_hash(v) }
|
236
|
-
elsif value.is_a?(Hash)
|
237
|
-
{}.tap do |hash|
|
238
|
-
value.each { |k, v| hash[k] = _to_hash(v) }
|
239
|
-
end
|
240
|
-
elsif value.respond_to? :to_hash
|
241
|
-
value.to_hash
|
242
|
-
else
|
243
|
-
value
|
244
|
-
end
|
239
|
+
# Outputs non-array value in the form of hash
|
240
|
+
# For object, use to_hash. Otherwise, just return the value
|
241
|
+
# @param [Object] value Any valid value
|
242
|
+
# @return [Hash] Returns the value in the form of hash
|
243
|
+
def _to_hash(value)
|
244
|
+
if value.is_a?(Array)
|
245
|
+
value.compact.map { |v| _to_hash(v) }
|
246
|
+
elsif value.is_a?(Hash)
|
247
|
+
{}.tap do |hash|
|
248
|
+
value.each { |k, v| hash[k] = _to_hash(v) }
|
245
249
|
end
|
250
|
+
elsif value.respond_to? :to_hash
|
251
|
+
value.to_hash
|
252
|
+
else
|
253
|
+
value
|
254
|
+
end
|
255
|
+
end
|
246
256
|
|
247
257
|
end
|
248
258
|
|