mirror of
https://github.com/SyncrowIOT/backend.git
synced 2026-10-23 15:17:55 +00:00
refactor delete user endpoint
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import {
|
||||
Body,
|
||||
Controller,
|
||||
Delete,
|
||||
Get,
|
||||
HttpException,
|
||||
HttpStatus,
|
||||
@@ -18,6 +19,7 @@ import {
|
||||
UpdateTimezoneDataDto,
|
||||
} from '../dtos';
|
||||
import { CheckProfilePictureGuard } from 'src/guards/profile.picture.guard';
|
||||
import { SuperAdminRoleGuard } from 'src/guards/super.admin.role.guard';
|
||||
|
||||
@ApiTags('User Module')
|
||||
@Controller({
|
||||
@@ -140,4 +142,17 @@ export class UserController {
|
||||
);
|
||||
}
|
||||
}
|
||||
@ApiBearerAuth()
|
||||
@UseGuards(SuperAdminRoleGuard)
|
||||
@Delete('/:userUuid')
|
||||
async userDelete(@Param('userUuid') userUuid: string) {
|
||||
await this.userService.deleteUser(userUuid);
|
||||
return {
|
||||
statusCode: HttpStatus.OK,
|
||||
data: {
|
||||
userUuid,
|
||||
},
|
||||
message: 'User Deleted Successfully',
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -14,6 +14,7 @@ import { UserRepository } from '@app/common/modules/user/repositories';
|
||||
import { RegionRepository } from '@app/common/modules/region/repositories';
|
||||
import { TimeZoneRepository } from '@app/common/modules/timezone/repositories';
|
||||
import { removeBase64Prefix } from '@app/common/helper/removeBase64Prefix';
|
||||
import { UserEntity } from '@app/common/modules/user/entities';
|
||||
|
||||
@Injectable()
|
||||
export class UserService {
|
||||
@@ -237,4 +238,14 @@ export class UserService {
|
||||
);
|
||||
}
|
||||
}
|
||||
async findOneById(id: string): Promise<UserEntity> {
|
||||
return await this.userRepository.findOne({ where: { uuid: id } });
|
||||
}
|
||||
async deleteUser(uuid: string) {
|
||||
const user = await this.findOneById(uuid);
|
||||
if (!user) {
|
||||
throw new BadRequestException('User not found');
|
||||
}
|
||||
return await this.userRepository.update({ uuid }, { isActive: false });
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user