TypeORM проверьте, изменился ли столбец

#node.js #typescript #sqlite #express #typeorm

Вопрос:

Итак, я использую TypeORM с шаблоном ActiveRecord и имею эту сущность

 @Entity()
export class User {
  @PrimaryGeneratedColumn()
  public id: number;

  @Column()
  public username: string;

  @Column()
  public password: string;

  @BeforeInsert()
  public async hashPassword() {
    this.password = await hashPassword(this.password);
  }

}
 

теперь то, что я хочу сделать, — это перезаписать свой пароль при изменении любого пользователя, но только в том случае, если поле пароля изменилось. Я видел некоторые ответы, где я должен хранить tempPassword в качестве поля в пользовательском классе, но если по какой-то причине сервер выйдет из строя, я потеряю эти данные. Я также видел, как некоторые люди предлагали тип вещи Подписчика, и я заинтересован в этом, но не совсем уверен, как бы я реализовал это с помощью этого.
для справки это то, как я бы сделал то, что я хочу сделать с мангустом

 UserSchema.pre("save", function(next) {
  if (this.isModified("password") || this.isNew) {
    // hash the password
  }
})
 

любая помощь будет признательна