Packages

mailslurp

15.13.25
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 group_controller.ex
Raw

lib/mail_slurp_api/api/group_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.GroupController do
@moduledoc """
API calls for all endpoints tagged `GroupController`.
"""
alias MailSlurpAPI.Connection
import MailSlurpAPI.RequestBuilder
@doc """
Add contacts to a group
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- group_id (String.t):
- update_group_contacts (UpdateGroupContacts):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.GroupContactsDto{}} on success
{:error, info} on failure
"""
@spec add_contacts_to_group(Tesla.Env.client, String.t, MailSlurpAPI.Model.UpdateGroupContacts.t, keyword()) :: {:ok, MailSlurpAPI.Model.GroupContactsDto.t} | {:error, Tesla.Env.t}
def add_contacts_to_group(connection, group_id, update_group_contacts, _opts \\ []) do
%{}
|> method(:put)
|> url("/groups/#{group_id}/contacts")
|> add_param(:body, :body, update_group_contacts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.GroupContactsDto{}}
])
end
@doc """
Create a group
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- create_group_options (CreateGroupOptions):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.GroupDto{}} on success
{:error, info} on failure
"""
@spec create_group(Tesla.Env.client, MailSlurpAPI.Model.CreateGroupOptions.t, keyword()) :: {:ok, MailSlurpAPI.Model.GroupDto.t} | {:error, Tesla.Env.t}
def create_group(connection, create_group_options, _opts \\ []) do
%{}
|> method(:post)
|> url("/groups")
|> add_param(:body, :body, create_group_options)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 201, %MailSlurpAPI.Model.GroupDto{}}
])
end
@doc """
Delete group
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- group_id (String.t):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %{}} on success
{:error, info} on failure
"""
@spec delete_group(Tesla.Env.client, String.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t}
def delete_group(connection, group_id, _opts \\ []) do
%{}
|> method(:delete)
|> url("/groups/#{group_id}")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 204, false}
])
end
@doc """
Get all Contact Groups 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
- :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.PageGroupProjection{}} on success
{:error, info} on failure
"""
@spec get_all_groups(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.PageGroupProjection.t} | {:error, Tesla.Env.t}
def get_all_groups(connection, opts \\ []) do
optional_params = %{
:"page" => :query,
:"size" => :query,
:"sort" => :query,
:"since" => :query,
:"before" => :query
}
%{}
|> method(:get)
|> url("/groups/paginated")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.PageGroupProjection{}}
])
end
@doc """
Get group
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- group_id (String.t):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.GroupDto{}} on success
{:error, info} on failure
"""
@spec get_group(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.GroupDto.t} | {:error, Tesla.Env.t}
def get_group(connection, group_id, _opts \\ []) do
%{}
|> method(:get)
|> url("/groups/#{group_id}")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.GroupDto{}}
])
end
@doc """
Get group and contacts belonging to it
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- group_id (String.t):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.GroupContactsDto{}} on success
{:error, info} on failure
"""
@spec get_group_with_contacts(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.GroupContactsDto.t} | {:error, Tesla.Env.t}
def get_group_with_contacts(connection, group_id, _opts \\ []) do
%{}
|> method(:get)
|> url("/groups/#{group_id}/contacts")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.GroupContactsDto{}}
])
end
@doc """
Get group and paginated contacts belonging to it
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- group_id (String.t):
- opts (KeywordList): [optional] Optional parameters
- :page (integer()): Optional page index in group contact pagination
- :size (integer()): Optional page size in group contact pagination
- :sort (String.t): Optional createdAt sort direction ASC or DESC
- :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.PageContactProjection{}} on success
{:error, info} on failure
"""
@spec get_group_with_contacts_paginated(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.PageContactProjection.t} | {:error, Tesla.Env.t}
def get_group_with_contacts_paginated(connection, group_id, opts \\ []) do
optional_params = %{
:"page" => :query,
:"size" => :query,
:"sort" => :query,
:"since" => :query,
:"before" => :query
}
%{}
|> method(:get)
|> url("/groups/#{group_id}/contacts-paginated")
|> add_optional_params(optional_params, opts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.PageContactProjection{}}
])
end
@doc """
Get all groups
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, [%GroupProjection{}, ...]} on success
{:error, info} on failure
"""
@spec get_groups(Tesla.Env.client, keyword()) :: {:ok, list(MailSlurpAPI.Model.GroupProjection.t)} | {:error, Tesla.Env.t}
def get_groups(connection, _opts \\ []) do
%{}
|> method(:get)
|> url("/groups")
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, [%MailSlurpAPI.Model.GroupProjection{}]}
])
end
@doc """
Remove contacts from a group
## Parameters
- connection (MailSlurpAPI.Connection): Connection to server
- group_id (String.t):
- update_group_contacts (UpdateGroupContacts):
- opts (KeywordList): [optional] Optional parameters
## Returns
{:ok, %MailSlurpAPI.Model.GroupContactsDto{}} on success
{:error, info} on failure
"""
@spec remove_contacts_from_group(Tesla.Env.client, String.t, MailSlurpAPI.Model.UpdateGroupContacts.t, keyword()) :: {:ok, MailSlurpAPI.Model.GroupContactsDto.t} | {:error, Tesla.Env.t}
def remove_contacts_from_group(connection, group_id, update_group_contacts, _opts \\ []) do
%{}
|> method(:delete)
|> url("/groups/#{group_id}/contacts")
|> add_param(:body, :body, update_group_contacts)
|> Enum.into([])
|> (&Connection.request(connection, &1)).()
|> evaluate_response([
{ 200, %MailSlurpAPI.Model.GroupContactsDto{}}
])
end
end