15 - Redirect root to single scenario and hide CRUD routes
This commit is contained in:
parent
fab5a5f4be
commit
873484db74
2 changed files with 28 additions and 16 deletions
|
|
@ -2,8 +2,9 @@
|
|||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Actions\CreateScenarioAction;
|
||||
use App\Models\Scenario;
|
||||
use App\Models\User;
|
||||
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
||||
use Illuminate\Database\Seeder;
|
||||
|
||||
class DatabaseSeeder extends Seeder
|
||||
|
|
@ -13,8 +14,6 @@ class DatabaseSeeder extends Seeder
|
|||
*/
|
||||
public function run(): void
|
||||
{
|
||||
// User::factory(10)->create();
|
||||
|
||||
User::firstOrCreate(
|
||||
['email' => 'test@example.com'],
|
||||
[
|
||||
|
|
@ -23,5 +22,11 @@ public function run(): void
|
|||
'email_verified_at' => now(),
|
||||
]
|
||||
);
|
||||
|
||||
if (Scenario::count() === 0) {
|
||||
app(CreateScenarioAction::class)->execute([
|
||||
'name' => 'My Budget',
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,17 +4,23 @@
|
|||
use App\Http\Controllers\ProjectionController;
|
||||
use App\Http\Controllers\ScenarioController;
|
||||
use App\Http\Controllers\StreamController;
|
||||
use App\Models\Scenario;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Inertia\Inertia;
|
||||
|
||||
// Scenario routes (no auth required for MVP)
|
||||
Route::get('/', [ScenarioController::class, 'index'])->name('scenarios.index');
|
||||
Route::get('/scenarios/create', [ScenarioController::class, 'create'])->name('scenarios.create');
|
||||
Route::post('/scenarios', [ScenarioController::class, 'store'])->name('scenarios.store');
|
||||
// Single-scenario MVP: redirect root to the default scenario
|
||||
Route::get('/', function () {
|
||||
return redirect()->route('scenarios.show', Scenario::firstOrFail());
|
||||
})->name('home');
|
||||
|
||||
Route::get('/scenarios/{scenario}', [ScenarioController::class, 'show'])->name('scenarios.show');
|
||||
Route::get('/scenarios/{scenario}/edit', [ScenarioController::class, 'edit'])->name('scenarios.edit');
|
||||
Route::patch('/scenarios/{scenario}', [ScenarioController::class, 'update'])->name('scenarios.update');
|
||||
Route::delete('/scenarios/{scenario}', [ScenarioController::class, 'destroy'])->name('scenarios.destroy');
|
||||
|
||||
// Scenario CRUD routes (hidden for single-scenario MVP, re-enable later)
|
||||
// Route::get('/scenarios', [ScenarioController::class, 'index'])->name('scenarios.index');
|
||||
// Route::get('/scenarios/create', [ScenarioController::class, 'create'])->name('scenarios.create');
|
||||
// Route::post('/scenarios', [ScenarioController::class, 'store'])->name('scenarios.store');
|
||||
// Route::get('/scenarios/{scenario}/edit', [ScenarioController::class, 'edit'])->name('scenarios.edit');
|
||||
// Route::patch('/scenarios/{scenario}', [ScenarioController::class, 'update'])->name('scenarios.update');
|
||||
// Route::delete('/scenarios/{scenario}', [ScenarioController::class, 'destroy'])->name('scenarios.destroy');
|
||||
|
||||
// Bucket routes (no auth required for MVP)
|
||||
Route::get('/scenarios/{scenario}/buckets', [BucketController::class, 'index'])->name('buckets.index');
|
||||
|
|
@ -33,10 +39,11 @@
|
|||
// Projection routes (no auth required for MVP)
|
||||
Route::post('/scenarios/{scenario}/projections/calculate', [ProjectionController::class, 'calculate'])->name('projections.calculate');
|
||||
|
||||
Route::middleware(['auth', 'verified'])->group(function () {
|
||||
Route::get('dashboard', function () {
|
||||
return Inertia::render('dashboard');
|
||||
})->name('dashboard');
|
||||
});
|
||||
// Auth dashboard (hidden for single-scenario MVP, re-enable later)
|
||||
// Route::middleware(['auth', 'verified'])->group(function () {
|
||||
// Route::get('dashboard', function () {
|
||||
// return Inertia::render('dashboard');
|
||||
// })->name('dashboard');
|
||||
// });
|
||||
|
||||
require __DIR__.'/settings.php';
|
||||
|
|
|
|||
Loading…
Reference in a new issue