Changeset View
Changeset View
Standalone View
Standalone View
src/app/Http/Controllers/API/V4/Admin/WalletsController.php
<?php | <?php | ||||
namespace App\Http\Controllers\API\V4\Admin; | namespace App\Http\Controllers\API\V4\Admin; | ||||
use App\Discount; | use App\Discount; | ||||
use App\Http\Controllers\API\V4\PaymentsController; | use App\Http\Controllers\API\V4\PaymentsController; | ||||
use App\Providers\PaymentProvider; | use App\Providers\PaymentProvider; | ||||
use App\Transaction; | use App\Transaction; | ||||
use App\Wallet; | use App\Wallet; | ||||
use Illuminate\Http\Request; | use Illuminate\Http\Request; | ||||
use Illuminate\Support\Facades\Auth; | |||||
use Illuminate\Support\Facades\DB; | use Illuminate\Support\Facades\DB; | ||||
use Illuminate\Support\Facades\Validator; | use Illuminate\Support\Facades\Validator; | ||||
class WalletsController extends \App\Http\Controllers\API\V4\WalletsController | class WalletsController extends \App\Http\Controllers\API\V4\WalletsController | ||||
{ | { | ||||
/** | /** | ||||
* Return data of the specified wallet. | * Return data of the specified wallet. | ||||
* | * | ||||
* @param string $id A wallet identifier | * @param string $id A wallet identifier | ||||
* | * | ||||
* @return \Illuminate\Http\JsonResponse The response | * @return \Illuminate\Http\JsonResponse The response | ||||
*/ | */ | ||||
public function show($id) | public function show($id) | ||||
{ | { | ||||
$wallet = Wallet::find($id); | $wallet = Wallet::find($id); | ||||
if (empty($wallet) || !Auth::guard()->user()->canRead($wallet)) { | if (empty($wallet) || !$this->checkTenant($wallet->owner)) { | ||||
return $this->errorResponse(404); | return $this->errorResponse(404); | ||||
} | } | ||||
$result = $wallet->toArray(); | $result = $wallet->toArray(); | ||||
$result['discount'] = 0; | $result['discount'] = 0; | ||||
$result['discount_description'] = ''; | $result['discount_description'] = ''; | ||||
Show All 19 Lines | class WalletsController extends \App\Http\Controllers\API\V4\WalletsController | ||||
* @param \Illuminate\Http\Request $request The API request. | * @param \Illuminate\Http\Request $request The API request. | ||||
* @param string $id Wallet identifier | * @param string $id Wallet identifier | ||||
* | * | ||||
* @return \Illuminate\Http\JsonResponse The response | * @return \Illuminate\Http\JsonResponse The response | ||||
*/ | */ | ||||
public function oneOff(Request $request, $id) | public function oneOff(Request $request, $id) | ||||
{ | { | ||||
$wallet = Wallet::find($id); | $wallet = Wallet::find($id); | ||||
$user = Auth::guard()->user(); | $user = $this->guard()->user(); | ||||
if (empty($wallet) || !$user->canRead($wallet)) { | if (empty($wallet) || !$this->checkTenant($wallet->owner)) { | ||||
return $this->errorResponse(404); | return $this->errorResponse(404); | ||||
} | } | ||||
// Check required fields | // Check required fields | ||||
$v = Validator::make( | $v = Validator::make( | ||||
$request->all(), | $request->all(), | ||||
[ | [ | ||||
'amount' => 'required|numeric', | 'amount' => 'required|numeric', | ||||
▲ Show 20 Lines • Show All 50 Lines • ▼ Show 20 Lines | class WalletsController extends \App\Http\Controllers\API\V4\WalletsController | ||||
* @param string $id Wallet identifier | * @param string $id Wallet identifier | ||||
* | * | ||||
* @return \Illuminate\Http\JsonResponse The response | * @return \Illuminate\Http\JsonResponse The response | ||||
*/ | */ | ||||
public function update(Request $request, $id) | public function update(Request $request, $id) | ||||
{ | { | ||||
$wallet = Wallet::find($id); | $wallet = Wallet::find($id); | ||||
if (empty($wallet) || !Auth::guard()->user()->canRead($wallet)) { | if (empty($wallet) || !$this->checkTenant($wallet->owner)) { | ||||
return $this->errorResponse(404); | return $this->errorResponse(404); | ||||
} | } | ||||
if (array_key_exists('discount', $request->input())) { | if (array_key_exists('discount', $request->input())) { | ||||
if (empty($request->discount)) { | if (empty($request->discount)) { | ||||
$wallet->discount()->dissociate(); | $wallet->discount()->dissociate(); | ||||
$wallet->save(); | $wallet->save(); | ||||
} elseif ($discount = Discount::withEnvTenant()->find($request->discount)) { | } elseif ($discount = Discount::withObjectTenantContext($wallet->owner)->find($request->discount)) { | ||||
$wallet->discount()->associate($discount); | $wallet->discount()->associate($discount); | ||||
$wallet->save(); | $wallet->save(); | ||||
} | } | ||||
} | } | ||||
$response = $wallet->toArray(); | $response = $wallet->toArray(); | ||||
if ($wallet->discount) { | if ($wallet->discount) { | ||||
Show All 10 Lines |