| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import { FastifyInstance } from 'fastify'
- import { UserController } from '../controllers/user.controller'
- import { authenticate, hasRole } from '../middlewares/auth.middleware'
- import { ResetPasswordBody, ListUserQuery, CreateUserBody, UpdateUserBody } from '../dto/user.dto'
- import { UserRole } from '../entities/user.entity'
- export default async function userRoutes(fastify: FastifyInstance) {
- const userController = new UserController(fastify)
- fastify.post('/register', userController.register.bind(userController))
- fastify.post('/login', userController.userLogin.bind(userController))
- fastify.post('/admin-login', userController.adminLogin.bind(userController))
- fastify.get('/profile', { onRequest: [authenticate] }, userController.profile.bind(userController))
- fastify.post<{ Body: ResetPasswordBody }>(
- '/reset-password',
- { onRequest: [authenticate] },
- userController.resetPassword.bind(userController)
- )
- fastify.get<{ Querystring: ListUserQuery }>(
- '/',
- { onRequest: [hasRole(UserRole.ADMIN)] },
- userController.list.bind(userController)
- )
- fastify.get<{ Querystring: ListUserQuery }>(
- '/all',
- { onRequest: [hasRole(UserRole.ADMIN)] },
- userController.getAllUsers.bind(userController)
- )
- // 新增用户接口
- fastify.post<{ Body: CreateUserBody }>(
- '/create',
- { onRequest: [hasRole(UserRole.ADMIN)] },
- userController.createUser.bind(userController)
- )
- // 修改用户接口
- fastify.post<{ Body: UpdateUserBody }>(
- '/update',
- { onRequest: [hasRole(UserRole.ADMIN)] },
- userController.updateUser.bind(userController)
- )
- // 获取api子用户接口
- fastify.get<{ Querystring: { parentId?: number } }>(
- '/children',
- { onRequest: [hasRole(UserRole.ADMIN)] },
- userController.getChildApiUsers.bind(userController)
- )
- }
|