74 lines
2.4 KiB
JavaScript
74 lines
2.4 KiB
JavaScript
const db = require("../models");
|
|
const ZeroTargetReasonMaster = db.ZeroTargetReasonMaster;
|
|
|
|
// 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) {
|
|
res.status(500).send({ status: "failed", message: err.message });
|
|
}
|
|
};
|
|
|
|
// Get All
|
|
exports.getAll = async (req, res) => {
|
|
try {
|
|
const data = await ZeroTargetReasonMaster.findAll();
|
|
res.status(200).send({ status: "success", data });
|
|
} catch (err) {
|
|
res.status(500).send({ status: "failed", message: err.message });
|
|
}
|
|
};
|
|
|
|
// 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) {
|
|
res.status(500).send({ status: "failed", message: err.message });
|
|
}
|
|
};
|
|
|
|
// 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) {
|
|
res.status(500).send({ status: "failed", message: err.message });
|
|
}
|
|
};
|
|
|
|
// 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) {
|
|
res.status(500).send({ status: "failed", message: err.message });
|
|
}
|
|
};
|