Changeset View
Changeset View
Standalone View
Standalone View
src/app/Http/Controllers/API/V4/Admin/WalletsController.php
Show First 20 Lines • Show All 54 Lines • ▼ Show 20 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(); | |||||
if (empty($wallet) || !Auth::guard()->user()->canRead($wallet)) { | if (empty($wallet) || !$user->canRead($wallet)) { | ||||
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 All 19 Lines | public function oneOff(Request $request, $id) | ||||
'object_id' => $wallet->id, | 'object_id' => $wallet->id, | ||||
'object_type' => Wallet::class, | 'object_type' => Wallet::class, | ||||
'type' => $type, | 'type' => $type, | ||||
'amount' => $amount, | 'amount' => $amount, | ||||
'description' => $request->description | 'description' => $request->description | ||||
] | ] | ||||
); | ); | ||||
if ($user->role == 'reseller') { | |||||
if ($user->tenant && ($tenant_wallet = $user->tenant->wallet())) { | |||||
$desc = ($amount > 0 ? 'Awarded' : 'Penalized') . " user {$wallet->owner->email}"; | |||||
vanmeeuwen: Perhaps not the wording we'll want to be using under each of the circumstances that create a… | |||||
$method = $amount > 0 ? 'debit' : 'credit'; | |||||
$tenant_wallet->{$method}(abs($amount), $desc); | |||||
} | |||||
} | |||||
DB::commit(); | DB::commit(); | ||||
$response = [ | $response = [ | ||||
'status' => 'success', | 'status' => 'success', | ||||
'message' => \trans("app.wallet-{$type}-success"), | 'message' => \trans("app.wallet-{$type}-success"), | ||||
'balance' => $wallet->balance | 'balance' => $wallet->balance | ||||
]; | ]; | ||||
▲ Show 20 Lines • Show All 42 Lines • Show Last 20 Lines |
Perhaps not the wording we'll want to be using under each of the circumstances that create a positive or negative charge.
We should elaborate during the next standup perhaps.