add email threads to companies
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user