defmodule Circlex.Api.Channels do
@moduledoc """
API Client to the Channels API.
Reference: https://developers.circle.com/reference/listchannels
"""
import Circlex.Api.Tooling
@doc ~S"""
Retrieve a list of channels with details (e.g. cardDescriptor, achDescriptor,
etc.).
Reference: https://developers.circle.com/reference/listchannels
Note: not currently implemented by Emulator.
## Examples
iex> host = Circlex.Test.start_server()
iex> Circlex.Api.Channels.list_channels(host: host)
{:error, %{error: "not found"}}
"""
def list_channels(opts \\ []) do
with {:ok, channels} <-
api_get("/v1/channels", opts) do
{:ok,
Enum.map(channels, fn %{
"id" => id,
"default" => default,
"cardDescriptor" => card_descriptor,
"achDescriptor" => ach_descriptor
} ->
%{
id: id,
default: default,
card_descriptor: card_descriptor,
ach_descriptor: ach_descriptor
}
end)}
end
end
end