feat(backend): implement gestionnaire creation with email notification (#17)
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -4,11 +4,13 @@ import { GestionnairesController } from './gestionnaires.controller';
|
||||
import { Users } from 'src/entities/users.entity';
|
||||
import { TypeOrmModule } from '@nestjs/typeorm';
|
||||
import { AuthModule } from 'src/routes/auth/auth.module';
|
||||
import { MailModule } from 'src/modules/mail/mail.module';
|
||||
|
||||
@Module({
|
||||
imports: [
|
||||
TypeOrmModule.forFeature([Users]),
|
||||
AuthModule,
|
||||
MailModule,
|
||||
],
|
||||
controllers: [GestionnairesController],
|
||||
providers: [GestionnairesService],
|
||||
|
||||
@@ -9,12 +9,14 @@ import { RoleType, Users } from 'src/entities/users.entity';
|
||||
import { CreateGestionnaireDto } from '../dto/create_gestionnaire.dto';
|
||||
import { UpdateGestionnaireDto } from '../dto/update_gestionnaire.dto';
|
||||
import * as bcrypt from 'bcrypt';
|
||||
import { MailService } from 'src/modules/mail/mail.service';
|
||||
|
||||
@Injectable()
|
||||
export class GestionnairesService {
|
||||
constructor(
|
||||
@InjectRepository(Users)
|
||||
private readonly gestionnaireRepository: Repository<Users>,
|
||||
private readonly mailService: MailService,
|
||||
) { }
|
||||
|
||||
// Création d’un gestionnaire
|
||||
@@ -39,11 +41,26 @@ export class GestionnairesService {
|
||||
date_consentement_photo: dto.date_consentement_photo
|
||||
? new Date(dto.date_consentement_photo)
|
||||
: undefined,
|
||||
changement_mdp_obligatoire: dto.changement_mdp_obligatoire ?? false,
|
||||
changement_mdp_obligatoire: true, // Forcé à true pour les nouveaux gestionnaires
|
||||
role: RoleType.GESTIONNAIRE,
|
||||
relaisId: dto.relaisId,
|
||||
});
|
||||
return this.gestionnaireRepository.save(entity);
|
||||
|
||||
const savedUser = await this.gestionnaireRepository.save(entity);
|
||||
|
||||
// Envoi de l'email de bienvenue
|
||||
try {
|
||||
await this.mailService.sendGestionnaireWelcomeEmail(
|
||||
savedUser.email,
|
||||
savedUser.prenom || '',
|
||||
savedUser.nom || '',
|
||||
);
|
||||
} catch (error) {
|
||||
// On ne bloque pas la création si l'envoi d'email échoue, mais on log l'erreur
|
||||
console.error('Erreur lors de l\'envoi de l\'email de bienvenue au gestionnaire', error);
|
||||
}
|
||||
|
||||
return savedUser;
|
||||
}
|
||||
|
||||
// Liste des gestionnaires
|
||||
|
||||
Reference in New Issue
Block a user