web.php 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. use Illuminate\Support\Facades\Route;
  3. use App\Http\Controllers\AppController;
  4. use App\Http\Controllers\LogInController;
  5. use App\Http\Controllers\MyAccountController;
  6. use App\Http\Controllers\EmailTestController;
  7. use App\Http\Controllers\AdminController;
  8. /*
  9. |--------------------------------------------------------------------------
  10. | Web Routes
  11. |--------------------------------------------------------------------------
  12. |
  13. | Here is where you can register web routes for your application. These
  14. | routes are loaded by the RouteServiceProvider within a group which
  15. | contains the "web" middleware group. Now create something great!
  16. |
  17. */
  18. Route::get('', [AppController::class, 'index'])->name('index');
  19. Route::middleware('ensureUserNotLoggedIn')->group(function () {
  20. Route::get('/log-in', [LoginController::class, 'logIn'])->name('log-in');
  21. Route::post('/process-log-in', [LoginController::class, 'processLogIn'])->name('process-log-in');
  22. Route::get('/log-in-with-google', [LoginController::class, 'logInWithGoogle'])->name('log-in-with-google');
  23. Route::get('/log-in-with-facebook', [LoginController::class, 'logInWithFacebook'])->name('log-in-with-facebook');
  24. Route::get('/forgot-password', [LoginController::class, 'forgotPassword'])->name('forgot-password');
  25. Route::post('/process-forgot-password', [LoginController::class, 'processForgotPassword'])->name('process-forgot-password');
  26. Route::get('/forgot-password-success', [LogInController::class, 'forgotPasswordSuccess'])->name('forgot-password-success');
  27. Route::get('/reset-password/{passwordResetToken}', [LoginController::class, 'resetPassword'])->name('reset-password');
  28. Route::post('/process-reset-password', [LoginController::class, 'processResetPassword'])->name('process-reset-password');
  29. });
  30. Route::group(['middleware' => ['ensureUserLoggedIn']], function () {
  31. Route::get('/search-lab', [MyAccountController::class, 'searchLab'])->name('search-lab');
  32. Route::prefix('/my-account')->name('my-account')->group(function () {
  33. Route::get('/', [MyAccountController::class, 'index'])->name('.index');
  34. Route::get('/log-in-settings', [MyAccountController::class, 'logInSettings'])->name('.log-in-settings');
  35. Route::get('/user/enable-google-log-in', [MyAccountController::class, 'enableGoogleLogIn'])->name('.enable-google-log-in');
  36. Route::get('/user/enable-facebook-log-in', [MyAccountController::class, 'enableFacebookLogIn'])->name('.enable-facebook-log-in');
  37. });
  38. //ADMIN
  39. Route::group(['middleware' => ['ensureAdminRole']], function () {
  40. Route::prefix('/admin')->name('admin')->group(function () {
  41. Route::get('/dashboard', [AdminController::class, 'dashboard'])->name('.dashboard');
  42. Route::get('/users', [AdminController::class, 'users'])->name('.users');
  43. Route::post('/create-new-user', [AdminController::class, 'createNewUser'])->name('.create-new-user');
  44. Route::prefix('/users/view/{user}')->name('.users.view')->group(function () {
  45. Route::get('/dashboard', [AdminController::class, 'userDashboard'])->name('.dashboard');
  46. Route::get('/orders', [AdminController::class, 'userOrders'])->name('.orders');
  47. Route::get('/transactions', [AdminController::class, 'userTransactions'])->name('.transactions');
  48. Route::get('/sessions', [AdminController::class, 'userSessions'])->name('.sessions');
  49. Route::get('/user-events', [AdminController::class, 'userUserEvents'])->name('.user-events');
  50. Route::get('/payment-methods', [AdminController::class, 'userPaymentMethods'])->name('.payment-methods');
  51. Route::get('/messages', [AdminController::class, 'userMessages'])->name('.messages');
  52. Route::get('messages/{message}/attachments', [AdminController::class, 'userMessageAttachments'])->name('message-attachments');
  53. });
  54. Route::get('/orders', [AdminController::class, 'orders'])->name('.orders');
  55. Route::post('/create-order', [AdminController::class, 'orderCreate'])->name('.create-order');
  56. Route::prefix('/orders/view/{order}')->name('.orders.view')->group(function () {
  57. Route::get('/dashboard', [AdminController::class, 'orderDashboard'])->name('.dashboard');
  58. Route::get('/preview-invoice', [AdminController::class, 'orderPreviewInvoice'])->name('.preview-invoice');
  59. Route::get('/financial-transactions', [AdminController::class, 'orderFinancialTransactions'])->name('.financial-transactions');
  60. Route::post('/order-charge', [AdminController::class, 'orderCharge'])->name('.order-charge');
  61. });
  62. Route::get('/payment-methods', [AdminController::class, 'paymentMethods'])->name('.payment-methods');
  63. Route::prefix('/payment-methods/view/{paymentMethod}')->name('.payment-methods.view')->group(function () {
  64. Route::get('/dashboard', [AdminController::class, 'paymentMethodDashboard'])->name('.dashboard');
  65. });
  66. Route::get('/financial-transactions', [AdminController::class, 'financialTransactions'])->name('.financial-transactions');
  67. Route::prefix('/financial-transactions/view/{order}')->name('.financial-transactions.view')->group(function () {
  68. Route::get('/dashboard', [AdminController::class, 'financialTransactionDashboard'])->name('.dashboard');
  69. });
  70. Route::get('/report/{report}', [AdminController::class, 'report'])->name('.report');
  71. Route::get('/sessions', [AdminController::class, 'sessions'])->name('.sessions');
  72. Route::get('/user-events', [AdminController::class, 'userEvents'])->name('.user-events');
  73. });
  74. Route::get('/search-users', [AppController::class, 'searchUsers'])->name('search-users');
  75. });
  76. Route::get('/emails/preview/{email?}', [EmailTestController::class, 'previewEmail'])->name('preview-email');
  77. });
  78. Route::get('/unsubscribe-from-emails', [AppController::class, 'unsubscribeFromEmails'])->name('unsubscribe-from-emails');
  79. Route::get('/log-out', [LoginController::class, 'processLogOut'])->name('log-out');
  80. //Google and Facebook callbacks
  81. Route::get('/user/process-log-in-with-facebook', [LogInController::class, 'processLogInWithFacebook'])->name('process-log-in-with-facebook');
  82. Route::get('/user/process-log-in-with-google', [LogInController::class, 'processLogInWithGoogle'])->name('process-log-in-with-google');