fcsc_ipi_backend/app/controllers/variationReasonMaster.controller.js

67 lines
2.3 KiB
JavaScript

// app/controllers/variationReasonMaster.controller.js
const db = require("../models");
const VariationReasonMaster = db.VariationReasonMaster;
// Create
exports.createReason = async (req, res) => {
try {
const { reason, high_or_low } = req.body;
if (!reason)
return res.status(400).send({ status: "failed", message: "Reason is required" });
const newReason = await VariationReasonMaster.create({ reason, high_or_low });
res.status(201).send({ status: "success", message: "Reason created successfully", data: newReason });
} catch (err) {
res.status(500).send({ status: "failed", message: err.message });
}
};
// Get all
exports.getAllReasons = async (req, res) => {
try {
const data = await VariationReasonMaster.findAll();
res.status(200).send({ status: "success", message: "Fetched successfully", data });
} catch (err) {
res.status(500).send({ status: "failed", message: err.message });
}
};
// Get by ID
exports.getReasonById = async (req, res) => {
try {
const data = await VariationReasonMaster.findByPk(req.params.id);
if (!data) return res.status(404).send({ status: "failed", message: "Reason not found" });
res.status(200).send({ status: "success", message: "Fetched successfully", data });
} catch (err) {
res.status(500).send({ status: "failed", message: err.message });
}
};
// Update
exports.updateReason = async (req, res) => {
try {
const { reason, high_or_low, is_active } = req.body;
const updated = await VariationReasonMaster.update(
{ reason, high_or_low, is_active, updated_at: new Date(), updated_on: new Date() },
{ where: { id: req.params.id } }
);
if (updated[0] === 0) return res.status(404).send({ status: "failed", message: "Reason not found" });
res.status(200).send({ status: "success", message: "Updated successfully" });
} catch (err) {
res.status(500).send({ status: "failed", message: err.message });
}
};
// Delete
exports.deleteReason = async (req, res) => {
try {
const deleted = await VariationReasonMaster.destroy({ where: { id: req.params.id } });
if (!deleted) return res.status(404).send({ status: "failed", message: "Reason not found" });
res.status(200).send({ status: "success", message: "Deleted successfully" });
} catch (err) {
res.status(500).send({ status: "failed", message: err.message });
}
};