83 lines
4.4 KiB
PHP
83 lines
4.4 KiB
PHP
<?php
|
|
|
|
use Illuminate\Support\Facades\Route;
|
|
use Inertia\Inertia;
|
|
use App\Http\Controllers\Client\AuthController;
|
|
use App\Http\Controllers\Client\FastRequestController;
|
|
use App\Http\Controllers\Client\InvoiceController;
|
|
use App\Http\Controllers\Client\PaymentController;
|
|
use App\Http\Controllers\Client\ProfileController;
|
|
use App\Http\Controllers\Client\WalletController;
|
|
use App\Http\Controllers\Client\Doctor\DashboardController;
|
|
use App\Http\Controllers\Client\Doctor\CaseController;
|
|
use App\Http\Controllers\Client\Doctor\DocumentController;
|
|
use App\Http\Controllers\Client\Doctor\ReportController;
|
|
use App\Http\Controllers\Client\Doctor\ShiftController;
|
|
|
|
Route::get('/', function () {
|
|
return Inertia::client('index', []);
|
|
});
|
|
|
|
// TODO: temporary local-only debug login, remove before commit
|
|
if (app()->environment('local')) {
|
|
Route::get('/__dev-login-admin', function () {
|
|
\Illuminate\Support\Facades\Auth::login(\App\Models\User::where('email', 'admin@gmail.com')->firstOrFail());
|
|
return redirect('/admin/shifts/create');
|
|
});
|
|
}
|
|
|
|
|
|
Route::group(['prefix' => 'auth','middleware' => 'guest'] , function (){
|
|
Route::prefix('login')->group(function () {
|
|
Route::get('phone', [AuthController::class, 'phone'])->name('login');
|
|
Route::post('check-phone', [AuthController::class, 'checkPhone'])->name('checkPhone');
|
|
Route::get('choose-portal/{level?}', [AuthController::class, 'choosePortal'])->name('portal');
|
|
Route::get('password', [AuthController::class, 'showPasswordForm'])->name('password');
|
|
Route::post('authenticate', [AuthController::class, 'authenticate'])->name('authenticate');
|
|
Route::post('send-otp', [AuthController::class, 'sendOtp'])->name('sendOtp');
|
|
Route::get('otp-verification', [AuthController::class, 'otpVerification'])->name('otpVerification');
|
|
Route::post('verify-otp', [AuthController::class, 'verifyOtp'])->name('verifyOtp');
|
|
Route::get('reset-password', [AuthController::class, 'resetPassword'])->name('resetPassword');
|
|
Route::post('update-password', [AuthController::class, 'updatePassword'])->name('updatePassword');
|
|
});
|
|
Route::prefix('register')->name('register.')->group(function () {
|
|
Route::get('choose-type', [AuthController::class, 'chooseType'])->name('chooseType');
|
|
Route::get('supervisor', [AuthController::class, 'registerSupervisor'])->name('supervisor');
|
|
Route::get('veterinarian', [AuthController::class, 'registerVeterinarian'])->name('veterinarian');
|
|
Route::post('/', [AuthController::class, 'store'])->name('store');
|
|
});
|
|
});
|
|
|
|
Route::group(['prefix' => 'dashboard' , 'middleware' => 'auth' , 'as' => 'dashboard.'] , function (){
|
|
Route::get('/', [DashboardController::class, 'index'])->name('index');
|
|
|
|
Route::get('fast-requests/create', [FastRequestController::class, 'create'])->name('fastRequests.create');
|
|
Route::post('fast-requests', [FastRequestController::class, 'store'])->name('fastRequests.store');
|
|
|
|
Route::post('profile', [ProfileController::class, 'update'])->name('profile.update');
|
|
|
|
Route::post('payments', [PaymentController::class, 'store'])->name('payments.store');
|
|
Route::get('payments/callback', [PaymentController::class, 'callback'])->name('payments.callback');
|
|
|
|
Route::get('wallet', [WalletController::class, 'index'])->name('wallet.index');
|
|
Route::post('wallet/deposit', [WalletController::class, 'deposit'])->name('wallet.deposit');
|
|
Route::post('wallet/withdraw-requests', [WalletController::class, 'storeWithdrawRequest'])->name('wallet.withdrawRequests.store');
|
|
Route::post('wallet/bank-cards', [WalletController::class, 'storeBankCard'])->name('wallet.bankCards.store');
|
|
Route::delete('wallet/bank-cards/{bankCard}', [WalletController::class, 'destroyBankCard'])->name('wallet.bankCards.destroy');
|
|
|
|
Route::get('invoices', [InvoiceController::class, 'index'])->name('invoices.index');
|
|
Route::post('invoices/{invoice}/pay-wallet', [InvoiceController::class, 'payWithWallet'])->name('invoices.payWallet');
|
|
|
|
Route::resource('/documents', DocumentController::class);
|
|
Route::resource('cases', CaseController::class);
|
|
Route::post('cases/{case}/reject', [CaseController::class, 'reject'])->name('cases.reject');
|
|
|
|
Route::resource('reports', ReportController::class);
|
|
Route::resource('shifts', ShiftController::class)->only(['index', 'update', 'destroy']);
|
|
|
|
// Auth Logout
|
|
Route::get('logout', [AuthController::class, 'logout'])->name('logout');
|
|
});
|
|
|
|
|