53 lines
1.5 KiB
JavaScript
53 lines
1.5 KiB
JavaScript
const db = require("../models");
|
|
const SubmissionDeadline = db.SubmissionDeadline;
|
|
|
|
|
|
|
|
// POST /api/submission-deadlines
|
|
exports.updateDeadlineData = async (req, res) => {
|
|
try {
|
|
const {
|
|
deadline_days_after_quarter_end,
|
|
grace_periods_days_after_deadline,
|
|
first_reminder_days_before_deadline,
|
|
second_reminder_days_before_deadline,
|
|
created_by,
|
|
updated_by,
|
|
} = req.body;
|
|
|
|
// Try to find existing record (id=1)
|
|
let existing = await SubmissionDeadline.findByPk(1);
|
|
|
|
if (existing) {
|
|
// Update
|
|
await existing.update({
|
|
deadline_days_after_quarter_end,
|
|
grace_periods_days_after_deadline,
|
|
first_reminder_days_before_deadline,
|
|
second_reminder_days_before_deadline,
|
|
updated_at: new Date(),
|
|
updated_by,
|
|
});
|
|
|
|
res.status(200).json({ status: "success", message: "Deadline updated successfully", data: existing });
|
|
} else {
|
|
// Create new (set id = 1 manually)
|
|
const newRecord = await SubmissionDeadline.create({
|
|
id: 1,
|
|
deadline_days_after_quarter_end,
|
|
grace_periods_days_after_deadline,
|
|
first_reminder_days_before_deadline,
|
|
second_reminder_days_before_deadline,
|
|
created_at: new Date(),
|
|
created_by,
|
|
});
|
|
|
|
res.status(201).json({ status: "success", message: "Deadline created successfully", data: newRecord });
|
|
}
|
|
|
|
} catch (err) {
|
|
console.error(err);
|
|
res.status(500).json({ status: "failed", message: err.message });
|
|
}
|
|
};
|