Skip to main content

COMPANY

🏢 Technical Specification: Company Setup


📋 Feature Overview

Attribute Detail
Module ⚙️ Settings (COMPANY)
Feature Name Company Setup
Description Acts as the master data management tool for company entities. Supports creating internal/external companies and manages soft deletes.
Page & Detail
1. Listing Page: /listing-company
Displays grid of companies, filters, and delete actions.
2. Add/Edit Page: /add-company-manage
Form for creating new companies or updating details.
User Guide 📄 [Ekajaya Admin User Guide - Setting Module, Section 1]

🛠️ Technical Implementation

A. Permissions & Access Control

Note: Access is controlled via PermissionGuard and UI directives.
Scope Permission Code Description & Page Usage
Menu Visibility COMPANY.MENU

Sidebar menu item visibility.

\listing-company

\add-company-manage

Page Routing COMPANY.LISTING Access to listing route.
\listing-company
Page Routing COMPANY.VIEW

Access to add route.

\add-company-manage

Create Action

COMPANY.CREATE

Visibility of the Add + button.
\listing-company

View/Edit Access COMPANY.VIEW Controls visibility of action buttons to navigate to edit page.
\listing-company
Delete Action COMPANY.DELETE Visibility of the Delete 🗑️ icon.
\listing-company
Update/Edit Action COMPANY.UPDATE Ability to save changes on Edit screen.
\add-company-manage

B. API Interaction

Base URL: ${environment.baseApiUrl}
1. Listing Company \listing-company
/companies/getQuery
POST
Filter: companyName, description, remark, isDeleted=0
/companyUsers/getQuery
POST
Filter: companyId (Dependency Check - Users)
/drivers/getQuery
POST
Filter: companyId, isDeleted=0 (Dependency Check - Drivers)
/movers/getQuery
POST
Filter: companyId, isDeleted=0 (Dependency Check - Movers)
/tankers/getQuery
POST
Filter: companyId, isDeleted=0 (Dependency Check - Tankers)
/companies/update
POST
Purpose: Soft Delete (isDeleted=true)
2. Add Company Manage \add-company-manage
/companies/getOne
GET
Purpose: Fetch specific record by ID
/companies/getQuery
POST
Filter: companyName (Uniqueness Check)
/companies/create
POST
Purpose: Create new dataSource record
/companies/update
POST
Purpose: Update existing dataSource record