使用express访问请求范围内经过身份验证的用户的信息
我正在将Express与TypeForm一起使用,目前我遇到以下情况: 在插入或更新记录之前,我始终希望将用户名设置为当前记录,以保留上次更新此记录的信息 使用TypeForm,这可以通过使用订阅者轻松完成:使用express访问请求范围内经过身份验证的用户的信息,express,typeorm,Express,Typeorm,我正在将Express与TypeForm一起使用,目前我遇到以下情况: 在插入或更新记录之前,我始终希望将用户名设置为当前记录,以保留上次更新此记录的信息 使用TypeForm,这可以通过使用订阅者轻松完成: @EventSubscriber() export class Subscriber implements EntitySubscriberInterface { beforeUpdate(event: UpdateEvent<any>) { const
@EventSubscriber()
export class Subscriber implements EntitySubscriberInterface {
beforeUpdate(event: UpdateEvent<any>) {
const entity = event.entity;
if(entity instanceof Base) {
entity.lastUpdatedBy = 'username'; // TODO
}
}
}
@EventSubscriber()
导出类订阅服务器实现EntitySubscriberInterface{
更新前(事件:UpdateEvent)
我也可以将用户信息附加到updateEntity方法中,但是我必须始终显式地添加
还有其他选项吗?我使用以下npm包将用户保存在我的请求范围内:
此软件包不适用于我,因为async/await似乎不受支持:继续本地存储。您可以使用任何保存选项的attAttribute数据类型
@Put('/entity')
public updateEntity(@CurrentUser({required: true}) user: User, @Body enity: Entity): Promise<Entity> {
Log.info('User successfully authenticated: ' + user)
return this.manager.update(entity, {data: user});
}
@Put('/entity')
public updateEntity(@CurrentUser({required: true}) user: User, @Body enity: Entity): Promise<Entity> {
Log.info('User successfully authenticated: ' + user)
return this.manager.update(entity, {data: user});
}
event.queryRunner.data