rename modules

This commit is contained in:
2025-11-25 09:28:55 +03:30
parent bd8c64f7c4
commit fb4ed33692
6 changed files with 64 additions and 84 deletions
@@ -1,25 +0,0 @@
import { Controller, Get, UseGuards, Query, ValidationPipe } from '@nestjs/common';
import { ApiTags, ApiBearerAuth, ApiOperation, ApiOkResponse } from '@nestjs/swagger';
import { AdminAuthGuard } from 'src/modules/auth/guards/adminAuth.guard';
import { UserService } from '../user.service';
import { FindUsersDto } from '../dto/find-user.dto';
import { RestId } from 'src/common/decorators';
@UseGuards(AdminAuthGuard)
@ApiBearerAuth()
@ApiTags('Admin/User')
@Controller('admin/user')
export class UsersController {
constructor(private readonly userService: UserService) {}
@ApiOperation({ summary: 'Get paginated list of users with filters' })
@ApiOkResponse({ description: 'Paginated list of users' })
@Get('/')
async findAll(
@Query(new ValidationPipe({ transform: true, whitelist: true }))
query: FindUsersDto,
@RestId() restId: string,
) {
return this.userService.findAll(restId, query);
}
}
@@ -1,28 +1,32 @@
import { Controller, Get, UseGuards, Patch, Body, ValidationPipe, Post } from '@nestjs/common';
import { Controller, Get, UseGuards, Patch, Body, ValidationPipe, Post, Query } from '@nestjs/common';
import { ApiTags, ApiBearerAuth, ApiOperation, ApiBody, ApiOkResponse } from '@nestjs/swagger';
import { AuthGuard } from 'src/modules/auth/guards/auth.guard';
import { UserService } from '../user.service';
import { UpdateUserDto } from '../dto/update-user.dto';
import { CreateUserAddressDto } from '../dto/create-user-address.dto';
import { UserId } from 'src/common/decorators/user-id.decorator';
import { RestId } from 'src/common/decorators';
import { FindUsersDto } from '../dto/find-user.dto';
import { AdminAuthGuard } from 'src/modules/auth/guards/adminAuth.guard';
@UseGuards(AuthGuard)
@ApiBearerAuth()
@ApiTags('User')
@Controller('user')
export class PublicUserController {
@Controller()
export class UsersController {
constructor(private readonly userService: UserService) {}
@UseGuards(AuthGuard)
@ApiBearerAuth()
@ApiOperation({ summary: 'Get the current authenticated user profile' })
@Get('/me')
@Get('public/user/me')
async getUser(@UserId() userId: string) {
const user = await this.userService.findById(userId);
return user;
}
@UseGuards(AuthGuard)
@ApiBearerAuth()
@ApiOperation({ summary: 'Update the authenticated user profile' })
@ApiBody({ type: UpdateUserDto })
@Patch('/')
@Patch('public/user/update')
async updateUser(
@UserId() userId: string,
@Body(new ValidationPipe({ transform: true, whitelist: true })) dto: UpdateUserDto,
@@ -31,18 +35,22 @@ export class PublicUserController {
return user;
}
@UseGuards(AuthGuard)
@ApiBearerAuth()
@ApiOperation({ summary: 'Get all addresses for the authenticated user' })
@ApiOkResponse({ description: 'List of user addresses' })
@Get('/addresses')
@Get('public/user/addresses')
async getUserAddresses(@UserId() userId: string) {
const addresses = await this.userService.getUserAddresses(userId);
return addresses;
}
@UseGuards(AuthGuard)
@ApiBearerAuth()
@ApiOperation({ summary: 'Create a new address for the authenticated user' })
@ApiBody({ type: CreateUserAddressDto })
@ApiOkResponse({ description: 'Created user address' })
@Post('/addresses')
@Post('public/user/addresses')
async createUserAddress(
@UserId() userId: string,
@Body(new ValidationPipe({ transform: true, whitelist: true })) dto: CreateUserAddressDto,
@@ -50,4 +58,17 @@ export class PublicUserController {
const address = await this.userService.createUserAddress(userId, dto);
return address;
}
@UseGuards(AdminAuthGuard)
@ApiBearerAuth()
@ApiOperation({ summary: 'Get paginated list of restuarant users with filters' })
@ApiOkResponse({ description: 'Paginated list of users' })
@Get('admin/users')
async findAllRestaurantUsers(
@Query(new ValidationPipe({ transform: true, whitelist: true }))
query: FindUsersDto,
@RestId() restId: string,
) {
return this.userService.findAll(restId, query);
}
}
+2 -3
View File
@@ -1,7 +1,6 @@
import { Module } from '@nestjs/common';
import { UserService } from './user.service';
import { UsersController } from './controllers/user.controller';
import { PublicUserController } from './controllers/public-user.controller';
import { UsersController } from './controllers/users.controller';
import { MikroOrmModule } from '@mikro-orm/nestjs';
import { User } from './entities/user.entity';
import { UserAddress } from './entities/user-address.entity';
@@ -10,7 +9,7 @@ import { UserRepository } from './repositories/user.repository';
@Module({
providers: [UserService, UserRepository],
controllers: [UsersController, PublicUserController],
controllers: [UsersController],
imports: [MikroOrmModule.forFeature([User, UserAddress]), JwtModule],
exports: [UserService, UserRepository],
})