HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: /var/www/javago-portal-updates/routes/cafe_admin_api.php
<?php

use App\Http\Controllers\API\CafeOrdersController;
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\API\CafeAuthController;
use App\Http\Controllers\API\CafeMenuController;
use App\Http\Controllers\API\CafeLoyaltyController;
use App\Http\Controllers\API\StripeController;
use App\Http\Controllers\API\SquareController;
use App\Http\Controllers\API\SquareWebHookController;
use Illuminate\Http\Request;

Route::post('is-email-exists', [CafeAuthController::class, 'isEmailExists']);
Route::post('register', [CafeAuthController::class, 'register']);
Route::post('login', [CafeAuthController::class, 'cafeLogin']);
Route::middleware('auth.token')->group(function () {
    //cafe profile routes
    Route::get('get-cafe-information-suggestions', [CafeAuthController::class, 'getCafeInformationSuggestions']);
    Route::post('update-cafe-information', [CafeAuthController::class, 'updateCafeInformation']);
    Route::post('update-cafe-hours', [CafeAuthController::class, 'updateCafeHours']);
    Route::post('update-click-collect', [CafeAuthController::class, 'updateClickCollect']);
    Route::post('update-click-collect-hours', [CafeAuthController::class, 'updateClickCollectHours']);
    Route::get('profile', [CafeAuthController::class, 'cafeProfile']);
    Route::post('link-stripe-account', [CafeAuthController::class, 'linkStripeAccount']);
    Route::get('update-publishing-status', [CafeAuthController::class, 'updatePublishingStatus']);
    Route::post('update-account-password', [CafeAuthController::class, 'updatePassword']);
    Route::post('update-fcm-token', [CafeAuthController::class, 'updateFcmToken']);
    Route::get('get-cafe-subscription', [CafeAuthController::class, 'getCafeSubscription']);
    Route::post('update-cafe-subscription', [CafeAuthController::class, 'updateCafeSubscription']);
    Route::get('get-promo-code-detail', [CafeAuthController::class, 'getPromoCodeDetail']);
    Route::post('apply-promo-code', [CafeAuthController::class, 'applyPromoCode']);

    //cafe menu routes
    Route::get('get-menu-item-options', [CafeMenuController::class, 'getMenuOptions']);
    Route::get('get-menu-items', [CafeMenuController::class, 'getAllMenuItems']);
    Route::get('get-item-detail/{itemId}', [CafeMenuController::class, 'getItemDetail']);
    Route::post('add-menu-item', [CafeMenuController::class, 'addItem']);
    Route::post('update-menu-item/{itemId}', [CafeMenuController::class, 'updateItem']);
    Route::post('update-menu-item-status/{itemId}', [CafeMenuController::class, 'updateItemStatus']);
    Route::post('update-addon-item-status/{itemId}', [CafeMenuController::class, 'updateAddonStatus']);
    Route::delete('delete-menu-item/{itemId}', [CafeMenuController::class, 'deleteItem']);
    Route::get('get-menu-order', [CafeMenuController::class, 'getMenuOrder']);
    Route::post('update-menu-order', [CafeMenuController::class, 'updateMenuOrder']);
    Route::get('download-sample-file', [CafeMenuController::class, 'downloadSampleItemFile']);
    Route::post('upload-file', [CafeMenuController::class, 'uploadItemFile']);



    //Cafe Loyalty Stamp Routes
    Route::get('get-loyalty-stamp', [CafeLoyaltyController::class, 'getstamp']);
    Route::get('get-loyalty-stamp-suggestions', [CafeLoyaltyController::class, 'getStampSuggestions']);
    Route::post('add-loyalty-stamp', [CafeLoyaltyController::class, 'addLoyaltyStamp']);
    Route::post('update-loyalty-stamp/{stampId}', [CafeLoyaltyController::class, 'updateLoyaltyStamp']);
    Route::delete('delete-loyalty-stamp/{stampId}', [CafeLoyaltyController::class, 'deleteLoyaltyStamp']);

    //Cafe Order Routes
    Route::get('get-orders', [CafeOrdersController::class, 'getOrders']);
    Route::get('get-today-orders', [CafeOrdersController::class, 'getTodayOrders']);
    Route::post('get-order-details', [CafeOrdersController::class, 'getOrderDetails']);
    Route::post('mark-order-completed', [CafeOrdersController::class, 'markOrderCompleted']);
    Route::post('mark-order-processed', [CafeOrdersController::class, 'markOrderProcessed']);
    Route::post('mark-order-pickedup', [CafeOrdersController::class, 'markOrderPickup']);
    Route::post('order-refund', [CafeOrdersController::class, 'refundOrder']);

    //stats
    Route::get('get-cafe-stats', [CafeOrdersController::class, 'getCafeStats']);

    //Stripe
    Route::prefix('stripe')->group(function () {
        Route::post('create-account', [StripeController::class, 'createConnectedAccount']);
        Route::post('onboarding-link', [StripeController::class, 'generateOnboardingLink']);
        Route::post('account-status', [StripeController::class, 'getAccountStatus']);
    });

    Route::get('/square/connect', [SquareController::class, 'redirectToSquare']);
    Route::post('/sync-menu-to-square', [SquareController::class, 'syncMenuToSquare']);
    Route::delete('/delete-square-item/{itemId}', [SquareController::class, 'deleteItemAndModifiersOnSquare']);
    Route::post('/sync-menu-to-square-new', [SquareController::class, 'syncMenuToSquareNew']);
    Route::post('/sync-addon-sizes-to-square', [SquareController::class, 'syncModifiersToSquare']);
    Route::post('/sync-menu-categories', [SquareController::class, 'syncCategoriesToSquare']);
    Route::get('/sync-menu-from-square', [SquareController::class, 'syncMenuFromSquare']);

    Route::get('my-cafe-position', [CafeAuthController::class, 'myCafePosition']);




});
Route::get('/square/oauth/callback', [SquareController::class, 'handleCallback'])->name('square.callback');


// Square Webhook
// In routes/api.php or routes/web.php
// Route::post('/square/order-event', [SquareWebHookController::class, 'handleWebhook']);
Route::post('/square/order-event', [SquareWebHookController::class, 'orderEvent']);
Route::post('/square/refund-event', [SquareWebHookController::class, 'refundEvent']);
Route::post('/square/item-event', [SquareWebhookController::class, 'handleSquareWebhook']);