Files
fielderp-server/controllers/vendor.controller.js
T

80 lines
2.0 KiB
JavaScript

import dayjs from "dayjs";
import {
createVendor,
updateVendor,
deleteVendor,
getVendorsByQuery,
getVendorById,
getAllVendors,
} from "../models/Vendor/operations";
export const createVendorController = async (req, res, next) => {
try {
const { user } = res.locals;
const vendor = await createVendor({
...req.body,
createdBy: user?.id,
createdOn: dayjs().toISOString(),
});
res.status(201).json({ result: vendor });
} catch (error) {
console.log("createVendorController Error", error);
next(error);
}
};
export const updateVendorController = async (req, res, next) => {
try {
const { id } = req.params;
const vendor = await updateVendor(id, req.body);
res.status(200).json({ result: vendor });
} catch (error) {
console.log("updateVendorController Error", error);
next(error);
}
};
export const getActiveVendorsController = async (req, res, next) => {
try {
const vendors = await getVendorsByQuery({ isActive: true });
res.status(200).json({ result: vendors });
} catch (error) {
console.log("getActiveVendorsController Error", error);
next(error);
}
};
export const getAllVendorsController = async (req, res, next) => {
try {
const vendors = await getAllVendors();
res.status(200).json({ result: vendors });
} catch (error) {
console.log("getAllVendorsController Error", error);
next(error);
}
};
export const deactivateVendorController = async (req, res, next) => {
try {
const { id } = req.params;
const deactivatedVendor = await updateVendor(id, { isActive: false });
res.status(200).json({ result: deactivatedVendor });
} catch (error) {
console.log("deactivateVendorController Error", error);
next(error);
}
};
export const getVendorByIdController = async (req, res, next) => {
try {
const { id } = req.params;
const vendor = await getVendorById(id);
res.status(200).json({ result: vendor });
} catch (error) {
console.log("getVendorByIdController Error", error);
next(error);
}
};