defmodule Auth0.Management.AttackProtection do alias Auth0.Config alias Auth0.Management.AttackProtection.BreachedPasswordDetection alias Auth0.Management.AttackProtection.BruteForceProtection alias Auth0.Management.AttackProtection.SuspiciousIpThrottling @type config :: Config.t() @type error :: {:error, integer, term} | {:error, term} @doc """ Retrieve details of the Breached Password Detection configuration of your tenant. ## see https://auth0.com/docs/api/management/v2/attack-protection/get-breached-password-detection """ @spec get_breached_password_detection(config) :: {:ok, map()} | error def get_breached_password_detection(%Config{} = config) do BreachedPasswordDetection.Get.execute(config) end @doc """ Update details of the Breached Password Detection configuration of your tenant. ## see https://auth0.com/docs/api/management/v2/attack-protection/patch-breached-password-detection """ @spec update_breached_password_detection( map(), config ) :: {:ok, map()} | error def update_breached_password_detection( %{} = params, %Config{} = config ) do BreachedPasswordDetection.Patch.execute(params, config) end @doc """ Retrieve details of the Brute-force Protection configuration of your tenant. ## see https://auth0.com/docs/api/management/v2/attack-protection/get-brute-force-protection """ @spec get_brute_force_protection(config) :: {:ok, map()} | error def get_brute_force_protection(%Config{} = config) do BruteForceProtection.Get.execute(config) end @doc """ Update the Brute-force Protection configuration of your tenant. ## see https://auth0.com/docs/api/management/v2/attack-protection/patch-brute-force-protection """ @spec update_brute_force_protection(map(), config) :: {:ok, map()} | error def update_brute_force_protection( %{} = params, %Config{} = config ) do BruteForceProtection.Patch.execute(params, config) end @doc """ Retrieve details of the Suspicious IP Throttling configuration of your tenant. ## see https://auth0.com/docs/api/management/v2/attack-protection/get-suspicious-ip-throttling """ @spec get_suspicious_ip_throttling(config) :: {:ok, map()} | error def get_suspicious_ip_throttling(%Config{} = config) do SuspiciousIpThrottling.Get.execute(config) end @doc """ Update the details of the Suspicious IP Throttling configuration of your tenant. ## see https://auth0.com/docs/api/management/v2/attack-protection/patch-suspicious-ip-throttling """ @spec update_suspicious_ip_throttling(map(), config) :: {:ok, map()} | error def update_suspicious_ip_throttling( %{} = params, %Config{} = config ) do SuspiciousIpThrottling.Patch.execute(params, config) end end