Packages

mailslurp

12.8.2
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 an attachment
Email attachments are essentially files with meta data. Files are byte arrays and the meta data is a content type and a filename. These properties allow email clients to display the filename and icon etc. When sending emails with attachments first upload each attachment with an upload endpoint. Record the returned attachment ID and use it with subsequent email sending. For legacy reasons the ID is returned as the first element in an array. Only a single ID is ever returned. To send the attachments pass a list of attachment IDs with `SendEmailOptions` when sending an email. Using the upload endpoints prior to sending mean attachments can easily be reused.
## 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},
{ 401, false},
{ 403, 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{}},
{ 401, false},
{ 403, false},
{ 404, false}
])
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([
{ 200, false},
{ 401, false},
{ 403, false},
{ 404, false}
])
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{}},
{ 401, false},
{ 403, false},
{ 404, false}
])
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
- :file_name_filter (String.t): Optional file name and content type search filter
- :page (integer()): Optional page index event list pagination
- :size (integer()): Optional page size event list pagination
- :sort (String.t): Optional createdAt sort direction ASC or DESC
## 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 = %{
:"fileNameFilter" => :query,
:"page" => :query,
:"size" => :query,
:"sort" => :query
}
%{}
|> method(:get)
|> url("/attachments")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.PageAttachmentEntity{}},
{ 401, false},
{ 403, false},
{ 404, false}
])
end
@doc """
Upload an attachment for sending using base64 file encoding. Returns an array whose first element is the ID of the uploaded attachment.
Email attachments are essentially files with meta data. Files are byte arrays and the meta data is a content type and a filename. These properties allow email clients to display the filename and icon etc. When sending emails with attachments first upload each attachment with an upload endpoint. Record the returned attachment ID and use it with subsequent email sending. For legacy reasons the ID is returned as the first element in an array. Only a single ID is ever returned. To send the attachments pass a list of attachment IDs with `SendEmailOptions` when sending an email. Using the upload endpoints prior to sending mean attachments can easily be reused.
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- upload_options (UploadAttachmentOptions): uploadOptions
- 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_options, _opts \\ []) do
%{}
|> method(:post)
|> url("/attachments")
|> add_param(:body, :body, upload_options)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 201, []},
{ 401, false},
{ 403, false},
{ 404, false}
])
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.
Email attachments are essentially files with meta data. Files are byte arrays and the meta data is a content type and a filename. These properties allow email clients to display the filename and icon etc. When sending emails with attachments first upload each attachment with an upload endpoint. Record the returned attachment ID and use it with subsequent email sending. For legacy reasons the ID is returned as the first element in an array. Only a single ID is ever returned. To send the attachments pass a list of attachment IDs with `SendEmailOptions` when sending an email. Using the upload endpoints prior to sending mean attachments can easily be reused.
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- opts (KeywordList): [optional] Optional parameters
- :string (String.t): Optional contentType for file. For instance `application/pdf`
- :filename (String.t): Optional filename to save upload with
- :byte_array (binary()): Byte array request body
## Returns
{:ok, [%String{}, ...]} on success
{:error, info} on failure
"""
@spec upload_attachment_bytes(Tesla.Env.client, keyword()) :: {:ok, list(String.t)} | {:error, Tesla.Env.t}
def upload_attachment_bytes(connection, opts \\ []) do
optional_params = %{
:"String" => :query,
:"filename" => :query,
:"byteArray" => :body
}
%{}
|> method(:post)
|> url("/attachments/bytes")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 201, []},
{ 401, false},
{ 403, false},
{ 404, false}
])
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.
Email attachments are essentially files with meta data. Files are byte arrays and the meta data is a content type and a filename. These properties allow email clients to display the filename and icon etc. When sending emails with attachments first upload each attachment with an upload endpoint. Record the returned attachment ID and use it with subsequent email sending. For legacy reasons the ID is returned as the first element in an array. Only a single ID is ever returned. To send the attachments pass a list of attachment IDs with `SendEmailOptions` when sending an email. Using the upload endpoints prior to sending mean attachments can easily be reused.
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- file (String.t): file
- 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
## Returns
{:ok, [%String{}, ...]} on success
{:error, info} on failure
"""
@spec upload_multipart_form(Tesla.Env.client, String.t, keyword()) :: {:ok, list(String.t)} | {:error, Tesla.Env.t}
def upload_multipart_form(connection, file, opts \\ []) do
optional_params = %{
:"contentType" => :query,
:"filename" => :query,
:"x-filename" => :query
}
%{}
|> method(:post)
|> url("/attachments/multipart")
|> add_param(:file, :"file", file)
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 201, []},
{ 401, false},
{ 403, false},
{ 404, false}
])
end
end