Sửa lỗi load danh sách người dùng trong quản lí

This commit is contained in:
2026-06-13 18:35:15 +07:00
parent 7b42058d77
commit 7fc80a49d0
7 changed files with 50 additions and 15 deletions
+2 -2
View File
@@ -7,10 +7,10 @@ export declare class JwtStrategy extends JwtStrategy_base {
private prisma;
constructor(prisma: PrismaService);
validate(payload: any): Promise<{
id: number;
email: string;
passwordHash: string;
id: number;
name: string | null;
passwordHash: string;
avatar: string | null;
createdAt: Date;
isAdmin: boolean;
+16 -5
View File
@@ -16,6 +16,9 @@ import { PrismaService } from './prisma.service.js';
import 'dotenv/config';
import * as bcrypt from 'bcrypt';
import { AdminGuard } from './admin.guard.js';
import { JwtModule, JwtService } from '@nestjs/jwt';
import { JwtAuthGuard } from './jwt-auth.guard.js';
import { JwtStrategy } from './jwt.strategy.js';
let AppController = class AppController {
getHello() {
return 'Travel Planning API is running!';
@@ -31,8 +34,9 @@ AppController = __decorate([
Controller()
], AppController);
let AuthController = class AuthController {
constructor(prisma) {
constructor(prisma, jwtService) {
this.prisma = prisma;
this.jwtService = jwtService;
}
async getStatus() {
const userCount = await this.prisma.user.count();
@@ -48,8 +52,9 @@ let AuthController = class AuthController {
if (user.isBlocked) {
throw new UnauthorizedException('Tài khoản của bạn đã bị khóa. Vui lòng liên hệ quản trị viên.');
}
const payload = { email: user.email, sub: user.id };
return {
access_token: 'simulated-jwt-token',
access_token: this.jwtService.sign(payload),
user: {
id: user.id,
email: user.email,
@@ -94,7 +99,7 @@ __decorate([
], AuthController.prototype, "signup", null);
AuthController = __decorate([
Controller('v1/auth'),
__metadata("design:paramtypes", [PrismaService])
__metadata("design:paramtypes", [PrismaService, JwtService])
], AuthController);
let TourController = class TourController {
constructor(prisma) {
@@ -221,15 +226,21 @@ __decorate([
], UserController.prototype, "toggleBlock", null);
UserController = __decorate([
Controller('v1/users'),
UseGuards(AdminGuard),
UseGuards(JwtAuthGuard, AdminGuard),
__metadata("design:paramtypes", [PrismaService])
], UserController);
let AppModule = class AppModule {
};
AppModule = __decorate([
Module({
imports: [
JwtModule.register({
secret: process.env.JWT_SECRET || 'super-secret',
signOptions: { expiresIn: '1d' },
}),
],
controllers: [AppController, AuthController, TourController, UserController],
providers: [PrismaService],
providers: [PrismaService, JwtStrategy],
exports: [PrismaService]
})
], AppModule);
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
File diff suppressed because one or more lines are too long