refactor: Split company.controller.js into focused controllers
Split company.controller.js (461 lines, 5 concerns) into: - company.controller.js: CRUD + email (134 lines) - company-note.controller.js: note operations - company-reminder.controller.js: reminder operations - company-team.controller.js: user assignment operations Update company.routes.js to import from new controllers. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
import express from 'express';
|
||||
import * as companyController from '../controllers/company.controller.js';
|
||||
import * as companyNoteController from '../controllers/company-note.controller.js';
|
||||
import * as companyReminderController from '../controllers/company-reminder.controller.js';
|
||||
import * as companyTeamController from '../controllers/company-team.controller.js';
|
||||
import * as personalContactController from '../controllers/personal-contact.controller.js';
|
||||
import * as companyDocumentController from '../controllers/company-document.controller.js';
|
||||
import { authenticate } from '../middlewares/auth/authMiddleware.js';
|
||||
@@ -18,9 +21,9 @@ const router = express.Router();
|
||||
router.use(authenticate);
|
||||
|
||||
// Reminder summaries (must be before :companyId routes)
|
||||
router.get('/reminders/summary', companyController.getReminderSummary);
|
||||
router.get('/reminders/counts', companyController.getReminderCountsByCompany);
|
||||
router.get('/reminders/upcoming', companyController.getUpcomingReminders);
|
||||
router.get('/reminders/summary', companyReminderController.getReminderSummary);
|
||||
router.get('/reminders/counts', companyReminderController.getReminderCountsByCompany);
|
||||
router.get('/reminders/upcoming', companyReminderController.getUpcomingReminders);
|
||||
|
||||
// Company unread email summary
|
||||
router.get('/email-unread', companyController.getCompanyUnreadCounts);
|
||||
@@ -77,7 +80,7 @@ router.get(
|
||||
'/:companyId/notes',
|
||||
validateParams(z.object({ companyId: z.string().uuid() })),
|
||||
checkCompanyAccess,
|
||||
companyController.getCompanyNotes
|
||||
companyNoteController.getCompanyNotes
|
||||
);
|
||||
|
||||
router.post(
|
||||
@@ -88,7 +91,7 @@ router.post(
|
||||
content: z.string().min(1),
|
||||
dueDate: z.string().optional().or(z.literal('')),
|
||||
})),
|
||||
companyController.addCompanyNote
|
||||
companyNoteController.addCompanyNote
|
||||
);
|
||||
|
||||
router.patch(
|
||||
@@ -102,7 +105,7 @@ router.patch(
|
||||
content: z.string().min(1).optional(),
|
||||
dueDate: z.string().optional().or(z.literal('').or(z.null())),
|
||||
})),
|
||||
companyController.updateCompanyNote
|
||||
companyNoteController.updateCompanyNote
|
||||
);
|
||||
|
||||
router.delete(
|
||||
@@ -112,7 +115,7 @@ router.delete(
|
||||
companyId: z.string().uuid(),
|
||||
noteId: z.string().uuid()
|
||||
})),
|
||||
companyController.deleteCompanyNote
|
||||
companyNoteController.deleteCompanyNote
|
||||
);
|
||||
|
||||
// Company reminders
|
||||
@@ -120,7 +123,7 @@ router.get(
|
||||
'/:companyId/reminders',
|
||||
validateParams(z.object({ companyId: z.string().uuid() })),
|
||||
checkCompanyAccess,
|
||||
companyController.getCompanyReminders
|
||||
companyReminderController.getCompanyReminders
|
||||
);
|
||||
|
||||
router.post(
|
||||
@@ -128,7 +131,7 @@ router.post(
|
||||
requireAdmin,
|
||||
validateParams(z.object({ companyId: z.string().uuid() })),
|
||||
validateBody(createCompanyReminderSchema),
|
||||
companyController.createCompanyReminder
|
||||
companyReminderController.createCompanyReminder
|
||||
);
|
||||
|
||||
router.patch(
|
||||
@@ -139,7 +142,7 @@ router.patch(
|
||||
reminderId: z.string().uuid()
|
||||
})),
|
||||
validateBody(updateCompanyReminderSchema),
|
||||
companyController.updateCompanyReminder
|
||||
companyReminderController.updateCompanyReminder
|
||||
);
|
||||
|
||||
router.delete(
|
||||
@@ -149,7 +152,7 @@ router.delete(
|
||||
companyId: z.string().uuid(),
|
||||
reminderId: z.string().uuid()
|
||||
})),
|
||||
companyController.deleteCompanyReminder
|
||||
companyReminderController.deleteCompanyReminder
|
||||
);
|
||||
|
||||
// Company Users (Team Management)
|
||||
@@ -157,7 +160,7 @@ router.get(
|
||||
'/:companyId/users',
|
||||
validateParams(z.object({ companyId: z.string().uuid() })),
|
||||
checkCompanyAccess,
|
||||
companyController.getCompanyUsers
|
||||
companyTeamController.getCompanyUsers
|
||||
);
|
||||
|
||||
router.post(
|
||||
@@ -168,7 +171,7 @@ router.post(
|
||||
userId: z.string().uuid(),
|
||||
role: z.string().optional(),
|
||||
})),
|
||||
companyController.assignUserToCompany
|
||||
companyTeamController.assignUserToCompany
|
||||
);
|
||||
|
||||
router.patch(
|
||||
@@ -181,7 +184,7 @@ router.patch(
|
||||
validateBody(z.object({
|
||||
role: z.string().optional(),
|
||||
})),
|
||||
companyController.updateUserRoleOnCompany
|
||||
companyTeamController.updateUserRoleOnCompany
|
||||
);
|
||||
|
||||
router.delete(
|
||||
@@ -191,7 +194,7 @@ router.delete(
|
||||
companyId: z.string().uuid(),
|
||||
userId: z.string().uuid()
|
||||
})),
|
||||
companyController.removeUserFromCompany
|
||||
companyTeamController.removeUserFromCompany
|
||||
);
|
||||
|
||||
// Company Contacts (Personal contacts linked to company)
|
||||
|
||||
Reference in New Issue
Block a user