Skip to main content

HR

Controllers13
Endpoints81
Tables19
Screens19
API reference/api/ — group hr
OpenAPI spec/openapi/hr.json

URL prefixes​

Endpoints belong to this module by URL, exactly as the OpenAPI group defines it in backend/src/main/java/com/motorph/payroll/config/OpenApiConfiguration.java.

  • /api/employees/**
  • /api/departments/**
  • /api/positions/**
  • /api/timesheets/**
  • /api/leave-requests/**
  • /api/leave-types/**
  • /api/leave-balances/**
  • /api/overtime-requests/**
  • /api/holidays/**
  • /api/work-suspensions/**
  • /api/announcements/**
  • /api/recognition-awards/**
  • /api/certificate-templates/**

Controllers​

ControllerBase pathEndpointsGETPOSTPUTPATCHDELETE
AnnouncementController/api/announcements721121
CertificateTemplateController/api/certificate-templates8223—1
DepartmentController/api/departments831121
EmployeeController/api/employees93114—
LeaveBalanceController/api/leave-balances11————
LeaveRequestController/api/leave-requests733——1
LeaveTypeController/api/leave-types11————
OvertimeRequestController/api/overtime-requests731111
PhHolidayController/api/holidays5121—1
PositionController/api/positions831121
RecognitionAwardController/api/recognition-awards751——1
TimesheetController/api/timesheets1034111
WorkSuspensionController/api/work-suspensions311——1

Across the module: 31 GET, 18 POST, 10 PUT, 12 PATCH, 10 DELETE.

Tables​

Everything this module's controllers can reach through a repository, including through a shared service — so this is the upper bound of what the module touches, not the set of tables it owns. A table appearing under two modules means two modules can read it.

EntityTableColumnsTenant-scoped
Announcementannouncement6Yes
CertificateTemplatecertificate_template15Yes
CompanyProfilecompany_profile20Yes
Departmentdepartment4Yes
Employeeemployee24Yes
LeaveBalanceleave_balance2Yes
LeaveRequestleave_request8Yes
LeaveRequestTypeleave_request_type3Yes
OvertimeRequestovertime_request6Yes
Payrollpayroll10Yes
PayrollChangepayroll_changes6Yes
PayrollSettingspayroll_settings71Yes
Payslippayslip52Yes
PhHolidayph_holidays7Yes
Positionposition4Yes
RecognitionAwardrecognition_award8Yes
Timesheettimesheet7Yes
Userusers11—
WorkSuspensionwork_suspensions5Yes

Screens​

Frontend routes gated by a permission this module's endpoints also require — the link between a page and its API is the permission string, not the URL.

RouteComponentRequires
/departmentsDepartmentshr.employees.manage
/employeesEmployeeshr.employees.view
/government-formsGovernmentFormshr.employees.manage or payroll.manage
/holiday-calendarHolidayCalendarpayroll.holidays.manage or payroll.manage
/leave-requestsLeaveRequestshr.leave.requests.view
/my-awardsMyAwardsemployee.payslip.view
/my-holidaysMyHolidaysemployee.holidays.view
/my-leaveMyLeaveemployee.leave.history.view
/my-overtimeMyOvertimeemployee.overtime.request
/my-payslipsMyPayslipsemployee.payslip.view
/my-profileMyProfileemployee.profile.view
/my-timesheetMyTimesheetemployee.timesheet.view
/overtime-requestsOvertimeRequestshr.overtime.requests.view or payroll.overtime.approve
/payroll-analyticsPayrollAnalyticspayroll.dashboard.view or payroll.manage or payroll.approve
/payroll-runsPayrollRunspayroll.dashboard.view or payroll.manage or payroll.approve
/payroll-runs/:idPayrollRunDetailpayroll.dashboard.view or payroll.manage or payroll.approve
/payroll-settingsPayrollSettingspayroll.settings.manage
/positionsPositionshr.employees.manage
/timesheetsTimesheetshr.timesheets.view

Generated page

This page is rebuilt from the source on every docs build by docs-site/scripts/gen-code-wiki.mjs. Editing it has no effect — change the code, or, if what you want to say is prose, write it in docs/.