add email threads to companies

This commit is contained in:
richardtekula
2025-11-25 15:00:30 +01:00
parent cf4df9d314
commit 879709661e
9 changed files with 227 additions and 1 deletions

View File

@@ -1,6 +1,7 @@
import * as companyService from '../services/company.service.js';
import * as noteService from '../services/note.service.js';
import * as companyReminderService from '../services/company-reminder.service.js';
import * as companyEmailService from '../services/company-email.service.js';
import { formatErrorResponse } from '../utils/errors.js';
/**
@@ -44,6 +45,30 @@ export const getCompanyById = async (req, res) => {
}
};
/**
* Get company email threads aggregated across user's email accounts
* GET /api/companies/:companyId/email-threads
*/
export const getCompanyEmailThreads = async (req, res) => {
try {
const userId = req.userId;
const { companyId } = req.params;
// Ensure company exists
await companyService.getCompanyById(companyId);
const result = await companyEmailService.getCompanyEmailThreads(companyId, userId);
res.status(200).json({
success: true,
data: result,
});
} catch (error) {
const errorResponse = formatErrorResponse(error, process.env.NODE_ENV === 'development');
res.status(error.statusCode || 500).json(errorResponse);
}
};
/**
* Get company with relations (projects, todos, notes)
* GET /api/companies/:companyId/details