get('/user', function (Request $request) { return $request->user(); }); // Group API agar lebih rapi Route::middleware('api')->group(function () { // Endpoint untuk menerima data sensor dan menyimpannya ke database Route::post('/sensor', [SensorController::class, 'storeSensorData']); // Endpoint untuk mengambil 10 data sensor terbaru Route::get('/latest-sensor-data', [SensorController::class, 'getLatestSensorData']); // Endpoint untuk mengirim 30 data terakhir ke Flask untuk prediksi // Route::post('/predict', [SensorController::class, 'predict']); Route::post('/predict', function (Request $request) { $data = $request->json()->all(); // Pastikan mengambil JSON sebagai array Log::info('📥 Data diterima di Laravel:', $data); if (!isset($data['predicted_suhu']) || !isset($data['predicted_kelembaban'])) { Log::error('❌ Data tidak lengkap: ', $data); return response()->json(['error' => 'Data tidak lengkap'], 400); } // Simpan ke database try { DB::table('predictions')->insert([ 'predicted_suhu' => $data['predicted_suhu'], 'predicted_kelembaban' => $data['predicted_kelembaban'], 'prediction_datetime' => $data['prediction_datetime'], 'created_at' => now(), 'updated_at' => now() ]); Log::info('✅ Data berhasil disimpan ke database.'); return response()->json(['message' => 'Data berhasil disimpan'], 201); } catch (\Exception $e) { Log::error('❌ Gagal menyimpan ke database: ' . $e->getMessage()); return response()->json(['error' => 'Gagal menyimpan ke database'], 500); } }); // Endpoint untuk mengambil 10 prediksi terbaru Route::get('/latest-predictions', [SensorController::class, 'getLatestPredictions']); // Endpoint untuk menyimpan prediksi dari Flask ke database Route::post('/predictions', [PredictionController::class, 'store']); });