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;
|
namespace Database\Seeders;
|
||||||
|
|
||||||
|
use App\Actions\CreateScenarioAction;
|
||||||
|
use App\Models\Scenario;
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
// use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
|
||||||
use Illuminate\Database\Seeder;
|
use Illuminate\Database\Seeder;
|
||||||
|
|
||||||
class DatabaseSeeder extends Seeder
|
class DatabaseSeeder extends Seeder
|
||||||
|
|
@ -13,8 +14,6 @@ class DatabaseSeeder extends Seeder
|
||||||
*/
|
*/
|
||||||
public function run(): void
|
public function run(): void
|
||||||
{
|
{
|
||||||
// User::factory(10)->create();
|
|
||||||
|
|
||||||
User::firstOrCreate(
|
User::firstOrCreate(
|
||||||
['email' => 'test@example.com'],
|
['email' => 'test@example.com'],
|
||||||
[
|
[
|
||||||
|
|
@ -23,5 +22,11 @@ public function run(): void
|
||||||
'email_verified_at' => now(),
|
'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\ProjectionController;
|
||||||
use App\Http\Controllers\ScenarioController;
|
use App\Http\Controllers\ScenarioController;
|
||||||
use App\Http\Controllers\StreamController;
|
use App\Http\Controllers\StreamController;
|
||||||
|
use App\Models\Scenario;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
use Inertia\Inertia;
|
|
||||||
|
|
||||||
// Scenario routes (no auth required for MVP)
|
// Single-scenario MVP: redirect root to the default scenario
|
||||||
Route::get('/', [ScenarioController::class, 'index'])->name('scenarios.index');
|
Route::get('/', function () {
|
||||||
Route::get('/scenarios/create', [ScenarioController::class, 'create'])->name('scenarios.create');
|
return redirect()->route('scenarios.show', Scenario::firstOrFail());
|
||||||
Route::post('/scenarios', [ScenarioController::class, 'store'])->name('scenarios.store');
|
})->name('home');
|
||||||
|
|
||||||
Route::get('/scenarios/{scenario}', [ScenarioController::class, 'show'])->name('scenarios.show');
|
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');
|
// Scenario CRUD routes (hidden for single-scenario MVP, re-enable later)
|
||||||
Route::delete('/scenarios/{scenario}', [ScenarioController::class, 'destroy'])->name('scenarios.destroy');
|
// 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)
|
// Bucket routes (no auth required for MVP)
|
||||||
Route::get('/scenarios/{scenario}/buckets', [BucketController::class, 'index'])->name('buckets.index');
|
Route::get('/scenarios/{scenario}/buckets', [BucketController::class, 'index'])->name('buckets.index');
|
||||||
|
|
@ -33,10 +39,11 @@
|
||||||
// Projection routes (no auth required for MVP)
|
// Projection routes (no auth required for MVP)
|
||||||
Route::post('/scenarios/{scenario}/projections/calculate', [ProjectionController::class, 'calculate'])->name('projections.calculate');
|
Route::post('/scenarios/{scenario}/projections/calculate', [ProjectionController::class, 'calculate'])->name('projections.calculate');
|
||||||
|
|
||||||
Route::middleware(['auth', 'verified'])->group(function () {
|
// Auth dashboard (hidden for single-scenario MVP, re-enable later)
|
||||||
Route::get('dashboard', function () {
|
// Route::middleware(['auth', 'verified'])->group(function () {
|
||||||
return Inertia::render('dashboard');
|
// Route::get('dashboard', function () {
|
||||||
})->name('dashboard');
|
// return Inertia::render('dashboard');
|
||||||
});
|
// })->name('dashboard');
|
||||||
|
// });
|
||||||
|
|
||||||
require __DIR__.'/settings.php';
|
require __DIR__.'/settings.php';
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue