ads-marketing/mail-service/src/controllers/emailTemplateVersionController.js
romantarkin e0076fab43 api
2025-07-22 16:11:08 +05:00

49 lines
1.6 KiB
JavaScript

import { EmailTemplateVersion, EmailTemplate } from '../models/index.js';
export default {
async create(req, res) {
try {
const version = await EmailTemplateVersion.create(req.body);
res.status(201).json(version);
} catch (err) {
res.status(400).json({ error: err.message });
}
},
async getAll(req, res) {
try {
const versions = await EmailTemplateVersion.findAll({ include: EmailTemplate });
res.json(versions);
} catch (err) {
res.status(500).json({ error: err.message });
}
},
async getById(req, res) {
try {
const version = await EmailTemplateVersion.findByPk(req.params.id, { include: EmailTemplate });
if (!version) return res.status(404).json({ error: 'EmailTemplateVersion not found' });
res.json(version);
} catch (err) {
res.status(500).json({ error: err.message });
}
},
async update(req, res) {
try {
const version = await EmailTemplateVersion.findByPk(req.params.id);
if (!version) return res.status(404).json({ error: 'EmailTemplateVersion not found' });
await version.update(req.body);
res.json(version);
} catch (err) {
res.status(400).json({ error: err.message });
}
},
async delete(req, res) {
try {
const version = await EmailTemplateVersion.findByPk(req.params.id);
if (!version) return res.status(404).json({ error: 'EmailTemplateVersion not found' });
await version.destroy();
res.json({ message: 'EmailTemplateVersion deleted' });
} catch (err) {
res.status(500).json({ error: err.message });
}
},
};