web.php 7.9 KB

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