# 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
## 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 """
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