update 17 mei

This commit is contained in:
[Valentino Heman Budiarto]
2026-05-17 21:34:19 +07:00
parent e6f5c4df06
commit 8d35ec81d8
7 changed files with 448 additions and 46 deletions
+13 -6
View File
@@ -14,8 +14,8 @@ func main() {
// 1. Konek Database
config.ConnectDatabase()
// 2. AutoMigrate (Membuat tabel jika belum ada)
config.DB.AutoMigrate(&models.User{}, &models.Room{}, &models.Booking{})
// 2. AutoMigrate (Tambahkan ClassSchedule di sini agar dikenali GORM)
config.DB.AutoMigrate(&models.User{}, &models.Room{}, &models.Booking{}, &models.ClassSchedule{})
r := gin.Default()
@@ -35,6 +35,7 @@ func main() {
r.POST("/api/verify-code", controllers.VerifyRedeemCode)
// --- RUTE YANG DILINDUNGI TOKEN (UNTUK WEB) ---
protected := r.Group("/api")
protected.Use(middleware.AuthMiddleware())
{
@@ -51,14 +52,20 @@ func main() {
// Bookings
protected.POST("/bookings", controllers.CreateBooking)
protected.GET("/bookings", controllers.GetAllBookings)
protected.PUT("/bookings/:id/status", controllers.UpdateBookingStatus) // <-- Cukup tulis satu kali saja
protected.PUT("/bookings/:id/status", controllers.UpdateBookingStatus)
// Admin (Manage Rooms)
protected.PUT("/admin/rooms/:id/status", controllers.UpdateRoomStatus) // <-- Pastikan baris ini ada
protected.PUT("/admin/rooms/:id/status", controllers.UpdateRoomStatus)
// 🌟 RUTE BARU: Jadwal Kuliah (Untuk Halaman Web Admin)
protected.GET("/schedules", controllers.GetSchedules)
}
// 5. Jalur IoT ESP32 (Di luar protected)
// 5. Jalur IoT ESP32 (Di luar protected karena ESP32 tidak pakai sistem Login Token)
r.POST("/api/sensor/energy", controllers.UpdateRoomPower)
// 🌟 RUTE BARU: Untuk menerima ketukan pintu dari Hardware ESP32
r.POST("/api/hardware/verify", controllers.VerifyHardwareCode)
r.Run(":8080")
}
@@ -76,4 +83,4 @@ func CORSMiddleware() gin.HandlerFunc {
}
c.Next()
}
}
}