Viewing file: WalletController.php (962 B) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request; use App\Models\Wallet; use App\Models\AuditLog;
class WalletController extends Controller { public function index(Request $request) { $wallet = $request->user()->wallet ?? $request->user()->wallet()->create(); return response()->json($wallet); }
public function topUp(Request $request) { $request->validate([ 'amount' => 'required|numeric|min:1', ]);
$wallet = $request->user()->wallet ?? $request->user()->wallet()->create();
$transaction = $wallet->transactions()->create([ 'amount' => $request->amount, 'type' => 'credit', 'status' => 'pending', 'description' => 'Top-up request', ]);
AuditLog::log('Top-up Requested', 'wallet', $transaction->id, ['amount' => $request->amount]);
return response()->json($transaction, 201); } }
|