This commit is contained in:
romantarkin 2025-08-18 10:43:11 +05:00
parent 3fbc13e1b4
commit 0dd34d30d4

View File

@ -3,8 +3,28 @@ import { Subscriber } from '../models/index.js';
export default { export default {
async create(req, res) { async create(req, res) {
try { try {
const subscriber = await Subscriber.create(req.body); const { email, ...subscriberData } = req.body;
res.status(201).json(subscriber);
if (!email) {
return res.status(400).json({ error: 'Email is required' });
}
// Проверяем, существует ли подписчик с таким email
let subscriber = await Subscriber.findOne({ where: { email } });
if (subscriber) {
// Если подписчик существует, обновляем его
await subscriber.update({
...subscriberData,
// Если статус не передан, оставляем текущий
status: subscriberData.status || subscriber.status
});
res.json({ message: 'Subscriber updated', subscriber });
} else {
// Если подписчика нет, создаем нового
subscriber = await Subscriber.create(req.body);
res.status(201).json({ message: 'Subscriber created', subscriber });
}
} catch (err) { } catch (err) {
res.status(400).json({ error: err.message }); res.status(400).json({ error: err.message });
} }