user(); })->middleware('auth:sanctum'); // Test endpoint Route::get('/test', function () { return response()->json(['message' => 'API working']); }); // Firebase API Routes Route::prefix('firebase')->group(function () { Route::post('/test-connection', [FirebaseController::class, 'testConnection']); Route::post('/sensor-data', [FirebaseController::class, 'receiveSensorData']); Route::post('/actuator-data', [FirebaseController::class, 'receiveActuatorData']); Route::get('/realtime-data', [FirebaseController::class, 'getRealtimeData']); Route::post('/update-actuator', [FirebaseController::class, 'updateActuatorStatus']); Route::post('/sync-from-firebase', [FirebaseController::class, 'syncFromFirebase']); }); // IoT Device Routes (untuk ESP32/Arduino) Route::prefix('iot')->group(function () { Route::post('/sensor', [FirebaseController::class, 'receiveSensorData']); Route::post('/actuator', [FirebaseController::class, 'receiveActuatorData']); Route::post('/umur-tanaman', [FirebaseController::class, 'receiveUmurTanamanData']); Route::get('/status', function () { return response()->json([ 'status' => 'online', 'timestamp' => now()->toISOString() ]); }); }); // Test endpoints untuk Firebase data Route::prefix('test')->group(function () { Route::get('/firebase-sensor', [FirebaseController::class, 'getFirebaseSensorData']); Route::get('/firebase-actuator', [FirebaseController::class, 'getFirebaseActuatorData']); Route::get('/firebase-umur', [FirebaseController::class, 'getFirebaseUmurTanamanData']); });