ExUtcp.Transports.Graphql.ConnectionBehaviour behaviour (ex_utcp v0.3.2)

Copy Markdown View Source

Behaviour for GraphQL connections to enable mocking in tests.

Summary

Callbacks

close(pid)

@callback close(pid()) :: :ok | {:error, term()}

get_last_used(pid)

@callback get_last_used(pid()) :: integer()

introspect_schema(pid, opts)

@callback introspect_schema(pid(), opts :: keyword()) :: {:ok, map()} | {:error, term()}

mutation(pid, mutation, variables, opts)

@callback mutation(pid(), mutation :: String.t(), variables :: map(), opts :: keyword()) ::
  {:ok, map()} | {:error, term()}

query(pid, query, variables, opts)

@callback query(pid(), query :: String.t(), variables :: map(), opts :: keyword()) ::
  {:ok, map()} | {:error, term()}

start_link(provider)

@callback start_link(provider :: map()) :: {:ok, pid()} | {:error, term()}

subscription(pid, subscription, variables, opts)

@callback subscription(
  pid(),
  subscription :: String.t(),
  variables :: map(),
  opts :: keyword()
) ::
  {:ok, map()} | {:error, term()}

update_last_used(pid)

@callback update_last_used(pid()) :: :ok