【发布时间】:2021-11-06 03:16:50
【问题描述】:
我有一个我正在开发的应用程序,除了一个更新 IsTokenExpired 的端点外,所有其他事情都运行良好。这包含一个布尔值,它可以是真或假。我一直在尝试更新这个 isTokenExpired 一段时间,它似乎已经放弃了我。下面是代码列表:
密码重置.service.ts
...
async updateExpiryStatus(
accessToken: string,
isExpired: boolean
): Promise<any> {
const expiryStatus = await this.passwordRepository.findOne({
where: { accessToken },
});
const result = await this.passwordRepository
.createQueryBuilder('password_entity')
.update(PasswordEntity)
.set({
isExpired,
})
.where('accessToken = :accessToken', { accessToken })
.execute();
console.log('====================================');
console.log({ expiryStatus, accessToken, isExpired });
console.log('====================================');
return result;
}
...
密码重置.controller.ts
@Put('updateToken/:accessToken')
updateExpiryStatus(
@Param('accessToken') accessToken: string,
@Body() isExpired: boolean
): Promise<string> {
return this.passwordService.updateExpiryStatus(accessToken, isExpired);
}
}
...
密码重置.entity.ts
import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
@Entity('password_reset')
export class PasswordEntity {
@PrimaryGeneratedColumn()
id: number;
@Column()
email: string;
@Column({ unique: true })
accessToken: string;
@Column({ default: true })
isExpired: boolean;
}
【问题讨论】:
-
isExpired 真的作为布尔值接收到控制器吗?你可以在那里添加控制台日志吗?
@Put('updateToken/:accessToken') updateExpiryStatus( @Param('accessToken') accessToken: string, @Body() isExpired: boolean ): Promise<string> { console.log(isExpired); return this.passwordService.updateExpiryStatus(accessToken, isExpired); } }
标签: javascript typescript postgresql nestjs typeorm