File "api.php.bak-location-20261002-095540"
Full path: /home/oviigi/public_html/awooka.com/routes/api.php.bak-location-20261002-095540
File size: 9.47 KiB (9699 bytes)
MIME-type: text/x-php
Charset: utf-8
Download Open Edit Advanced Edit Back
<?php
use Illuminate\Support\Facades\File;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\API\BlogController;
use App\Http\Controllers\API\CartController;
use App\Http\Controllers\API\ChatController;
use App\Http\Controllers\API\HomeController;
use App\Http\Controllers\API\BrandController;
use App\Http\Controllers\API\ShopController;
use App\Http\Controllers\API\UserController;
use App\Http\Controllers\API\OrderController;
use App\Http\Controllers\API\BannerController;
use App\Http\Controllers\API\CouponController;
use App\Http\Controllers\API\MasterController;
use App\Http\Controllers\API\ReviewController;
use App\Http\Controllers\API\AddressController;
use App\Http\Controllers\API\CountryController;
use App\Http\Controllers\API\ProductController;
use App\Http\Controllers\API\SupportController;
use App\Http\Controllers\API\CategoryController;
use App\Http\Controllers\API\Auth\AuthController;
use App\Http\Controllers\API\FlashSaleController;
use App\Http\Controllers\API\LegalPageController;
use App\Http\Controllers\API\SocialAuthController;
use App\Http\Controllers\API\ReturnOrderController;
use App\Http\Controllers\API\SubCategoryController;
use App\Http\Controllers\API\SupportTicketController;
use App\Http\Controllers\API\TicketIssueTypeController;
use App\Http\Controllers\API\Auth\ForgotPasswordController;
use App\Http\Controllers\API\ProductLicenseController;
use App\Http\Controllers\API\SupportTicketMessageController;
use App\Http\Controllers\API\MetaPixelController;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider and all of them will
| be assigned to the "api" middleware group. Make something great!
|
*/
// auth token route
Route::controller(SocialAuthController::class)->group(function () {
Route::post('/social-auth', 'login');
Route::post('/auth/{provider}/token', 'handleTokenExchange');
});
// country route
Route::controller(CountryController::class)->group(function () {
Route::get('/countries', 'index');
Route::get('/areas', 'indexAreas');
});
Route::controller(AuthController::class)->group(function () {
Route::post('/registration', 'register');
Route::post('/login', 'login');
});
Route::controller(ForgotPasswordController::class)->group(function () {
Route::post('/send-otp', 'resendOTP');
Route::post('/verify-otp', 'verifyOtp');
Route::post('/reset-password', 'resetPassword');
});
// legal page route
Route::controller(LegalPageController::class)->group(function () {
Route::get('/legal-pages/{slug}', 'index');
Route::get('/contact-us', 'contactUs');
});
// support route
Route::controller(SupportController::class)->group(function () {
Route::post('/support', 'store');
});
// master route
Route::controller(MasterController::class)->group(function () {
Route::get('/master', 'index');
});
// home route
Route::controller(HomeController::class)->group(function () {
Route::get('/home', 'index');
Route::get('/recently-views', 'recentlyViews');
});
// Banner route
Route::controller(BannerController::class)->group(function () {
Route::get('/banners', 'index');
});
// brand route
Route::controller(BrandController::class)->group(function () {
Route::get('/brands', 'index');
});
// category route
Route::controller(CategoryController::class)->group(function () {
Route::get('/categories', 'index');
});
// sub category route
Route::controller(SubCategoryController::class)->group(function () {
Route::get('/sub-categories', 'index');
});
// category products route
Route::get('/category-products', [ProductController::class, 'index']);
// product route
Route::controller(ProductController::class)->group(function () {
Route::get('/products', 'index');
Route::get('/product-details', 'show');
});
// review route
Route::controller(ReviewController::class)->group(function () {
Route::get('/reviews', 'index');
});
// shop route
Route::controller(ShopController::class)->group(function () {
Route::get('/shops', 'index');
Route::get('/shops/top', 'topShops');
Route::get('/shop-categories', 'shopCategory');
Route::get('/shops/popular-products', 'popularProducts');
Route::get('/shops/{shop}', 'show');
});
// flash sale route
Route::controller(FlashSaleController::class)->group(function () {
Route::get('/flash-sales', 'index');
Route::get('/flash-sale/{name}/details', 'show');
});
// route for blog
Route::controller(BlogController::class)->group(function () {
Route::get('/blogs', 'index');
Route::get('/blog/{blog}/details', 'show');
});
// cart route
Route::controller(CartController::class)->group(function () {
Route::get('/carts', 'index');
Route::post('/cart/store', 'store');
Route::post('/cart/increment', 'increment');
Route::post('/cart/decrement', 'decrement');
Route::post('/cart/delete', 'destroy');
Route::post('/cart/checkout', 'checkout');
});
// order route
Route::controller(OrderController::class)->group(function () {
Route::post('/place-order', 'store');
Route::get('/order-payment/{order}/{paymentMethod?}', 'payment');
});
// auth middleware route
Route::middleware(['auth:sanctum', 'role:customer'])->group(function () {
// user route
Route::post('/logout', [AuthController::class, 'logout']);
Route::controller(UserController::class)->group(function () {
Route::get('/profile', 'index');
Route::post('/update-profile', 'update')->middleware('demoMode');
Route::post('/change-password', 'changePassword')->middleware('demoMode');
});
// recently view route
Route::controller(HomeController::class)->group(function () {
Route::get('/recently-views', 'recentlyViews');
});
// favorite add or remove route
Route::controller(ProductController::class)->group(function () {
Route::post('/favorite-add-or-remove', 'addFavorite');
Route::get('/favorite-products', 'favoriteProducts');
Route::post('/product-review', 'storeReview');
});
// order route
Route::controller(OrderController::class)->group(function () {
Route::get('/orders', 'index');
Route::get('/order-details', 'show');
Route::post('/orders/cancel', 'cancel');
Route::post('/place-order/again', 'reOrder');
});
// order route for version 1
Route::controller(OrderController::class)->prefix('/v1')->group(function () {
Route::post('/place-order', 'store');
});
// coupon route
Route::controller(CouponController::class)->group(function () {
Route::get('/get-vouchers', 'index');
Route::post('/vouchers-collect', 'store')->name('voucher.collect');
Route::get('/get-collected-vouchers', 'collectedVouchers');
Route::post('/apply-voucher', 'applyVoucher')->name('voucher.apply');
Route::post('/coupons/apply', 'getDiscount');
});
// address route
Route::controller(AddressController::class)->group(function () {
Route::get('/addresses', 'index');
Route::post('/address/store', 'store');
Route::post('/address/{address}/update', 'update');
Route::delete('/address/{address}/delete', 'destroy');
});
// support ticket
Route::controller(SupportTicketController::class)->group(function () {
Route::get('/support-tickets', 'index');
Route::post('/support-ticket', 'store');
Route::get('/support-ticket/show', 'show');
});
// support ticket message
Route::controller(SupportTicketMessageController::class)->group(function () {
Route::get('/support-ticket-messages', 'index');
Route::post('/support-ticket-message', 'store');
});
// ticket issue types
Route::controller(TicketIssueTypeController::class)->group(function () {
Route::get('ticket-issue-types', 'index');
});
// chating with shop and user
Route::controller(ChatController::class)->group(function () {
Route::get('/get-shops', 'getShops');
Route::post('/store-message', 'storeMessage');
Route::get('/get-message', 'getMessage');
Route::post('/send-message', 'sendMessage');
});
//return order
Route::controller(ReturnOrderController::class)->group(function () {
Route::get('/return-orders', 'index');
Route::get('/return-order-details/{returnOrder}', 'show');
Route::post('/return-order', 'store');
});
// check user is online or not
Route::post('/update-last-seen', function () {
if (!auth()->check()) {
return;
}
$auth = auth()->user();
$auth->update(['last_online' => now()->addMinute(10)]);
return response()->noContent();
});
});
// Meta Conversions API bridge — public so guests are tracked too, throttled so
// it cannot be abused to flood the ad account.
Route::post('/meta-pixel/track', [MetaPixelController::class, 'track'])
->middleware('throttle:60,1');
Route::get('/unread-messages', [ChatController::class, 'unreadMessages']);
Route::get('/download-product-license/{license}/{order_id}', [ProductLicenseController::class, 'downloadLicensePdf'])->name('download.product.license');
// language route
Route::get('/lang/{locale}', function ($locale) {
$path = base_path("lang/{$locale}.json");
if (File::exists($path)) {
return File::get($path);
}
return response()->json(['error' => 'Language file not found'], 404);
});