<?php
namespace App\Providers;
use Illuminate\Cache\RateLimiting\Limit;
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\RateLimiter;
use Illuminate\Support\Facades\Route;
class RouteServiceProvider extends ServiceProvider
{
/**
* The path to the "home" route for your application.
*
* This is used by Laravel authentication to redirect users after login.
*
* @var string
*/
public const HOME = '/home';
/**
* Define your route model bindings, pattern filters, etc.
*
* @return void
*/
public function boot()
{
$this->configureRateLimiting();
$this->routes(function () {
Route::prefix('api')
->middleware('api')
->group(base_path('routes/api.php'));
Route::middleware('web')
->group(base_path('routes/web.php'));
// pos Route file
Route::prefix('admin/pos')
->middleware('web')
->group(base_path('routes/pos.php'));
// otp Route file
Route::prefix('admin')->middleware('web')->group(base_path('routes/otp.php'));
//toyyibpay
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/toyyibpay.php'));
//paytab
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/paytab.php'));
//phonepe
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/phonepe.php'));
//mollie
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/mollie.php'));
//khalti
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/khalti.php'));
//Paypal
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/paypal.php'));
//MyFatoorah
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/myfatoorah.php'));
//Xendit
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/xendit.php'));
//Language
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/included/language.php'));
//bulk product import
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/import.php'));
//Whatsapp Message
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/included/whatsapp.php'));
// firebase Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/firebase.php'));
// notification Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/notification.php'));
// Facebook login Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/facebooklogin.php'));
// Google login Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/googlelogin.php'));
// customer Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/customers.php'));
// custom status Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/custom_status.php'));
// pixel Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/pixcelsettings.php'));
// recaptcha Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/recaptcha.php'));
// employee Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/employee.php'));
// shopify Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/shopify.php'));
// blog Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/included/blog.php'));
// promocode Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/included/promocode.php'));
// topdeal Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/top_deals.php'));
// testimonial Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/included/testimonials.php'));
// review Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/review.php'));
// pwa Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/pwa.php'));
// age verification Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/age_verification.php'));
// Tawk Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/tawk.php'));
// Wizzchat Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/wizz_chat.php'));
// Quick call Route file
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/quick_call.php'));
//Product Fake notification
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/fake_sales_notification.php'));
//Product Fake view
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/product_fake_view.php'));
//Cart Checkout Countdown
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/cart_checkout_countdown.php'));
//Cart Checkout Progressbar
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/cart_checkout_progressbar.php'));
//Emailsettings
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/emailsettings.php'));
//Product Card
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/product_card.php'));
//Product Inquiry
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/productinquiry.php'));
//Shipping
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/shipping.php'));
//Telegram Message
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/telegrammessage.php'));
//Currency
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/currency.php'));
//Question Answer
Route::middleware('web')
->namespace($this->namespace)
->group(base_path('routes/question_answer.php'));
});
}
/**
* Configure the rate limiters for the application.
*
* @return void
*/
protected function configureRateLimiting()
{
RateLimiter::for('api', function (Request $request) {
return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip());
});
}
}