45 lines
1.8 KiB
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']);
|
|
});
|