Page cover

⚙️API Route Mapping

Route Inventory Summary

  • Total Routes: 69

  • Next.js Routes: 23

  • Express Routes: 46

  • Orphaned Files: 0

Next.js API Routes

Route
Handler
Status

GET/POST /api/ai/coach

app/api/ai/coach/route.ts

✅ Active

GET/POST /api/ai

app/api/ai.ts

⚠️ Needs Restructure

POST /api/avatar/upload

app/api/avatar/upload/route.ts

✅ Active

GET/POST /api/blob

app/api/blob/route.ts

✅ Active

POST /api/chat

app/api/chat/route.ts

✅ Active

GET /api/cron/cleanup

app/api/cron/cleanup/route.ts

✅ Active

GET /api/cron/reports

app/api/cron/reports/route.ts

✅ Active

GET/POST /api/employees

app/api/employees/route.ts

✅ Active

GET/POST /api/file

app/api/file.ts

❌ Duplicate

GET/POST /api/files

app/api/files.ts

✅ Active

GET /api/health

app/api/health/route.ts

✅ Active

POST /api/hr/er/mediate

app/api/hr/er/mediate/route.ts

✅ Active

POST /api/hr/ir/analyze

app/api/hr/ir/analyze/route.ts

✅ Active

POST /api/hr/ta/jd

app/api/hr/ta/jd/route.ts

✅ Active

GET/POST /api/ir-er/disciplinary

app/api/ir-er/disciplinary/route.ts

✅ Active

GET/POST /api/ir-er/grievances

app/api/ir-er/grievances/route.ts

✅ Active

GET/POST /api/ir-er/unions

app/api/ir-er/unions/route.ts

✅ Active

POST /api/nlp/enhanced

app/api/nlp/enhanced/route.ts

✅ Active

POST /api/nlp

app/api/nlp/route.ts

✅ Active

POST /api/payroll/calculate

app/api/payroll/calculate/route.ts

✅ Active

GET/POST /api/performance

app/api/performance/route.ts

✅ Active

POST /api/upload

app/api/upload.ts

✅ Active

POST /api/wage/validate

app/api/wage/validate/route.ts

✅ Active

Express API Routes (Server)

AI Routes (/api/ai/*)

Method
Route
Handler
Status

POST

/agent/:type

src/routes/ai.routes.ts

⚠️ Duplicate with Next.js

GET

/tasks

src/routes/ai.routes.ts

✅ Active

POST

/chat

src/routes/ai.routes.ts

⚠️ Duplicate with Next.js

Authentication Routes (/api/auth/*)

Method
Route
Handler
Status

POST

/register

src/routes/auth.routes.ts

✅ Active

POST

/login

src/routes/auth.routes.ts

✅ Active

GET

/me

src/routes/auth.routes.ts

✅ Active

PUT

/change-password

src/routes/auth.routes.ts

✅ Active

Compliance Routes (/api/compliance/*)

Method
Route
Handler
Status

GET

/reports

src/routes/compliance.routes.ts

✅ Active

GET

/reports/:id

src/routes/compliance.routes.ts

✅ Active

POST

/check

src/routes/compliance.routes.ts

✅ Active

POST

/generate-report

src/routes/compliance.routes.ts

✅ Active

GET

/validate-employee/:id

src/routes/compliance.routes.ts

✅ Active

GET

/deadlines/:companyId

src/routes/compliance.routes.ts

✅ Active

Document Routes (/api/documents/*)

Method
Route
Handler
Status

GET

/

src/routes/document.routes.ts

✅ Active

GET

/:id

src/routes/document.routes.ts

✅ Active

POST

/upload

src/routes/document.routes.ts

✅ Active

PUT

/:id

src/routes/document.routes.ts

✅ Active

DELETE

/:id

src/routes/document.routes.ts

✅ Active

GET

/:id/download

src/routes/document.routes.ts

✅ Active

GET

/meta/categories

src/routes/document.routes.ts

✅ Active

Employee Routes (/api/employees/*)

Method
Route
Handler
Status

GET

/

src/routes/employee.routes.ts

⚠️ Duplicate with Next.js

GET

/:id

src/routes/employee.routes.ts

✅ Active

POST

/

src/routes/employee.routes.ts

⚠️ Duplicate with Next.js

PUT

/:id

src/routes/employee.routes.ts

✅ Active

DELETE

/:id

src/routes/employee.routes.ts

✅ Active

GET

/:id/leaves

src/routes/employee.routes.ts

✅ Active

POST

/:id/leaves

src/routes/employee.routes.ts

✅ Active

Integration Routes (/api/integrations/*)

Method

GET

Route

/epf/status

Handler

src/routes/integration.routes.ts

Status

✅ Active

Method

POST

Route

/epf/submit

Handler

src/routes/integration.routes.ts

Status

✅ Active

Method

GET

Route

/socso/status

Handler

src/routes/integration.routes.ts

Status

✅ Active

Method

GET

Route

/lhdn/status

Handler

src/routes/integration.routes.ts

Status

✅ Active

Method

GET

Route

/hrdf/status

Handler

src/routes/integration.routes.ts

Status

✅ Active

Method

GET

Route

/myfuturejobs/jobs

Handler

src/routes/integration.routes.ts

Status

✅ Active

Method

GET

Route

/overview

Handler

src/routes/integration.routes.ts

Status

✅ Active

Payroll Routes (/api/payroll/*)

Method
Route
Handler
Status

GET

/

src/routes/payroll.routes.ts

✅ Active

GET

/:id

src/routes/payroll.routes.ts

✅ Active

POST

/calculate

src/routes/payroll.routes.ts

⚠️ Duplicate with Next.js

POST

/batch

src/routes/payroll.routes.ts

✅ Active

PUT

/:id/status

src/routes/payroll.routes.ts

✅ Active

GET

/generate-payslip/:id

src/routes/payroll.routes.ts

✅ Active

Report Routes (/api/reports/*)

Method
Route
Handler
Status

GET

/payroll

src/routes/report.routes.ts

✅ Active

GET

/attendance

src/routes/report.routes.ts

✅ Active

GET

/leaves

src/routes/report.routes.ts

✅ Active

GET

/compliance

src/routes/report.routes.ts

✅ Active

GET

/dashboard

src/routes/report.routes.ts

✅ Active

Issues Identified

🔴 Duplicate Routes

  1. AI Chat: Both Next.js (/api/chat) and Express (/chat) handle chat functionality

  2. Employee Management: Basic CRUD operations duplicated between Next.js and Express

  3. Payroll Calculate: Both systems have /calculate endpoints

🟡 Dead Code Candidates

  1. app/api/file.ts - Duplicate of files.ts

  2. app/api/ai.ts - Should follow Next.js 13+ route structure

🟢 Consolidation Recommendations

  1. Merge file operations into single /api/files/route.ts

  2. Restructure standalone API files to proper route structure

  3. Remove duplicate Express routes where Next.js handles the same functionality

  4. Standardize on Next.js API routes for client-facing endpoints

  5. Keep Express routes for server-to-server communication and complex business logic

Route Ownership Strategy

Next.js API Routes (Client-Facing)

  • Authentication flows

  • File uploads/downloads

  • Real-time chat

  • Simple CRUD operations

  • Public API endpoints

Express API Routes (Server-Side)

  • Complex business logic

  • Background processing

  • Integration with external services

  • Batch operations

  • Administrative functions

Action Items

  1. Audit Complete - All routes mapped and analyzed

  2. 🔄 Consolidation Plan - Ready for execution

  3. Dead Code Removal - Pending approval

  4. Route Restructuring - Pending implementation

  5. Documentation Update - Post-consolidation

Last updated

Was this helpful?