TKK_E32222628/hydrop_web/routes/api.php

45 lines
1.8 KiB
PHP

<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\FirebaseController;
Route::get('/user', function (Request $request) {
return $request->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']);
});