first commit
Some checks failed
linter / quality (push) Has been cancelled
tests / ci (8.3) (push) Has been cancelled
tests / ci (8.4) (push) Has been cancelled
tests / ci (8.5) (push) Has been cancelled

This commit is contained in:
brusnitsyn
2026-04-06 00:06:00 +09:00
commit fb2e6c58e3
409 changed files with 42953 additions and 0 deletions

8
routes/console.php Normal file
View File

@@ -0,0 +1,8 @@
<?php
use Illuminate\Foundation\Inspiring;
use Illuminate\Support\Facades\Artisan;
Artisan::command('inspire', function () {
$this->comment(Inspiring::quote());
})->purpose('Display an inspiring quote');

44
routes/settings.php Normal file
View File

@@ -0,0 +1,44 @@
<?php
use App\Http\Controllers\Settings\ProfileController;
use App\Http\Controllers\Settings\SecurityController;
use App\Http\Controllers\Teams\TeamController;
use App\Http\Controllers\Teams\TeamInvitationController;
use App\Http\Controllers\Teams\TeamMemberController;
use App\Http\Middleware\EnsureTeamMembership;
use Illuminate\Support\Facades\Route;
Route::middleware(['auth'])->group(function () {
Route::redirect('settings', '/settings/profile');
Route::get('settings/profile', [ProfileController::class, 'edit'])->name('profile.edit');
Route::patch('settings/profile', [ProfileController::class, 'update'])->name('profile.update');
});
Route::middleware(['auth', 'verified'])->group(function () {
Route::delete('settings/profile', [ProfileController::class, 'destroy'])->name('profile.destroy');
Route::get('settings/security', [SecurityController::class, 'edit'])->name('security.edit');
Route::put('settings/password', [SecurityController::class, 'update'])
->middleware('throttle:6,1')
->name('user-password.update');
Route::inertia('settings/appearance', 'settings/Appearance')->name('appearance.edit');
Route::get('settings/teams', [TeamController::class, 'index'])->name('teams.index');
Route::post('settings/teams', [TeamController::class, 'store'])->name('teams.store');
Route::middleware(EnsureTeamMembership::class)->group(function () {
Route::get('settings/teams/{team}', [TeamController::class, 'edit'])->name('teams.edit');
Route::patch('settings/teams/{team}', [TeamController::class, 'update'])->name('teams.update');
Route::delete('settings/teams/{team}', [TeamController::class, 'destroy'])->name('teams.destroy');
Route::post('settings/teams/{team}/switch', [TeamController::class, 'switch'])->name('teams.switch');
Route::patch('settings/teams/{team}/members/{user}', [TeamMemberController::class, 'update'])->name('teams.members.update');
Route::delete('settings/teams/{team}/members/{user}', [TeamMemberController::class, 'destroy'])->name('teams.members.destroy');
Route::post('settings/teams/{team}/invitations', [TeamInvitationController::class, 'store'])->name('teams.invitations.store');
Route::delete('settings/teams/{team}/invitations/{invitation}', [TeamInvitationController::class, 'destroy'])->name('teams.invitations.destroy');
});
});

48
routes/web.php Normal file
View File

@@ -0,0 +1,48 @@
<?php
use App\Http\Controllers\References\DepartmentController;
use App\Http\Controllers\Reports\AnalysisController;
use App\Http\Controllers\Reports\MedicationExpenseController;
use App\Http\Controllers\Reports\OperationalReportController;
use App\Http\Controllers\Reports\ReportPeriodController;
use App\Http\Controllers\Teams\TeamInvitationController;
use App\Http\Middleware\EnsureTeamMembership;
use Illuminate\Support\Facades\Route;
use Laravel\Fortify\Features;
Route::inertia('/', 'Welcome', [
'canRegister' => Features::enabled(Features::registration()),
])->name('home');
Route::prefix('{current_team}')
->middleware(['auth', 'verified', EnsureTeamMembership::class])
->group(function () {
Route::inertia('dashboard', 'Dashboard')->name('dashboard');
Route::prefix('references')->name('references.')->group(function () {
Route::get('departments', [DepartmentController::class, 'index'])->name('departments.index');
Route::post('department-profiles', [DepartmentController::class, 'storeProfile'])->name('department-profiles.store');
Route::post('departments', [DepartmentController::class, 'store'])->name('departments.store');
});
Route::prefix('reports')->name('reports.')->group(function () {
Route::get('periods', [ReportPeriodController::class, 'index'])->name('periods.index');
Route::post('periods', [ReportPeriodController::class, 'store'])->name('periods.store');
Route::patch('periods/{report_period}/approve', [ReportPeriodController::class, 'approve'])->name('periods.approve');
Route::get('operations', [OperationalReportController::class, 'index'])->name('operations.index');
Route::post('operations/services', [OperationalReportController::class, 'storeService'])->name('operations.services.store');
Route::post('operations', [OperationalReportController::class, 'storeEntries'])->name('operations.store');
Route::get('medication-expenses', [MedicationExpenseController::class, 'index'])->name('medication-expenses.index');
Route::post('medication-expenses', [MedicationExpenseController::class, 'storeValues'])->name('medication-expenses.store');
Route::get('analysis', [AnalysisController::class, 'index'])->name('analysis.index');
});
});
Route::middleware(['auth'])->group(function () {
Route::get('invitations/{invitation}/accept', [TeamInvitationController::class, 'accept'])->name('invitations.accept');
});
require __DIR__.'/settings.php';