# 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.MissedEmailController do @moduledoc """ API calls for all endpoints tagged `MissedEmailController`. """ alias MailSlurpAPI.Connection import MailSlurpAPI.RequestBuilder @doc """ Get all MissedEmails in paginated format ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - opts (KeywordList): [optional] Optional parameters - :page (integer()): Optional page index in list pagination - :size (integer()): Optional page size in list pagination - :sort (String.t): Optional createdAt sort direction ASC or DESC - :search_filter (String.t): Optional search filter - :since (DateTime.t): Filter by created at after the given timestamp - :before (DateTime.t): Filter by created at before the given timestamp - :inbox_id (String.t): Optional inbox ID filter ## Returns {:ok, %MailSlurpAPI.Model.PageMissedEmailProjection{}} on success {:error, info} on failure """ @spec get_all_missed_emails(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.PageMissedEmailProjection.t} | {:error, Tesla.Env.t} def get_all_missed_emails(connection, opts \\ []) do optional_params = %{ :"page" => :query, :"size" => :query, :"sort" => :query, :"searchFilter" => :query, :"since" => :query, :"before" => :query, :"inboxId" => :query } %{} |> method(:get) |> url("/missed-emails") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.PageMissedEmailProjection{}} ]) end @doc """ Get all unknown missed emails in paginated format Unknown missed emails are emails that were sent to MailSlurp but could not be assigned to an existing inbox. ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - opts (KeywordList): [optional] Optional parameters - :page (integer()): Optional page index in list pagination - :size (integer()): Optional page size in list pagination - :sort (String.t): Optional createdAt sort direction ASC or DESC - :search_filter (String.t): Optional search filter - :since (DateTime.t): Filter by created at after the given timestamp - :before (DateTime.t): Filter by created at before the given timestamp - :inbox_id (String.t): Optional inbox ID filter ## Returns {:ok, %MailSlurpAPI.Model.PageUnknownMissedEmailProjection{}} on success {:error, info} on failure """ @spec get_all_unknown_missed_emails(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.PageUnknownMissedEmailProjection.t} | {:error, Tesla.Env.t} def get_all_unknown_missed_emails(connection, opts \\ []) do optional_params = %{ :"page" => :query, :"size" => :query, :"sort" => :query, :"searchFilter" => :query, :"since" => :query, :"before" => :query, :"inboxId" => :query } %{} |> method(:get) |> url("/missed-emails/unknown") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.PageUnknownMissedEmailProjection{}} ]) end @doc """ Get MissedEmail List emails that were missed due to plan limits. ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - missed_email_id (String.t): - opts (KeywordList): [optional] Optional parameters ## Returns {:ok, %MailSlurpAPI.Model.MissedEmail{}} on success {:error, info} on failure """ @spec get_missed_email(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.MissedEmail.t} | {:error, Tesla.Env.t} def get_missed_email(connection, missed_email_id, _opts \\ []) do %{} |> method(:get) |> url("/missed-emails/#{missed_email_id}") |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.MissedEmail{}} ]) end @doc """ Restore missed emails If emails were missed due to a plan limit they are saved as missed emails. If support team enables the canRestore flag these emails can be reload into your account using this method. ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - opts (KeywordList): [optional] Optional parameters ## Returns {:ok, %{}} on success {:error, info} on failure """ @spec restore_missed_emails(Tesla.Env.client, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def restore_missed_emails(connection, _opts \\ []) do %{} |> method(:post) |> url("/missed-emails/restore") |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, false} ]) end @doc """ Wait for Nth missed email Wait for 0 based index missed email ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - index (integer()): Zero based index of the email to wait for. If 1 missed email already and you want to wait for the 2nd email pass index=1 - opts (KeywordList): [optional] Optional parameters - :inbox_id (String.t): Optional inbox ID filter - :timeout (integer()): Optional timeout milliseconds - :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.MissedEmail{}} on success {:error, info} on failure """ @spec wait_for_nth_missed_email(Tesla.Env.client, integer(), keyword()) :: {:ok, MailSlurpAPI.Model.MissedEmail.t} | {:error, Tesla.Env.t} def wait_for_nth_missed_email(connection, index, opts \\ []) do optional_params = %{ :"inboxId" => :query, :"timeout" => :query, :"since" => :query, :"before" => :query } %{} |> method(:get) |> url("/missed-emails/waitForNthMissedEmail") |> add_param(:query, :"index", index) |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.MissedEmail{}} ]) end end