authentik-api 2026.2.2 → 2026.5.0.rc1
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/README.md +3 -3
- data/README_API.md +67 -15
- data/lib/authentik/api/api/admin_api.rb +5 -13
- data/lib/authentik/api/api/authenticators_api.rb +60 -60
- data/lib/authentik/api/api/core_api.rb +188 -63
- data/lib/authentik/api/api/crypto_api.rb +9 -13
- data/lib/authentik/api/api/endpoints_api.rb +1600 -679
- data/lib/authentik/api/api/enterprise_api.rb +5 -5
- data/lib/authentik/api/api/events_api.rb +141 -58
- data/lib/authentik/api/api/flows_api.rb +24 -106
- data/lib/authentik/api/api/lifecycle_api.rb +27 -18
- data/lib/authentik/api/api/managed_api.rb +79 -6
- data/lib/authentik/api/api/oauth2_api.rb +9 -9
- data/lib/authentik/api/api/outposts_api.rb +22 -22
- data/lib/authentik/api/api/policies_api.rb +57 -58
- data/lib/authentik/api/api/propertymappings_api.rb +79 -79
- data/lib/authentik/api/api/providers_api.rb +134 -196
- data/lib/authentik/api/api/rac_api.rb +10 -10
- data/lib/authentik/api/api/rbac_api.rb +15 -20
- data/lib/authentik/api/api/reports_api.rb +2 -2
- data/lib/authentik/api/api/schema_api.rb +4 -12
- data/lib/authentik/api/api/sources_api.rb +158 -219
- data/lib/authentik/api/api/ssf_api.rb +64 -7
- data/lib/authentik/api/api/stages_api.rb +723 -244
- data/lib/authentik/api/api/tasks_api.rb +11 -19
- data/lib/authentik/api/api/tenants_api.rb +10 -10
- data/lib/authentik/api/models/account_lockdown_stage.rb +372 -0
- data/lib/authentik/api/models/account_lockdown_stage_request.rb +219 -0
- data/lib/authentik/api/models/app_enum.rb +3 -2
- data/lib/authentik/api/models/apple_independent_secure_enclave.rb +246 -0
- data/lib/authentik/api/models/apple_independent_secure_enclave_request.rb +273 -0
- data/lib/authentik/api/models/application.rb +14 -4
- data/lib/authentik/api/models/application_request.rb +14 -4
- data/lib/authentik/api/models/authenticated_session_user_agent_device.rb +2 -30
- data/lib/authentik/api/models/authenticated_session_user_agent_os.rb +4 -60
- data/lib/authentik/api/models/authentication_enum.rb +2 -1
- data/lib/authentik/api/models/authenticator_validate_stage.rb +51 -4
- data/lib/authentik/api/models/authenticator_validate_stage_request.rb +51 -4
- data/lib/authentik/api/models/authenticator_web_authn_stage.rb +23 -2
- data/lib/authentik/api/models/authenticator_web_authn_stage_request.rb +23 -2
- data/lib/authentik/api/models/{flow_import_result.rb → blueprint_import_result.rb} +4 -4
- data/lib/authentik/api/models/brand.rb +11 -1
- data/lib/authentik/api/models/brand_request.rb +11 -1
- data/lib/authentik/api/models/certificate_key_pair.rb +1 -1
- data/lib/authentik/api/models/certificate_key_pair_key_type_enum.rb +37 -0
- data/lib/authentik/api/models/compatibility_mode_enum.rb +3 -1
- data/lib/authentik/api/models/{consent_stage_mode_enum.rb → consent_mode_enum.rb} +3 -3
- data/lib/authentik/api/models/consent_stage.rb +1 -1
- data/lib/authentik/api/models/consent_stage_request.rb +1 -1
- data/lib/authentik/api/models/country_code_enum.rb +3 -3
- data/lib/authentik/api/models/current_brand.rb +10 -1
- data/lib/authentik/api/models/current_brand_flags.rb +31 -27
- data/lib/authentik/api/models/delivery_method_enum.rb +3 -1
- data/lib/authentik/api/models/device_user_binding.rb +3 -45
- data/lib/authentik/api/models/event_matcher_policy.rb +15 -5
- data/lib/authentik/api/models/event_matcher_policy_request.rb +30 -5
- data/lib/authentik/api/models/event_stats.rb +187 -0
- data/lib/authentik/api/models/event_volume.rb +1 -1
- data/lib/authentik/api/models/events_requested_enum.rb +7 -1
- data/lib/authentik/api/models/force_binding_enum.rb +34 -0
- data/lib/authentik/api/models/{resident_key_requirement_enum.rb → format_enum.rb} +6 -7
- data/lib/authentik/api/models/geo_ip_policy.rb +1 -1
- data/lib/authentik/api/models/{detailed_country_field.rb → geo_ip_policy_countries_obj_inner.rb} +22 -26
- data/lib/authentik/api/models/google_chrome_connector.rb +326 -0
- data/lib/authentik/api/models/google_chrome_connector_request.rb +214 -0
- data/lib/authentik/api/models/grant_types_enum.rb +39 -0
- data/lib/authentik/api/models/group_ldap_source_connection.rb +30 -4
- data/lib/authentik/api/models/iframe_logout_challenge.rb +1 -1
- data/lib/authentik/api/models/invitation_send_email_request.rb +213 -0
- data/lib/authentik/api/models/key_type_enum.rb +3 -3
- data/lib/authentik/api/models/lang_enum.rb +131 -0
- data/lib/authentik/api/models/lifecycle_iteration.rb +30 -86
- data/lib/authentik/api/models/logout_url.rb +209 -0
- data/lib/authentik/api/models/model_enum.rb +3 -1
- data/lib/authentik/api/models/native_logout_challenge.rb +68 -37
- data/lib/authentik/api/models/notification_rule.rb +1 -15
- data/lib/authentik/api/models/notification_transport.rb +13 -2
- data/lib/authentik/api/models/notification_transport_request.rb +13 -2
- data/lib/authentik/api/models/o_auth2_provider.rb +12 -1
- data/lib/authentik/api/models/o_auth2_provider_request.rb +12 -1
- data/lib/authentik/api/models/operating_system.rb +0 -17
- data/lib/authentik/api/models/operating_system_request.rb +2 -9
- data/lib/authentik/api/models/paginated_account_lockdown_stage_list.rb +214 -0
- data/lib/authentik/api/models/paginated_apple_independent_secure_enclave_list.rb +214 -0
- data/lib/authentik/api/models/paginated_extra_role_object_permission_list.rb +32 -4
- data/lib/authentik/api/models/paginated_google_chrome_connector_list.rb +214 -0
- data/lib/authentik/api/models/patched_account_lockdown_stage_request.rb +212 -0
- data/lib/authentik/api/models/patched_apple_independent_secure_enclave_request.rb +235 -0
- data/lib/authentik/api/models/patched_application_request.rb +14 -4
- data/lib/authentik/api/models/patched_authenticator_validate_stage_request.rb +51 -4
- data/lib/authentik/api/models/patched_authenticator_web_authn_stage_request.rb +23 -2
- data/lib/authentik/api/models/patched_brand_request.rb +11 -1
- data/lib/authentik/api/models/patched_consent_stage_request.rb +1 -1
- data/lib/authentik/api/models/patched_event_matcher_policy_request.rb +30 -5
- data/lib/authentik/api/models/patched_google_chrome_connector_request.rb +190 -0
- data/lib/authentik/api/models/patched_notification_transport_request.rb +13 -2
- data/lib/authentik/api/models/patched_o_auth2_provider_request.rb +12 -1
- data/lib/authentik/api/models/patched_saml_provider_request.rb +17 -27
- data/lib/authentik/api/models/patched_saml_source_request.rb +11 -1
- data/lib/authentik/api/models/patched_settings_request_flags.rb +31 -27
- data/lib/authentik/api/models/patched_ssf_provider_request.rb +13 -4
- data/lib/authentik/api/models/policy_binding.rb +3 -45
- data/lib/authentik/api/models/prompt_type_enum.rb +4 -1
- data/lib/authentik/api/models/redirect_uri.rb +13 -4
- data/lib/authentik/api/models/redirect_uri_request.rb +13 -4
- data/lib/authentik/api/models/redirect_uri_type_enum.rb +34 -0
- data/lib/authentik/api/models/related_rule.rb +250 -0
- data/lib/authentik/api/models/saml_metadata.rb +0 -2
- data/lib/authentik/api/models/saml_provider.rb +98 -8
- data/lib/authentik/api/models/saml_provider_request.rb +17 -27
- data/lib/authentik/api/models/saml_source.rb +11 -1
- data/lib/authentik/api/models/saml_source_request.rb +11 -1
- data/lib/authentik/api/models/ssf_provider.rb +41 -4
- data/lib/authentik/api/models/ssf_provider_request.rb +13 -4
- data/lib/authentik/api/models/ssf_stream.rb +10 -1
- data/lib/authentik/api/models/ssf_stream_status_enum.rb +36 -0
- data/lib/authentik/api/models/task.rb +1 -1
- data/lib/authentik/api/models/{task_state_enum.rb → task_status_enum.rb} +3 -3
- data/lib/authentik/api/models/{notification_transport_mode_enum.rb → transport_mode_enum.rb} +3 -3
- data/lib/authentik/api/models/usage_enum.rb +33 -0
- data/lib/authentik/api/models/user_account_lockdown_request.rb +144 -0
- data/lib/authentik/api/models/user_ldap_source_connection.rb +30 -4
- data/lib/authentik/api/models/user_password_hash_set_request.rb +168 -0
- data/lib/authentik/api/models/vendor_enum.rb +2 -1
- data/lib/authentik/api/models/web_authn_hint_enum.rb +35 -0
- data/lib/authentik/api/version.rb +1 -1
- data/spec/api/admin_api_spec.rb +2 -2
- data/spec/api/core_api_spec.rb +27 -3
- data/spec/api/crypto_api_spec.rb +1 -1
- data/spec/api/endpoints_api_spec.rb +167 -0
- data/spec/api/events_api_spec.rb +33 -7
- data/spec/api/flows_api_spec.rb +4 -16
- data/spec/api/lifecycle_api_spec.rb +6 -3
- data/spec/api/managed_api_spec.rb +13 -0
- data/spec/api/policies_api_spec.rb +2 -1
- data/spec/api/providers_api_spec.rb +21 -19
- data/spec/api/schema_api_spec.rb +2 -2
- data/spec/api/sources_api_spec.rb +17 -16
- data/spec/api/ssf_api_spec.rb +12 -1
- data/spec/api/stages_api_spec.rb +117 -18
- data/spec/api/tasks_api_spec.rb +2 -2
- data/spec/models/account_lockdown_stage_request_spec.rb +60 -0
- data/spec/models/account_lockdown_stage_spec.rb +96 -0
- data/spec/models/apple_independent_secure_enclave_request_spec.rb +54 -0
- data/spec/models/apple_independent_secure_enclave_spec.rb +54 -0
- data/spec/models/application_request_spec.rb +6 -0
- data/spec/models/application_spec.rb +6 -0
- data/spec/models/authenticator_validate_stage_request_spec.rb +30 -0
- data/spec/models/authenticator_validate_stage_spec.rb +30 -0
- data/spec/models/authenticator_web_authn_stage_request_spec.rb +12 -0
- data/spec/models/authenticator_web_authn_stage_spec.rb +12 -0
- data/spec/models/{flow_import_result_spec.rb → blueprint_import_result_spec.rb} +6 -6
- data/spec/models/brand_request_spec.rb +6 -0
- data/spec/models/brand_spec.rb +6 -0
- data/spec/models/{notification_transport_mode_enum_spec.rb → certificate_key_pair_key_type_enum_spec.rb} +6 -6
- data/spec/models/{consent_stage_mode_enum_spec.rb → consent_mode_enum_spec.rb} +6 -6
- data/spec/models/current_brand_flags_spec.rb +2 -2
- data/spec/models/current_brand_spec.rb +6 -0
- data/spec/models/event_matcher_policy_request_spec.rb +6 -0
- data/spec/models/event_matcher_policy_spec.rb +6 -0
- data/spec/models/event_stats_spec.rb +36 -0
- data/spec/models/force_binding_enum_spec.rb +24 -0
- data/spec/models/format_enum_spec.rb +24 -0
- data/spec/models/{detailed_country_field_spec.rb → geo_ip_policy_countries_obj_inner_spec.rb} +6 -6
- data/spec/models/google_chrome_connector_request_spec.rb +48 -0
- data/spec/models/google_chrome_connector_spec.rb +78 -0
- data/spec/models/grant_types_enum_spec.rb +24 -0
- data/spec/models/group_ldap_source_connection_spec.rb +6 -0
- data/spec/models/invitation_send_email_request_spec.rb +48 -0
- data/spec/models/lang_enum_spec.rb +24 -0
- data/spec/models/lifecycle_iteration_spec.rb +2 -14
- data/spec/models/logout_url_spec.rb +60 -0
- data/spec/models/native_logout_challenge_spec.rb +13 -7
- data/spec/models/notification_transport_request_spec.rb +6 -0
- data/spec/models/notification_transport_spec.rb +6 -0
- data/spec/models/o_auth2_provider_request_spec.rb +6 -0
- data/spec/models/o_auth2_provider_spec.rb +6 -0
- data/spec/models/paginated_account_lockdown_stage_list_spec.rb +42 -0
- data/spec/models/paginated_apple_independent_secure_enclave_list_spec.rb +42 -0
- data/spec/models/paginated_extra_role_object_permission_list_spec.rb +6 -0
- data/spec/models/paginated_google_chrome_connector_list_spec.rb +42 -0
- data/spec/models/patched_account_lockdown_stage_request_spec.rb +60 -0
- data/spec/models/patched_apple_independent_secure_enclave_request_spec.rb +54 -0
- data/spec/models/patched_application_request_spec.rb +6 -0
- data/spec/models/patched_authenticator_validate_stage_request_spec.rb +30 -0
- data/spec/models/patched_authenticator_web_authn_stage_request_spec.rb +12 -0
- data/spec/models/patched_brand_request_spec.rb +6 -0
- data/spec/models/patched_event_matcher_policy_request_spec.rb +6 -0
- data/spec/models/patched_google_chrome_connector_request_spec.rb +48 -0
- data/spec/models/patched_notification_transport_request_spec.rb +6 -0
- data/spec/models/patched_o_auth2_provider_request_spec.rb +6 -0
- data/spec/models/patched_saml_provider_request_spec.rb +7 -1
- data/spec/models/patched_saml_source_request_spec.rb +6 -0
- data/spec/models/patched_settings_request_flags_spec.rb +2 -2
- data/spec/models/patched_ssf_provider_request_spec.rb +6 -0
- data/spec/models/redirect_uri_request_spec.rb +6 -0
- data/spec/models/redirect_uri_spec.rb +6 -0
- data/spec/models/redirect_uri_type_enum_spec.rb +24 -0
- data/spec/models/related_rule_spec.rb +54 -0
- data/spec/models/saml_provider_request_spec.rb +7 -1
- data/spec/models/saml_provider_spec.rb +25 -1
- data/spec/models/saml_source_request_spec.rb +6 -0
- data/spec/models/saml_source_spec.rb +6 -0
- data/spec/models/ssf_provider_request_spec.rb +6 -0
- data/spec/models/ssf_provider_spec.rb +12 -0
- data/spec/models/ssf_stream_spec.rb +6 -0
- data/spec/models/ssf_stream_status_enum_spec.rb +24 -0
- data/spec/models/{task_state_enum_spec.rb → task_status_enum_spec.rb} +6 -6
- data/spec/models/transport_mode_enum_spec.rb +24 -0
- data/spec/models/usage_enum_spec.rb +24 -0
- data/spec/models/user_account_lockdown_request_spec.rb +30 -0
- data/spec/models/user_ldap_source_connection_spec.rb +6 -0
- data/spec/models/user_password_hash_set_request_spec.rb +30 -0
- data/spec/models/web_authn_hint_enum_spec.rb +24 -0
- data/spec/zeitwerk_spec.rb +34 -0
- metadata +113 -32
- data/spec/models/resident_key_requirement_enum_spec.rb +0 -24
|
@@ -118,7 +118,7 @@ module Authentik::Api
|
|
|
118
118
|
fail ArgumentError, "Missing the required parameter 'id' when calling TasksApi.tasks_schedules_partial_update"
|
|
119
119
|
end
|
|
120
120
|
# resource path
|
|
121
|
-
local_var_path = '/tasks/schedules/{id}/'.sub('{
|
|
121
|
+
local_var_path = '/tasks/schedules/{id}/'.sub('{id}', CGI.escape(id.to_s))
|
|
122
122
|
|
|
123
123
|
# query parameters
|
|
124
124
|
query_params = opts[:query_params] || {}
|
|
@@ -182,7 +182,7 @@ module Authentik::Api
|
|
|
182
182
|
fail ArgumentError, "Missing the required parameter 'id' when calling TasksApi.tasks_schedules_retrieve"
|
|
183
183
|
end
|
|
184
184
|
# resource path
|
|
185
|
-
local_var_path = '/tasks/schedules/{id}/'.sub('{
|
|
185
|
+
local_var_path = '/tasks/schedules/{id}/'.sub('{id}', CGI.escape(id.to_s))
|
|
186
186
|
|
|
187
187
|
# query parameters
|
|
188
188
|
query_params = opts[:query_params] || {}
|
|
@@ -243,7 +243,7 @@ module Authentik::Api
|
|
|
243
243
|
fail ArgumentError, "Missing the required parameter 'id' when calling TasksApi.tasks_schedules_send_create"
|
|
244
244
|
end
|
|
245
245
|
# resource path
|
|
246
|
-
local_var_path = '/tasks/schedules/{id}/send/'.sub('{
|
|
246
|
+
local_var_path = '/tasks/schedules/{id}/send/'.sub('{id}', CGI.escape(id.to_s))
|
|
247
247
|
|
|
248
248
|
# query parameters
|
|
249
249
|
query_params = opts[:query_params] || {}
|
|
@@ -308,7 +308,7 @@ module Authentik::Api
|
|
|
308
308
|
fail ArgumentError, "Missing the required parameter 'schedule_request' when calling TasksApi.tasks_schedules_update"
|
|
309
309
|
end
|
|
310
310
|
# resource path
|
|
311
|
-
local_var_path = '/tasks/schedules/{id}/'.sub('{
|
|
311
|
+
local_var_path = '/tasks/schedules/{id}/'.sub('{id}', CGI.escape(id.to_s))
|
|
312
312
|
|
|
313
313
|
# query parameters
|
|
314
314
|
query_params = opts[:query_params] || {}
|
|
@@ -354,7 +354,7 @@ module Authentik::Api
|
|
|
354
354
|
|
|
355
355
|
# @param [Hash] opts the optional parameters
|
|
356
356
|
# @option opts [String] :actor_name
|
|
357
|
-
# @option opts [Array<
|
|
357
|
+
# @option opts [Array<TaskAggregatedStatusEnum>] :aggregated_status
|
|
358
358
|
# @option opts [String] :ordering Which field to use when ordering the results.
|
|
359
359
|
# @option opts [Integer] :page A page number within the paginated result set.
|
|
360
360
|
# @option opts [Integer] :page_size Number of results to return per page.
|
|
@@ -364,7 +364,7 @@ module Authentik::Api
|
|
|
364
364
|
# @option opts [String] :rel_obj_id
|
|
365
365
|
# @option opts [Boolean] :rel_obj_id__isnull
|
|
366
366
|
# @option opts [String] :search A search term.
|
|
367
|
-
# @option opts [
|
|
367
|
+
# @option opts [TaskStatusEnum] :state
|
|
368
368
|
# @return [PaginatedTaskList]
|
|
369
369
|
def tasks_tasks_list(opts = {})
|
|
370
370
|
data, _status_code, _headers = tasks_tasks_list_with_http_info(opts)
|
|
@@ -373,7 +373,7 @@ module Authentik::Api
|
|
|
373
373
|
|
|
374
374
|
# @param [Hash] opts the optional parameters
|
|
375
375
|
# @option opts [String] :actor_name
|
|
376
|
-
# @option opts [Array<
|
|
376
|
+
# @option opts [Array<TaskAggregatedStatusEnum>] :aggregated_status
|
|
377
377
|
# @option opts [String] :ordering Which field to use when ordering the results.
|
|
378
378
|
# @option opts [Integer] :page A page number within the paginated result set.
|
|
379
379
|
# @option opts [Integer] :page_size Number of results to return per page.
|
|
@@ -383,20 +383,12 @@ module Authentik::Api
|
|
|
383
383
|
# @option opts [String] :rel_obj_id
|
|
384
384
|
# @option opts [Boolean] :rel_obj_id__isnull
|
|
385
385
|
# @option opts [String] :search A search term.
|
|
386
|
-
# @option opts [
|
|
386
|
+
# @option opts [TaskStatusEnum] :state
|
|
387
387
|
# @return [Array<(PaginatedTaskList, Integer, Hash)>] PaginatedTaskList data, response status code and response headers
|
|
388
388
|
def tasks_tasks_list_with_http_info(opts = {})
|
|
389
389
|
if @api_client.config.debugging
|
|
390
390
|
@api_client.config.logger.debug 'Calling API: TasksApi.tasks_tasks_list ...'
|
|
391
391
|
end
|
|
392
|
-
allowable_values = ["consumed", "done", "error", "info", "postprocess", "preprocess", "queued", "rejected", "running", "warning"]
|
|
393
|
-
if @api_client.config.client_side_validation && opts[:'aggregated_status'] && !opts[:'aggregated_status'].all? { |item| allowable_values.include?(item) }
|
|
394
|
-
fail ArgumentError, "invalid value for \"aggregated_status\", must include one of #{allowable_values}"
|
|
395
|
-
end
|
|
396
|
-
allowable_values = ["consumed", "done", "postprocess", "preprocess", "queued", "rejected", "running"]
|
|
397
|
-
if @api_client.config.client_side_validation && opts[:'state'] && !allowable_values.include?(opts[:'state'])
|
|
398
|
-
fail ArgumentError, "invalid value for \"state\", must be one of #{allowable_values}"
|
|
399
|
-
end
|
|
400
392
|
# resource path
|
|
401
393
|
local_var_path = '/tasks/tasks/'
|
|
402
394
|
|
|
@@ -469,7 +461,7 @@ module Authentik::Api
|
|
|
469
461
|
fail ArgumentError, "Missing the required parameter 'message_id' when calling TasksApi.tasks_tasks_retrieve"
|
|
470
462
|
end
|
|
471
463
|
# resource path
|
|
472
|
-
local_var_path = '/tasks/tasks/{message_id}/'.sub('{
|
|
464
|
+
local_var_path = '/tasks/tasks/{message_id}/'.sub('{message_id}', CGI.escape(message_id.to_s))
|
|
473
465
|
|
|
474
466
|
# query parameters
|
|
475
467
|
query_params = opts[:query_params] || {}
|
|
@@ -530,7 +522,7 @@ module Authentik::Api
|
|
|
530
522
|
fail ArgumentError, "Missing the required parameter 'message_id' when calling TasksApi.tasks_tasks_retry_create"
|
|
531
523
|
end
|
|
532
524
|
# resource path
|
|
533
|
-
local_var_path = '/tasks/tasks/{message_id}/retry/'.sub('{
|
|
525
|
+
local_var_path = '/tasks/tasks/{message_id}/retry/'.sub('{message_id}', CGI.escape(message_id.to_s))
|
|
534
526
|
|
|
535
527
|
# query parameters
|
|
536
528
|
query_params = opts[:query_params] || {}
|
|
@@ -640,7 +632,7 @@ module Authentik::Api
|
|
|
640
632
|
@api_client.config.logger.debug 'Calling API: TasksApi.tasks_workers_list ...'
|
|
641
633
|
end
|
|
642
634
|
# resource path
|
|
643
|
-
local_var_path = '/tasks/workers'
|
|
635
|
+
local_var_path = '/tasks/workers/'
|
|
644
636
|
|
|
645
637
|
# query parameters
|
|
646
638
|
query_params = opts[:query_params] || {}
|
|
@@ -101,7 +101,7 @@ module Authentik::Api
|
|
|
101
101
|
fail ArgumentError, "Missing the required parameter 'id' when calling TenantsApi.tenants_domains_destroy"
|
|
102
102
|
end
|
|
103
103
|
# resource path
|
|
104
|
-
local_var_path = '/tenants/domains/{id}/'.sub('{
|
|
104
|
+
local_var_path = '/tenants/domains/{id}/'.sub('{id}', CGI.escape(id.to_s))
|
|
105
105
|
|
|
106
106
|
# query parameters
|
|
107
107
|
query_params = opts[:query_params] || {}
|
|
@@ -231,7 +231,7 @@ module Authentik::Api
|
|
|
231
231
|
fail ArgumentError, "Missing the required parameter 'id' when calling TenantsApi.tenants_domains_partial_update"
|
|
232
232
|
end
|
|
233
233
|
# resource path
|
|
234
|
-
local_var_path = '/tenants/domains/{id}/'.sub('{
|
|
234
|
+
local_var_path = '/tenants/domains/{id}/'.sub('{id}', CGI.escape(id.to_s))
|
|
235
235
|
|
|
236
236
|
# query parameters
|
|
237
237
|
query_params = opts[:query_params] || {}
|
|
@@ -297,7 +297,7 @@ module Authentik::Api
|
|
|
297
297
|
fail ArgumentError, "Missing the required parameter 'id' when calling TenantsApi.tenants_domains_retrieve"
|
|
298
298
|
end
|
|
299
299
|
# resource path
|
|
300
|
-
local_var_path = '/tenants/domains/{id}/'.sub('{
|
|
300
|
+
local_var_path = '/tenants/domains/{id}/'.sub('{id}', CGI.escape(id.to_s))
|
|
301
301
|
|
|
302
302
|
# query parameters
|
|
303
303
|
query_params = opts[:query_params] || {}
|
|
@@ -364,7 +364,7 @@ module Authentik::Api
|
|
|
364
364
|
fail ArgumentError, "Missing the required parameter 'domain_request' when calling TenantsApi.tenants_domains_update"
|
|
365
365
|
end
|
|
366
366
|
# resource path
|
|
367
|
-
local_var_path = '/tenants/domains/{id}/'.sub('{
|
|
367
|
+
local_var_path = '/tenants/domains/{id}/'.sub('{id}', CGI.escape(id.to_s))
|
|
368
368
|
|
|
369
369
|
# query parameters
|
|
370
370
|
query_params = opts[:query_params] || {}
|
|
@@ -502,7 +502,7 @@ module Authentik::Api
|
|
|
502
502
|
fail ArgumentError, "Missing the required parameter 'tenant_admin_group_request_request' when calling TenantsApi.tenants_tenants_create_admin_group_create"
|
|
503
503
|
end
|
|
504
504
|
# resource path
|
|
505
|
-
local_var_path = '/tenants/tenants/{tenant_uuid}/create_admin_group/'.sub('{
|
|
505
|
+
local_var_path = '/tenants/tenants/{tenant_uuid}/create_admin_group/'.sub('{tenant_uuid}', CGI.escape(tenant_uuid.to_s))
|
|
506
506
|
|
|
507
507
|
# query parameters
|
|
508
508
|
query_params = opts[:query_params] || {}
|
|
@@ -574,7 +574,7 @@ module Authentik::Api
|
|
|
574
574
|
fail ArgumentError, "Missing the required parameter 'tenant_recovery_key_request_request' when calling TenantsApi.tenants_tenants_create_recovery_key_create"
|
|
575
575
|
end
|
|
576
576
|
# resource path
|
|
577
|
-
local_var_path = '/tenants/tenants/{tenant_uuid}/create_recovery_key/'.sub('{
|
|
577
|
+
local_var_path = '/tenants/tenants/{tenant_uuid}/create_recovery_key/'.sub('{tenant_uuid}', CGI.escape(tenant_uuid.to_s))
|
|
578
578
|
|
|
579
579
|
# query parameters
|
|
580
580
|
query_params = opts[:query_params] || {}
|
|
@@ -640,7 +640,7 @@ module Authentik::Api
|
|
|
640
640
|
fail ArgumentError, "Missing the required parameter 'tenant_uuid' when calling TenantsApi.tenants_tenants_destroy"
|
|
641
641
|
end
|
|
642
642
|
# resource path
|
|
643
|
-
local_var_path = '/tenants/tenants/{tenant_uuid}/'.sub('{
|
|
643
|
+
local_var_path = '/tenants/tenants/{tenant_uuid}/'.sub('{tenant_uuid}', CGI.escape(tenant_uuid.to_s))
|
|
644
644
|
|
|
645
645
|
# query parameters
|
|
646
646
|
query_params = opts[:query_params] || {}
|
|
@@ -770,7 +770,7 @@ module Authentik::Api
|
|
|
770
770
|
fail ArgumentError, "Missing the required parameter 'tenant_uuid' when calling TenantsApi.tenants_tenants_partial_update"
|
|
771
771
|
end
|
|
772
772
|
# resource path
|
|
773
|
-
local_var_path = '/tenants/tenants/{tenant_uuid}/'.sub('{
|
|
773
|
+
local_var_path = '/tenants/tenants/{tenant_uuid}/'.sub('{tenant_uuid}', CGI.escape(tenant_uuid.to_s))
|
|
774
774
|
|
|
775
775
|
# query parameters
|
|
776
776
|
query_params = opts[:query_params] || {}
|
|
@@ -836,7 +836,7 @@ module Authentik::Api
|
|
|
836
836
|
fail ArgumentError, "Missing the required parameter 'tenant_uuid' when calling TenantsApi.tenants_tenants_retrieve"
|
|
837
837
|
end
|
|
838
838
|
# resource path
|
|
839
|
-
local_var_path = '/tenants/tenants/{tenant_uuid}/'.sub('{
|
|
839
|
+
local_var_path = '/tenants/tenants/{tenant_uuid}/'.sub('{tenant_uuid}', CGI.escape(tenant_uuid.to_s))
|
|
840
840
|
|
|
841
841
|
# query parameters
|
|
842
842
|
query_params = opts[:query_params] || {}
|
|
@@ -903,7 +903,7 @@ module Authentik::Api
|
|
|
903
903
|
fail ArgumentError, "Missing the required parameter 'tenant_request' when calling TenantsApi.tenants_tenants_update"
|
|
904
904
|
end
|
|
905
905
|
# resource path
|
|
906
|
-
local_var_path = '/tenants/tenants/{tenant_uuid}/'.sub('{
|
|
906
|
+
local_var_path = '/tenants/tenants/{tenant_uuid}/'.sub('{tenant_uuid}', CGI.escape(tenant_uuid.to_s))
|
|
907
907
|
|
|
908
908
|
# query parameters
|
|
909
909
|
query_params = opts[:query_params] || {}
|
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
=begin
|
|
2
|
+
This file is automatically generated by: https://openapi-generator.tech.
|
|
3
|
+
Any manual changes will be lost when the OpenAPI scheme changes.
|
|
4
|
+
|
|
5
|
+
=end
|
|
6
|
+
|
|
7
|
+
require 'date'
|
|
8
|
+
require 'time'
|
|
9
|
+
|
|
10
|
+
module Authentik::Api
|
|
11
|
+
# AccountLockdownStage Serializer
|
|
12
|
+
class AccountLockdownStage < ApiModelBase
|
|
13
|
+
attr_accessor :pk
|
|
14
|
+
|
|
15
|
+
attr_accessor :name
|
|
16
|
+
|
|
17
|
+
# Get object type so that we know how to edit the object
|
|
18
|
+
attr_accessor :component
|
|
19
|
+
|
|
20
|
+
# Return object's verbose_name
|
|
21
|
+
attr_accessor :verbose_name
|
|
22
|
+
|
|
23
|
+
# Return object's plural verbose_name
|
|
24
|
+
attr_accessor :verbose_name_plural
|
|
25
|
+
|
|
26
|
+
# Return internal model name
|
|
27
|
+
attr_accessor :meta_model_name
|
|
28
|
+
|
|
29
|
+
attr_accessor :flow_set
|
|
30
|
+
|
|
31
|
+
# Deactivate the user account (set is_active to False)
|
|
32
|
+
attr_accessor :deactivate_user
|
|
33
|
+
|
|
34
|
+
# Set an unusable password for the user
|
|
35
|
+
attr_accessor :set_unusable_password
|
|
36
|
+
|
|
37
|
+
# Delete all active sessions for the user
|
|
38
|
+
attr_accessor :delete_sessions
|
|
39
|
+
|
|
40
|
+
# Revoke all tokens for the user (API, app password, recovery, verification, OAuth)
|
|
41
|
+
attr_accessor :revoke_tokens
|
|
42
|
+
|
|
43
|
+
# Flow to redirect users to after self-service lockdown. This flow should not require authentication since the user's session is deleted.
|
|
44
|
+
attr_accessor :self_service_completion_flow
|
|
45
|
+
|
|
46
|
+
# Attribute mapping from ruby-style variable name to JSON key.
|
|
47
|
+
def self.attribute_map
|
|
48
|
+
{
|
|
49
|
+
:'pk' => :'pk',
|
|
50
|
+
:'name' => :'name',
|
|
51
|
+
:'component' => :'component',
|
|
52
|
+
:'verbose_name' => :'verbose_name',
|
|
53
|
+
:'verbose_name_plural' => :'verbose_name_plural',
|
|
54
|
+
:'meta_model_name' => :'meta_model_name',
|
|
55
|
+
:'flow_set' => :'flow_set',
|
|
56
|
+
:'deactivate_user' => :'deactivate_user',
|
|
57
|
+
:'set_unusable_password' => :'set_unusable_password',
|
|
58
|
+
:'delete_sessions' => :'delete_sessions',
|
|
59
|
+
:'revoke_tokens' => :'revoke_tokens',
|
|
60
|
+
:'self_service_completion_flow' => :'self_service_completion_flow'
|
|
61
|
+
}
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Returns attribute mapping this model knows about
|
|
65
|
+
def self.acceptable_attribute_map
|
|
66
|
+
attribute_map
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# Returns all the JSON keys this model knows about
|
|
70
|
+
def self.acceptable_attributes
|
|
71
|
+
acceptable_attribute_map.values
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# Attribute type mapping.
|
|
75
|
+
def self.openapi_types
|
|
76
|
+
{
|
|
77
|
+
:'pk' => :'String',
|
|
78
|
+
:'name' => :'String',
|
|
79
|
+
:'component' => :'String',
|
|
80
|
+
:'verbose_name' => :'String',
|
|
81
|
+
:'verbose_name_plural' => :'String',
|
|
82
|
+
:'meta_model_name' => :'String',
|
|
83
|
+
:'flow_set' => :'Array<FlowSet>',
|
|
84
|
+
:'deactivate_user' => :'Boolean',
|
|
85
|
+
:'set_unusable_password' => :'Boolean',
|
|
86
|
+
:'delete_sessions' => :'Boolean',
|
|
87
|
+
:'revoke_tokens' => :'Boolean',
|
|
88
|
+
:'self_service_completion_flow' => :'String'
|
|
89
|
+
}
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
# List of attributes with nullable: true
|
|
93
|
+
def self.openapi_nullable
|
|
94
|
+
Set.new([
|
|
95
|
+
:'self_service_completion_flow'
|
|
96
|
+
])
|
|
97
|
+
end
|
|
98
|
+
|
|
99
|
+
# Initializes the object
|
|
100
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
101
|
+
def initialize(attributes = {})
|
|
102
|
+
if (!attributes.is_a?(Hash))
|
|
103
|
+
fail ArgumentError, "The input argument (attributes) must be a hash in `Authentik::Api::AccountLockdownStage` initialize method"
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
# check to see if the attribute exists and convert string to symbol for hash key
|
|
107
|
+
acceptable_attribute_map = self.class.acceptable_attribute_map
|
|
108
|
+
attributes = attributes.each_with_object({}) { |(k, v), h|
|
|
109
|
+
if (!acceptable_attribute_map.key?(k.to_sym))
|
|
110
|
+
fail ArgumentError, "`#{k}` is not a valid attribute in `Authentik::Api::AccountLockdownStage`. Please check the name to make sure it's valid. List of attributes: " + acceptable_attribute_map.keys.inspect
|
|
111
|
+
end
|
|
112
|
+
h[k.to_sym] = v
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
if attributes.key?(:'pk')
|
|
116
|
+
self.pk = attributes[:'pk']
|
|
117
|
+
else
|
|
118
|
+
self.pk = nil
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
if attributes.key?(:'name')
|
|
122
|
+
self.name = attributes[:'name']
|
|
123
|
+
else
|
|
124
|
+
self.name = nil
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
if attributes.key?(:'component')
|
|
128
|
+
self.component = attributes[:'component']
|
|
129
|
+
else
|
|
130
|
+
self.component = nil
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
if attributes.key?(:'verbose_name')
|
|
134
|
+
self.verbose_name = attributes[:'verbose_name']
|
|
135
|
+
else
|
|
136
|
+
self.verbose_name = nil
|
|
137
|
+
end
|
|
138
|
+
|
|
139
|
+
if attributes.key?(:'verbose_name_plural')
|
|
140
|
+
self.verbose_name_plural = attributes[:'verbose_name_plural']
|
|
141
|
+
else
|
|
142
|
+
self.verbose_name_plural = nil
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
if attributes.key?(:'meta_model_name')
|
|
146
|
+
self.meta_model_name = attributes[:'meta_model_name']
|
|
147
|
+
else
|
|
148
|
+
self.meta_model_name = nil
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
if attributes.key?(:'flow_set')
|
|
152
|
+
if (value = attributes[:'flow_set']).is_a?(Array)
|
|
153
|
+
self.flow_set = value
|
|
154
|
+
end
|
|
155
|
+
else
|
|
156
|
+
self.flow_set = nil
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
if attributes.key?(:'deactivate_user')
|
|
160
|
+
self.deactivate_user = attributes[:'deactivate_user']
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
if attributes.key?(:'set_unusable_password')
|
|
164
|
+
self.set_unusable_password = attributes[:'set_unusable_password']
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
if attributes.key?(:'delete_sessions')
|
|
168
|
+
self.delete_sessions = attributes[:'delete_sessions']
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
if attributes.key?(:'revoke_tokens')
|
|
172
|
+
self.revoke_tokens = attributes[:'revoke_tokens']
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
if attributes.key?(:'self_service_completion_flow')
|
|
176
|
+
self.self_service_completion_flow = attributes[:'self_service_completion_flow']
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
# Show invalid properties with the reasons. Usually used together with valid?
|
|
181
|
+
# @return Array for valid properties with the reasons
|
|
182
|
+
def list_invalid_properties
|
|
183
|
+
warn '[DEPRECATED] the `list_invalid_properties` method is obsolete'
|
|
184
|
+
invalid_properties = Array.new
|
|
185
|
+
if @pk.nil?
|
|
186
|
+
invalid_properties.push('invalid value for "pk", pk cannot be nil.')
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
if @name.nil?
|
|
190
|
+
invalid_properties.push('invalid value for "name", name cannot be nil.')
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
if @component.nil?
|
|
194
|
+
invalid_properties.push('invalid value for "component", component cannot be nil.')
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
if @verbose_name.nil?
|
|
198
|
+
invalid_properties.push('invalid value for "verbose_name", verbose_name cannot be nil.')
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
if @verbose_name_plural.nil?
|
|
202
|
+
invalid_properties.push('invalid value for "verbose_name_plural", verbose_name_plural cannot be nil.')
|
|
203
|
+
end
|
|
204
|
+
|
|
205
|
+
if @meta_model_name.nil?
|
|
206
|
+
invalid_properties.push('invalid value for "meta_model_name", meta_model_name cannot be nil.')
|
|
207
|
+
end
|
|
208
|
+
|
|
209
|
+
if @flow_set.nil?
|
|
210
|
+
invalid_properties.push('invalid value for "flow_set", flow_set cannot be nil.')
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
invalid_properties
|
|
214
|
+
end
|
|
215
|
+
|
|
216
|
+
# Check to see if the all the properties in the model are valid
|
|
217
|
+
# @return true if the model is valid
|
|
218
|
+
def valid?
|
|
219
|
+
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
220
|
+
return false if @pk.nil?
|
|
221
|
+
return false if @name.nil?
|
|
222
|
+
return false if @component.nil?
|
|
223
|
+
return false if @verbose_name.nil?
|
|
224
|
+
return false if @verbose_name_plural.nil?
|
|
225
|
+
return false if @meta_model_name.nil?
|
|
226
|
+
return false if @flow_set.nil?
|
|
227
|
+
true
|
|
228
|
+
end
|
|
229
|
+
|
|
230
|
+
# Custom attribute writer method with validation
|
|
231
|
+
# @param [Object] pk Value to be assigned
|
|
232
|
+
def pk=(pk)
|
|
233
|
+
if pk.nil?
|
|
234
|
+
fail ArgumentError, 'pk cannot be nil'
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
@pk = pk
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
# Custom attribute writer method with validation
|
|
241
|
+
# @param [Object] name Value to be assigned
|
|
242
|
+
def name=(name)
|
|
243
|
+
if name.nil?
|
|
244
|
+
fail ArgumentError, 'name cannot be nil'
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
@name = name
|
|
248
|
+
end
|
|
249
|
+
|
|
250
|
+
# Custom attribute writer method with validation
|
|
251
|
+
# @param [Object] component Value to be assigned
|
|
252
|
+
def component=(component)
|
|
253
|
+
if component.nil?
|
|
254
|
+
fail ArgumentError, 'component cannot be nil'
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
@component = component
|
|
258
|
+
end
|
|
259
|
+
|
|
260
|
+
# Custom attribute writer method with validation
|
|
261
|
+
# @param [Object] verbose_name Value to be assigned
|
|
262
|
+
def verbose_name=(verbose_name)
|
|
263
|
+
if verbose_name.nil?
|
|
264
|
+
fail ArgumentError, 'verbose_name cannot be nil'
|
|
265
|
+
end
|
|
266
|
+
|
|
267
|
+
@verbose_name = verbose_name
|
|
268
|
+
end
|
|
269
|
+
|
|
270
|
+
# Custom attribute writer method with validation
|
|
271
|
+
# @param [Object] verbose_name_plural Value to be assigned
|
|
272
|
+
def verbose_name_plural=(verbose_name_plural)
|
|
273
|
+
if verbose_name_plural.nil?
|
|
274
|
+
fail ArgumentError, 'verbose_name_plural cannot be nil'
|
|
275
|
+
end
|
|
276
|
+
|
|
277
|
+
@verbose_name_plural = verbose_name_plural
|
|
278
|
+
end
|
|
279
|
+
|
|
280
|
+
# Custom attribute writer method with validation
|
|
281
|
+
# @param [Object] meta_model_name Value to be assigned
|
|
282
|
+
def meta_model_name=(meta_model_name)
|
|
283
|
+
if meta_model_name.nil?
|
|
284
|
+
fail ArgumentError, 'meta_model_name cannot be nil'
|
|
285
|
+
end
|
|
286
|
+
|
|
287
|
+
@meta_model_name = meta_model_name
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
# Custom attribute writer method with validation
|
|
291
|
+
# @param [Object] flow_set Value to be assigned
|
|
292
|
+
def flow_set=(flow_set)
|
|
293
|
+
if flow_set.nil?
|
|
294
|
+
fail ArgumentError, 'flow_set cannot be nil'
|
|
295
|
+
end
|
|
296
|
+
|
|
297
|
+
@flow_set = flow_set
|
|
298
|
+
end
|
|
299
|
+
|
|
300
|
+
# Checks equality by comparing each attribute.
|
|
301
|
+
# @param [Object] Object to be compared
|
|
302
|
+
def ==(o)
|
|
303
|
+
return true if self.equal?(o)
|
|
304
|
+
self.class == o.class &&
|
|
305
|
+
pk == o.pk &&
|
|
306
|
+
name == o.name &&
|
|
307
|
+
component == o.component &&
|
|
308
|
+
verbose_name == o.verbose_name &&
|
|
309
|
+
verbose_name_plural == o.verbose_name_plural &&
|
|
310
|
+
meta_model_name == o.meta_model_name &&
|
|
311
|
+
flow_set == o.flow_set &&
|
|
312
|
+
deactivate_user == o.deactivate_user &&
|
|
313
|
+
set_unusable_password == o.set_unusable_password &&
|
|
314
|
+
delete_sessions == o.delete_sessions &&
|
|
315
|
+
revoke_tokens == o.revoke_tokens &&
|
|
316
|
+
self_service_completion_flow == o.self_service_completion_flow
|
|
317
|
+
end
|
|
318
|
+
|
|
319
|
+
# @see the `==` method
|
|
320
|
+
# @param [Object] Object to be compared
|
|
321
|
+
def eql?(o)
|
|
322
|
+
self == o
|
|
323
|
+
end
|
|
324
|
+
|
|
325
|
+
# Calculates hash code according to all attributes.
|
|
326
|
+
# @return [Integer] Hash code
|
|
327
|
+
def hash
|
|
328
|
+
[pk, name, component, verbose_name, verbose_name_plural, meta_model_name, flow_set, deactivate_user, set_unusable_password, delete_sessions, revoke_tokens, self_service_completion_flow].hash
|
|
329
|
+
end
|
|
330
|
+
|
|
331
|
+
# Builds the object from hash
|
|
332
|
+
# @param [Hash] attributes Model attributes in the form of hash
|
|
333
|
+
# @return [Object] Returns the model itself
|
|
334
|
+
def self.build_from_hash(attributes)
|
|
335
|
+
return nil unless attributes.is_a?(Hash)
|
|
336
|
+
attributes = attributes.transform_keys(&:to_sym)
|
|
337
|
+
transformed_hash = {}
|
|
338
|
+
openapi_types.each_pair do |key, type|
|
|
339
|
+
if attributes.key?(attribute_map[key]) && attributes[attribute_map[key]].nil?
|
|
340
|
+
transformed_hash["#{key}"] = nil
|
|
341
|
+
elsif type =~ /\AArray<(.*)>/i
|
|
342
|
+
# check to ensure the input is an array given that the attribute
|
|
343
|
+
# is documented as an array but the input is not
|
|
344
|
+
if attributes[attribute_map[key]].is_a?(Array)
|
|
345
|
+
transformed_hash["#{key}"] = attributes[attribute_map[key]].map { |v| _deserialize($1, v) }
|
|
346
|
+
end
|
|
347
|
+
elsif !attributes[attribute_map[key]].nil?
|
|
348
|
+
transformed_hash["#{key}"] = _deserialize(type, attributes[attribute_map[key]])
|
|
349
|
+
end
|
|
350
|
+
end
|
|
351
|
+
new(transformed_hash)
|
|
352
|
+
end
|
|
353
|
+
|
|
354
|
+
# Returns the object in the form of hash
|
|
355
|
+
# @return [Hash] Returns the object in the form of hash
|
|
356
|
+
def to_hash
|
|
357
|
+
hash = {}
|
|
358
|
+
self.class.attribute_map.each_pair do |attr, param|
|
|
359
|
+
value = self.send(attr)
|
|
360
|
+
if value.nil?
|
|
361
|
+
is_nullable = self.class.openapi_nullable.include?(attr)
|
|
362
|
+
next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
|
|
363
|
+
end
|
|
364
|
+
|
|
365
|
+
hash[param] = _to_hash(value)
|
|
366
|
+
end
|
|
367
|
+
hash
|
|
368
|
+
end
|
|
369
|
+
|
|
370
|
+
end
|
|
371
|
+
|
|
372
|
+
end
|