name('index'); Route::middleware('ensureUserNotLoggedIn')->group(function () { Route::get('/log-in', [LoginController::class, 'logIn'])->name('log-in'); Route::post('/process-log-in', [LoginController::class, 'processLogIn'])->name('process-log-in'); Route::get('/log-in-with-google', [LoginController::class, 'logInWithGoogle'])->name('log-in-with-google'); Route::get('/log-in-with-facebook', [LoginController::class, 'logInWithFacebook'])->name('log-in-with-facebook'); Route::get('/forgot-password', [LoginController::class, 'forgotPassword'])->name('forgot-password'); Route::post('/process-forgot-password', [LoginController::class, 'processForgotPassword'])->name('process-forgot-password'); Route::get('/forgot-password-success', [LogInController::class, 'forgotPasswordSuccess'])->name('forgot-password-success'); Route::get('/reset-password/{passwordResetToken}', [LoginController::class, 'resetPassword'])->name('reset-password'); Route::post('/process-reset-password', [LoginController::class, 'processResetPassword'])->name('process-reset-password'); }); Route::get('/attachment/{token}', [Controller::class, 'viewUploadedFileViaToken'])->name('view-uploaded-file-via-access-token'); Route::group(['middleware' => ['ensureUserLoggedIn']], function () { Route::get('/file/view/{file}', [Controller::class, 'viewUploadedFile'])->name('view-uploaded-file'); Route::get('/search-lab', [MyAccountController::class, 'searchLab'])->name('search-lab'); Route::prefix('/my-account')->name('my-account')->group(function () { Route::get('/', [MyAccountController::class, 'index'])->name('.index'); Route::get('/log-in-settings', [MyAccountController::class, 'logInSettings'])->name('.log-in-settings'); Route::get('/user/enable-google-log-in', [MyAccountController::class, 'enableGoogleLogIn'])->name('.enable-google-log-in'); Route::get('/user/enable-facebook-log-in', [MyAccountController::class, 'enableFacebookLogIn'])->name('.enable-facebook-log-in'); }); //ADMIN Route::group(['middleware' => ['ensureAdminRole']], function () { Route::prefix('/admin')->name('admin')->group(function () { Route::get('/dashboard', [AdminController::class, 'dashboard'])->name('.dashboard'); Route::get('/users', [AdminController::class, 'users'])->name('.users'); Route::post('/create-new-user', [AdminController::class, 'createNewUser'])->name('.create-new-user'); Route::post('/create-new-email', [AdminController::class, 'createNewEmail'])->name('.create-new-email'); Route::post('/create-new-sms', [AdminController::class, 'createNewSms'])->name('.create-new-sms'); Route::post('/admin-merge-user', [AdminController::class, 'adminMergeUser'])->name('.admin-merge-user'); Route::prefix('/users/view/{user}')->name('.users.view')->group(function () { Route::get('/dashboard', [AdminController::class, 'userDashboard'])->name('.dashboard'); Route::get('/orders', [AdminController::class, 'userOrders'])->name('.orders'); Route::get('/transactions', [AdminController::class, 'userTransactions'])->name('.transactions'); Route::get('/related-users', [AdminController::class, 'relatedUsers'])->name('.related-users'); Route::get('/sessions', [AdminController::class, 'userSessions'])->name('.sessions'); Route::get('/user-events', [AdminController::class, 'userUserEvents'])->name('.user-events'); Route::get('/payment-methods', [AdminController::class, 'userPaymentMethods'])->name('.payment-methods'); Route::get('/emails', [AdminController::class, 'userEmails'])->name('.emails'); Route::get('/smses', [AdminController::class, 'userSmses'])->name('.smses'); Route::get('/messages', [AdminController::class, 'userMessages'])->name('.messages'); Route::get('messages/{message}/attachments', [AdminController::class, 'userMessageAttachments'])->name('message-attachments'); Route::post('/make-admin', [AdminController::class, 'userMakeAdmin'])->name('.make-admin'); Route::post('/undo-make-admin', [AdminController::class, 'userUndoMakeAdmin'])->name('.undo-make-admin'); }); Route::get('/orders', [AdminController::class, 'orders'])->name('.orders'); Route::post('/create-order', [AdminController::class, 'orderCreate'])->name('.create-order'); Route::prefix('/orders/view/{order}')->name('.orders.view')->group(function () { Route::get('/dashboard', [AdminController::class, 'orderDashboard'])->name('.dashboard'); Route::get('/preview-invoice', [AdminController::class, 'orderPreviewInvoice'])->name('.preview-invoice'); Route::get('/financial-transactions', [AdminController::class, 'orderFinancialTransactions'])->name('.financial-transactions'); Route::get('/test-results', [AdminController::class, 'orderTestResults'])->name('.test-results'); Route::post('/order-charge', [AdminController::class, 'orderCharge'])->name('.order-charge'); Route::post('/file/upload', [AdminController::class, 'uploadFile'])->name('.upload-file'); Route::post('/file/delete', [AdminController::class, 'deleteFile'])->name('.delete-file'); Route::post('/email-report', [AdminController::class, 'emailReport'])->name('.email-report'); Route::post('/sms-report', [AdminController::class, 'smsReport'])->name('.sms-report'); Route::post('/cancel-order', [AdminController::class, 'cancelOrder'])->name('.cancel-order'); }); Route::get('/payment-methods', [AdminController::class, 'paymentMethods'])->name('.payment-methods'); Route::prefix('/payment-methods/view/{paymentMethod}')->name('.payment-methods.view')->group(function () { Route::get('/dashboard', [AdminController::class, 'paymentMethodDashboard'])->name('.dashboard'); }); Route::get('/financial-transactions', [AdminController::class, 'financialTransactions'])->name('.financial-transactions'); Route::prefix('/financial-transactions/view/{order}')->name('.financial-transactions.view')->group(function () { Route::get('/dashboard', [AdminController::class, 'financialTransactionDashboard'])->name('.dashboard'); }); Route::get('/report/{report}', [AdminController::class, 'report'])->name('.report'); Route::get('/sessions', [AdminController::class, 'sessions'])->name('.sessions'); Route::get('/user-events', [AdminController::class, 'userEvents'])->name('.user-events'); Route::post('/email-attachment', [AdminController::class, 'emailAttachment'])->name('.email-attachment'); Route::get('/guests-data', [AdminController::class, 'guestsData'])->name('.guests-data'); Route::get('/verification-tokens', [AdminController::class, 'verificationTokens'])->name('.verification-tokens'); Route::get('/users-verification-tokens', [AdminController::class, 'usersVerificationTokens'])->name('.users-verification-tokens'); Route::get('/abandoned-carts', [AdminController::class, 'abandonedCarts'])->name('.abandoned-carts'); }); Route::get('/search-users', [AppController::class, 'searchUsers'])->name('search-users'); }); Route::get('/emails/preview/{email?}', [EmailTestController::class, 'previewEmail'])->name('preview-email'); }); Route::get('/unsubscribe-from-emails', [AppController::class, 'unsubscribeFromEmails'])->name('unsubscribe-from-emails'); Route::get('/log-out', [LoginController::class, 'processLogOut'])->name('log-out'); //Google and Facebook callbacks Route::get('/user/process-log-in-with-facebook', [LogInController::class, 'processLogInWithFacebook'])->name('process-log-in-with-facebook'); Route::get('/user/process-log-in-with-google', [LogInController::class, 'processLogInWithGoogle'])->name('process-log-in-with-google');