100 lines
2.5 KiB
TypeScript
100 lines
2.5 KiB
TypeScript
|
|
|
||
|
|
import { Request, Response } from "express";
|
||
|
|
import catchAsync from "../../utils/catch_async";
|
||
|
|
import manageResponse from "../../utils/manage_response";
|
||
|
|
import { support_service } from "./support.service";
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
const createSupport = catchAsync(async (req: Request, res: Response) => {
|
||
|
|
const id = req?.user?.accountId;
|
||
|
|
const data = {
|
||
|
|
...req.body,
|
||
|
|
storeAccountId: id as string
|
||
|
|
}
|
||
|
|
|
||
|
|
const result = await support_service.createSupportIntoDB(data);
|
||
|
|
manageResponse(res, {
|
||
|
|
success: true,
|
||
|
|
statusCode: 200,
|
||
|
|
message: "support created successfully.",
|
||
|
|
data: result,
|
||
|
|
meta: {},
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
|
||
|
|
const getAllSupport = catchAsync(async (req: Request, res: Response) => {
|
||
|
|
const role = req?.user?.role;
|
||
|
|
const id = req?.user?.accountId;
|
||
|
|
const search = req?.query?.search;
|
||
|
|
const type = req?.query?.type;
|
||
|
|
const status = req?.query?.status;
|
||
|
|
|
||
|
|
const result = await support_service.getAllSupportFromDB(id as string, role as string, search as string, type as string, status as string);
|
||
|
|
manageResponse(res, {
|
||
|
|
success: true,
|
||
|
|
statusCode: 200,
|
||
|
|
message: "All support fetched successfully.",
|
||
|
|
data: result,
|
||
|
|
meta: {},
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
const get_single_support = catchAsync(async (req, res) => {
|
||
|
|
const {id} = req.params;
|
||
|
|
const userId = req?.user?.accountId;
|
||
|
|
const role = req?.user?.role
|
||
|
|
|
||
|
|
|
||
|
|
const result = await support_service.getSingleSupportFromDB(id as string, userId as string, role as string);
|
||
|
|
manageResponse(res, {
|
||
|
|
success: true,
|
||
|
|
statusCode: 200,
|
||
|
|
message: "Single support fetched successfully.",
|
||
|
|
data: result,
|
||
|
|
meta: {},
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
|
||
|
|
const update_support = catchAsync(async (req, res) => {
|
||
|
|
const {id} = req.params;
|
||
|
|
const userId = req?.user?.accountId;
|
||
|
|
const role = req?.user?.role;
|
||
|
|
const data = req.body
|
||
|
|
|
||
|
|
|
||
|
|
const result = await support_service.updateSupportIntoDB(id as string, userId as string, role as string, data);
|
||
|
|
manageResponse(res, {
|
||
|
|
success: true,
|
||
|
|
statusCode: 200,
|
||
|
|
message: "support updated successfully.",
|
||
|
|
data: result,
|
||
|
|
meta: {},
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
const delete_support = catchAsync(async (req, res) => {
|
||
|
|
const {id} = req.params;
|
||
|
|
const userId = req?.user?.accountId;
|
||
|
|
const role = req?.user?.role
|
||
|
|
|
||
|
|
const result = await support_service.deleteSupportFromDB(id as string, userId as string, role as string);
|
||
|
|
manageResponse(res, {
|
||
|
|
success: true,
|
||
|
|
statusCode: 200,
|
||
|
|
message: "support deleted successfully.",
|
||
|
|
data: result,
|
||
|
|
meta: {},
|
||
|
|
});
|
||
|
|
});
|
||
|
|
|
||
|
|
export const support_controller = {
|
||
|
|
createSupport,
|
||
|
|
getAllSupport,
|
||
|
|
get_single_support,
|
||
|
|
update_support,
|
||
|
|
delete_support,
|
||
|
|
};
|