Files
kulakpos_web/public/restaurant/Modules/Restaurant/routes/api.php

110 lines
6.3 KiB
PHP
Raw Normal View History

2026-03-15 17:08:23 +07:00
<?php
use Illuminate\Support\Facades\Route;
use Modules\Restaurant\Http\Controllers\API\AddonController;
use Modules\Restaurant\Http\Controllers\API\CustomerAddressController;
use Modules\Restaurant\Http\Controllers\API\CustomerController;
use Modules\Restaurant\Http\Controllers\API\DashboardController;
use Modules\Restaurant\Http\Controllers\API\DeliveryChargeController;
use Modules\Restaurant\Http\Controllers\API\FoodAvailabilityController;
use Modules\Restaurant\Http\Controllers\API\FoodCategoryController;
use Modules\Restaurant\Http\Controllers\API\FoodItemController;
use Modules\Restaurant\Http\Controllers\API\FoodReviewController;
use Modules\Restaurant\Http\Controllers\API\FoodReviewReplyController;
use Modules\Restaurant\Http\Controllers\API\FoodVariantController;
use Modules\Restaurant\Http\Controllers\API\FoodVariantIngredientController;
use Modules\Restaurant\Http\Controllers\API\FoodWasteController;
use Modules\Restaurant\Http\Controllers\API\IngredientController;
use Modules\Restaurant\Http\Controllers\API\IngredientDamageController;
use Modules\Restaurant\Http\Controllers\API\KitchenAssignController;
use Modules\Restaurant\Http\Controllers\API\KitchenController;
use Modules\Restaurant\Http\Controllers\API\LoyaltyPointController;
use Modules\Restaurant\Http\Controllers\API\LoyaltyPointSettingController;
use Modules\Restaurant\Http\Controllers\API\LoyaltyRedemptionController;
use Modules\Restaurant\Http\Controllers\API\MenuCategoryController;
use Modules\Restaurant\Http\Controllers\API\MenuSectionController;
use Modules\Restaurant\Http\Controllers\API\MenuTypeController;
use Modules\Restaurant\Http\Controllers\API\OrderController;
use Modules\Restaurant\Http\Controllers\API\OrderTrackingController;
use Modules\Restaurant\Http\Controllers\API\PaymentMethodController;
use Modules\Restaurant\Http\Controllers\API\PurchaseController;
use Modules\Restaurant\Http\Controllers\API\PurchaseReturnController;
use Modules\Restaurant\Http\Controllers\API\QRMenuSettingController;
use Modules\Restaurant\Http\Controllers\API\ReportController;
use Modules\Restaurant\Http\Controllers\API\ReservationController;
use Modules\Restaurant\Http\Controllers\API\ReservationSettingController;
use Modules\Restaurant\Http\Controllers\API\ReservationUnavailableController;
use Modules\Restaurant\Http\Controllers\API\RestaurantScheduleController;
use Modules\Restaurant\Http\Controllers\API\SupplierController;
use Modules\Restaurant\Http\Controllers\API\TableController;
use Modules\Restaurant\Http\Controllers\API\TaxSettingController;
use Modules\Restaurant\Http\Controllers\API\UnitController;
use Modules\Restaurant\Http\Controllers\API\ZoneController;
Route::prefix('/v1')->group(function () {
// Protected Routes (Requires Authentication)
Route::middleware(['auth:api'])->group(function () {
Route::apiResource('tables', TableController::class);
Route::apiResource('payment-methods', PaymentMethodController::class);
Route::apiResource('food-categories', FoodCategoryController::class);
Route::apiResource('menu-categories', MenuCategoryController::class);
Route::apiResource('menu-sections', MenuSectionController::class);
Route::apiResource('menu-types', MenuTypeController::class);
Route::apiResource('addons', AddonController::class);
Route::apiResource('units', UnitController::class);
Route::apiResource('ingredients', IngredientController::class);
Route::apiResource('food-items', FoodItemController::class);
Route::apiResource('food-variants', FoodVariantController::class);
Route::apiResource('food-availabilities', FoodAvailabilityController::class);
Route::apiResource('food-variant-ingredients', FoodVariantIngredientController::class);
Route::apiResource('food-wastes', FoodWasteController::class);
// Purchase Related All things.
Route::apiResource('suppliers', SupplierController::class);
Route::apiResource('purchases', PurchaseController::class);
Route::apiResource('purchase-return', PurchaseReturnController::class);
Route::apiResource('ingredient-damages', IngredientDamageController::class);
// Reservations
Route::apiResource('reservations', ReservationController::class);
Route::apiResource('reservation-unavailability', ReservationUnavailableController::class);
// Order related All things.
Route::apiResource('customers', CustomerController::class);
Route::apiResource('orders', OrderController::class);
// Loyalty-Point System
Route::apiResource('loyalty-points', LoyaltyPointController::class);
Route::apiResource('loyalty-redemptions', LoyaltyRedemptionController::class);
Route::apiResource('loyalty-point-settings', LoyaltyPointSettingController::class);
// Reports
Route::prefix('reports')->group(function () {
Route::get('dashboard', [DashboardController::class, 'index']);
Route::get('ingredients', [ReportController::class, 'ingredients']);
Route::get('stocks', [ReportController::class, 'stocks']);
Route::get('purchases', [ReportController::class, 'purchases']);
Route::get('purchase-estimate', [ReportController::class, 'purchaseEstimate']);
Route::get('opening-stock', [ReportController::class, 'openingStock']);
});
// Multi-vendor
Route::apiResource('zones', ZoneController::class);
Route::apiResource('delivery-charges', DeliveryChargeController::class);
Route::apiResource('order-trackings', OrderTrackingController::class);
Route::apiResource('customer-addresses', CustomerAddressController::class);
Route::apiResource('restaurant-schedules', RestaurantScheduleController::class);
Route::apiResource('reservation-settings', ReservationSettingController::class);
Route::apiResource('tax-settings', TaxSettingController::class);
Route::apiResource('qr-menu-settings', QRMenuSettingController::class);
// Kitchen
Route::apiResource('kitchens', KitchenController::class);
Route::apiResource('kitchen-assigns', KitchenAssignController::class);
// Food Reviews and Replies
Route::apiResource('food-reviews', FoodReviewController::class);
Route::apiResource('reviews-replies', FoodReviewReplyController::class);
});
});