Humaans.Companies behaviour (Humaans v0.1.0)

View Source

Handles operations related to bank accounts.

Summary

Types

list_response()

@type list_response() ::
  {:ok,
   [
     %Humaans.Resources.Company{
       autogenerate_employee_id: term(),
       autogenerate_employee_id_for_new_hires: term(),
       created_at: term(),
       domains: term(),
       id: term(),
       is_timesheet_enabled: term(),
       name: term(),
       next_employee_id: term(),
       package: term(),
       payment_status: term(),
       status: term(),
       trial_end_date: term(),
       updated_at: term()
     }
   ]}
  | {:error, any()}

response()

@type response() ::
  {:ok,
   %Humaans.Resources.Company{
     autogenerate_employee_id: term(),
     autogenerate_employee_id_for_new_hires: term(),
     created_at: term(),
     domains: term(),
     id: term(),
     is_timesheet_enabled: term(),
     name: term(),
     next_employee_id: term(),
     package: term(),
     payment_status: term(),
     status: term(),
     trial_end_date: term(),
     updated_at: term()
   }}
  | {:error, any()}

Callbacks

get(t)

@callback get(String.t()) :: {:ok, map()} | {:error, any()}

list(map)

@callback list(map()) :: {:ok, map()} | {:error, any()}

update(t, map)

@callback update(String.t(), map()) :: {:ok, map()} | {:error, any()}

Functions

get(id)

@spec get(id :: String.t()) :: response()

list(params \\ %{})

@spec list(params :: keyword()) :: list_response()

update(id, params)

@spec update(id :: String.t(), params :: keyword()) :: response()