The application.example.properties is a example of the properties that you should set in your application.properties file. To get started you must first create the database "employee_db".
Endpoint: /api/jobs/add-job
Method: POST
Request:
{
"name": "Doctor",
"salary": 200
}
Response:
{
"id": 1, //id inserted or null on error case
"success": true //true if the record was inserted or false on error case
}
{
"id": null,
"success": false
}
Endpoint: /api/genders/add-gender
Method: POST
Request:
{
"name": "Male"
}
Response:
{
"id": 1, //id inserted or null on error case
"success": true //true if the record was inserted or false on error case
}
{
"id": null,
"success": false
}
Endpoint: /api/employees/add-employee
Method: POST
Request:
{
"gender_id": 1, //genders catalog id
"job_id": 1, //jobs catalog id
"name": "John", //employee's name
"last_name": "Doe", //employee's last name
"birthdate": "2000-05-03" //employee's date of birth
}
Response:
{
"id": 1, //id inserted or null on error case
"success": true //true if the record was inserted or false on error case
}
{
"id": null,
"success": false
}
Endpoint: /api/employee-worked-hours/add-worked-hours
Method: POST
Request:
{
"employee_id": 1, //employees catalog id
"worked_hours": 10, //employee worked hours
"worked_date": "2023-08-06" //employee worked date
}
Response:
{
"id": 1, //id inserted or null on error case
"success": true //true if the record was inserted or false on error case
}
{
"id": null,
"success": false
}
Endpoint: /api/employees/by-job
Method: POST
Request:
{
"job_id": 1
}
Response:
{
"employees": [ //array of employees
{
"id": 1,
"name": "Roberto",
"last_name": "Gomez",
"birthdate": "2000-05-03",
"gender": {
"id": 1,
"name": "Male"
},
"job": {
"id": 1,
"name": "Doctor",
"salary": 200.0
},
"gender_id": 1,
"job_id": 1
},
...
],
"success": true //true if the data was successfully obtained, false on error case
}
{
"employees": [],
"success": false //false if no employees were found or there is an error
}
Endpoint: /api/employee-worked-hours/total-worked-hours
Method: POST
Request:
{
"employee_id": 1, //employees catalog id
"start_date": "2023-08-01",
"end_date": "2023-08-10"
}
Response:
{
"total_worked_hours": 10, //employee's total worked hours or null on error case
"success": true //true if the data was successfully obtained, false on error case
}
{
"total_worked_hours": null,
"success": false
}
Endpoint: /api/jobs/total-payment
Method: POST
Request:
{
"employee_id": 1, //employees catalog id
"start_date": "2023-08-01",
"end_date": "2023-08-10"
}
Response:
{
"payment": 2000.0, //amount paid to the employee or null in case of error
"success": true //true if the data was successfully obtained, false on error case
}
{
"payment": null,
"success": false
}
Nota: En este endpoint el cálculo final se realiza operando el salario del Job multiplicado por el total de horas trabajadas en un rango de fecha determinado ya que no hay suficiente información.