# 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.ConnectorController do @moduledoc """ API calls for all endpoints tagged `ConnectorController`. """ alias MailSlurpAPI.Connection import MailSlurpAPI.RequestBuilder @doc """ Create an inbox connector Sync emails between external mailboxes and MailSlurp inboxes ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - create_connector_options (CreateConnectorOptions): - opts (KeywordList): [optional] Optional parameters ## Returns {:ok, %MailSlurpAPI.Model.ConnectorDto{}} on success {:error, info} on failure """ @spec create_connector(Tesla.Env.client, MailSlurpAPI.Model.CreateConnectorOptions.t, keyword()) :: {:ok, MailSlurpAPI.Model.ConnectorDto.t} | {:error, Tesla.Env.t} def create_connector(connection, create_connector_options, _opts \\ []) do %{} |> method(:post) |> url("/connectors") |> add_param(:body, :body, create_connector_options) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 201, %MailSlurpAPI.Model.ConnectorDto{}} ]) end @doc """ Delete an inbox connector ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - id (String.t): - opts (KeywordList): [optional] Optional parameters ## Returns {:ok, %{}} on success {:error, info} on failure """ @spec delete_connector(Tesla.Env.client, String.t, keyword()) :: {:ok, nil} | {:error, Tesla.Env.t} def delete_connector(connection, id, _opts \\ []) do %{} |> method(:delete) |> url("/connectors/#{id}") |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 204, false} ]) end @doc """ Get all inbox connector sync events ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - opts (KeywordList): [optional] Optional parameters - :page (integer()): Optional page index in connector list pagination - :size (integer()): Optional page size in connector 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.PageConnectorSyncEvents{}} on success {:error, info} on failure """ @spec get_all_connector_sync_events(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.PageConnectorSyncEvents.t} | {:error, Tesla.Env.t} def get_all_connector_sync_events(connection, opts \\ []) do optional_params = %{ :"page" => :query, :"size" => :query, :"sort" => :query, :"since" => :query, :"before" => :query } %{} |> method(:get) |> url("/connectors/events") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.PageConnectorSyncEvents{}} ]) end @doc """ Get an inbox connector ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - id (String.t): - opts (KeywordList): [optional] Optional parameters ## Returns {:ok, %MailSlurpAPI.Model.ConnectorDto{}} on success {:error, info} on failure """ @spec get_connector(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.ConnectorDto.t} | {:error, Tesla.Env.t} def get_connector(connection, id, _opts \\ []) do %{} |> method(:get) |> url("/connectors/#{id}") |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.ConnectorDto{}} ]) end @doc """ Get an inbox connector sync event ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - id (String.t): - opts (KeywordList): [optional] Optional parameters ## Returns {:ok, %MailSlurpAPI.Model.ConnectorSyncEventDto{}} on success {:error, info} on failure """ @spec get_connector_sync_event(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.ConnectorSyncEventDto.t} | {:error, Tesla.Env.t} def get_connector_sync_event(connection, id, _opts \\ []) do %{} |> method(:get) |> url("/connectors/events/#{id}") |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.ConnectorSyncEventDto{}} ]) end @doc """ Get an inbox connector sync events ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - id (String.t): - opts (KeywordList): [optional] Optional parameters - :page (integer()): Optional page index in connector list pagination - :size (integer()): Optional page size in connector 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.PageConnectorSyncEvents{}} on success {:error, info} on failure """ @spec get_connector_sync_events(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.PageConnectorSyncEvents.t} | {:error, Tesla.Env.t} def get_connector_sync_events(connection, id, opts \\ []) do optional_params = %{ :"page" => :query, :"size" => :query, :"sort" => :query, :"since" => :query, :"before" => :query } %{} |> method(:get) |> url("/connectors/#{id}/events") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.PageConnectorSyncEvents{}} ]) end @doc """ Get inbox connectors List inbox connectors that sync external emails to MailSlurp inboxes ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - opts (KeywordList): [optional] Optional parameters - :page (integer()): Optional page index in connector list pagination - :size (integer()): Optional page size in connector 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.PageConnector{}} on success {:error, info} on failure """ @spec get_connectors(Tesla.Env.client, keyword()) :: {:ok, MailSlurpAPI.Model.PageConnector.t} | {:error, Tesla.Env.t} def get_connectors(connection, opts \\ []) do optional_params = %{ :"page" => :query, :"size" => :query, :"sort" => :query, :"since" => :query, :"before" => :query } %{} |> method(:get) |> url("/connectors") |> add_optional_params(optional_params, opts) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.PageConnector{}} ]) end @doc """ Sync an inbox connector ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - id (String.t): - opts (KeywordList): [optional] Optional parameters ## Returns {:ok, %MailSlurpAPI.Model.ConnectorSyncRequestResult{}} on success {:error, info} on failure """ @spec sync_connector(Tesla.Env.client, String.t, keyword()) :: {:ok, MailSlurpAPI.Model.ConnectorSyncRequestResult.t} | {:error, Tesla.Env.t} def sync_connector(connection, id, _opts \\ []) do %{} |> method(:post) |> url("/connectors/#{id}/sync") |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.ConnectorSyncRequestResult{}} ]) end @doc """ Update an inbox connector ## Parameters - connection (MailSlurpAPI.Connection): Connection to server - id (String.t): - create_connector_options (CreateConnectorOptions): - opts (KeywordList): [optional] Optional parameters ## Returns {:ok, %MailSlurpAPI.Model.ConnectorDto{}} on success {:error, info} on failure """ @spec update_connector(Tesla.Env.client, String.t, MailSlurpAPI.Model.CreateConnectorOptions.t, keyword()) :: {:ok, MailSlurpAPI.Model.ConnectorDto.t} | {:error, Tesla.Env.t} def update_connector(connection, id, create_connector_options, _opts \\ []) do %{} |> method(:put) |> url("/connectors/#{id}") |> add_param(:body, :body, create_connector_options) |> Enum.into([]) |> (&Connection.request(connection, &1)).() |> evaluate_response([ { 200, %MailSlurpAPI.Model.ConnectorDto{}} ]) end end