Skip to main content

DRIVER

πŸ‘·πŸΌ Technical Specification: Driver Setup


πŸ“‹ Feature Overview

Attribute Detail
Module πŸ“‚ Directory (DRIVER)
Feature Name Driver Management
Description Manages driver profiles, personal details, licensing (GDL, Passport), and bank beneficiary info. Handles system user creation for Driver PWA access.
Page & Detail
1. Listing Page: /listing-driver-manage
Displays grid of drivers, filters, delete actions, and navigation to sub-pages.
2. Add/Edit Page: /add-driver-manage
Form for creating new drivers, updating details, and linking system users.
3. Bank Info Page: /add-driver-bank-info
Additional function in driver setup for managing beneficiary details.
User Guide πŸ“„ [Ekajaya Admin User Guide - Directory Module, Section 2]

πŸ› οΈ 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.MENU

Sidebar menu visibility forΒ 
\listing-driver-manage

\add-driver-manage

Page Routing DRIVER.LISTING Access to listing route.
\listing-driver-manage
Page Routing DRIVER.VIEW

Access to add/edit route.

\add-driver-manage

Add Permission DRIVER.UPDATE Controls the + Add button visibility.
\listing-driver-manage
View Permission DRIVER.VIEW

Access to the Driver Listing.

\listing-driver-manage

Delete Permission DRIVER.DELETE Visibility of the Delete πŸ—‘οΈ icon.
\listing-driver-manage
Bank Info View Permission DRIVER_BANK_INFO.VIEW Visibility of the Bank icon in listing.
\listing-driver-manage
Edit/Save Permission DRIVER.UPDATE Ability to save changes on Add/Edit page.
\add-driver-manage

B. API Interaction

Base URL: ${environment.baseApiUrl}
1. Listing Driver Manage \listing-driver-manage
/companies/getQuery
POST
Filter: isDeleted=0 (Active companies)
/drivers/getQuery
POST
Filter: fullName, companyId, isDeleted=0
/carriers/getQuery
POST
Filter: driverId, isDeleted=0 (Dependency Check)
/drivers/update
POST
Purpose: Delete (isDeleted=true)
2. Add Driver Manage \add-driver-manage
/companies/getQuery
POST
Filter: isDeleted=0 (Active companies)
/settings/getQuery
POST
Filter: type='Nationality'
/settings/getQuery
POST
Filter: type='Preference Route'
/countries/getQuery
POST
Purpose: Populate countryDataSource
/states/getQuery
POST
Filter: countryId
/districts/getQuery
POST
Filter: stateId
/drivers/getQuery
POST
Filter: id (Fetch specific record)
/drivers/getQuery
POST
Filter: identificationNumber (Uniqueness Check)
/drivers/create
POST
Purpose: Create new dataSource record
/drivers/update
POST
Purpose: Update existing dataSource record
/admin/createUser
POST
Purpose: Activate System User for Driver
/driver/detachDriver
POST
Purpose: Detach System User