Supabase.StorageBehaviour behaviour (supabase_storage v0.1.0)

Defines Supabase Storage Client callbacks

Summary

Types

@type conn() :: atom() | pid()
@type reason() :: String.t() | atom()
@type result(a) :: {:ok, a} | {:error, reason()}

Callbacks

Link to this callback

copy_object(conn, t, t, t)

@callback copy_object(
  conn(),
  Supabase.Storage.Bucket.t(),
  Supabase.Storage.Object.t(),
  String.t()
) ::
  result(:copied)
Link to this callback

create_bucket(conn, map)

@callback create_bucket(conn(), map()) :: result(Supabase.Storage.Bucket.t())
Link to this callback

create_signed_url(conn, t, t, integer)

@callback create_signed_url(conn(), Supabase.Storage.Bucket.t(), String.t(), integer()) ::
  result(String.t())
Link to this callback

delete_bucket(conn, t)

@callback delete_bucket(conn(), Supabase.Storage.Bucket.t()) :: result(:deleted)
Link to this callback

download_object(conn, t, wildcard)

@callback download_object(conn(), Supabase.Storage.Bucket.t(), wildcard) ::
  result(binary())
when wildcard: String.t()
Link to this callback

download_object_lazy(conn, t, wildcard)

@callback download_object_lazy(conn(), Supabase.Storage.Bucket.t(), wildcard) ::
  result(Stream.t())
when wildcard: String.t()
Link to this callback

empty_bucket(conn, t)

@callback empty_bucket(conn(), Supabase.Storage.Bucket.t()) :: result(:emptied)
Link to this callback

list_buckets(conn)

@callback list_buckets(conn()) :: result([Supabase.Storage.Bucket.t()])
Link to this callback

list_objects(conn, t, prefix, t)

@callback list_objects(
  conn(),
  Supabase.Storage.Bucket.t(),
  prefix,
  Supabase.Storage.SearchOptions.t()
) ::
  result([Supabase.Storage.Object.t()])
when prefix: String.t()
Link to this callback

move_object(conn, t, t, t)

@callback move_object(
  conn(),
  Supabase.Storage.Bucket.t(),
  Supabase.Storage.Object.t(),
  String.t()
) ::
  result(:moved)
Link to this callback

remove_object(conn, t, t)

@callback remove_object(conn(), Supabase.Storage.Bucket.t(), Supabase.Storage.Object.t()) ::
  result(:deleted)
Link to this callback

retrieve_bucket_info(conn, id)

@callback retrieve_bucket_info(conn(), id) :: result(Supabase.Storage.Bucket.t())
when id: String.t()
Link to this callback

retrieve_object_info(conn, t, t)

@callback retrieve_object_info(conn(), Supabase.Storage.Bucket.t(), String.t()) ::
  result(Supabase.Storage.Object.t())
Link to this callback

save_object(conn, dest, t, wildcard)

@callback save_object(conn(), dest, Supabase.Storage.Bucket.t(), wildcard) ::
  :ok | {:error, atom()}
when wildcard: String.t(), dest: Path.t()
Link to this callback

save_object_stream(conn, dest, t, wildcard)

@callback save_object_stream(conn(), dest, Supabase.Storage.Bucket.t(), wildcard) ::
  :ok | {:error, atom()}
when wildcard: String.t(), dest: Path.t()
Link to this callback

update_bucket(conn, t, map)

@callback update_bucket(conn(), Supabase.Storage.Bucket.t(), map()) ::
  result(Supabase.Storage.Bucket.t())
Link to this callback

upload_object(conn, t, dest, source, t)

@callback upload_object(
  conn(),
  Supabase.Storage.Bucket.t(),
  dest,
  source,
  Supabase.Storage.ObjectOptions.t()
) :: result(Supabase.Storage.Object.t())
when dest: String.t(), source: Path.t()