1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
| import { Controller, Body, Delete, Get, Param, Post, Put, } from '@nestjs/common'; import { CreateUserDTO, EditUserDTO } from './user.dto'; import { User } from './user.interface'; import { UserService } from './user.service';
interface UserResponse<T = unknown> { code: number; data?: T; message: string; }
@Controller('user') export class UserController { constructor(private readonly userService: UserService) {}
@Get('users') async findAll(): Promise<UserResponse<User[]>> { return { code: 200, data: await this.userService.findAll(), message: 'success', }; }
@Get(':_id') async findOne(@Param('_id') _id: string): Promise<UserResponse<User>> { return { code: 200, data: await this.userService.findOne(_id), message: 'success', }; }
@Post() async addOne(@Body() body: CreateUserDTO): Promise<UserResponse> { await this.userService.addOne(body); return { code: 200, message: 'success', }; }
@Put(':_id') async editOne( @Param('_id') _id: string, @Body() body: EditUserDTO, ): Promise<UserResponse> { await this.userService.editOne(_id, body); return { code: 200, message: 'Success.', }; }
@Delete(':_id') async deleteOne(@Param('_id') _id: string): Promise<UserResponse> { await this.userService.deleteOne(_id); return { code: 200, message: 'Success.', }; } }
|