Files
ara-kanban-service/src/routes/UserRoutes.ts
2025-09-27 12:08:31 +05:30

54 lines
1.1 KiB
TypeScript

import HttpStatusCodes from '@src/constants/HttpStatusCodes';
import UserService from '@src/services/UserService';
import { IUser } from '@src/models/User';
import { IReq, IRes } from './types/express/misc';
// **** Functions **** //
/**
* Get all users.
*/
async function getAll(_: IReq, res: IRes) {
const users = await UserService.getAll();
return res.status(HttpStatusCodes.OK).json({ users });
}
/**
* Add one user.
*/
async function add(req: IReq<{user: IUser}>, res: IRes) {
const { user } = req.body;
await UserService.addOne(user);
return res.status(HttpStatusCodes.CREATED).end();
}
/**
* Update one user.
*/
async function update(req: IReq<{user: IUser}>, res: IRes) {
const { user } = req.body;
await UserService.updateOne(user);
return res.status(HttpStatusCodes.OK).end();
}
/**
* Delete one user.
*/
async function delete_(req: IReq, res: IRes) {
const id = +req.params.id;
await UserService.delete(id);
return res.status(HttpStatusCodes.OK).end();
}
// **** Export default **** //
export default {
getAll,
add,
update,
delete: delete_,
} as const;