Files

198 lines
11 KiB
PHP
Raw Permalink Normal View History

2026-01-24 14:03:11 +00:00
<?php
use App\Http\Controllers\Customer\CustomerController;
2026-10-20 10:11:03 -04:00
use App\Http\Controllers\Customer\DigipayInstallmentController;
use App\Http\Controllers\Customer\GoldCreditController;
2026-01-24 14:03:11 +00:00
use App\Http\Controllers\Customer\OrderController;
2026-11-01 12:42:14 +03:30
use App\Http\Controllers\Customer\CopperConvertRequestController;
2026-01-24 14:03:11 +00:00
use App\Http\Controllers\Customer\AddressController;
use App\Http\Controllers\Customer\WalletController;
use App\Http\Controllers\Customer\PriceTriggerController;
2026-07-23 22:24:39 +03:30
use App\Http\Controllers\Customer\AppNotificationController;
2026-01-24 14:03:11 +00:00
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\Single\BankAccountController;
use \App\Http\Controllers\Customer\FundController;
use \App\Http\Controllers\pay\paypingController;
2026-07-24 16:50:21 +03:30
use App\Http\Controllers\pay\WalletPaymentController;
use App\Http\Controllers\Single\SingleOrderController;
use App\Http\Controllers\Customer\ColleagueOrderCallbackController;
2026-01-24 14:03:11 +00:00
use App\Http\Controllers\Admin\ProductController as AdminProductController;
use App\Http\Controllers\Customer\ProductController;
use App\Http\Controllers\Admin\TahesabController;
2026-02-16 09:29:37 +00:00
use App\Http\Controllers\Site\OfferCodesController;
use App\Http\Controllers\Admin\GiftCardController;
2026-06-04 12:18:53 +03:30
use App\Services\ConfigService;
2026-06-11 22:08:47 +03:30
use App\Http\Controllers\Customer\havaleController;
use App\Http\Controllers\Customer\CartController;
2026-06-13 11:17:32 +03:30
use App\Http\Controllers\Admin\CategoryController;
2026-07-30 15:46:11 +03:30
use App\Http\Controllers\Customer\ChatController;
2026-01-24 14:03:11 +00:00
2026-08-11 16:28:01 +03:30
//
2026-01-24 14:03:11 +00:00
//----------gateway-verify
Route::get('/TCharchee ', [paypingController::class, 'TCharchee']);
Route::post('/charge_account_verify', [paypingController::class, 'verifyTransation']);
Route::post('/charge_account_verify/{id}', [paypingController::class, 'verifyTransationByID']);
2026-07-24 16:50:21 +03:30
//----------wallet online payment — return/webhook per provider (public)
Route::get('/wallet/payment/return/{provider}', [WalletPaymentController::class, 'returnFromGateway']);
Route::post('/wallet/payment/webhook/{provider}', [WalletPaymentController::class, 'webhook']);
// سازگاری با URLهای قبلی Montify
Route::get('/wallet/external-payment/return', [WalletPaymentController::class, 'returnLegacy']);
Route::post('/wallet/external-payment/webhook', [WalletPaymentController::class, 'webhookLegacy']);
// کالبک وضعیت سفارش همکار — بدون لاگین مشتری
Route::post('/colleague/order/callback/{order?}', [ColleagueOrderCallbackController::class, 'callback']);
2026-06-12 16:41:46 +03:30
$isStore = app(ConfigService::class)->isStore();
2026-06-13 15:41:34 +03:30
Route::middleware('validation')->group(function () {
Route::get('/categories', [CategoryController::class, 'clientIndex']);
Route::get('/tv/products', [AdminProductController::class, 'listTvProducts']);
2026-06-13 15:41:34 +03:30
});
2026-06-12 16:41:46 +03:30
// فروشگاه (قطره / کشکول) — مثل برنچ ghatre، بدون لاگین
if ($isStore) {
Route::middleware('validation')->group(function () {
Route::get('/product/list', [AdminProductController::class, 'listProduct']);
Route::get('/product/list/{id}', [AdminProductController::class, 'ProductById']);
Route::post('validateDiscount', [GiftCardController::class, 'validateDiscount']);
});
2026-06-11 22:08:47 +03:30
}
2026-01-24 14:03:11 +00:00
2026-07-16 11:36:57 +03:30
Route::middleware(['auth:customer', 'customer.active'])->group(function () use ($isStore) {
2026-06-12 16:41:46 +03:30
Route::middleware('validation')->group(function () use ($isStore) {
2026-01-24 14:03:11 +00:00
//-----------Address
Route::post('/address/table', [AddressController::class, 'table']);
Route::resource('/address', AddressController::class);
//---------PriceTrigger
Route::resource('price_triggers', PriceTriggerController::class);
2026-07-23 22:24:39 +03:30
//---------AppNotifications
Route::get('app_notifications', [AppNotificationController::class, 'index']);
Route::get('app_notifications/unread-count', [AppNotificationController::class, 'unreadCount']);
Route::post('app_notifications/{id}/read', [AppNotificationController::class, 'markRead']);
Route::post('app_notifications/read-all', [AppNotificationController::class, 'markAllRead']);
2026-07-21 21:23:26 +03:30
//---------ConditionalOrder
Route::get('conditional_orders', [\App\Http\Controllers\Customer\ConditionalOrderController::class, 'index']);
Route::post('conditional_orders', [\App\Http\Controllers\Customer\ConditionalOrderController::class, 'store']);
Route::put('conditional_orders/{id}', [\App\Http\Controllers\Customer\ConditionalOrderController::class, 'update']);
Route::put('conditional_orders/{id}/toggle', [\App\Http\Controllers\Customer\ConditionalOrderController::class, 'toggleActive']);
Route::delete('conditional_orders/{id}', [\App\Http\Controllers\Customer\ConditionalOrderController::class, 'destroy']);
2026-06-04 12:18:53 +03:30
$cfg = app(ConfigService::class);
2026-06-04 14:19:54 +03:30
if ($cfg->getBool('profit_gold_api_enabled', false)) {
2026-06-04 12:18:53 +03:30
Route::get('profit_gold', [OrderController::class, 'profit_gold']);
}
2026-01-24 14:03:11 +00:00
//-----------product
Route::post('/product/table',[AdminProductController::class, 'table']);
2026-06-12 16:41:46 +03:30
if (! $isStore) {
Route::get('/product/list', [AdminProductController::class, 'listProduct']);
}
2026-01-24 14:03:11 +00:00
//-----gateway
Route::post('/charge_account ', [paypingController::class, 'startTransation']);
2026-07-24 16:50:21 +03:30
Route::get('/wallet/payment/options', [WalletPaymentController::class, 'options']);
Route::post('/wallet/payment/initiate', [WalletPaymentController::class, 'initiate']);
Route::post('/wallet/payment/verify-return', [WalletPaymentController::class, 'verifyReturn']);
Route::get('/wallet/payment/status', [WalletPaymentController::class, 'status']);
2026-07-24 16:50:21 +03:30
// سازگاری قدیمی
Route::post('/wallet/external-payment/initiate', [WalletPaymentController::class, 'initiate']);
2026-01-24 14:03:11 +00:00
//--------------Customer
Route::get('/me', [CustomerController::class, 'me']);
Route::post('/me/update', [CustomerController::class, 'updateMe']);
2026-07-30 15:46:11 +03:30
Route::get('/start-chat', [ChatController::class, 'StartSupportChat']);
2026-01-24 14:03:11 +00:00
//----------------code
Route::post('/im_from/{code}', [CustomerController::class, 'imFrom']);
Route::get('/i_have_referrals', [CustomerController::class, 'i_have']);
Route::get('/active_finger', [CustomerController::class, 'active_finger']);
//------------------wallet
2026-06-09 16:44:02 +03:30
Route::get('wallet/me', [WalletController::class, 'walletMe']);
Route::get('wallet/assets', [WalletController::class, 'assetsSummary']);
2026-01-24 14:03:11 +00:00
Route::post('wallet/withdraw', [WalletController::class, 'withdraw']);
Route::post('wallet/withdraw_physical', [WalletController::class, 'withdraw_physical']);
Route::post('/wallet/withdraw/table', [WalletController::class, 'indexWithdraw']);
Route::post('/wallet/withdraw_physical/table', [WalletController::class, 'index_withdraw_physical']);
Route::post('wallet/withdraw/otp', [WalletController::class, 'withdrawOtp']);
Route::post('wallet/deposit_request', [WalletController::class, 'depositRequest']);
2026-01-24 14:03:11 +00:00
Route::post('/withdraw/table', [WalletController::class, 'withdrawTable']);
//---------------------transaction
Route::post('transaction/table', [WalletController::class, 'transactionTable']);
Route::post('prices/all', [WalletController::class, 'priceData']);
//-----------------order
Route::post('order/table', [OrderController::class, 'table']);
Route::get('order/pending', [SingleOrderController::class, 'pendingColleague']);
Route::get('order/{id}/status', [SingleOrderController::class, 'colleagueStatus']);
2026-01-24 14:03:11 +00:00
Route::post('order', [OrderController::class, 'store']);
Route::get('copper-convert-request', [CopperConvertRequestController::class, 'index']);
2026-11-01 12:42:14 +03:30
Route::post('copper-convert-request', [CopperConvertRequestController::class, 'store']);
Route::put('copper-convert-request/{id}', [CopperConvertRequestController::class, 'update']);
Route::delete('copper-convert-request/{id}', [CopperConvertRequestController::class, 'destroy']);
2026-01-24 14:03:11 +00:00
//-----------------single order
Route::post('single/order/table', [SingleOrderController::class, 'table']);
Route::get('single/order/pending', [SingleOrderController::class, 'pendingColleague']);
Route::get('single/order/{id}/status', [SingleOrderController::class, 'colleagueStatus']);
2026-01-24 14:03:11 +00:00
// Route::post('single/order', [SingleOrderController::class, 'storeBackUp']);
Route::post('single/order', [SingleOrderController::class, 'store']);
//--------------------fund
Route::post('fund/deposit', [FundController::class, 'deposit']);
Route::post('fund/withdraw', [FundController::class, 'withdraw']);
Route::post('fund/table', [FundController::class, 'table']);
Route::post('fund/transaction/table', [WalletController::class, 'transactionTable']);
Route::resource('/fund',FundController::class);
//--------------------product
Route::post('wallet/product/deposit', [ProductController::class, 'deposit']);
Route::post('wallet/product/withdraw', [ProductController::class, 'withdraw']);
Route::post('wallet/product/table', [ProductController::class, 'pTable']);
Route::post('wallet/product/transaction/table', [WalletController::class, 'transactionTable']);
Route::get('wallet/product/{id}', [ProductController::class, 'show']);
Route::resource('wallet/product',ProductController::class);
//--------------------account
Route::post('account/table', [BankAccountController::class, 'table']);
Route::get('account/active', [BankAccountController::class, 'listActiveBankAccount']);
Route::resource('/account',BankAccountController::class)->except(['update']);
Route::post('account', [BankAccountController::class, 'StoreBankAccount']);
//tahesab
2026-02-26 12:48:37 +03:30
// Route::post('account/tahesab', [TahesabController::class, 'store']);
2026-01-24 14:03:11 +00:00
Route::post('account/tahesab/trade', [TahesabController::class, 'storeTrade']);
2026-02-16 09:29:37 +00:00
//--------------------use gift card
Route::get('giftcard/mine', [GiftCardController::class, 'mine']);
Route::post('giftcard/use', [GiftCardController::class, 'useGiftCard']);
2026-02-16 09:29:37 +00:00
//offer code
Route::post('offer_code/check_code', [OfferCodesController::class, 'check_code']);
//--------------------gold credit
Route::get('gold_credit', [GoldCreditController::class, 'show']);
Route::post('gold_credit/request', [GoldCreditController::class, 'requestLoan']);
Route::post('gold_credit/installments/pay', [GoldCreditController::class, 'payInstallments']);
2026-10-20 10:11:03 -04:00
Route::get('digipay_installment', [DigipayInstallmentController::class, 'show']);
Route::post('digipay_installment/start', [DigipayInstallmentController::class, 'start']);
Route::post('digipay_installment/buy', [DigipayInstallmentController::class, 'buy']);
2026-06-12 16:41:46 +03:30
if ($isStore) {
2026-06-11 22:08:47 +03:30
Route::post('vc_validate', [havaleController::class, 'virtualCardValidate']);
Route::post('havale', [havaleController::class, 'havale']);
Route::post('havale_list', [havaleController::class, 'havaleList']);
Route::post('/cart/checkout', [CartController::class, 'checkout']);
Route::post('useDiscount', [GiftCardController::class, 'useDiscount']);
}
2026-01-24 14:03:11 +00:00
});
});