FIX: get all hierarchies

This commit is contained in:
Gabriel Rosa
2022-07-18 18:20:15 -03:00
parent 4ab955a7a1
commit 57f47d3b2e
5 changed files with 48 additions and 24 deletions
+11
View File
@@ -1,5 +1,11 @@
import { ApiProperty, ApiPropertyOptional, OmitType } from '@nestjs/swagger';
import { RoleDto, UserRole } from 'src/modules/roles/dto/entities';
export class Hierarchy {
@ApiProperty()
id: number;
@ApiProperty()
name: string;
}
export class Customer {
@ApiProperty()
id: string;
@@ -149,3 +155,8 @@ export class SetUserRolesRes {
}
export class SearchUserRes extends GetAllUsersByCustomerIdRes {}
export class GetAllHierarchiesRes {
@ApiProperty({ type: [Hierarchy] })
hierarchies: Hierarchy[];
}
+21 -11
View File
@@ -24,6 +24,7 @@ import {
CreateUserReq,
CreateUserRes,
DeleteUserRes,
GetAllHierarchiesRes,
GetAllUsersByCustomerIdRes,
SetUserRolesReq,
SetUserRolesRes,
@@ -59,6 +60,25 @@ export class UsersController {
this.logger.info('getAllUsersByCustomerId', { user });
return await this.userService.findAllUsersByCustomerId(user.customer_id);
}
@Get('hierarchies')
@RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN)
@ApiOkResponse({ type: GetAllHierarchiesRes })
async getAllHierarchies(@User() user: RequestUser) {
this.logger.info('getAllHierarchies', { user });
return await this.userService.getAllHierarchies();
}
@Get(':id')
@RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN)
@ApiOkResponse({
type: UserByCustomer,
})
async findOneById(@User() user: RequestUser, @Param('id') id: string) {
this.logger.info('findOneById', { user });
return await this.userService.findOneById(id);
}
@Post()
@RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN)
@ApiCreatedResponse({ type: CreateUserRes })
@@ -114,16 +134,6 @@ export class UsersController {
return await this.userService.unassignRoleToUser(request);
}
@Get(':id')
@RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN)
@ApiOkResponse({
type: UserByCustomer,
})
async findOneById(@User() user: RequestUser, @Param('id') id: string) {
this.logger.info('findOneById', { user });
return await this.userService.findOneById(id);
}
@Patch(':id')
@RequireAllPermissions(PERMISSIONS.USERS.permissions.ADMIN)
@ApiOkResponse({ type: UpdateUserRes })
@@ -132,7 +142,7 @@ export class UsersController {
@Body() body: UpdateUserReq,
@Param('id') id: string,
) {
this.logger.info('createUser', { user });
this.logger.info('updateUser', { user });
return await this.userService.updateUser(body, id);
}
}
+8 -5
View File
@@ -47,7 +47,7 @@ export class UsersService implements OnModuleInit {
const roles: any[] = this.rolesService.getRolesPermissionsName(u.roles);
u.roles = roles;
});
return users;
return { users };
}
async findOneById(id: string) {
@@ -60,7 +60,7 @@ export class UsersService implements OnModuleInit {
);
user.roles = roles;
}
return user;
return { user };
}
async createUser(req: CreateUserReq) {
@@ -82,7 +82,7 @@ export class UsersService implements OnModuleInit {
);
user.roles = roles;
}
return user;
return { user };
}
async updateUser(req: UpdateUserReq, id: string) {
@@ -103,7 +103,7 @@ export class UsersService implements OnModuleInit {
);
user.roles = roles;
}
return user;
return { user };
}
async setRoles(body: SetUserRolesReq) {
@@ -123,7 +123,7 @@ export class UsersService implements OnModuleInit {
);
user.roles = roles;
}
return user;
return { user };
}
async batchCreateUser({ users }: BatchCreateUserReq) {
const usersToCreate: UserCreateRequest[] = users.map((u) => ({
@@ -155,4 +155,7 @@ export class UsersService implements OnModuleInit {
async deleteUser(id: IdRequest) {
return lastValueFrom(this.usersClientService.UserRemove(id));
}
async getAllHierarchies() {
return lastValueFrom(this.usersClientService.UserFindAllHierarchies({}));
}
}