export type CreateApiAdminSettingsArgs = {body: {user_agent?: string | undefined, blocked_user_agents?: string | undefined, enable_shared_address_space_address_range?: boolean | undefined, enable_digest_auth?: boolean | undefined, enable_auth_mid_dialog?: boolean | undefined, enable_digest_auth_int?: boolean | undefined, enable_external_recording?: boolean | undefined, enable_reject_bad_nonce?: boolean | undefined, statistics_log_interval?: number | undefined, dead_session_timeout?: number | undefined, enable_session_timer?: boolean | undefined, session_timer_duration?: number | undefined, enable_to_tag_in_register?: boolean | undefined, enable_congestion_management?: boolean | undefined, congestion_management_metric?: ('WAIT_TIME' | 'TIME_DEPTH' | 'SIZE') | undefined, congestion_management_tolerance?: number | undefined, enable_create_non_exist_extension?: boolean | undefined, enable_prack?: boolean | undefined, enable_tenant_level_trunk?: boolean | undefined, enable_diversion_support?: boolean | undefined, enable_history_info_support?: boolean | undefined, enable_outbound_support?: boolean | undefined, flow_timer?: number | undefined, register_expiration_time?: number | undefined, enable_auto_answer_alert_info_header?: boolean | undefined, auto_answer_alert_info_header?: ('INTERCOM' | 'ALERT_AUTO_ANSWER' | 'AUTO_ANSWER') | undefined, enable_auto_answer_call_info_header?: boolean | undefined, enable_require_answer_mode?: boolean | undefined, enable_www_auth?: boolean | undefined, user_equal_required_for_auth_name?: boolean | undefined, trace_server_host?: string | undefined, trace_server_port?: number | undefined, web_failed_auth_amount?: number | undefined, web_blacklist_time_interval?: number | undefined, sip_failed_auth_amount?: number | undefined, sip_failed_challenge_requests_amount?: number | undefined, sip_blacklist_time_interval?: number | undefined, sip_detection_period?: number | undefined, sip_barrier_1_packets?: number | undefined, sip_barrier_1_blocking_time?: number | undefined, sip_barrier_2_packets?: number | undefined, sip_barrier_2_blocking_time?: number | undefined, stir_shaken_cert?: string | undefined, stir_shaken_key?: string | undefined, custom_options?: string | undefined}}; export type CreateApiAdminSettingsOptions = {baseUrl?: string | undefined, bearer?: string | undefined, fetch?: typeof fetch | undefined}; /** * Update system settings * * POST /admin/settings */ export const createApiAdminSettings = async (args: CreateApiAdminSettingsArgs, options?: CreateApiAdminSettingsOptions) => { const {baseUrl = "https://HOSTNAME:8887/api", fetch: fetchFn = fetch, bearer} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") if (bearer !== undefined) headers.set('authorization', `Bearer ${bearer}`) const url = `${baseUrl.replace(/\/+$/, '')}/admin/settings${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };