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

276 lines
11 KiB
PHP
Raw Normal View History

2019-03-13 11:17:52 +00:00
<?php
Route::group(['prefix' => 'api'], function ($router) {
2019-10-03 05:29:52 +00:00
2019-05-07 11:36:21 +00:00
Route::group(['namespace' => 'Webkul\API\Http\Controllers\Shop', 'middleware' => ['locale', 'theme', 'currency']], function ($router) {
2019-03-15 05:06:27 +00:00
//Currency and Locale switcher
Route::get('switch-currency', 'CoreController@switchCurrency');
2019-03-13 11:17:52 +00:00
2019-03-15 05:06:27 +00:00
Route::get('switch-locale', 'CoreController@switchLocale');
2019-10-03 05:29:52 +00:00
2019-03-13 11:17:52 +00:00
//Category routes
Route::get('categories', 'ResourceController@index')->defaults('_config', [
'repository' => 'Webkul\Category\Repositories\CategoryRepository',
'resource' => 'Webkul\API\Http\Resources\Catalog\Category'
]);
2019-05-07 11:36:21 +00:00
Route::get('descendant-categories', 'CategoryController@index');
2019-03-13 11:17:52 +00:00
Route::get('categories/{id}', 'ResourceController@get')->defaults('_config', [
'repository' => 'Webkul\Category\Repositories\CategoryRepository',
'resource' => 'Webkul\API\Http\Resources\Catalog\Category'
]);
//Attribute routes
Route::get('attributes', 'ResourceController@index')->defaults('_config', [
'repository' => 'Webkul\Attribute\Repositories\AttributeRepository',
'resource' => 'Webkul\API\Http\Resources\Catalog\Attribute'
]);
Route::get('attributes/{id}', 'ResourceController@get')->defaults('_config', [
'repository' => 'Webkul\Attribute\Repositories\AttributeRepository',
'resource' => 'Webkul\API\Http\Resources\Catalog\Attribute'
]);
//AttributeFamily routes
Route::get('families', 'ResourceController@index')->defaults('_config', [
'repository' => 'Webkul\Attribute\Repositories\AttributeFamilyRepository',
'resource' => 'Webkul\API\Http\Resources\Catalog\AttributeFamily'
]);
Route::get('families/{id}', 'ResourceController@get')->defaults('_config', [
'repository' => 'Webkul\Attribute\Repositories\AttributeFamilyRepository',
'resource' => 'Webkul\API\Http\Resources\Catalog\AttributeFamily'
]);
//Product routes
Route::get('products', 'ProductController@index');
Route::get('products/{id}', 'ProductController@get');
2019-05-07 11:36:21 +00:00
Route::get('product-additional-information/{id}', 'ProductController@additionalInformation');
Route::get('product-configurable-config/{id}', 'ProductController@configurableConfig');
2019-03-13 11:17:52 +00:00
//Product Review routes
Route::get('reviews', 'ResourceController@index')->defaults('_config', [
'repository' => 'Webkul\Product\Repositories\ProductReviewRepository',
'resource' => 'Webkul\API\Http\Resources\Catalog\ProductReview'
]);
Route::get('reviews/{id}', 'ResourceController@get')->defaults('_config', [
'repository' => 'Webkul\Product\Repositories\ProductReviewRepository',
'resource' => 'Webkul\API\Http\Resources\Catalog\ProductReview'
]);
2019-05-07 11:36:21 +00:00
Route::post('reviews/{id}/create', 'ReviewController@store');
Route::delete('reviews/{id}', 'ResourceController@destroy')->defaults('_config', [
'repository' => 'Webkul\Product\Repositories\ProductReviewRepository',
'resource' => 'Webkul\API\Http\Resources\Catalog\ProductReview',
'authorization_required' => true
]);
2020-08-07 18:38:14 +00:00
2019-03-13 11:17:52 +00:00
//Channel routes
Route::get('channels', 'ResourceController@index')->defaults('_config', [
'repository' => 'Webkul\Core\Repositories\ChannelRepository',
'resource' => 'Webkul\API\Http\Resources\Core\Channel'
]);
Route::get('channels/{id}', 'ResourceController@get')->defaults('_config', [
'repository' => 'Webkul\Core\Repositories\ChannelRepository',
'resource' => 'Webkul\API\Http\Resources\Core\Channel'
]);
//Locale routes
Route::get('locales', 'ResourceController@index')->defaults('_config', [
'repository' => 'Webkul\Core\Repositories\LocaleRepository',
'resource' => 'Webkul\API\Http\Resources\Core\Locale'
]);
Route::get('locales/{id}', 'ResourceController@get')->defaults('_config', [
'repository' => 'Webkul\Core\Repositories\LocaleRepository',
'resource' => 'Webkul\API\Http\Resources\Core\Locale'
]);
2019-05-07 11:36:21 +00:00
//Country routes
Route::get('countries', 'ResourceController@index')->defaults('_config', [
'repository' => 'Webkul\Core\Repositories\CountryRepository',
'resource' => 'Webkul\API\Http\Resources\Core\Country'
]);
Route::get('countries/{id}', 'ResourceController@get')->defaults('_config', [
'repository' => 'Webkul\Core\Repositories\CountryRepository',
'resource' => 'Webkul\API\Http\Resources\Core\Country'
]);
Route::get('country-states', 'CoreController@getCountryStateGroup');
2019-03-13 11:17:52 +00:00
//Slider routes
Route::get('sliders', 'ResourceController@index')->defaults('_config', [
'repository' => 'Webkul\Core\Repositories\SliderRepository',
'resource' => 'Webkul\API\Http\Resources\Core\Slider'
]);
Route::get('sliders/{id}', 'ResourceController@get')->defaults('_config', [
'repository' => 'Webkul\Core\Repositories\SliderRepository',
'resource' => 'Webkul\API\Http\Resources\Core\Slider'
]);
//Currency routes
Route::get('currencies', 'ResourceController@index')->defaults('_config', [
'repository' => 'Webkul\Core\Repositories\CurrencyRepository',
'resource' => 'Webkul\API\Http\Resources\Core\Currency'
]);
Route::get('currencies/{id}', 'ResourceController@get')->defaults('_config', [
'repository' => 'Webkul\Core\Repositories\CurrencyRepository',
'resource' => 'Webkul\API\Http\Resources\Core\Currency'
]);
2019-05-07 11:36:21 +00:00
Route::get('config', 'CoreController@getConfig');
2019-03-13 11:17:52 +00:00
//Customer routes
2019-05-07 11:36:21 +00:00
Route::post('customer/login', 'SessionController@create');
2019-05-08 13:26:28 +00:00
Route::post('customer/forgot-password', 'ForgotPasswordController@store');
2019-05-07 11:36:21 +00:00
Route::get('customer/logout', 'SessionController@destroy');
Route::get('customer/get', 'SessionController@get');
Route::put('customer/profile', 'SessionController@update');
Route::post('customer/register', 'CustomerController@create');
2019-03-13 11:17:52 +00:00
2020-08-07 18:38:14 +00:00
Route::get('customers/{id}', 'CustomerController@get')->defaults('_config', [
2019-03-13 11:17:52 +00:00
'repository' => 'Webkul\Customer\Repositories\CustomerRepository',
2019-05-07 11:36:21 +00:00
'resource' => 'Webkul\API\Http\Resources\Customer\Customer',
'authorization_required' => true
2019-03-13 11:17:52 +00:00
]);
//Customer Address routes
2019-10-03 05:29:52 +00:00
Route::get('addresses', 'AddressController@get')->defaults('_config', [
2019-05-07 11:36:21 +00:00
'authorization_required' => true
2019-03-13 11:17:52 +00:00
]);
Route::get('addresses/{id}', 'ResourceController@get')->defaults('_config', [
'repository' => 'Webkul\Customer\Repositories\CustomerAddressRepository',
2019-05-07 11:36:21 +00:00
'resource' => 'Webkul\API\Http\Resources\Customer\CustomerAddress',
'authorization_required' => true
]);
2019-05-21 07:33:50 +00:00
Route::delete('addresses/{id}', 'ResourceController@destroy')->defaults('_config', [
'repository' => 'Webkul\Customer\Repositories\CustomerAddressRepository',
'resource' => 'Webkul\API\Http\Resources\Customer\CustomerAddress',
'authorization_required' => true
]);
2019-05-07 11:36:21 +00:00
Route::put('addresses/{id}', 'AddressController@update')->defaults('_config', [
'authorization_required' => true
]);
Route::post('addresses/create', 'AddressController@store')->defaults('_config', [
'authorization_required' => true
2019-03-13 11:17:52 +00:00
]);
//Order routes
Route::get('orders', 'ResourceController@index')->defaults('_config', [
'repository' => 'Webkul\Sales\Repositories\OrderRepository',
2019-05-07 11:36:21 +00:00
'resource' => 'Webkul\API\Http\Resources\Sales\Order',
'authorization_required' => true
2019-03-13 11:17:52 +00:00
]);
Route::get('orders/{id}', 'ResourceController@get')->defaults('_config', [
'repository' => 'Webkul\Sales\Repositories\OrderRepository',
2019-05-07 11:36:21 +00:00
'resource' => 'Webkul\API\Http\Resources\Sales\Order',
'authorization_required' => true
2019-03-13 11:17:52 +00:00
]);
//Invoice routes
Route::get('invoices', 'ResourceController@index')->defaults('_config', [
'repository' => 'Webkul\Sales\Repositories\InvoiceRepository',
2019-05-07 11:36:21 +00:00
'resource' => 'Webkul\API\Http\Resources\Sales\Invoice',
'authorization_required' => true
2019-03-13 11:17:52 +00:00
]);
Route::get('invoices/{id}', 'ResourceController@get')->defaults('_config', [
'repository' => 'Webkul\Sales\Repositories\InvoiceRepository',
2019-05-07 11:36:21 +00:00
'resource' => 'Webkul\API\Http\Resources\Sales\Invoice',
'authorization_required' => true
2019-03-13 11:17:52 +00:00
]);
//Invoice routes
Route::get('shipments', 'ResourceController@index')->defaults('_config', [
'repository' => 'Webkul\Sales\Repositories\ShipmentRepository',
2019-05-07 11:36:21 +00:00
'resource' => 'Webkul\API\Http\Resources\Sales\Shipment',
'authorization_required' => true
2019-03-13 11:17:52 +00:00
]);
Route::get('shipments/{id}', 'ResourceController@get')->defaults('_config', [
'repository' => 'Webkul\Sales\Repositories\ShipmentRepository',
2019-05-07 11:36:21 +00:00
'resource' => 'Webkul\API\Http\Resources\Sales\Shipment',
'authorization_required' => true
2019-03-13 11:17:52 +00:00
]);
//Wishlist routes
Route::get('wishlist', 'ResourceController@index')->defaults('_config', [
'repository' => 'Webkul\Customer\Repositories\WishlistRepository',
2019-05-07 11:36:21 +00:00
'resource' => 'Webkul\API\Http\Resources\Customer\Wishlist',
'authorization_required' => true
]);
Route::delete('wishlist/{id}', 'ResourceController@destroy')->defaults('_config', [
'repository' => 'Webkul\Customer\Repositories\WishlistRepository',
'resource' => 'Webkul\API\Http\Resources\Customer\Wishlist',
'authorization_required' => true
2019-03-13 11:17:52 +00:00
]);
2019-05-07 11:36:21 +00:00
Route::get('move-to-cart/{id}', 'WishlistController@moveToCart');
Route::get('wishlist/add/{id}', 'WishlistController@create');
//Checkout routes
Route::group(['prefix' => 'checkout'], function ($router) {
Route::post('cart/add/{id}', 'CartController@store');
Route::get('cart', 'CartController@get');
Route::get('cart/empty', 'CartController@destroy');
Route::put('cart/update', 'CartController@update');
Route::get('cart/remove-item/{id}', 'CartController@destroyItem');
Route::post('cart/coupon', 'CartController@applyCoupon');
Route::delete('cart/coupon', 'CartController@removeCoupon');
2019-05-07 11:36:21 +00:00
Route::get('cart/move-to-wishlist/{id}', 'CartController@moveToWishlist');
Route::post('save-address', 'CheckoutController@saveAddress');
Route::post('save-shipping', 'CheckoutController@saveShipping');
Route::post('save-payment', 'CheckoutController@savePayment');
Route::post('save-order', 'CheckoutController@saveOrder');
});
2019-03-13 11:17:52 +00:00
});
});