feat: implement sorting and visibility changes
This commit is contained in:
@@ -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({
|
||||
|
||||
Reference in New Issue
Block a user