feat: add admin guard and JWT role support

- Create AdminGuard to check user role
- Update JWT strategy to include role in payload
- Update auth service to include role in token generation
- Prepare admin module structure
- TypeScript will resolve lint errors after server restart
This commit is contained in:
dwindown
2025-10-11 14:15:34 +07:00
parent c3bc181063
commit 9b789b333f
26 changed files with 117 additions and 15 deletions

View File

@@ -317,10 +317,15 @@ let AuthService = class AuthService {
token,
};
}
generateToken(userId, email) {
async generateToken(userId, email) {
const user = await this.prisma.user.findUnique({
where: { id: userId },
select: { role: true },
});
return this.jwtService.sign({
sub: userId,
email,
role: user?.role || 'user',
});
}
generateTempToken(userId, email) {