Packages

mailslurp

15.12.14
15.17.22 15.17.21 15.17.17 15.17.16 15.17.15 15.17.14 15.17.13 15.17.12 15.17.11 15.17.10 15.17.9 15.17.8 15.17.7 15.17.6 15.17.5 15.17.4 15.17.3 15.17.2 15.17.1 15.17.0 15.16.22 15.16.21 15.16.20 15.16.19 15.16.18 15.16.17 15.16.16 15.16.15 15.16.14 15.16.13 15.16.12 15.16.11 15.16.10 15.16.9 15.16.8 15.16.7 15.16.6 15.16.5 15.16.4 15.16.3 15.16.2 15.16.1 15.16.0 15.15.5 15.15.4 15.15.2 15.15.1 15.14.0 15.13.32 15.13.31 15.13.30 15.13.29 15.13.28 15.13.27 15.13.26 15.13.25 15.13.24 15.13.23 15.13.22 15.13.21 15.13.20 15.13.19 15.13.18 15.13.17 15.13.16 15.13.15 15.13.14 15.13.13 15.13.11 15.13.10 15.13.9 15.13.8 15.13.7 15.13.6 15.13.5 15.13.4 15.13.3 15.13.2 15.13.1 15.13.0 15.12.17 15.12.16 15.12.15 15.12.14 15.12.13 15.12.12 15.12.11 15.12.3 15.12.2 15.12.1 15.12.0 15.11.1 15.11.0 15.9.0 15.8.1 15.8.0 15.7.17 15.7.16 15.7.15 15.7.14 15.7.13 15.7.12 15.7.10 15.7.8 15.7.7 15.7.5 15.7.4 15.7.1 15.7.0 15.6.0 15.5.6 15.5.5 15.5.4 15.5.3 15.5.2 15.5.1 15.5.0 15.4.2 15.4.1 15.4.0 15.3.1 15.3.0 15.2.8 15.2.7 15.2.6 15.2.5 15.2.4 15.2.2 15.2.1 15.2.0 15.1.4 15.1.3 15.1.2 15.1.1 15.1.0 15.0.3 15.0.2 15.0.1 15.0.0 14.0.6 14.0.5 14.0.3 14.0.2 14.0.1 14.0.0 13.1.0 13.0.1 13.0.0 12.8.4 12.8.3 12.8.2 12.8.1 12.8.0 12.7.1 12.7.0 12.6.4 12.6.3 12.6.1 12.6.0 12.5.0 12.4.8 12.4.7 12.4.6 12.4.5 12.4.4 12.4.2 12.4.1 12.4.0 12.3.333 12.3.2 12.3.1 12.3.0 12.2.2 12.2.1 12.2.0 12.1.3333 12.1.32 12.1.31 12.1.30 12.1.29 12.1.28 12.1.27 12.1.26 12.1.25 12.1.24 12.1.23 12.1.22 12.1.1 12.1.0 12.0.0 11.16666.0 11.15.0 11.14.0 11.13.0 11.12.0 11.11.1 11.11.0 11.10.3 11.10.2 11.10.1 11.10.0 11.9.7 11.9.6 11.9.4 11.9.3 11.9.2 11.9.1 11.9.0 11.8.13 11.8.12 11.8.11 11.8.10 11.8.9 11.8.8 11.8.6 11.8.5 11.8.4 11.8.3 11.8.2 11.8.1 11.8.0 11.7.509 11.7.508 11.7.506 11.7.505 11.7.502 11.7.501 11.7.500 11.7.400 11.7.314 11.7.313 11.7.312 11.7.311 11.7.310 11.7.309 11.7.308 11.7.307 11.7.306 11.7.304 11.7.302 11.7.301 11.7.300 11.7.215 11.7.214 11.7.213 11.7.212 11.7.211 11.7.210 11.7.203 11.7.202 11.7.201 11.7.200 11.7.122 11.7.11 11.7.10 11.7.9 11.7.8 11.7.7 11.7.6 11.7.5 11.7.4 11.7.2 11.7.1 11.7.0 11.6.24 11.6.23 11.6.22 11.6.21 11.6.20 11.6.19 11.6.18 11.6.16 11.6.15 11.6.14 11.6.13 11.6.12 11.6.11 11.6.10 11.6.9 11.6.8 11.6.7 11.6.6 11.6.5 11.6.4 11.6.3 11.6.2 11.6.1 11.5.2333

Elixir Email API for MailSlurp

Current section

Files

Jump to
mailslurp lib mail_slurp_api api attachment_controller.ex
Raw

lib/mail_slurp_api/api/attachment_controller.ex

# 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.AttachmentController do
@moduledoc """
API calls for all endpoints tagged `AttachmentController`.
"""
alias MailSlurpAPI.Connection
import MailSlurpAPI.RequestBuilder
@doc """
Delete all attachments
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %{}} on success
{:error, info} on failure
"""
@spec delete_all_attachments(Tesla.Env.client, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t}
def delete_all_attachments(connection, _opts \\ []) do
%{}
|> method(:delete)
|> url("/attachments")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 204, false}
])
end
@doc """
Delete an attachment
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- attachment_id (String.t): ID of attachment
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %{}} on success
{:error, info} on failure
"""
@spec delete_attachment(Tesla.Env.client, String.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t}
def delete_attachment(connection, attachment_id, _opts \\ []) do
%{}
|> method(:delete)
|> url("/attachments/#{attachment_id}")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 204, false}
])
end
@doc """
Get email attachment as base64 encoded string as alternative to binary responses. To read the content decode the Base64 encoded contents.
Returns the specified attachment for a given email as a base 64 encoded string. The response type is application/json. This method is similar to the `downloadAttachment` method but allows some clients to get around issues with binary responses.
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- attachment_id (String.t): ID of attachment
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.DownloadAttachmentDto{}} on success
{:error, info} on failure
"""
@spec download_attachment_as_base64_encoded(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.DownloadAttachmentDto.t} | {:error, Tesla.Env.t}
def download_attachment_as_base64_encoded(connection, attachment_id, _opts \\ []) do
%{}
|> method(:get)
|> url("/attachments/#{attachment_id}/base64")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.DownloadAttachmentDto{}}
])
end
@doc """
Download attachments. Get email attachment bytes. If you have trouble with byte responses try the `downloadAttachmentBase64` response endpoints.
Returns the specified attachment for a given email as a stream / array of bytes. You can find attachment ids in email responses endpoint responses. The response type is application/octet-stream.
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- attachment_id (String.t): ID of attachment
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.binary(){}} on success
{:error, info} on failure
"""
@spec download_attachment_as_bytes(Tesla.Env.client, String.t, keyword()) :: {:ok, String.t} | {:error, Tesla.Env.t}
def download_attachment_as_bytes(connection, attachment_id, _opts \\ []) do
%{}
|> method(:get)
|> url("/attachments/#{attachment_id}/bytes")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ :default, false}
])
end
@doc """
Get an attachment entity
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- attachment_id (String.t): ID of attachment
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.AttachmentEntity{}} on success
{:error, info} on failure
"""
@spec get_attachment(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.AttachmentEntity.t} | {:error, Tesla.Env.t}
def get_attachment(connection, attachment_id, _opts \\ []) do
%{}
|> method(:get)
|> url("/attachments/#{attachment_id}")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.AttachmentEntity{}}
])
end
@doc """
Get email attachment metadata information
Returns the metadata for an attachment. It is saved separately to the content of the attachment. Contains properties `name` and `content-type` and `content-length` in bytes for a given attachment.
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- attachment_id (String.t): ID of attachment
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.AttachmentMetaData{}} on success
{:error, info} on failure
"""
@spec get_attachment_info(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.AttachmentMetaData.t} | {:error, Tesla.Env.t}
def get_attachment_info(connection, attachment_id, _opts \\ []) do
%{}
|> method(:get)
|> url("/attachments/#{attachment_id}/metadata")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.AttachmentMetaData{}}
])
end
@doc """
Get email attachments
Get all attachments in paginated response. Each entity contains meta data for the attachment such as `name` and `content-type`. Use the `attachmentId` and the download endpoints to get the file contents.
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- opts (KeywordList): [optional] Optional parameters
- :page (integer()): Optional page index for list pagination
- :size (integer()): Optional page size for list pagination
- :sort (String.t): Optional createdAt sort direction ASC or DESC
- :file_name_filter (String.t): Optional file name and content type search filter
- :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.PageAttachmentEntity{}} on success
{:error, info} on failure
"""
@spec get_attachments(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.PageAttachmentEntity.t} | {:error, Tesla.Env.t}
def get_attachments(connection, opts \\ []) do
optional_params = %{
:"page" => :query,
:"size" => :query,
:"sort" => :query,
:"fileNameFilter" => :query,
:"since" => :query,
:"before" => :query
}
%{}
|> method(:get)
|> url("/attachments")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.PageAttachmentEntity{}}
])
end
@doc """
Upload an attachment for sending using base64 file encoding. Returns an array whose first element is the ID of the uploaded attachment.
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- upload_attachment_options (UploadAttachmentOptions):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, [%String{}, ...]} on success
{:error, info} on failure
"""
@spec upload_attachment(Tesla.Env.client, MailSlurpAPI.Model.UploadAttachmentOptions.t, keyword()) :: {:ok, list(String.t)} | {:error, Tesla.Env.t}
def upload_attachment(connection, upload_attachment_options, _opts \\ []) do
%{}
|> method(:post)
|> url("/attachments")
|> add_param(:body, :body, upload_attachment_options)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 201, []}
])
end
@doc """
Upload an attachment for sending using file byte stream input octet stream. Returns an array whose first element is the ID of the uploaded attachment.
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- inline_object1 (InlineObject1):
- opts (KeywordList): [optional] Optional parameters
- :content_type (String.t): Optional contentType for file. For instance `application/pdf`
- :filename (String.t): Optional filename to save upload with
## Returns
{:ok, [%String{}, ...]} on success
{:error, info} on failure
"""
@spec upload_attachment_bytes(Tesla.Env.client, MailSlurpAPI.Model.InlineObject1.t, keyword()) :: {:ok, list(String.t)} | {:error, Tesla.Env.t}
def upload_attachment_bytes(connection, inline_object1, opts \\ []) do
optional_params = %{
:"contentType" => :headers,
:"filename" => :query
}
%{}
|> method(:post)
|> url("/attachments/bytes")
|> add_param(:body, :body, inline_object1)
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 201, []}
])
end
@doc """
Upload an attachment for sending using a Multipart Form request. Returns an array whose first element is the ID of the uploaded attachment.
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- opts (KeywordList): [optional] Optional parameters
- :content_type (String.t): Optional content type of attachment
- :filename (String.t): Optional name of file
- :x_filename (String.t): Optional content type header of attachment
- :inline_object (InlineObject):
## Returns
{:ok, [%String{}, ...]} on success
{:error, info} on failure
"""
@spec upload_multipart_form(Tesla.Env.client, keyword()) :: {:ok, list(String.t)} | {:error, Tesla.Env.t}
def upload_multipart_form(connection, opts \\ []) do
optional_params = %{
:"contentType" => :query,
:"filename" => :query,
:"x-filename" => :query,
:"InlineObject" => :body
}
%{}
|> method(:post)
|> url("/attachments/multipart")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 201, []}
])
end
end