Как я могу реализовать resetPassword с FireLoop, используя модель пользователя по умолчанию?

Поэтому в моем /xyz.component.ts я вызываю метод resetPassword из /user.ts. В документации LoopBack сказано:

Вызов User.resetPassword в конечном итоге генерирует событие resetPasswordRequest и создает маркер временного доступа.

Но как мне поймать событие? Если я пытаюсь применить.on('resetPasswordRequest', ()=>{....}), он говорит мне, что для UserApi нет 'on'.


/xyz.component.ts

 private resetPassword(){
    this.userApi.resetPassword({email: this.userName}).subscribe((data : any)=>{
        console.log(data);
    },(error : any) => {
        this.error = error;
      }
    );
    console.log("error: " , this.error);
  }

/user.ts

  public resetPassword(options: any, customHeaders?: Function): Observable<any> {
    let _method: string = "POST";
    let _url: string = LoopBackConfig.getPath() + "/" + LoopBackConfig.getApiVersion() +
    "/Users/reset";
    let _routeParams: any = {};
    let _postBody: any = {
      options: options
    };
    let _urlParams: any = {};
    let result = this.request(_method, _url, _routeParams, _urlParams, _postBody, null, customHeaders);
    return result;
  }

1 ответ

MROALI был так любезен, чтобы помочь мне с моим вопросом на GitHub. Итак, что вам нужно сделать, чтобы поймать событие resetPasswordRequest, это отредактировать конструктор вашей пользовательской модели (или расширить пользовательскую модель, если вы не используете значение по умолчанию) следующим образом:

  constructor(public model: any) {
     model.on('resetPasswordRequest', function (info:any) {
     console.log("do something");
     })
   }
Другие вопросы по тегам