Humaans.CompensationTypes behaviour (Humaans v0.4.0)
View SourceThis module provides functions for managing compensation type resources in the Humaans API. Compensation types are used to define different categories of compensation such as salary, bonus, commission, etc.
Summary
Functions
Creates a new compensation type resource.
Deletes a specific compensation type by ID.
Lists all compensation type resources.
Retrieves a specific compensation type by ID.
Updates a specific compensation type by ID.
Types
Callbacks
Functions
Creates a new compensation type resource.
Parameters
client
- Client map created withHumaans.new/1
params
- Map of parameters for the new compensation type
Examples
client = Humaans.new(access_token: "your_access_token")
params = %{
name: "Annual Bonus",
category: "bonus",
payFrequency: "once",
recurring: true
}
{:ok, comp_type} = Humaans.CompensationTypes.create(client, params)
@spec delete(client :: map(), id :: String.t()) :: delete_response()
Deletes a specific compensation type by ID.
Parameters
client
- Client map created withHumaans.new/1
id
- String ID of the compensation type to delete
Examples
client = Humaans.new(access_token: "your_access_token")
{:ok, result} = Humaans.CompensationTypes.delete(client, "type_id")
# result contains %{id: "type_id", deleted: true}
@spec list(client :: map(), params :: keyword()) :: list_response()
Lists all compensation type resources.
Returns a list of compensation type resources that match the optional filters provided in params
.
Parameters
client
- Client map created withHumaans.new/1
params
- Optional parameters for filtering the results (default:%{}
)
Examples
client = Humaans.new(access_token: "your_access_token")
# List all compensation types
{:ok, types} = Humaans.CompensationTypes.list(client)
# List with filtering parameters
{:ok, types} = Humaans.CompensationTypes.list(client, %{limit: 10})
Retrieves a specific compensation type by ID.
Parameters
client
- Client map created withHumaans.new/1
id
- String ID of the compensation type to retrieve
Examples
client = Humaans.new(access_token: "your_access_token")
{:ok, comp_type} = Humaans.CompensationTypes.retrieve(client, "type_id")
Updates a specific compensation type by ID.
Parameters
client
- Client map created withHumaans.new/1
id
- String ID of the compensation type to updateparams
- Map of parameters to update
Examples
client = Humaans.new(access_token: "your_access_token")
params = %{name: "Quarterly Bonus", payFrequency: "quarterly"}
{:ok, updated_type} = Humaans.CompensationTypes.update(client, "type_id", params)