diff --git a/server/internal/handlers/handlers_learning.go b/server/internal/handlers/handlers_learning.go index c8b2e2f..45482bb 100644 --- a/server/internal/handlers/handlers_learning.go +++ b/server/internal/handlers/handlers_learning.go @@ -6,6 +6,7 @@ import ( "time" internalDb "server/internal/db" + "server/internal/auth" "server/internal/models" "server/internal/util" internalWs "server/internal/websocket" @@ -343,6 +344,22 @@ func GetAllowedAppsHandler(db *gorm.DB) fiber.Handler { errApp := db.Where("class_rk_id = ?", rkID).First(&appConfig).Error hasAppsConfigured := (errApp == nil && strings.TrimSpace(appConfig.Keywords) != "") + // Nếu là request từ Staff (có Authorization Bearer token hợp lệ), trả về trực tiếp danh sách keywords đã lưu + authHeader := c.Get("Authorization") + if authHeader != "" && strings.HasPrefix(authHeader, "Bearer ") { + token := strings.TrimSpace(strings.TrimPrefix(authHeader, "Bearer ")) + if _, err := auth.ParseToken(token); err == nil { + keywords := "" + if errApp == nil { + keywords = appConfig.Keywords + } + return c.JSON(fiber.Map{ + "classRkId": rkID, + "keywords": keywords, + }) + } + } + // 2. Kiểm tra xem có trong giờ học không var schedules []models.ClassSchedule errSched := db.Where("class_rk_id = ?", rkID).Find(&schedules).Error diff --git a/server/server.exe b/server/server.exe index c4ab49b..69959f6 100644 Binary files a/server/server.exe and b/server/server.exe differ