Company Setup
đĸ Technical Specification: Company Setup
Â
đ Feature Overview
| Attribute | Detail |
| Module | âī¸ Settings |
| Feature Name | Company Setup |
| Description | Acts as the master data management tool for company entities. Supports creating internal/external companies and manages soft deletes. |
| User Guide | đ [Ekajaya Admin User Guide - Setting Module, Page 3] |
đšī¸ Functional Workflow (User Perspective)
đ UI Input Fields
| Field Name | Type | Required | Description |
| Company Name | Text |
â Yes | Must be unique across active records. |
| Description | Text |
â No | Optional details about the company. |
| Remark | Text |
â No | Optional internal remarks. |
| Is Internal? | Checkbox |
â No | Flag to mark the company as an internal entity. |
đ ī¸ Technical Implementation
đ A. Permissions & Access Control
Access is controlled via PermissionGuard and UI directives (*ngIf).
| Scope | Permission Code | Description |
| Menu Visibility | COMPANY.MENU |
Sidebar menu item visibility. |
| Page Access | COMPANY.LISTING |
Access to /listing-company. |
| Create Action | COMPANY.CREATE |
Visibility of the + Add button. |
| View/Edit Access | COMPANY.VIEW |
Access to /add-company-manage. |
| Update Action | COMPANY.UPDATE |
Ability to save changes on Edit screen. |
| Delete Action | COMPANY.DELETE |
Visibility of the Delete đī¸ icon. |
đ B. API Interaction
Base URL: ${environment.baseApiUrl}
đĨ 1. Retrieve Company List
- Endpoint:
/companies/getQuery - Method:
POST - Purpose: Fetches paginated data for the grid.
- Key Params:
filter:isDeleted||$eq||0(plus dynamic search filters).sort:companyName
đ 2. Get Single Company (Edit Mode)
- Endpoint:
/companies/getOne - Method:
GET - Query Params:
id(Number)
⨠3. Create Company
- Endpoint:
/companies/create - Method:
POST - Payload: