PRODUCT UNIT OF MEASUREMENT
📏 Technical Specification: Product Unit of Measurement (PUM)
📋 Feature Overview
🛠️ Technical Implementation
A. Permissions & Access Control
Note: Access is controlled via
PermissionGuard and code-level checks.| Scope | Permission Code | Description & Page Usage |
|---|---|---|
| Menu Visibility | PRODUCT_UNIT_OF_MEASUREMENT.MENU |
Sidebar menu visibility.
|
| Page Routing | PRODUCT_UNIT_OF_MEASUREMENT.LISTING |
Access to listing route.\product-unit-of-measurement |
| Page Routing | PRODUCT_UNIT_OF_MEASUREMENT.VIEW |
Access to add route.
|
| View Access | PRODUCT_UNIT_OF_MEASUREMENT.VIEW |
Controls visibility of action buttons (Edit).\product-unit-of-measurement |
| Create Action | PRODUCT_UNIT_OF_MEASUREMENT.UPDATE |
Visibility of the + Add button.\product-unit-of-measurement |
| Delete Action | PRODUCT_UNIT_OF_MEASUREMENT.DELETE |
Visibility of the Delete 🗑️ icon.\product-unit-of-measurement |
| Edit/Save Action | PRODUCT_UNIT_OF_MEASUREMENT.UPDATE |
Ability to save changes (Create/Update).\add-product-unit-of-measurement |
B. API Interaction
Base URL:
${environment.baseApiUrl}1. Listing PUM
\product-unit-of-measurement/products/getQuery
POSTPurpose: Populate
productDataSource for filtering/settings/getQuery
POSTFilter:
type='Unit Of Measurement'/productUnitOfMeasurements/getQuery
POSTFilter:
unitOfMeasurement, productId/productUnitOfMeasurements/delete
POSTPurpose: Hard Delete PUM Record
2. Add PUM Manage
\add-product-unit-of-measurement/products/getQuery
POSTFilter:
isDeleted=0/settings/getQuery
POSTFilter:
type='Unit Of Measurement'/settings/getQuery
POSTFilter:
type='CIMA Product Code'/settings/getQuery
POSTFilter:
type='Asia Cement Product Code'/productUnitOfMeasurements/getQuery
POSTFilter:
id (Fetch specific record)/productUnitOfMeasurements/create
POSTPurpose: Create new record
/productUnitOfMeasurements/update
POSTPurpose: Update existing record