@@ -70,7 +70,7 @@ export class PasswdService extends AbstractService {
7070 try {
7171 const identity = ( await this . identities . findOne ( { 'inetOrgPerson.uid' : initDto . uid } ) ) as Identities ;
7272 //test si on peu reninitialiser le compte
73- if ( identity . dataStatus == DataStatusEnum . INACTIVE ) {
73+ if ( identity . dataStatus === DataStatusEnum . INACTIVE || identity . dataStatus === DataStatusEnum . DELETED ) {
7474 throw new BadRequestException (
7575 'Une erreur est survenue : Tentative de réinitialisation de mot de passe impossible' ,
7676 ) ;
@@ -149,7 +149,7 @@ export class PasswdService extends AbstractService {
149149 try {
150150 const identity = ( await this . identities . findOne ( { 'inetOrgPerson.uid' : initDto . uid } ) ) as Identities ;
151151 //test si on peu reninitialiser le compte
152- if ( identity . dataStatus == DataStatusEnum . INACTIVE ) {
152+ if ( identity . dataStatus === DataStatusEnum . INACTIVE || identity . dataStatus === DataStatusEnum . DELETED ) {
153153 throw new BadRequestException (
154154 'Une erreur est survenue : Tentative de réinitialisation de mot de passe impossible' ,
155155 ) ;
@@ -213,7 +213,7 @@ export class PasswdService extends AbstractService {
213213 'inetOrgPerson.uid' : passwdDto . uid ,
214214 state : IdentityState . SYNCED ,
215215 } ) ) as Identities ;
216- if ( identity . dataStatus == DataStatusEnum . INACTIVE ) {
216+ if ( identity . dataStatus === DataStatusEnum . INACTIVE || identity . dataStatus === DataStatusEnum . DELETED ) {
217217 throw new BadRequestException (
218218 'Une erreur est survenue : Tentative de réinitialisation de mot de passe impossible' ,
219219 ) ;
@@ -227,7 +227,7 @@ export class PasswdService extends AbstractService {
227227 } ) ;
228228 }
229229 //tout est ok en envoie au backend
230- return await this . backends . executeJob (
230+ const result = await this . backends . executeJob (
231231 ActionType . IDENTITY_PASSWORD_CHANGE ,
232232 identity . _id ,
233233 {
@@ -244,6 +244,10 @@ export class PasswdService extends AbstractService {
244244 updateStatus : false ,
245245 } ,
246246 ) ;
247+ // on met actif l'identité
248+ identity . dataStatus = DataStatusEnum . ACTIVE ;
249+ await identity . save ( )
250+ return result ;
247251 } catch ( e ) {
248252 let job = undefined ;
249253 let _debug = undefined ;
@@ -382,6 +386,10 @@ export class PasswdService extends AbstractService {
382386 if ( response ?. status === 0 ) {
383387 this . logger . log ( 'delete key' ) ;
384388 await this . redis . del ( data . token ) ;
389+ // mise de l indentité active
390+ // on met actif l'identité
391+ identity . dataStatus = DataStatusEnum . ACTIVE ;
392+ await identity . save ( )
385393 return [ _ , response ] ;
386394 }
387395 this . logger . error ( 'Error from backend while reseting password by code' ) ;
@@ -461,6 +469,8 @@ export class PasswdService extends AbstractService {
461469
462470 private async setInitState ( identity : Identities , state : InitStatesEnum ) : Promise < any > {
463471 identity . initState = state ;
472+ // on met actif l'identité
473+ identity . dataStatus = DataStatusEnum . ACTIVE ;
464474 if ( state === InitStatesEnum . SENT ) {
465475 identity . initInfo . initDate = new Date ( ) ;
466476 identity . initInfo . sentDate = null ;
0 commit comments