# 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.ExportController do
@moduledoc """
API calls for all endpoints tagged `ExportController`.
"""
alias MailSlurpAPI.Connection
import MailSlurpAPI.RequestBuilder
@doc """
Export inboxes link callable via browser
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- export_type (String.t):
- api_key (String.t):
- output_format (String.t):
- opts (KeywordList): [optional] Optional parameters
- :filter (String.t):
- :list_separator_token (String.t):
- :exclude_previously_exported (boolean()):
- :created_earliest_time (DateTime.t):
- :created_oldest_time (DateTime.t):
## Returns
{:ok, [%String{}, ...]} on success
{:error, info} on failure
"""
@spec export_entities(Tesla.Env.client, String.t, String.t, String.t, keyword()) :: {:ok, list(String.t)} | {:error, Tesla.Env.t}
def export_entities(connection, export_type, api_key, output_format, opts \\ []) do
optional_params = %{
:"filter" => :query,
:"listSeparatorToken" => :query,
:"excludePreviouslyExported" => :query,
:"createdEarliestTime" => :query,
:"createdOldestTime" => :query
}
%{}
|> method(:get)
|> url("/export")
|> add_param(:query, :"exportType", export_type)
|> add_param(:query, :"apiKey", api_key)
|> add_param(:query, :"outputFormat", output_format)
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, []}
])
end
@doc """
Get export link
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- export_type (String.t):
- export_options (ExportOptions):
- opts (KeywordList): [optional] Optional parameters
- :api_key (String.t):
## Returns
{:ok, %MailSlurpAPI.Model.ExportLink{}} on success
{:error, info} on failure
"""
@spec get_export_link(Tesla.Env.client, String.t, MailSlurpAPI.Model.ExportOptions.t, keyword()) :: {:ok, MailSlurpAPI.Model.ExportLink.t} | {:error, Tesla.Env.t}
def get_export_link(connection, export_type, export_options, opts \\ []) do
optional_params = %{
:"apiKey" => :query
}
%{}
|> method(:post)
|> url("/export")
|> add_param(:query, :"exportType", export_type)
|> add_param(:body, :body, export_options)
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.ExportLink{}}
])
end
end