sarga/packages/Sarga/API/Http/routes.php

150 lines
8.6 KiB
PHP
Raw Normal View History

2021-10-27 16:06:17 +00:00
<?php
2021-10-27 17:13:21 +00:00
use Illuminate\Support\Facades\Route;
2022-02-03 08:34:16 +00:00
use Sarga\API\Http\Controllers\Addresses;
2022-05-19 08:13:18 +00:00
use Sarga\API\Http\Controllers\CMSController;
2022-05-17 09:46:11 +00:00
use Sarga\API\Http\Controllers\FilterOptions;
2022-05-04 12:09:11 +00:00
use Sarga\API\Http\Controllers\Brands;
2022-02-08 10:32:33 +00:00
use Sarga\API\Http\Controllers\Carts;
use Sarga\API\Http\Controllers\Checkout;
2022-01-24 12:20:46 +00:00
use Sarga\API\Http\Controllers\Customers;
2021-10-27 17:13:21 +00:00
use Sarga\API\Http\Controllers\Categories;
2021-10-27 16:06:17 +00:00
use Sarga\API\Http\Controllers\Channels;
2021-12-10 14:30:26 +00:00
use Sarga\API\Http\Controllers\IntegrationController;
2022-03-10 07:42:10 +00:00
use Sarga\API\Http\Controllers\Orders;
use Sarga\API\Http\Controllers\Vendors;
2021-11-09 17:55:21 +00:00
use Sarga\API\Http\Controllers\Products;
2022-03-25 11:13:59 +00:00
use Sarga\API\Http\Controllers\Wishlists;
2021-12-30 04:31:36 +00:00
use Sarga\Shop\Repositories\CategoryRepository;
2021-10-28 16:36:04 +00:00
use Webkul\API\Http\Controllers\Shop\ResourceController;
use Webkul\Attribute\Repositories\AttributeOptionRepository;
use Sarga\API\Http\Resources\Catalog\AttributeOption;
2021-12-30 04:31:36 +00:00
use Sarga\API\Http\Resources\Catalog\Category;
2022-01-27 15:07:05 +00:00
use Webkul\Core\Repositories\CountryStateRepository;
2022-03-06 10:54:17 +00:00
use Webkul\RestApi\Http\Controllers\V1\Shop\Customer\InvoiceController;
use Webkul\RestApi\Http\Controllers\V1\Shop\Customer\ShipmentController;
use Webkul\RestApi\Http\Controllers\V1\Shop\Customer\TransactionController;
2022-03-15 10:43:16 +00:00
use Webkul\RestApi\Http\Controllers\V1\Shop\Customer\WishlistController;
2022-08-30 07:21:06 +00:00
2022-02-03 08:34:16 +00:00
Route::group(['prefix' => 'api'], function () {
Route::group(['middleware' => ['locale', 'currency']], function () {
2021-10-27 16:06:17 +00:00
//Channel routes
2022-12-10 08:54:36 +00:00
Route::get('channels',[Channels::class, 'index'])->middleware('cacheResponse:3600');
Route::get('sliders',[\Sarga\API\Http\Controllers\Banners::class,'allResources'])->middleware('cacheResponse:3600');
Route::get('cms',[CMSController::class,'allResources'])->middleware('cacheResponse:3600');
Route::get('cms/{id}', [CMSController::class, 'getResource'])->middleware('cacheResponse:3600');
//Vendors
2022-12-10 08:54:36 +00:00
Route::get('vendors',[Vendors::class,'index'])->name('api.vendors')->middleware('cacheResponse:3600');
Route::get('sources',[Vendors::class,'sources'])->name('api.sources')->middleware('cacheResponse:3600');
Route::get('menus',[Vendors::class,'menus'])->name('api.menus')->middleware('cacheResponse:3600');
Route::get('vendor/products/{vendor_id}',[Vendors::class,'products'])->name('api.vendor.products')->middleware('cacheResponse:3600');
Route::get('vendor/brands/{vendor_id}',[Vendors::class,'brands'])->name('api.vendor.brands')->middleware('cacheResponse:3600');
2022-01-19 14:04:47 +00:00
2021-10-27 17:13:21 +00:00
//category routes
2022-12-10 08:54:36 +00:00
Route::get('descendant-categories', [Categories::class, 'descendantCategories'])->middleware('cacheResponse:3600')
2022-12-10 07:50:43 +00:00
->name('api.descendant-categories');
2022-12-10 08:54:36 +00:00
Route::get('categories', [Categories::class, 'allResources'])->name('api.categories')->middleware('cacheResponse:3600');
Route::get('categories/{id}/filters',[Categories::class,'filters'])->middleware('cacheResponse:3600');
Route::get('attribute-options', [FilterOptions::class, 'allResources'])->middleware('cacheResponse:3600');
Route::get('brands', [Brands::class, 'allResources'])->middleware('cacheResponse:3600');
2022-02-03 08:34:16 +00:00
2021-10-28 15:30:35 +00:00
//attributes by code
2022-05-17 09:46:11 +00:00
// Route::get('attribute-options', [ResourceController::class, 'index'])->defaults('_config', [
// 'repository' => AttributeOptionRepository::class,
// 'resource' => AttributeOption::class,
// ]);
2021-10-28 15:30:35 +00:00
2021-11-09 17:55:21 +00:00
//Product routes
2022-12-10 08:54:36 +00:00
Route::get('products', [Products::class, 'index'])->middleware('cacheResponse:3600');
Route::get('products-discounted', [Products::class, 'discountedProducts'])->middleware('cacheResponse:3600');;
Route::get('products-popular', [Products::class, 'popularProducts'])->middleware('cacheResponse:3600');;
Route::get('products-search', [Products::class, 'searchProducts'])->middleware('cacheResponse:3600');;
2022-05-03 11:01:43 +00:00
Route::get('suggestions', [\Sarga\API\Http\Controllers\SearchController::class, 'index']);
2022-12-10 08:34:56 +00:00
Route::get('products/{id}', [Products::class, 'get'])->middleware('cacheResponse:36000');;
Route::get('product/{id}', [Products::class, 'product'])->middleware('cacheResponse:36000');;
2022-12-10 08:54:36 +00:00
Route::get('products/{id}/variants', [Products::class, 'variants'])->middleware('cacheResponse:3600');;
2022-01-27 15:07:05 +00:00
Route::get('states', [ResourceController::class, 'index'])->defaults('_config', [
'repository' => CountryStateRepository::class,
'resource' => Category::class,
2022-12-10 08:09:47 +00:00
])->middleware('cacheResponse:60000');
2022-03-01 09:01:46 +00:00
//customer
Route::group(['prefix' => 'customer'],function (){
Route::post('register', [Customers::class, 'register']);
Route::post('login', [Customers::class, 'login']);
2022-06-03 12:49:44 +00:00
Route::put('achar', [Customers::class, 'update_password']);
2022-08-02 06:37:17 +00:00
2022-03-01 09:01:46 +00:00
Route::group(['middleware' => ['auth:sanctum', 'sanctum.customer']], function () {
2022-04-14 12:20:35 +00:00
Route::get('profile',[Customers::class, 'get']);
2022-03-01 09:01:46 +00:00
Route::put('profile', [Customers::class, 'update']);
2022-08-02 06:37:17 +00:00
Route::delete('delete', [Customers::class, 'destroy']);
2022-03-01 09:01:46 +00:00
/**
* Customer address routes.
*/
Route::get('addresses', [Addresses::class, 'index']);
Route::post('addresses', [Addresses::class, 'createAddress']);
Route::put('addresses/{id}', [Addresses::class, 'updateAddress']);
Route::delete('addresses/{id}', [Addresses::class, 'destroy']);
2022-03-15 10:43:16 +00:00
/**
* Customer wishlist routes.
*/
2022-03-25 11:13:59 +00:00
Route::get('wishlist', [Wishlists::class, 'index']);
Route::post('wishlist/{id}', [Wishlists::class, 'addOrRemove']);
Route::post('wishlist/{id}/move-to-cart', [Wishlists::class, 'moveToCart']);
2022-03-01 09:01:46 +00:00
/**
* Recipients
*/
Route::get('recipients', [Addresses::class, 'recipients']);
Route::post('recipients', [Addresses::class, 'createRecipient']);
Route::put('recipients/{id}', [Addresses::class, 'updateRecipient']);
Route::delete('recipients/{id}', [Addresses::class, 'destroy']);
2021-12-06 11:52:58 +00:00
2022-03-01 09:01:46 +00:00
/**
* Customer cart routes.
*/
Route::get('cart', [Carts::class, 'get']);
Route::post('cart/add/{productId}', [Carts::class, 'add']);
Route::put('cart/update', [Carts::class, 'update']);
Route::delete('cart/remove/{cartItemId}', [Carts::class, 'removeItem']);
Route::delete('cart/empty', [Carts::class, 'empty']);
Route::post('cart/move-to-wishlist/{cartItemId}', [Carts::class, 'moveToWishlist']);
Route::post('cart/coupon', [Carts::class, 'applyCoupon']);
Route::delete('cart/coupon', [Carts::class, 'removeCoupon']);
2022-02-08 10:32:33 +00:00
2022-03-01 09:01:46 +00:00
/**
* Customer checkout routes.
*/
Route::get('checkout', [Checkout::class, 'index']);
Route::post('checkout/save-shipping', [Checkout::class, 'saveShipping']);
Route::post('checkout/save-payment', [Checkout::class, 'savePayment']);
Route::post('checkout/check-minimum-order', [Checkout::class, 'checkMinimumOrder']);
Route::post('checkout/save-order', [Checkout::class, 'saveOrder']);
2022-03-06 10:54:17 +00:00
/**
* Customer sale routes.
*/
2022-04-23 10:36:57 +00:00
Route::get('orders', [Orders::class, 'allResources']);
2022-03-10 07:42:10 +00:00
Route::get('orders/{id}', [Orders::class, 'getResource']);
Route::post('orders/{id}/cancel', [Orders::class, 'cancel']);
2022-03-14 10:38:15 +00:00
Route::post('orders/{id}/cancel/{item_id}', [Orders::class, 'cancelItem']);
2022-03-06 10:54:17 +00:00
Route::get('invoices', [InvoiceController::class, 'allResources']);
Route::get('invoices/{id}', [InvoiceController::class, 'getResource']);
Route::get('shipments', [ShipmentController::class, 'allResources']);
Route::get('shipments/{id}', [ShipmentController::class, 'getResource']);
Route::get('transactions', [TransactionController::class, 'allResources']);
Route::get('transactions/{id}', [TransactionController::class, 'getResource']);
2022-03-01 09:01:46 +00:00
});
2022-02-03 08:34:16 +00:00
});
2022-01-25 07:25:49 +00:00
});
2022-03-01 09:01:46 +00:00
//scrap
Route::group(['prefix' => 'scrap','middleware' =>['scrap']], function (){
Route::put('upload',[IntegrationController::class,'bulk_upload']);
Route::put('create',[IntegrationController::class,'create']);
2022-07-26 08:43:16 +00:00
Route::post('test',[IntegrationController::class,'store']);
2022-04-10 12:00:58 +00:00
Route::put('update',[IntegrationController::class,'update']);
2022-05-26 10:31:31 +00:00
Route::post('order',[IntegrationController::class,'updateOrderStatus']);
2022-03-01 09:01:46 +00:00
});
2021-10-27 16:06:17 +00:00
});