# Timesheet User Application

The timesheet module defines some routes for user applications:

> - `GET` `/<database_name>/timesheet/employees`: return the list of the user employees as dictionary with the keys: `id` and `name`.

> - `GET` `/<database_name>/timesheet/employee/<int:employee>/works`: return the list of works available for the employee. The works are dictionary with keys: `id`, `name`, `start` and `end`. The dates are in the format `%Y-%m-%d`.

> - `GET` `/<database_name>/timesheet/employee/<int:employee>/lines/<date>`: return the list of timesheet lines for the employee at the date (`%Y-%m-%d`). The lines are dictionary with keys: `id`, `work`, `work.name`, `duration`, `description` and `uuid`. The duration is in seconds.

> - `POST` `/<database_name>/timesheet/line`: Create a line using the data as dictionary of value. The date must be in the format `%Y-%m-%d` and the `duration` in seconds. If a `uuid` value is provided, it will update the record if found instead of create a new one.

> - `PUT` `/<database_name>/timesheet/line/<int:line>`: Update the line using the data like for the `POST`.

> - `DELETE` `/<database_name>/timesheet/line/<int:line>`: Delete the line