This commit is contained in:
2025-09-25 03:03:31 +05:00
commit ae480cf2f6
2768 changed files with 1485826 additions and 0 deletions

15
routes/api/base_api.php Normal file
View File

@@ -0,0 +1,15 @@
<?php
use App\Http\Controllers\Api\System\VersionManagement\AppVersionController;
use App\Http\Controllers\BarcodeGeneratorController;
use App\Http\Controllers\UserDocController;
use Illuminate\Support\Facades\Route;
// App version management..
Route::post('app-version', [AppVersionController::class, 'checkForUpdate']);
// Barcode generator
Route::get('barcode-generator', [BarcodeGeneratorController::class, 'index'])->name('barcode-generator');
// Nova related...
Route::get('user-docs', [UserDocController::class, 'index'])->name('user.docs');

127
routes/api/v1/v1-api.php Normal file
View File

@@ -0,0 +1,127 @@
<?php
use App\Http\Controllers\Api\V1\AuthController;
use App\Http\Controllers\Api\V1\Banner\BannerController;
use App\Http\Controllers\Api\V1\Brand\BrandController;
use App\Http\Controllers\Api\V1\Carousel\CarouselController;
use App\Http\Controllers\Api\V1\CartController;
use App\Http\Controllers\Api\V1\Category\CategoryController;
use App\Http\Controllers\Api\V1\Channel\ChannelController;
use App\Http\Controllers\Api\V1\Collection\CollectionController;
use App\Http\Controllers\Api\V1\ContactMessageController;
use App\Http\Controllers\Api\V1\Favorite\FavoriteController;
use App\Http\Controllers\Api\V1\Filters\FilterController;
use App\Http\Controllers\Api\V1\Legal\LegalPageController;
use App\Http\Controllers\Api\V1\NewsletterSubscriptionController;
use App\Http\Controllers\Api\V1\Order\OrderPaymentController;
use App\Http\Controllers\Api\V1\OrderController;
use App\Http\Controllers\Api\V1\PostBranch\PostBranchController;
use App\Http\Controllers\Api\V1\Product\Barcode\ProductBarcodeSearchController;
use App\Http\Controllers\Api\V1\Product\ProductController;
use App\Http\Controllers\Api\V1\Product\ProductRelatedController;
use App\Http\Controllers\Api\V1\Product\ProductReviewController;
use App\Http\Controllers\Api\V1\Product\Search\ProductSearchController;
use App\Http\Controllers\Api\V1\Profile\ProfileController;
use App\Http\Controllers\Api\V1\Province\ProvinceController;
use App\Http\Controllers\Api\V1\ReviewController;
use App\Modules\GlobalOrder\Controllers\GlobalOrderController;
use Illuminate\Support\Facades\Route;
// Auth...
Route::post('auth/guest-token', [AuthController::class, 'guestToken']);
Route::post('auth/register', [AuthController::class, 'register']);
Route::post('auth/login', [AuthController::class, 'login']);
Route::post('auth/verify', [AuthController::class, 'verify']);
Route::middleware('auth:sanctum')
->post('auth/delete-user', [AuthController::class, 'delete']);
// Media...
Route::get('media/banners', [BannerController::class, 'index']);
Route::get('media/carousels', [CarouselController::class, 'index']);
// Forms...
Route::post('forms/newsletter-subscription', [NewsletterSubscriptionController::class, 'store']);
Route::middleware('auth:sanctum')
->post('forms/contact-us', [ContactMessageController::class, 'store']);
// Legal Pages...
Route::get('legal-pages', [LegalPageController::class, 'index']);
Route::get('legal-pages/{legalPage}', [LegalPageController::class, 'show']);
// Channels...
Route::get('channels', [ChannelController::class, 'index']);
Route::get('channels/{channel}', [ChannelController::class, 'show'])->where(['channel' => '[0-9]+']);
Route::get('channels/{channel}/products', [ChannelController::class, 'products'])->where(['channel' => '[0-9]+']);
// Brands...
Route::get('brands', [BrandController::class, 'index']);
Route::get('brands/{brand}', [BrandController::class, 'show'])->where(['brand' => '[0-9]+']);
Route::get('brands/{brand}/products', [BrandController::class, 'products'])->where(['brand' => '[0-9]+']);
// Categories...
Route::get('categories', [CategoryController::class, 'index']);
Route::get('categories/{category}', [CategoryController::class, 'show'])->where(['category' => '[0-9]+']);
Route::get('categories/{category}/products', [CategoryController::class, 'products'])->where(['category' => '[0-9]+']);
// Collections...
Route::get('collections', [CollectionController::class, 'index']);
Route::get('collections-paginated', [CollectionController::class, 'paginated']);
Route::get('collections/{collection}', [CollectionController::class, 'show'])->where(['collection' => '[0-9]+']);
Route::get('collections/{collection}/products', [CollectionController::class, 'products'])->where(['collection' => '[0-9]+']);
// Products...
Route::get('products', [ProductController::class, 'index']);
Route::get('products/{product}', [ProductController::class, 'show'])->where(['product' => '[0-9]+']);
Route::get('products/{product}/related', [ProductRelatedController::class, 'index'])->where(['product' => '[0-9]+']);
// Product barcode search
Route::get('search-product-barcode', [ProductBarcodeSearchController::class, 'index']);
Route::get('search-product', [ProductSearchController::class, 'index']);
// Product reviews...
Route::get('products/{product}/reviews', [ProductReviewController::class, 'index'])->where(['product' => '[0-9]+']);
Route::middleware('auth:sanctum')
->post('products/{product}/reviews', [ProductReviewController::class, 'store'])->where(['product' => '[0-9]+']);
// Order settings...
Route::get('order-time', [OrderController::class, 'time']);
Route::get('order-payments', [OrderPaymentController::class, 'index']);
// Provinces...
Route::get('provinces', [ProvinceController::class, 'index']);
// Post branches...
Route::get('post-branches', [PostBranchController::class, 'index']);
// Filters...
Route::get('filters', [FilterController::class, 'index']);
// Global orders...
Route::post('global-order', [GlobalOrderController::class, 'store']);
Route::middleware(['auth:sanctum', 'banned'])->group(function () {
// Profile...
Route::get('profile', [ProfileController::class, 'index']);
Route::post('profile', [ProfileController::class, 'store']);
// Cart items...
Route::get('carts', [CartController::class, 'index']);
Route::post('carts', [CartController::class, 'store']);
Route::patch('carts', [CartController::class, 'remove']);
Route::delete('carts', [CartController::class, 'destroy']);
// Favorite products...
Route::get('favorites', [FavoriteController::class, 'index']);
Route::post('favorites', [FavoriteController::class, 'store']);
// Reviews...
Route::get('reviews', [ReviewController::class, 'index']);
Route::patch('reviews/{review}', [ReviewController::class, 'update'])->where(['review' => '[0-9]+']);
Route::delete('reviews/{review}', [ReviewController::class, 'destroy'])->where(['review' => '[0-9]+']);
// Orders...
Route::get('orders', [OrderController::class, 'index']);
Route::get('orders/{order}', [OrderController::class, 'show'])->where(['order' => '[0-9]+']);
Route::post('orders', [OrderController::class, 'store']);
Route::delete('orders/{order}', [OrderController::class, 'delete'])->where(['order' => '[0-9]+']);
});

36
routes/api/v1/vendor/vendor-api.php vendored Normal file
View File

@@ -0,0 +1,36 @@
<?php
use App\Http\Controllers\Api\V1\Entrepreneur\EntrepreneurAuthController;
use App\Http\Controllers\Api\V1\Entrepreneur\EntrepreneurOrderController;
use App\Http\Controllers\Api\V1\Entrepreneur\VendorMetricsController;
use App\Http\Controllers\Api\V1\Entrepreneur\VendorProductController;
use App\Http\Controllers\Api\V1\Entrepreneur\VendorProfileController;
use Illuminate\Support\Facades\Route;
// Auth...
Route::post('register', [EntrepreneurAuthController::class, 'register'])->name('register');
Route::post('verify-phone',[EntrepreneurAuthController::class, 'verifyPhoneNumber'])->name('verify-phone');
Route::post('verify-email',[EntrepreneurAuthController::class, 'verifyEmail'])->name('verify-email');
Route::post('finalize', [EntrepreneurAuthController::class, 'finalize'])->name('finalize');
Route::post('login', [EntrepreneurAuthController::class, 'login'])->name('login');
// Authenticated...
Route::middleware('auth:sanctum', 'role:vendor')->group(function () {
// Products...
Route::get('products', [VendorProductController::class, 'index'])->name('products.index');
Route::get('products/{product}', [VendorProductController::class, 'show'])->name('products.show');
Route::get('products/{product}/reviews', [VendorProductController::class, 'reviews'])->name('product.reviews');
Route::post('products', [VendorProductController::class, 'store'])->name('products.store');
Route::patch('products/{product}', [VendorProductController::class, 'update'])->name('products.update');
Route::delete('products/{product}', [VendorProductController::class, 'destroy'])->name('products.delete');
// Metrics...
Route::get('/metrics', [VendorMetricsController::class, 'index']);
// Orders...
Route::get('orders', [EntrepreneurOrderController::class, 'index']);
Route::get('orders/{order}', [EntrepreneurOrderController::class, 'show']);
// Profiles...
Route::get('profile', [VendorProfileController::class, 'index']);
});

14
routes/channels.php Normal file
View File

@@ -0,0 +1,14 @@
<?php
use Illuminate\Support\Facades\Broadcast;
/*
|--------------------------------------------------------------------------
| Broadcast Channels
|--------------------------------------------------------------------------
|
| Here you may register all of the event broadcasting channels that your
| application supports. The given channel authorization callbacks are
| used to check if an authenticated user can listen to the channel.
|
*/

12
routes/console.php Normal file
View File

@@ -0,0 +1,12 @@
<?php
/*
|--------------------------------------------------------------------------
| Console Routes
|--------------------------------------------------------------------------
|
| This file is where you may define all of your Closure based console
| commands. Each Closure is bound to a command instance allowing a
| simple approach to interacting with each command's IO methods.
|
*/

9
routes/web.php Normal file
View File

@@ -0,0 +1,9 @@
<?php
use Illuminate\Support\Facades\Route;
Route::view('/login', 'wip')->name('login');
Route::get('online-payment-store', function () {
return request()->all();
})->name('online-payment-store');