Chargebeex.Resource behaviour (chargebeex v0.6.0)

View Source

Generic macro implemented by most of the Chargebee resources. Provides whenever it is possible retrieve/create/list/update/delete actions for each resource.

Summary

Callbacks

Build a raw data map into in an internal structure.

Create a resource

Delete a resource

List a resource

Retrieve a resource

Update a resource

Callbacks

build(raw_data)

@callback build(raw_data :: map()) :: struct()

Build a raw data map into in an internal structure.

create(params)

(optional)
@callback create(params :: map()) :: {:ok, struct()}

Create a resource

create(params, opts)

(optional)
@callback create(params :: map(), opts :: list()) :: {:ok, struct()}

delete(id)

(optional)
@callback delete(id :: String.t()) :: {:ok, struct()}

Delete a resource

delete(id, opts)

(optional)
@callback delete(id :: String.t(), opts :: list()) :: {:ok, struct()}

list(params)

(optional)
@callback list(params :: map()) :: {:ok, list(), map()}

List a resource

list(params, opts)

(optional)
@callback list(params :: map(), opts :: list()) :: {:ok, list(), map()}

retrieve(id)

(optional)
@callback retrieve(id :: String.t()) :: {:ok, struct()}

Retrieve a resource

retrieve(id, opts)

(optional)
@callback retrieve(id :: String.t(), opts :: list()) :: {:ok, struct()}

update(id, params)

(optional)
@callback update(id :: String.t(), params :: map()) :: {:ok, struct()}

Update a resource

update(id, params, opts)

(optional)
@callback update(id :: String.t(), params :: map(), opts :: list()) :: {:ok, struct()}