test de push suspenduser service
This commit is contained in:
parent
b8af145325
commit
39878644e8
@ -43,7 +43,9 @@ export class UserService {
|
||||
prenom: dto.prenom,
|
||||
nom: dto.nom,
|
||||
role: dto.role,
|
||||
statut: dto.statut,
|
||||
statut: currentUser?.role === RoleType.SUPER_ADMIN
|
||||
? dto.statut
|
||||
: StatutUtilisateurType.EN_ATTENTE,
|
||||
genre: dto.genre,
|
||||
telephone: dto.telephone,
|
||||
ville: dto.ville,
|
||||
@ -128,10 +130,29 @@ export class UserService {
|
||||
return savedUser;
|
||||
}
|
||||
|
||||
async suspendUser(user_id: string, currentUser: Users, comment?: string): Promise<Users> {
|
||||
if (![RoleType.SUPER_ADMIN, RoleType.ADMINISTRATEUR, RoleType.GESTIONNAIRE].includes(currentUser.role)) {
|
||||
throw new ForbiddenException('Accès réservé aux super admins, administrateurs et gestionnaires');
|
||||
}
|
||||
const user = await this.usersRepository.findOne({ where: { id: user_id } });
|
||||
if (!user) throw new NotFoundException('Utilisateur introuvable');
|
||||
user.statut = StatutUtilisateurType.SUSPENDU;
|
||||
const savedUser = await this.usersRepository.save(user);
|
||||
|
||||
const suspend = this.validationRepository.create({
|
||||
user: savedUser,
|
||||
type: 'suspension_compte',
|
||||
status: StatutValidationType.VALIDE,
|
||||
validated_by: currentUser,
|
||||
comment
|
||||
})
|
||||
await this.validationRepository.save(suspend);
|
||||
return savedUser;
|
||||
}
|
||||
async remove(id: string): Promise<void> {
|
||||
const result = await this.usersRepository.delete(id);
|
||||
if (result.affected === 0) {
|
||||
throw new NotFoundException('Utilisateur introuvable');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user