DRIVER LEAVE REQUEST
📝 Technical Specification: Driver Leave Request
📋 Feature Overview
🛠️ Technical Implementation
A. Permissions & Access Control
Note: Access is controlled via
PermissionGuard and component-level checks.| Scope | Permission Code | Description & Page Usage |
|---|---|---|
| Menu Visibility | DRIVER_LEAVE_REQUEST.MENU |
Sidebar menu visibility.
|
| Page Routing | DRIVER_LEAVE_REQUEST.LISTING |
Access to listing route.\listing-driver-leave-request |
| Page Routing | DRIVER_LEAVE_REQUEST.UPDATE |
Access to add/edit route.
|
| Create Action | DRIVER_LEAVE_REQUEST.UPDATE |
Controls the + Add button on listing.\listing-driver-leave-request |
| View Access | DRIVER_LEAVE_REQUEST.VIEW |
Controls visibility of Edit icon.\listing-driver-leave-request |
| Delete Action | DRIVER_LEAVE_REQUEST.DELETE |
Visibility of the Delete 🗑️ icon.\listing-driver-leave-request |
| Edit/Save Action | DRIVER_LEAVE_REQUEST.UPDATE |
Ability to save changes on Add/Edit screen.\add-driver-leave-request-manage |
B. API Interaction
Base URL:
${environment.baseApiUrl}1. Listing Driver Leave Request
\listing-driver-leave-request/driverLeaveRequests/getQuery
POSTFilter:
driverFullName, requestStatus (Pending/Approved/Cancelled)/driverLeaveRequests/delete
POSTPurpose: Delete Record
/leave-request-report/leaveRequestReport
GETPurpose: Generate PDF Report (Pending, Approved, or Cancelled)
2. Add/Edit Driver Leave Request
\add-driver-leave-request-manage/drivers/getQuery
POSTFilter:
isDeleted=0 (Active Drivers)/settings/getQuery
POSTFilter:
type='Leave Request Status'/settings/getQuery
POSTFilter:
type='Leave Type'/driverLeaveRequests/getOne
GETPurpose: Fetch specific record details (Edit Mode)
/driverLeaveRequests/createWithFile
POSTPurpose: Create new request (Multipart Form Data)
/driverLeaveRequests/updateWithFile
POSTPurpose: Update existing request (Multipart Form Data)
/driverLeaveRequest/getDriverLeavePastHistory
POSTPurpose: View driver's past leave history
/driverLeaveRequest/cancelLeaveRequest
POSTPurpose: Cancel an active request