web.php 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <?php
  2. use App\Http\Controllers\Admin\ActivityLogController;
  3. use App\Http\Controllers\Admin\ApplicationApiController;
  4. use App\Http\Controllers\Admin\ConfigurationController;
  5. use App\Http\Controllers\Admin\OverViewController;
  6. use App\Http\Controllers\Admin\PaymentController;
  7. use App\Http\Controllers\Admin\CreditProductController;
  8. use App\Http\Controllers\Admin\ProductController;
  9. use App\Http\Controllers\Admin\ServerController as AdminServerController;
  10. use App\Http\Controllers\Admin\SettingsController;
  11. use App\Http\Controllers\Admin\UsefulLinkController;
  12. use App\Http\Controllers\Admin\UserController;
  13. use App\Http\Controllers\Admin\VoucherController;
  14. use App\Http\Controllers\Auth\SocialiteController;
  15. use App\Http\Controllers\HomeController;
  16. use App\Http\Controllers\NotificationController;
  17. use App\Http\Controllers\ProductController as FrontProductController;
  18. use App\Http\Controllers\ProfileController;
  19. use App\Http\Controllers\ServerController;
  20. use App\Http\Controllers\StoreController;
  21. use Illuminate\Http\Request;
  22. use Illuminate\Support\Facades\Auth;
  23. use Illuminate\Support\Facades\Route;
  24. /*
  25. |--------------------------------------------------------------------------
  26. | Web Routes
  27. |--------------------------------------------------------------------------
  28. |
  29. | Here is where you can register web routes for your application. These
  30. | routes are loaded by the RouteServiceProvider within a group which
  31. | contains the "web" middleware group. Now create something great!
  32. |
  33. */
  34. Route::middleware('guest')->get('/', function () {
  35. return redirect('login');
  36. })->name('welcome');
  37. Auth::routes(['verify' => true]);
  38. Route::middleware(['auth', 'checkSuspended'])->group(function () {
  39. #resend verification email
  40. Route::get('/email/verification-notification', function (Request $request) {
  41. $request->user()->sendEmailVerificationNotification();
  42. return back()->with('success', 'Verification link sent!');
  43. })->middleware(['auth', 'throttle:3,1'])->name('verification.send');
  44. #normal routes
  45. Route::resource('notifications', NotificationController::class);
  46. Route::resource('servers', ServerController::class);
  47. Route::resource('profile', ProfileController::class);
  48. Route::resource('store', StoreController::class);
  49. #server create utility routes (product)
  50. #routes made for server create page to fetch product info
  51. Route::get('/products/nodes/egg/{egg?}', [FrontProductController::class, 'getNodesBasedOnEgg'])->name('products.nodes.egg');
  52. Route::get('/products/locations/egg/{egg?}', [FrontProductController::class, 'getLocationsBasedOnEgg'])->name('products.locations.egg');
  53. Route::get('/products/products/{egg?}/{node?}', [FrontProductController::class, 'getProductsBasedOnNode'])->name('products.products.node');
  54. #payments
  55. Route::get('checkout/{creditProduct}', [PaymentController::class, 'checkOut'])->name('checkout');
  56. Route::get('payment/PaypalPay/{creditProduct}', [PaymentController::class, 'PaypalPay'])->name('payment.PaypalPay');
  57. Route::get('payment/PaypalSuccess', [PaymentController::class, 'PaypalSuccess'])->name('payment.PaypalSuccess');
  58. Route::get('payment/StripePay/{creditProduct}', [PaymentController::class, 'StripePay'])->name('payment.StripePay');
  59. Route::get('payment/StripeSuccess', [PaymentController::class, 'StripeSuccess'])->name('payment.StripeSuccess');
  60. Route::get('payment/Cancel', [PaymentController::class, 'Cancel'])->name('payment.Cancel');
  61. Route::get('users/logbackin', [UserController::class, 'logBackIn'])->name('users.logbackin');
  62. #discord
  63. Route::get('/auth/redirect', [SocialiteController::class, 'redirect'])->name('auth.redirect');
  64. Route::get('/auth/callback', [SocialiteController::class, 'callback'])->name('auth.callback');
  65. #voucher redeem
  66. Route::post('/voucher/redeem', [VoucherController::class, 'redeem'])->middleware('throttle:5,1')->name('voucher.redeem');
  67. #admin
  68. Route::prefix('admin')->name('admin.')->middleware('admin')->group(function () {
  69. Route::get('overview', [OverViewController::class, 'index'])->name('overview.index');
  70. Route::get('overview/sync', [OverViewController::class, 'syncPterodactyl'])->name('overview.sync');
  71. Route::resource('activitylogs', ActivityLogController::class);
  72. Route::get("users.json", [UserController::class, "json"])->name('users.json');
  73. Route::get('users/loginas/{user}', [UserController::class, 'loginAs'])->name('users.loginas');
  74. Route::get('users/datatable', [UserController::class, 'datatable'])->name('users.datatable');
  75. Route::get('users/notifications', [UserController::class, 'notifications'])->name('users.notifications');
  76. Route::post('users/notifications', [UserController::class, 'notify'])->name('users.notifications');
  77. Route::post('users/togglesuspend/{user}', [UserController::class, 'toggleSuspended'])->name('users.togglesuspend');
  78. Route::resource('users', UserController::class);
  79. Route::get('servers/datatable', [AdminServerController::class, 'datatable'])->name('servers.datatable');
  80. Route::post('servers/togglesuspend/{server}', [AdminServerController::class, 'toggleSuspended'])->name('servers.togglesuspend');
  81. Route::resource('servers', AdminServerController::class);
  82. Route::get('products/datatable', [ProductController::class, 'datatable'])->name('products.datatable');
  83. Route::get('products/clone/{product}', [ProductController::class, 'clone'])->name('products.clone');
  84. Route::patch('products/disable/{product}', [ProductController::class, 'disable'])->name('products.disable');
  85. Route::resource('products', ProductController::class);
  86. Route::get('store/datatable', [CreditProductController::class, 'datatable'])->name('store.datatable');
  87. Route::patch('store/disable/{creditProduct}', [CreditProductController::class, 'disable'])->name('store.disable');
  88. Route::resource('store', CreditProductController::class)->parameters([
  89. 'store' => 'creditProduct',
  90. ]);
  91. Route::get('payments/datatable', [PaymentController::class, 'datatable'])->name('payments.datatable');
  92. Route::get('payments', [PaymentController::class, 'index'])->name('payments.index');
  93. // Route::get('nodes/datatable', [NodeController::class, 'datatable'])->name('nodes.datatable');
  94. // Route::get('nodes/sync', [NodeController::class, 'sync'])->name('nodes.sync');
  95. // Route::resource('nodes', NodeController::class);
  96. //
  97. // Route::get('nests/datatable', [NestsController::class, 'datatable'])->name('nests.datatable');
  98. // Route::get('nests/sync', [NestsController::class, 'sync'])->name('nests.sync');
  99. // Route::resource('nests', NestsController::class);
  100. Route::get('configurations/datatable', [ConfigurationController::class, 'datatable'])->name('configurations.datatable');
  101. Route::patch('configurations/updatevalue', [ConfigurationController::class, 'updatevalue'])->name('configurations.updatevalue');
  102. Route::resource('configurations', ConfigurationController::class);
  103. Route::resource('configurations', ConfigurationController::class);
  104. Route::patch('settings/update/icons', [SettingsController::class, 'updateIcons'])->name('settings.update.icons');
  105. Route::resource('settings', SettingsController::class)->only('index');
  106. Route::get('usefullinks/datatable', [UsefulLinkController::class, 'datatable'])->name('usefullinks.datatable');
  107. Route::resource('usefullinks', UsefulLinkController::class);
  108. Route::get('vouchers/datatable', [VoucherController::class, 'datatable'])->name('vouchers.datatable');
  109. Route::get('vouchers/{voucher}/usersdatatable', [VoucherController::class, 'usersdatatable'])->name('vouchers.usersdatatable');
  110. Route::get('vouchers/{voucher}/users', [VoucherController::class, 'users'])->name('vouchers.users');
  111. Route::resource('vouchers', VoucherController::class);
  112. Route::get('api/datatable', [ApplicationApiController::class, 'datatable'])->name('api.datatable');
  113. Route::resource('api', ApplicationApiController::class)->parameters([
  114. 'api' => 'applicationApi',
  115. ]);
  116. });
  117. Route::get('/home', [HomeController::class, 'index'])->name('home');
  118. });