Changeset View
Changeset View
Standalone View
Standalone View
src/app/Http/Controllers/API/V4/PaymentsController.php
Show First 20 Lines • Show All 400 Lines • ▼ Show 20 Lines | public function hasPayments(Request $request) | ||||
$user = $this->guard()->user(); | $user = $this->guard()->user(); | ||||
// TODO: Wallet selection | // TODO: Wallet selection | ||||
$wallet = $user->wallets()->first(); | $wallet = $user->wallets()->first(); | ||||
$exists = Payment::where('wallet_id', $wallet->id) | $exists = Payment::where('wallet_id', $wallet->id) | ||||
->where('type', PaymentProvider::TYPE_ONEOFF) | ->where('type', PaymentProvider::TYPE_ONEOFF) | ||||
->whereIn('status', [ | ->whereIn('status', [ | ||||
PaymentProvider::STATUS_OPEN, | PaymentProvider::STATUS_OPEN, | ||||
PaymentProvider::STATUS_PENDING, | PaymentProvider::STATUS_PENDING, | ||||
PaymentProvider::STATUS_AUTHORIZED]) | PaymentProvider::STATUS_AUTHORIZED | ||||
]) | |||||
->exists(); | ->exists(); | ||||
return response()->json([ | return response()->json([ | ||||
'status' => 'success', | 'status' => 'success', | ||||
'hasPending' => $exists | 'hasPending' => $exists | ||||
]); | ]); | ||||
} | } | ||||
Show All 12 Lines | public function payments(Request $request) | ||||
$wallet = $user->wallets()->first(); | $wallet = $user->wallets()->first(); | ||||
$pageSize = 10; | $pageSize = 10; | ||||
$page = intval(request()->input('page')) ?: 1; | $page = intval(request()->input('page')) ?: 1; | ||||
$hasMore = false; | $hasMore = false; | ||||
$result = Payment::where('wallet_id', $wallet->id) | $result = Payment::where('wallet_id', $wallet->id) | ||||
->where('type', PaymentProvider::TYPE_ONEOFF) | ->where('type', PaymentProvider::TYPE_ONEOFF) | ||||
->whereIn('status', [ | ->whereIn('status', [ | ||||
PaymentProvider::STATUS_OPEN, | PaymentProvider::STATUS_OPEN, | ||||
PaymentProvider::STATUS_PENDING, | PaymentProvider::STATUS_PENDING, | ||||
PaymentProvider::STATUS_AUTHORIZED]) | PaymentProvider::STATUS_AUTHORIZED | ||||
]) | |||||
->orderBy('created_at', 'desc') | ->orderBy('created_at', 'desc') | ||||
->limit($pageSize + 1) | ->limit($pageSize + 1) | ||||
->offset($pageSize * ($page - 1)) | ->offset($pageSize * ($page - 1)) | ||||
->get(); | ->get(); | ||||
if (count($result) > $pageSize) { | if (count($result) > $pageSize) { | ||||
$result->pop(); | $result->pop(); | ||||
$hasMore = true; | $hasMore = true; | ||||
Show All 30 Lines |