feat: implement sorting and visibility changes

This commit is contained in:
Kailasdevdas
2026-05-11 00:04:22 +05:30
parent 9aaf1879a8
commit 1717507555
12 changed files with 335 additions and 112 deletions
+20 -6
View File
@@ -4,8 +4,11 @@ import prisma from "../prisma/client.js";
export const getAllCareers = async (req, res) => {
try {
const { admin } = req.query;
const careers = await prisma.career.findMany({
orderBy: {createdAt: "desc"},
where: admin === "true" ? {} : { isActive: true },
orderBy: [{ sortOrder: "asc" }, { createdAt: "desc" }],
});
const response = careers.map((c) => ({
@@ -17,6 +20,8 @@ export const getAllCareers = async (req, res) => {
email: c.email,
number: c.number,
status: c.status,
isActive: c.isActive,
sortOrder: c.sortOrder,
}));
return res.status(200).json({
@@ -44,6 +49,8 @@ export const createCareer = async (req, res) => {
email,
number,
status,
isActive,
sortOrder,
} = req.body;
if (!post || !designation) {
@@ -62,6 +69,8 @@ export const createCareer = async (req, res) => {
email,
number,
status,
isActive: isActive !== undefined ? isActive : true,
sortOrder: sortOrder !== undefined ? Number(sortOrder) : 0,
},
});
@@ -83,11 +92,16 @@ export const createCareer = async (req, res) => {
export const updateCareer = async (req, res) => {
try {
const {id} = req.params;
const { id } = req.params;
const updateData = { ...req.body };
if (updateData.sortOrder !== undefined) {
updateData.sortOrder = Number(updateData.sortOrder);
}
const career = await prisma.career.update({
where: {id: Number(id)},
data: req.body,
where: { id: Number(id) },
data: updateData,
});
return res.status(200).json({
@@ -108,10 +122,10 @@ export const updateCareer = async (req, res) => {
export const deleteCareer = async (req, res) => {
try {
const {id} = req.params;
const { id } = req.params;
await prisma.career.delete({
where: {id: Number(id)},
where: { id: Number(id) },
});
return res.status(200).json({