fix: code review fixes
This commit is contained in:
@@ -0,0 +1,175 @@
|
||||
const SessionService = require("../../services/SessionService");
|
||||
const app = require("express").Router();
|
||||
const db = require("../../models");
|
||||
const role = 1;
|
||||
|
||||
// List termination configurations
|
||||
app.get(
|
||||
"/admin/termination-config",
|
||||
SessionService.verifySessionMiddleware(role, "admin"),
|
||||
async function (req, res, next) {
|
||||
try {
|
||||
const configs = await db.termination_config.findAll();
|
||||
res.render("admin/Termination_Config", {
|
||||
configs,
|
||||
get_page_name: () => "Termination Configuration",
|
||||
_base_url: "/admin/termination-config",
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
res
|
||||
.status(500)
|
||||
.json({
|
||||
success: false,
|
||||
message: "Failed to fetch termination configurations",
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// Get termination configuration by ID
|
||||
app.get(
|
||||
"/admin/termination-config/:id",
|
||||
SessionService.verifySessionMiddleware(role, "admin"),
|
||||
async function (req, res, next) {
|
||||
try {
|
||||
const { id } = req.params;
|
||||
const config = await db.termination_config.getByPK(id);
|
||||
if (!config) {
|
||||
return res
|
||||
.status(404)
|
||||
.json({
|
||||
success: false,
|
||||
message: "Termination configuration not found",
|
||||
});
|
||||
}
|
||||
return res.json({ success: true, payload: config });
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
return res
|
||||
.status(500)
|
||||
.json({
|
||||
success: false,
|
||||
message: "Failed to fetch termination configuration",
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// Create new termination configuration
|
||||
app.post(
|
||||
"/admin/termination-config",
|
||||
SessionService.verifySessionMiddleware(role, "admin"),
|
||||
async function (req, res, next) {
|
||||
try {
|
||||
const { message, title, counter } = req.body;
|
||||
const config = await db.termination_config.create({
|
||||
message,
|
||||
title,
|
||||
counter: parseInt(counter),
|
||||
});
|
||||
return res.json({
|
||||
success: true,
|
||||
payload: config,
|
||||
message: "Termination configuration created successfully",
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
return res
|
||||
.status(500)
|
||||
.json({
|
||||
success: false,
|
||||
message: "Failed to create termination configuration",
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// Update termination configuration
|
||||
app.put(
|
||||
"/admin/termination-config/:id",
|
||||
SessionService.verifySessionMiddleware(role, "admin"),
|
||||
async function (req, res, next) {
|
||||
try {
|
||||
const { id } = req.params;
|
||||
const { message, title, counter } = req.body;
|
||||
const config = await db.termination_config.edit(
|
||||
{
|
||||
message,
|
||||
title,
|
||||
counter: parseInt(counter),
|
||||
},
|
||||
id
|
||||
);
|
||||
return res.json({
|
||||
success: true,
|
||||
payload: config,
|
||||
message: "Termination configuration updated successfully",
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
return res
|
||||
.status(500)
|
||||
.json({
|
||||
success: false,
|
||||
message: "Failed to update termination configuration",
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// Delete termination configuration
|
||||
app.delete(
|
||||
"/admin/termination-config/:id",
|
||||
SessionService.verifySessionMiddleware(role, "admin"),
|
||||
async function (req, res, next) {
|
||||
try {
|
||||
const { id } = req.params;
|
||||
await db.termination_config.destroy(id);
|
||||
return res.json({
|
||||
success: true,
|
||||
message: "Termination configuration deleted successfully",
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
return res
|
||||
.status(500)
|
||||
.json({
|
||||
success: false,
|
||||
message: "Failed to delete termination configuration",
|
||||
});
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// Get default termination configuration (for frontend)
|
||||
app.get("/api/termination-config", async function (req, res, next) {
|
||||
try {
|
||||
// Get the first configuration or create a default one
|
||||
let config = await db.termination_config.findOne();
|
||||
if (!config) {
|
||||
// Create default configuration if none exists
|
||||
config = await db.termination_config.create({
|
||||
message:
|
||||
"You have an allergy to one of the main ingredients in our system. Our current system will not suit you.",
|
||||
title: "Quiz will now be terminated",
|
||||
counter: 10,
|
||||
});
|
||||
}
|
||||
return res.json({ success: true, payload: config });
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
// Return default values if database fails
|
||||
return res.json({
|
||||
success: true,
|
||||
payload: {
|
||||
message:
|
||||
"You have an allergy to one of the main ingredients in our system. Our current system will not suit you.",
|
||||
title: "Quiz will now be terminated",
|
||||
counter: 10,
|
||||
},
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = app;
|
||||
@@ -7,6 +7,7 @@ const AdminActivesController = require("./admin/Admin_actives_controller");
|
||||
const AdminOutputVariablesController = require("./admin/Admin_output_variables_controller");
|
||||
const AdminResultProfileController = require("./admin/Admin_result_profile_controller");
|
||||
const AdminGetProfileSystem = require("./admin/getProfileSystem");
|
||||
const AdminTerminationConfigController = require("./admin/Admin_termination_config_controller");
|
||||
const PublicIndex = require("./public/index");
|
||||
const AdminAnswerController = require("./admin/Admin_answer_controller");
|
||||
const AdminDashboard = require("./admin/Dashboard");
|
||||
@@ -20,6 +21,7 @@ module.exports = [
|
||||
ShopifyWebhook,
|
||||
AdminResultProfileController,
|
||||
AdminGetProfileSystem,
|
||||
AdminTerminationConfigController,
|
||||
AdminUserController,
|
||||
AdminQuizController,
|
||||
AdminQuestionController,
|
||||
|
||||
Reference in New Issue
Block a user