# NOTE: This file is auto generated by OpenAPI Generator 7.22.0 (https://openapi-generator.tech). # Do not edit this file manually. defmodule HookSniffAPI.Api.Auth do @moduledoc """ API calls for all endpoints tagged `Auth`. """ alias HookSniffAPI.Connection import HookSniffAPI.RequestBuilder @doc """ Confirm 2FA setup with a code ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `confirm2fa_request` (Confirm2faRequest): - `opts` (keyword): Optional parameters ### Returns - `{:ok, nil}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth2fa_confirm_post(Tesla.Env.client, HookSniffAPI.Model.Confirm2faRequest.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def auth2fa_confirm_post(connection, confirm2fa_request, _opts \\ []) do request = %{} |> method(:post) |> url("/auth/2fa/confirm") |> add_param(:body, :body, confirm2fa_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, false}, {400, false} ]) end @doc """ Disable 2FA ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `disable2fa_request` (Disable2faRequest): - `opts` (keyword): Optional parameters ### Returns - `{:ok, nil}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth2fa_disable_post(Tesla.Env.client, HookSniffAPI.Model.Disable2faRequest.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def auth2fa_disable_post(connection, disable2fa_request, _opts \\ []) do request = %{} |> method(:post) |> url("/auth/2fa/disable") |> add_param(:body, :body, disable2fa_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, false}, {400, false} ]) end @doc """ Enable 2FA (returns TOTP secret and QR URL) ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `enable2fa_request` (Enable2faRequest): - `opts` (keyword): Optional parameters ### Returns - `{:ok, HookSniffAPI.Model.Auth2faEnablePost200Response.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth2fa_enable_post(Tesla.Env.client, HookSniffAPI.Model.Enable2faRequest.t, keyword()) :: {:ok, HookSniffAPI.Model.Auth2faEnablePost200Response.t} | {:error, Tesla.Env.t} def auth2fa_enable_post(connection, enable2fa_request, _opts \\ []) do request = %{} |> method(:post) |> url("/auth/2fa/enable") |> add_param(:body, :body, enable2fa_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, HookSniffAPI.Model.Auth2faEnablePost200Response} ]) end @doc """ Verify 2FA code during login ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `verify2fa_request` (Verify2faRequest): - `opts` (keyword): Optional parameters ### Returns - `{:ok, HookSniffAPI.Model.AuthResponse.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth2fa_verify_post(Tesla.Env.client, HookSniffAPI.Model.Verify2faRequest.t, keyword()) :: {:ok, nil} | {:ok, HookSniffAPI.Model.AuthResponse.t} | {:error, Tesla.Env.t} def auth2fa_verify_post(connection, verify2fa_request, _opts \\ []) do request = %{} |> method(:post) |> url("/auth/2fa/verify") |> add_param(:body, :body, verify2fa_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, HookSniffAPI.Model.AuthResponse}, {401, false} ]) end @doc """ Delete account (GDPR) ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `opts` (keyword): Optional parameters ### Returns - `{:ok, nil}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth_account_delete(Tesla.Env.client, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def auth_account_delete(connection, _opts \\ []) do request = %{} |> method(:delete) |> url("/auth/account") |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, false} ]) end @doc """ Export user data (GDPR) ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `opts` (keyword): Optional parameters ### Returns - `{:ok, nil}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth_export_get(Tesla.Env.client, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def auth_export_get(connection, _opts \\ []) do request = %{} |> method(:get) |> url("/auth/export") |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, false} ]) end @doc """ Request password reset email ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `forgot_password_request` (ForgotPasswordRequest): - `opts` (keyword): Optional parameters ### Returns - `{:ok, nil}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth_forgot_password_post(Tesla.Env.client, HookSniffAPI.Model.ForgotPasswordRequest.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def auth_forgot_password_post(connection, forgot_password_request, _opts \\ []) do request = %{} |> method(:post) |> url("/auth/forgot-password") |> add_param(:body, :body, forgot_password_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, false} ]) end @doc """ Login with email and password ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `login_request` (LoginRequest): - `opts` (keyword): Optional parameters ### Returns - `{:ok, HookSniffAPI.Model.AuthLoginPost200Response.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth_login_post(Tesla.Env.client, HookSniffAPI.Model.LoginRequest.t, keyword()) :: {:ok, nil} | {:ok, HookSniffAPI.Model.AuthLoginPost200Response.t} | {:error, Tesla.Env.t} def auth_login_post(connection, login_request, _opts \\ []) do request = %{} |> method(:post) |> url("/auth/login") |> add_param(:body, :body, login_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, HookSniffAPI.Model.AuthLoginPost200Response}, {401, false} ]) end @doc """ Logout (invalidate refresh token) ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `opts` (keyword): Optional parameters ### Returns - `{:ok, nil}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth_logout_post(Tesla.Env.client, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def auth_logout_post(connection, _opts \\ []) do request = %{} |> method(:post) |> url("/auth/logout") |> ensure_body() |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, false} ]) end @doc """ Get current user profile ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `opts` (keyword): Optional parameters ### Returns - `{:ok, HookSniffAPI.Model.CustomerResponse.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth_me_get(Tesla.Env.client, keyword()) :: {:ok, HookSniffAPI.Model.CustomerResponse.t} | {:error, Tesla.Env.t} def auth_me_get(connection, _opts \\ []) do request = %{} |> method(:get) |> url("/auth/me") |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, HookSniffAPI.Model.CustomerResponse} ]) end @doc """ Change password ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `change_password_request` (ChangePasswordRequest): - `opts` (keyword): Optional parameters ### Returns - `{:ok, nil}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth_password_put(Tesla.Env.client, HookSniffAPI.Model.ChangePasswordRequest.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def auth_password_put(connection, change_password_request, _opts \\ []) do request = %{} |> method(:put) |> url("/auth/password") |> add_param(:body, :body, change_password_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, false}, {400, false} ]) end @doc """ Update profile ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `update_profile_request` (UpdateProfileRequest): - `opts` (keyword): Optional parameters ### Returns - `{:ok, HookSniffAPI.Model.CustomerResponse.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth_profile_put(Tesla.Env.client, HookSniffAPI.Model.UpdateProfileRequest.t, keyword()) :: {:ok, HookSniffAPI.Model.CustomerResponse.t} | {:error, Tesla.Env.t} def auth_profile_put(connection, update_profile_request, _opts \\ []) do request = %{} |> method(:put) |> url("/auth/profile") |> add_param(:body, :body, update_profile_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, HookSniffAPI.Model.CustomerResponse} ]) end @doc """ Refresh access token ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `refresh_token_request` (RefreshTokenRequest): - `opts` (keyword): Optional parameters ### Returns - `{:ok, HookSniffAPI.Model.AuthResponse.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth_refresh_post(Tesla.Env.client, HookSniffAPI.Model.RefreshTokenRequest.t, keyword()) :: {:ok, nil} | {:ok, HookSniffAPI.Model.AuthResponse.t} | {:error, Tesla.Env.t} def auth_refresh_post(connection, refresh_token_request, _opts \\ []) do request = %{} |> method(:post) |> url("/auth/refresh") |> add_param(:body, :body, refresh_token_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, HookSniffAPI.Model.AuthResponse}, {401, false} ]) end @doc """ Register a new account ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `register_request` (RegisterRequest): - `opts` (keyword): Optional parameters ### Returns - `{:ok, HookSniffAPI.Model.CustomerResponse.t}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth_register_post(Tesla.Env.client, HookSniffAPI.Model.RegisterRequest.t, keyword()) :: {:ok, nil} | {:ok, HookSniffAPI.Model.Error.t} | {:ok, HookSniffAPI.Model.CustomerResponse.t} | {:error, Tesla.Env.t} def auth_register_post(connection, register_request, _opts \\ []) do request = %{} |> method(:post) |> url("/auth/register") |> add_param(:body, :body, register_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {201, HookSniffAPI.Model.CustomerResponse}, {400, HookSniffAPI.Model.Error}, {409, false} ]) end @doc """ Resend verification email ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `resend_verification_request` (ResendVerificationRequest): - `opts` (keyword): Optional parameters ### Returns - `{:ok, nil}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth_resend_verification_post(Tesla.Env.client, HookSniffAPI.Model.ResendVerificationRequest.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def auth_resend_verification_post(connection, resend_verification_request, _opts \\ []) do request = %{} |> method(:post) |> url("/auth/resend-verification") |> add_param(:body, :body, resend_verification_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, false} ]) end @doc """ Reset password with token ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `reset_password_request` (ResetPasswordRequest): - `opts` (keyword): Optional parameters ### Returns - `{:ok, nil}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth_reset_password_post(Tesla.Env.client, HookSniffAPI.Model.ResetPasswordRequest.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def auth_reset_password_post(connection, reset_password_request, _opts \\ []) do request = %{} |> method(:post) |> url("/auth/reset-password") |> add_param(:body, :body, reset_password_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, false}, {400, false} ]) end @doc """ Verify email address ### Parameters - `connection` (HookSniffAPI.Connection): Connection to server - `verify_email_request` (VerifyEmailRequest): - `opts` (keyword): Optional parameters ### Returns - `{:ok, nil}` on success - `{:error, Tesla.Env.t}` on failure """ @spec auth_verify_email_post(Tesla.Env.client, HookSniffAPI.Model.VerifyEmailRequest.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def auth_verify_email_post(connection, verify_email_request, _opts \\ []) do request = %{} |> method(:post) |> url("/auth/verify-email") |> add_param(:body, :body, verify_email_request) |> Enum.into([]) connection |> Connection.request(request) |> evaluate_response([ {200, false}, {400, false} ]) end end