mirror of
https://github.com/dsoaress/link-free.git
synced 2026-08-17 06:56:04 +01:00
refactor: api routes
This commit is contained in:
59
src/modules/users/users.controller.ts
Normal file
59
src/modules/users/users.controller.ts
Normal file
@@ -0,0 +1,59 @@
|
||||
import { UsersService } from './users.service'
|
||||
|
||||
import type { NextApiRequest, NextApiResponse } from 'next'
|
||||
|
||||
class UsersController {
|
||||
async createUser(req: NextApiRequest, res: NextApiResponse) {
|
||||
const usersService = new UsersService()
|
||||
const { username, password, role } = req.body
|
||||
const { userRole } = req
|
||||
const result = await usersService.createUser(username, password, role, userRole)
|
||||
res.status(200).json(result)
|
||||
}
|
||||
|
||||
async getUser(req: NextApiRequest, res: NextApiResponse) {
|
||||
const usersService = new UsersService()
|
||||
const { id: userId } = req.params
|
||||
const result = await usersService.getUser(+userId)
|
||||
res.status(200).json(result)
|
||||
}
|
||||
|
||||
async getUsers(_req: NextApiRequest, res: NextApiResponse) {
|
||||
const usersService = new UsersService()
|
||||
const result = await usersService.getUsers()
|
||||
res.status(200).json(result)
|
||||
}
|
||||
|
||||
async getMe(req: NextApiRequest, res: NextApiResponse) {
|
||||
const usersService = new UsersService()
|
||||
const { userId } = req
|
||||
const result = await usersService.getUser(+userId)
|
||||
res.status(200).json(result)
|
||||
}
|
||||
|
||||
async checkUserExists(req: NextApiRequest, res: NextApiResponse) {
|
||||
const usersService = new UsersService()
|
||||
const { username } = req.body
|
||||
const result = await usersService.checkUserExists(username)
|
||||
res.status(200).json({ isTaken: result })
|
||||
}
|
||||
|
||||
async updateUser(req: NextApiRequest, res: NextApiResponse) {
|
||||
const usersService = new UsersService()
|
||||
const { id: userId } = req.params
|
||||
const { oldPassword, password, role } = req.body
|
||||
const { userRole } = req
|
||||
const result = await usersService.updateUser(+userId, userRole, oldPassword, password, role)
|
||||
res.status(200).json(result)
|
||||
}
|
||||
|
||||
async deleteUser(req: NextApiRequest, res: NextApiResponse) {
|
||||
const usersService = new UsersService()
|
||||
const { id: userId } = req.params
|
||||
const { userRole } = req
|
||||
await usersService.deleteUser(+userId, userRole)
|
||||
res.status(204).end()
|
||||
}
|
||||
}
|
||||
|
||||
export const usersController = new UsersController()
|
||||
Reference in New Issue
Block a user