Packages

Production-ready Elixir client for the GoCardless API.

Current section

Files

Jump to
gocardless_client lib gocardless_client resources mandate_import_entries.ex
Raw

lib/gocardless_client/resources/mandate_import_entries.ex

defmodule GoCardlessClient.Resources.MandateImportEntries do
@moduledoc """
GoCardlessClient Mandate Import Entries API.
See https://developer.gocardless.com/api-reference/#mandate-import-entries for full documentation.
"""
alias GoCardlessClient.{Client, Paginator, Resource}
@resource_key "mandate_import_entries"
@base_path "/mandate_import_entries"
@doc "Creates a new mandate import entries resource."
@spec create(Client.t(), map(), keyword()) ::
{:ok, map()} | {:error, GoCardlessClient.APIError.t() | GoCardlessClient.Error.t()}
def create(%Client{} = client, params, opts \\ []) do
Resource.post(client, @base_path, @resource_key, params, opts)
end
@doc "Retrieves a single mandate import entries by ID."
@spec get(Client.t(), String.t(), keyword()) ::
{:ok, map()} | {:error, GoCardlessClient.APIError.t() | GoCardlessClient.Error.t()}
def get(%Client{} = client, id, opts \\ []) do
Resource.get(client, "#{@base_path}/#{id}", @resource_key, opts)
end
@doc "Updates a mandate import entries."
@spec update(Client.t(), String.t(), map(), keyword()) ::
{:ok, map()} | {:error, GoCardlessClient.APIError.t() | GoCardlessClient.Error.t()}
def update(%Client{} = client, id, params, opts \\ []) do
Resource.put(client, "#{@base_path}/#{id}", @resource_key, params, opts)
end
@doc "Lists mandate_import_entries with optional filter params."
@spec list(Client.t(), map(), keyword()) ::
{:ok, %{items: [map()], meta: map()}}
| {:error, GoCardlessClient.APIError.t() | GoCardlessClient.Error.t()}
def list(%Client{} = client, params \\ %{}, opts \\ []) do
Resource.list(client, @base_path, @resource_key, params, opts)
end
@doc "Returns a lazy `Stream` over all pages of mandate_import_entries."
@spec stream(Client.t(), map(), keyword()) :: Enumerable.t()
def stream(%Client{} = client, params \\ %{}, opts \\ []) do
Paginator.stream(client, @base_path, params, @resource_key, opts)
end
@doc "Eagerly collects all mandate_import_entries into a list across all pages."
@spec collect_all(Client.t(), map(), keyword()) ::
{:ok, [map()]} | {:error, GoCardlessClient.APIError.t() | GoCardlessClient.Error.t()}
def collect_all(%Client{} = client, params \\ %{}, opts \\ []) do
Paginator.collect(client, @base_path, params, @resource_key, opts)
end
end