Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
105 changes: 0 additions & 105 deletions src/controllers/admin.controller.ts

This file was deleted.

70 changes: 68 additions & 2 deletions src/controllers/user.controller.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,75 @@
import { Request, Response } from "express";
import { StatusCodes } from "http-status-codes";
import { PatchMarkUserAdminSchema, PatchMarkUserVerifiedSchema } from "../schemas/admin.schema";
import { PatchMarkUserAdminSchema, PatchMarkUserVerifiedSchema, DeleteUserSchema } from "../schemas/admin.schema";

import { PatchUserSchema } from "../schemas/user.schema";
import { findUserByUsernameService, updateUserByIdService } from "../services/user.service";
import { findUserByUsernameService, updateUserByIdService, deleteUserByIdService, findUsersService } from "../services/user.service";
import logger from "../utils/logger.util";



/**
* This controller will get all users from database
*
* @param req request
* @param res response
*
* @author aayushchugh, is-itayush
*/
export const getAllUsersHandler = async (req: Request, res: Response) => {
try {
const records = await findUsersService();

return res.status(StatusCodes.OK).json({
message: "Users fetched successfully",
records,
});
} catch (err) {
logger.error(err);

return res.status(StatusCodes.INTERNAL_SERVER_ERROR).json({
error: "Internal Server Error",
});
}
};

/**
* This controller will delete user from database
*
* @param req request
* @param res response
*
* @author aayushchugh, is-it-ayush
*/
export const deleteUserHandler = async (
req: Request<DeleteUserSchema["params"]>,
res: Response,
) => {
const { id } = req.params;

try {
const deletedUser = await deleteUserByIdService(id);

if (!deletedUser) {
return res.status(StatusCodes.NOT_FOUND).json({
error: "User not found",
});
}

return res.status(StatusCodes.OK).json({
message: "User deleted successfully",
});
} catch (err) {
logger.error(err);

return res.status(StatusCodes.INTERNAL_SERVER_ERROR).json({
error: "Internal Server Error",
});
}
};



/**
* This controller will update user's username
*
Expand All @@ -14,6 +78,8 @@ import logger from "../utils/logger.util";
*
* @author aayushchugh
*/


export const patchUserHandler = async (
req: Request<PatchUserSchema["params"], {}, PatchUserSchema["body"]>,
res: Response,
Expand Down
7 changes: 1 addition & 6 deletions src/routes/admin.routes.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,10 @@
import { Router } from "express";
import {
deleteUserHandler,
getAllUsersHandler,
patchMarkUserVerifiedHandler,
} from "../controllers/admin.controller";
import { createMarketingEmailHandler } from "../controllers/marketingEmail.controller";
import validateRequest from "../middleware/validateRequest.middleware";
import { deleteUserSchema, patchMarkUserVerifiedSchema } from "../schemas/admin.schema";
import { createMarketingEmailSchema } from "../schemas/marketingEmail.schema";
import { patchMarkUserAdminSchema } from "../schemas/admin.schema";
import { patchMarkUserAdminHandler } from "../controllers/user.controller";
import { patchMarkUserAdminHandler, deleteUserHandler, getAllUsersHandler, patchMarkUserVerifiedHandler } from "../controllers/user.controller";

const adminRouter: Router = Router();

Expand Down