chore: add create customer and update customer for admin
This commit is contained in:
@@ -5,6 +5,7 @@ import { FastifyReply } from "fastify";
|
||||
import { ChangeEmailDto } from "./DTO/change-email.dto";
|
||||
import { CheckValidityDTO } from "./DTO/check-validity.dto";
|
||||
import { CreateAdminDto } from "./DTO/create-admin.dto";
|
||||
import { CreateCustomerDto } from "./DTO/create-customer.dto";
|
||||
import { CreateLegalUserDto } from "./DTO/create-legal-user.dto";
|
||||
import { CreateRealUserDto } from "./DTO/create-real-user.dto";
|
||||
import { CreateRoleDto } from "./DTO/create-role.dto";
|
||||
@@ -15,6 +16,8 @@ import { UpdateProfileDto } from "./DTO/update-profile.dto";
|
||||
import { CreateUserGroupDto } from "./DTO/user-group.dto";
|
||||
import { EmailVerifyQueryDto } from "./DTO/verify-email-query.dto";
|
||||
import { PermissionEnum } from "./enums/permission.enum";
|
||||
import { AdminsService } from "./providers/admins.service";
|
||||
import { CustomersService } from "./providers/customers.service";
|
||||
import { UsersService } from "./providers/users.service";
|
||||
import { AuthGuards } from "../../common/decorators/auth-guard.decorator";
|
||||
import { PermissionsDec } from "../../common/decorators/permission.decorator";
|
||||
@@ -26,9 +29,14 @@ import { VerifyOtpDto } from "../auth/DTO/verify-otp.dto";
|
||||
@Controller("users")
|
||||
@ApiTags("users")
|
||||
export class UsersController {
|
||||
constructor(private usersService: UsersService) {}
|
||||
constructor(
|
||||
private readonly usersService: UsersService,
|
||||
private readonly adminsService: AdminsService,
|
||||
private readonly customersService: CustomersService,
|
||||
) {}
|
||||
|
||||
//----------------------- user -----------------------
|
||||
|
||||
//
|
||||
@ApiOperation({ summary: "Get user profile" })
|
||||
@AuthGuards()
|
||||
@Get("me")
|
||||
@@ -49,7 +57,21 @@ export class UsersController {
|
||||
getRealUserData(@UserDec("id") userId: string) {
|
||||
return this.usersService.getRealUserData(userId);
|
||||
}
|
||||
//
|
||||
|
||||
@ApiOperation({ summary: "Create real user data ==> user route" })
|
||||
@AuthGuards()
|
||||
@Post("real")
|
||||
createRealUser(@Body() createDto: CreateRealUserDto, @UserDec("id") userId: string) {
|
||||
return this.customersService.createRealUserData(createDto, userId);
|
||||
}
|
||||
|
||||
@ApiOperation({ summary: "Create legal user data ==> user route" })
|
||||
@AuthGuards()
|
||||
@Post("legal")
|
||||
createLegalUser(@Body() createDto: CreateLegalUserDto, @UserDec("id") userId: string) {
|
||||
return this.customersService.createLegalUserData(createDto, userId);
|
||||
}
|
||||
//----------------------- profile -----------------------
|
||||
|
||||
@ApiOperation({ summary: "Update user profile" })
|
||||
@AuthGuards()
|
||||
@@ -114,32 +136,43 @@ export class UsersController {
|
||||
@AuthGuards()
|
||||
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
|
||||
@Get()
|
||||
Users() {
|
||||
getUsers() {
|
||||
return this.usersService.findAllUsers();
|
||||
}
|
||||
//----------------------- customer -----------------------
|
||||
|
||||
@ApiOperation({ summary: "get all customers ==> admin route" })
|
||||
@ApiOperation({ summary: "Create customer" })
|
||||
@AuthGuards()
|
||||
@HttpCode(HttpStatus.CREATED)
|
||||
@Post("customer")
|
||||
createCustomer(@Body() createDto: CreateCustomerDto) {
|
||||
return this.customersService.createCustomer(createDto);
|
||||
}
|
||||
|
||||
@ApiOperation({ summary: "get customers ==> admin route" })
|
||||
@AuthGuards()
|
||||
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
|
||||
@Get("customers")
|
||||
getCustomers(@Query() queryDto: SearchCustomersDto) {
|
||||
return this.usersService.getCustomers(queryDto);
|
||||
return this.customersService.getCustomers(queryDto);
|
||||
}
|
||||
|
||||
@ApiOperation({ summary: "get all customers ==> admin route" })
|
||||
@ApiOperation({ summary: "get customers by id ==> admin route" })
|
||||
@AuthGuards()
|
||||
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
|
||||
@Get("customers/:id")
|
||||
customer(@Param() paramDto: ParamDto) {
|
||||
return this.usersService.findOneCustomer(paramDto.id);
|
||||
getCustomerById(@Param() paramDto: ParamDto) {
|
||||
return this.customersService.getCustomerById(paramDto.id);
|
||||
}
|
||||
|
||||
//----------------------- admin -----------------------
|
||||
|
||||
@ApiOperation({ summary: "get all admins ==> admin route" })
|
||||
@AuthGuards()
|
||||
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
|
||||
@Get("admins")
|
||||
getAdmins(@Query() queryDto: SearchAdminQueryDto) {
|
||||
return this.usersService.getAdmins(queryDto);
|
||||
return this.adminsService.getAdmins(queryDto);
|
||||
}
|
||||
|
||||
@ApiOperation({ summary: "create admin ==> admin route" })
|
||||
@@ -147,7 +180,7 @@ export class UsersController {
|
||||
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
|
||||
@Post("admins")
|
||||
createAdmin(@Body() createDto: CreateAdminDto) {
|
||||
return this.usersService.createAdmin(createDto);
|
||||
return this.adminsService.createAdmin(createDto);
|
||||
}
|
||||
|
||||
@ApiOperation({ summary: "get all permissions ==> admin route" })
|
||||
@@ -155,7 +188,7 @@ export class UsersController {
|
||||
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
|
||||
@Get("permissions")
|
||||
getPermissions() {
|
||||
return this.usersService.getPermissions();
|
||||
return this.adminsService.getPermissions();
|
||||
}
|
||||
|
||||
@ApiOperation({ summary: "get all roles ==> admin route" })
|
||||
@@ -163,7 +196,7 @@ export class UsersController {
|
||||
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
|
||||
@Get("roles")
|
||||
getRoles(@Query() queryDto: SearchRolesQueryDto) {
|
||||
return this.usersService.getRoles(queryDto);
|
||||
return this.adminsService.getRoles(queryDto);
|
||||
}
|
||||
|
||||
@ApiOperation({ summary: "create role ==> admin route" })
|
||||
@@ -171,28 +204,6 @@ export class UsersController {
|
||||
@PermissionsDec(PermissionEnum.ADMINS, PermissionEnum.CUSTOMERS)
|
||||
@Post("roles")
|
||||
createRole(@Body() createDto: CreateRoleDto) {
|
||||
return this.usersService.createRole(createDto);
|
||||
return this.adminsService.createRole(createDto);
|
||||
}
|
||||
|
||||
@ApiOperation({ summary: "Create real user data ==> user route" })
|
||||
@AuthGuards()
|
||||
@Post("real")
|
||||
createRealUser(@Body() createDto: CreateRealUserDto, @UserDec("id") userId: string) {
|
||||
return this.usersService.createRealUserData(createDto, userId);
|
||||
}
|
||||
|
||||
@ApiOperation({ summary: "Create legal user data ==> user route" })
|
||||
@AuthGuards()
|
||||
@Post("legal")
|
||||
createLegalUser(@Body() createDto: CreateLegalUserDto, @UserDec("id") userId: string) {
|
||||
return this.usersService.createLegalUserData(createDto, userId);
|
||||
}
|
||||
|
||||
// @ApiOperation({ summary: "Create customer" })
|
||||
// @AuthGuards()
|
||||
// @HttpCode(HttpStatus.CREATED)
|
||||
// @Post("customer")
|
||||
// createCustomer(@Body() createDto: CreateCustomerDto) {
|
||||
// return this.usersService.createCustomer(createDto);
|
||||
// }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user