#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
}
})
любая помощь будет признательна