# NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). # https://openapi-generator.tech # Do not edit the class manually. defmodule MailSlurpAPI.Api.InboxReplierController do @moduledoc """ API calls for all endpoints tagged `InboxReplierController`. """ alias MailSlurpAPI.Connection import MailSlurpAPI.RequestBuilder @doc """ Create an inbox replier Create a new inbox rule for reply toing, blocking, and allowing emails when sending and receiving ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - create_inbox_replier_options (CreateInboxReplierOptions): - opts (KeywordList): [optional] Optional parameters ## Returns {:ok, %MailSlurpAPI.Model.InboxReplierDto{}} on success {:error, info} on failure """ @spec create_new_inbox_replier(Tesla.Env.client, MailSlurpAPI.Model.CreateInboxReplierOptions.t, keyword()) :: {:ok, MailSlurpAPI.Model.InboxReplierDto.t} | {:error, Tesla.Env.t} def create_new_inbox_replier(connection, create_inbox_replier_options, _opts \\ []) do %{} |> method(:post) |> url("/repliers") |> add_param(:body, :body, create_inbox_replier_options) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.InboxReplierDto{}} ]) end @doc """ Delete an inbox replier Delete inbox replier ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - id (String.t): ID of inbox replier - opts (KeywordList): [optional] Optional parameters ## Returns {:ok, %{}} on success {:error, info} on failure """ @spec delete_inbox_replier(Tesla.Env.client, String.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def delete_inbox_replier(connection, id, _opts \\ []) do %{} |> method(:delete) |> url("/repliers/#{id}") |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 204, false} ]) end @doc """ Delete inbox repliers Delete inbox repliers. Accepts optional inboxId filter. ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - opts (KeywordList): [optional] Optional parameters - :inbox_id (String.t): Optional inbox id to attach replier to ## Returns {:ok, %{}} on success {:error, info} on failure """ @spec delete_inbox_repliers(Tesla.Env.client, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def delete_inbox_repliers(connection, opts \\ []) do optional_params = %{ :"inboxId" => :query } %{} |> method(:delete) |> url("/repliers") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 204, false} ]) end @doc """ Get an inbox replier Get inbox ruleset ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - id (String.t): ID of inbox replier - opts (KeywordList): [optional] Optional parameters ## Returns {:ok, %MailSlurpAPI.Model.InboxReplierDto{}} on success {:error, info} on failure """ @spec get_inbox_replier(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.InboxReplierDto.t} | {:error, Tesla.Env.t} def get_inbox_replier(connection, id, _opts \\ []) do %{} |> method(:get) |> url("/repliers/#{id}") |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.InboxReplierDto{}} ]) end @doc """ Get an inbox replier event list Get inbox ruleset events ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - id (String.t): ID of inbox replier - opts (KeywordList): [optional] Optional parameters - :page (integer()): Optional page index in inbox replier event list pagination - :size (integer()): Optional page size in inbox replier event list pagination - :sort (String.t): Optional createdAt sort direction ASC or DESC ## Returns {:ok, %MailSlurpAPI.Model.PageInboxReplierEvents{}} on success {:error, info} on failure """ @spec get_inbox_replier_events(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.PageInboxReplierEvents.t} | {:error, Tesla.Env.t} def get_inbox_replier_events(connection, id, opts \\ []) do optional_params = %{ :"page" => :query, :"size" => :query, :"sort" => :query } %{} |> method(:get) |> url("/repliers/#{id}/events") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.PageInboxReplierEvents{}} ]) end @doc """ List inbox repliers List all repliers attached to an inbox ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - opts (KeywordList): [optional] Optional parameters - :inbox_id (String.t): Optional inbox id to get repliers from - :page (integer()): Optional page index in inbox replier list pagination - :size (integer()): Optional page size in inbox replier list pagination - :sort (String.t): Optional createdAt sort direction ASC or DESC - :since (DateTime.t): Filter by created at after the given timestamp - :before (DateTime.t): Filter by created at before the given timestamp ## Returns {:ok, %MailSlurpAPI.Model.PageInboxReplierDto{}} on success {:error, info} on failure """ @spec get_inbox_repliers(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.PageInboxReplierDto.t} | {:error, Tesla.Env.t} def get_inbox_repliers(connection, opts \\ []) do optional_params = %{ :"inboxId" => :query, :"page" => :query, :"size" => :query, :"sort" => :query, :"since" => :query, :"before" => :query } %{} |> method(:get) |> url("/repliers") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.PageInboxReplierDto{}} ]) end @doc """ Update an inbox replier Update inbox ruleset ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - id (String.t): ID of inbox replier - update_inbox_replier_options (UpdateInboxReplierOptions): - opts (KeywordList): [optional] Optional parameters ## Returns {:ok, %MailSlurpAPI.Model.InboxReplierDto{}} on success {:error, info} on failure """ @spec update_inbox_replier(Tesla.Env.client, String.t, MailSlurpAPI.Model.UpdateInboxReplierOptions.t, keyword()) :: {:ok, MailSlurpAPI.Model.InboxReplierDto.t} | {:error, Tesla.Env.t} def update_inbox_replier(connection, id, update_inbox_replier_options, _opts \\ []) do %{} |> method(:put) |> url("/repliers/#{id}") |> add_param(:body, :body, update_inbox_replier_options) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.InboxReplierDto{}} ]) end end