fcsc_ipi_backend/app/controllers/zeroTargetReasonMaster.controller.js

80 lines
2.7 KiB
JavaScript

const db = require("../models");
const ZeroTargetReasonMaster = db.ZeroTargetReasonMaster;
const logger = require("../services/logger");
// Create
exports.create = async (req, res) => {
try {
let { reason, is_active } = req.body;
if (typeof reason !== "string" || reason.trim().length === 0) {
return res.status(400).json({
status: "failed",
message: "Reason is required"
});
}
reason = reason.trim();
if (typeof is_active !== "boolean") {
is_active = true;
}
const data = await ZeroTargetReasonMaster.create({ reason, is_active, created_by: req.user.id });
res.status(201).send({ status: "success", message: "Record created successfully",});
} catch (err) {
logger.error(err.message);
res.status(500).send({ status: "failed", message: "Internal server error" });
}
};
// Get All
exports.getAll = async (req, res) => {
try {
const data = await ZeroTargetReasonMaster.findAll();
res.status(200).send({ status: "success", data });
} catch (err) {
logger.error(err.message);
res.status(500).send({ status: "failed", message: "Internal server error" });
}
};
// Get By ID
exports.getById = async (req, res) => {
try {
const { id } = req.params;
const data = await ZeroTargetReasonMaster.findByPk(id);
if (!data) return res.status(404).send({ status: "failed", message: "Not found" });
res.status(200).send({ status: "success", data });
} catch (err) {
logger.error(err.message);
res.status(500).send({ status: "failed", message: "Internal server error" });
}
};
// Update
exports.update = async (req, res) => {
try {
const { id } = req.params;
req.body.updated_by = req.body.updated_by || req.user.id;
req.body.updated_at = req.body.updated_at || new Date();
const [updated] = await ZeroTargetReasonMaster.update(req.body, { where: { id } });
if (!updated) return res.status(404).send({ status: "failed", message: "Not found" });
const data = await ZeroTargetReasonMaster.findByPk(id);
res.status(200).send({ status: "success", data });
} catch (err) {
logger.error(err.message);
res.status(500).send({ status: "failed", message: "Internal server error"});
}
};
// Delete
exports.delete = async (req, res) => {
try {
const { id } = req.params;
const deleted = await ZeroTargetReasonMaster.destroy({ where: { id } });
if (!deleted) return res.status(404).send({ status: "failed", message: "Not found" });
res.status(200).send({ status: "success", message: "Deleted successfully" });
} catch (err) {
logger.error(err.message);
res.status(500).send({ status: "failed", message: "Internal server error" });
}
};