2025-12-29 17:17:35 +01:00
|
|
|
<?php
|
|
|
|
|
|
2025-12-29 23:32:05 +01:00
|
|
|
use App\Http\Controllers\BucketController;
|
2025-12-31 01:56:50 +01:00
|
|
|
use App\Http\Controllers\ProjectionController;
|
2025-12-29 21:53:52 +01:00
|
|
|
use App\Http\Controllers\ScenarioController;
|
2025-12-31 00:02:54 +01:00
|
|
|
use App\Http\Controllers\StreamController;
|
2026-03-20 14:46:08 +01:00
|
|
|
use App\Models\Scenario;
|
2025-12-29 17:17:35 +01:00
|
|
|
use Illuminate\Support\Facades\Route;
|
|
|
|
|
|
2026-03-30 00:01:05 +02:00
|
|
|
// Single scenario: redirect to default
|
2026-03-20 14:46:08 +01:00
|
|
|
Route::get('/', function () {
|
|
|
|
|
return redirect()->route('scenarios.show', Scenario::firstOrFail());
|
|
|
|
|
})->name('home');
|
|
|
|
|
|
2025-12-30 20:17:38 +01:00
|
|
|
Route::get('/scenarios/{scenario}', [ScenarioController::class, 'show'])->name('scenarios.show');
|
2026-03-22 00:56:20 +01:00
|
|
|
Route::patch('/scenarios/{scenario}', [ScenarioController::class, 'update'])->name('scenarios.update');
|
2025-12-29 17:17:35 +01:00
|
|
|
|
2025-12-29 23:32:05 +01:00
|
|
|
// Bucket routes (no auth required for MVP)
|
|
|
|
|
Route::get('/scenarios/{scenario}/buckets', [BucketController::class, 'index'])->name('buckets.index');
|
|
|
|
|
Route::post('/scenarios/{scenario}/buckets', [BucketController::class, 'store'])->name('buckets.store');
|
|
|
|
|
Route::patch('/buckets/{bucket}', [BucketController::class, 'update'])->name('buckets.update');
|
|
|
|
|
Route::delete('/buckets/{bucket}', [BucketController::class, 'destroy'])->name('buckets.destroy');
|
|
|
|
|
Route::patch('/scenarios/{scenario}/buckets/priorities', [BucketController::class, 'updatePriorities'])->name('buckets.update-priorities');
|
|
|
|
|
|
2025-12-31 00:02:54 +01:00
|
|
|
// Stream routes (no auth required for MVP)
|
|
|
|
|
Route::get('/scenarios/{scenario}/streams', [StreamController::class, 'index'])->name('streams.index');
|
|
|
|
|
Route::post('/scenarios/{scenario}/streams', [StreamController::class, 'store'])->name('streams.store');
|
|
|
|
|
Route::patch('/streams/{stream}', [StreamController::class, 'update'])->name('streams.update');
|
|
|
|
|
Route::delete('/streams/{stream}', [StreamController::class, 'destroy'])->name('streams.destroy');
|
|
|
|
|
Route::patch('/streams/{stream}/toggle', [StreamController::class, 'toggle'])->name('streams.toggle');
|
|
|
|
|
|
2025-12-31 01:56:50 +01:00
|
|
|
// Projection routes (no auth required for MVP)
|
|
|
|
|
Route::post('/scenarios/{scenario}/projections/calculate', [ProjectionController::class, 'calculate'])->name('projections.calculate');
|
2026-03-21 11:05:50 +01:00
|
|
|
Route::post('/scenarios/{scenario}/projections/preview', [ProjectionController::class, 'preview'])->name('projections.preview');
|
2026-03-22 02:15:22 +01:00
|
|
|
Route::post('/scenarios/{scenario}/projections/apply', [ProjectionController::class, 'apply'])->name('projections.apply');
|
2025-12-31 01:56:50 +01:00
|
|
|
|
2025-12-29 17:17:35 +01:00
|
|
|
require __DIR__.'/settings.php';
|