feat(backend): update gestionnaire creation logic and clean up DTOs

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
MARTIN Julien 2026-02-24 10:26:24 +01:00
parent f9477d3fbe
commit 10ebc77ba1
4 changed files with 20 additions and 12 deletions

View File

@ -81,7 +81,7 @@ export class Users {
type: 'enum', type: 'enum',
enum: StatutUtilisateurType, enum: StatutUtilisateurType,
enumName: 'statut_utilisateur_type', // correspond à l'enum de la db psql enumName: 'statut_utilisateur_type', // correspond à l'enum de la db psql
default: StatutUtilisateurType.EN_ATTENTE, default: StatutUtilisateurType.ACTIF,
name: 'statut' name: 'statut'
}) })
statut: StatutUtilisateurType; statut: StatutUtilisateurType;

View File

@ -2,7 +2,7 @@ import { ApiProperty, OmitType } from "@nestjs/swagger";
import { CreateUserDto } from "./create_user.dto"; import { CreateUserDto } from "./create_user.dto";
import { IsOptional, IsUUID } from "class-validator"; import { IsOptional, IsUUID } from "class-validator";
export class CreateGestionnaireDto extends OmitType(CreateUserDto, ['role', 'adresse'] as const) { export class CreateGestionnaireDto extends OmitType(CreateUserDto, ['role', 'adresse', 'genre', 'statut', 'situation_familiale', 'ville', 'code_postal', 'photo_url', 'consentement_photo', 'date_consentement_photo', 'changement_mdp_obligatoire'] as const) {
@ApiProperty({ required: false, description: 'ID du relais de rattachement' }) @ApiProperty({ required: false, description: 'ID du relais de rattachement' })
@IsOptional() @IsOptional()
@IsUUID() @IsUUID()

View File

@ -5,7 +5,7 @@ import {
} from '@nestjs/common'; } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm'; import { InjectRepository } from '@nestjs/typeorm';
import { Repository } from 'typeorm'; import { Repository } from 'typeorm';
import { RoleType, Users } from 'src/entities/users.entity'; import { RoleType, StatutUtilisateurType, Users } from 'src/entities/users.entity';
import { CreateGestionnaireDto } from '../dto/create_gestionnaire.dto'; import { CreateGestionnaireDto } from '../dto/create_gestionnaire.dto';
import { UpdateGestionnaireDto } from '../dto/update_gestionnaire.dto'; import { UpdateGestionnaireDto } from '../dto/update_gestionnaire.dto';
import * as bcrypt from 'bcrypt'; import * as bcrypt from 'bcrypt';
@ -32,16 +32,17 @@ export class GestionnairesService {
password: hashedPassword, password: hashedPassword,
prenom: dto.prenom, prenom: dto.prenom,
nom: dto.nom, nom: dto.nom,
genre: dto.genre, // genre: dto.genre, // Retiré
statut: dto.statut, // statut: dto.statut, // Retiré
statut: StatutUtilisateurType.ACTIF,
telephone: dto.telephone, telephone: dto.telephone,
// adresse: dto.adresse, // Adresse retirée du formulaire de création // adresse: dto.adresse, // Retiré
photo_url: dto.photo_url, // photo_url: dto.photo_url, // Retiré
consentement_photo: dto.consentement_photo ?? false, // consentement_photo: dto.consentement_photo ?? false, // Retiré
date_consentement_photo: dto.date_consentement_photo // date_consentement_photo: dto.date_consentement_photo // Retiré
? new Date(dto.date_consentement_photo) // ? new Date(dto.date_consentement_photo)
: undefined, // : undefined,
changement_mdp_obligatoire: true, // Forcé à true pour les nouveaux gestionnaires changement_mdp_obligatoire: true,
role: RoleType.GESTIONNAIRE, role: RoleType.GESTIONNAIRE,
relaisId: dto.relaisId, relaisId: dto.relaisId,
}); });

7
check_hash.js Normal file
View File

@ -0,0 +1,7 @@
const bcrypt = require('bcrypt');
const pass = '!Bezons2014';
bcrypt.hash(pass, 10).then(hash => {
console.log('New Hash:', hash);
}).catch(err => console.error(err));