Viewing file: TransactionController.php (1.06 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request; use App\Models\Transaction; use App\Models\AuditLog;
class TransactionController extends Controller { public function index(Request $request) { $transactions = $request->user()->wallet->transactions()->latest()->get(); return response()->json($transactions); }
public function approve(Request $request, $id) { // In a real app, add middleware to check for admin role $transaction = Transaction::findOrFail($id);
if ($transaction->status !== 'pending') { return response()->json(['message' => 'Transaction already processed'], 400); }
$transaction->status = 'completed'; $transaction->save();
$wallet = $transaction->wallet; $wallet->balance += $transaction->amount; $wallet->save();
AuditLog::log('Transaction Approved', 'transaction', $transaction->id, ['amount' => $transaction->amount, 'user_id' => $wallet->user_id]);
return response()->json($transaction); } }
|