SUPPLIER
🏭 Technical Specification: Supplier Setup
📋 Feature Overview
🛠️ Technical Implementation
A. Permissions & Access Control
Note: Access is controlled via
PermissionGuard and template checks.| Scope | Permission Code | Description & Page Usage |
|---|---|---|
| Menu Visibility | SUPPLIER.MENU |
Sidebar menu visibility.
|
| Page Routing | SUPPLIER.LISTING |
Access to listing route.\listing-supplier-profile |
| Page Routing | SUPPLIER.VIEW |
Access to add route.
|
| Create Action | SUPPLIER.CREATE |
Visibility of the + Add button.\listing-supplier-profile |
| View Access | SUPPLIER.VIEW |
Controls visibility of action buttons (Edit).\listing-supplier-profile |
| Delete Action | SUPPLIER.DELETE |
Visibility of the Delete 🗑️ icon.\listing-supplier-profile |
| Update Action | SUPPLIER.UPDATE |
Ability to save changes on Edit screen.\add-supplier-profile-manage |
B. API Interaction
Base URL:
${environment.baseApiUrl}1. RetrieveListing Supplier ListProfile
\listing-supplier-profile/suppliers/getQuery
POST
filterisDeleted||$eq||0sortsupplierCode, supplierName, registrationNumber, isDeleted=0/supplier/delete
POSTPurpose: Delete Supplier
2. DeleteAdd Supplier
Profile \listing-supplier-profile{ "id": Number }
\add-supplier-profile-manage/countries/getQuery
POSTPurpose: Populate
countryDataSource/states/getQuery
POSTFilter:
countryId/districts/getQuery
POSTFilter:
stateId/suppliers/getQuery
POST
filterid||$eq||{id}idlimit/suppliers/getQuery
Filter:
\add-supplier-profile-managesupplierCode (Uniqueness Check)/suppliers/mdCreate
POST
/suppliers/mdUpdate
POST
Purpose: Master-Detail Update
{ "supplierCode": "String", "supplierName": "String", "pickupAddressList": [ ... ], "countryId": Number, "stateId": Number, "districtId": Number, "isCima": Boolean }
\add-supplier-profile-manageC. Validation & Business Logic
1. Unique Code Validation \add-supplier-profile-manage
Trigger:On Save.Logic:Calls/suppliers/getQuerywith filtersupplierCode||$eq||{inputCode}.Error:Blocking error: "Supplier code already exists".
2. Pickup Address Validation \add-supplier-profile-manage
Trigger:On Save.Logic:Checksthis.dataSource.pickupAddressList.Condition:If the list is null or length is 0.Error:"Please add pickup address".