Humaans.TimesheetEntries behaviour (Humaans v0.4.0)
View SourceThis module provides functions for managing timesheet entry resources in the Humaans API. Timesheet entries represent individual time records for a person, such as hours worked on a specific date.
Summary
Functions
Creates a new timesheet entry resource.
Deletes a specific timesheet entry by ID.
Lists all timesheet entry resources.
Retrieves a specific timesheet entry by ID.
Updates a specific timesheet entry by ID.
Types
Callbacks
Functions
Creates a new timesheet entry resource.
Parameters
client
- Client map created withHumaans.new/1
params
- Map of parameters for the new timesheet entry
Examples
client = Humaans.new(access_token: "your_access_token")
params = %{
personId: "person_id",
date: "2023-01-10",
startTime: "09:00:00",
endTime: "17:00:00"
}
{:ok, entry} = Humaans.TimesheetEntries.create(client, params)
@spec delete(client :: map(), id :: String.t()) :: delete_response()
Deletes a specific timesheet entry by ID.
Parameters
client
- Client map created withHumaans.new/1
id
- String ID of the timesheet entry to delete
Examples
client = Humaans.new(access_token: "your_access_token")
{:ok, result} = Humaans.TimesheetEntries.delete(client, "entry_id")
# result contains %{id: "entry_id", deleted: true}
@spec list(client :: map(), params :: keyword()) :: list_response()
Lists all timesheet entry resources.
Returns a list of timesheet entry 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 timesheet entries
{:ok, entries} = Humaans.TimesheetEntries.list(client)
# List with filtering parameters
{:ok, entries} = Humaans.TimesheetEntries.list(client, %{personId: "person_id"})
Retrieves a specific timesheet entry by ID.
Parameters
client
- Client map created withHumaans.new/1
id
- String ID of the timesheet entry to retrieve
Examples
client = Humaans.new(access_token: "your_access_token")
{:ok, entry} = Humaans.TimesheetEntries.retrieve(client, "entry_id")
Updates a specific timesheet entry by ID.
Parameters
client
- Client map created withHumaans.new/1
id
- String ID of the timesheet entry to updateparams
- Map of parameters to update
Examples
client = Humaans.new(access_token: "your_access_token")
params = %{startTime: "10:00:00", endTime: "18:00:00"}
{:ok, updated_entry} = Humaans.TimesheetEntries.update(client, "entry_id", params)