fcsc_ipi_backend/app/controllers/config.controller.js
2025-12-26 12:44:50 +05:30

55 lines
1.7 KiB
JavaScript

const db = require("../models");
const SubmissionDeadline = db.SubmissionDeadline;
const logger = require("../services/logger");
// 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: req.body.updated_by || req.user.id,
});
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: req.body.created_by || req.user.id,
});
res.status(201).json({ status: "success", message: "Deadline created successfully", data: newRecord });
}
} catch (err) {
logger.error(err.message);
logger.error(`Stack trace: ${err.stack}`);
res.status(500).json({ status: "failed", message: "Internal server error" });
}
};