<?php
namespace App\Http\Controllers\Admin;
use App\Models\Transaction;
use Illuminate\Http\Request;
use App\Http\Helpers\Response;
use App\Models\TransactionDevice;
use App\Http\Controllers\Controller;
use App\Constants\PaymentGatewayConst;
use Illuminate\Support\Facades\Validator;
class TransferMoneyLogsController extends Controller
{
/**
* Method for transfer money logs
* @return view
*/
public function index(){
$page_title = "All Transfer Money Logs";
$transactions = Transaction::where('type',PaymentGatewayConst::TYPETRANSFERMONEY)
->where('attribute',PaymentGatewayConst::SEND)
->with('user')->orderBy('id','desc')->paginate(15);
return view('admin.sections.transfer-logs.index',compact(
'page_title',
'transactions'
));
}
/**
* Method for transfer money confirm logs
* @return view
*/
public function confirm(){
$page_title = "Confirm Transfer Money Logs";
$transactions = Transaction::where('type',PaymentGatewayConst::TYPETRANSFERMONEY)
->where('attribute',PaymentGatewayConst::SEND)
->where('status',PaymentGatewayConst::STATUSSUCCESS)
->with('user')->orderBy('id','desc')->paginate(15);
return view('admin.sections.transfer-logs.confirm',compact(
'page_title',
'transactions'
));
}
/**
* Method for transfer money confirm logs
* @return view
*/
public function details($trx_id){
$page_title = "Transfer Money Log Details";
$transaction = Transaction::with(['user_wallet'])->where('trx_id',$trx_id)->first();
$transaction_device = TransactionDevice::where('transaction_id',$transaction->id)->first();
if(!$transaction) return back()->with(['error' => ['Sorry! Data not found.']]);
return view('admin.sections.transfer-logs.details',compact(
'page_title',
'transaction',
'transaction_device'
));
}
/**
* Method for search all log
*/
public function search(Request $request) {
$validator = Validator::make($request->all(),[
'text' => 'required|string',
]);
if($validator->fails()) {
$error = ['error' => $validator->errors()];
return Response::error($error,null,400);
}
$validated = $validator->validate();
$transactions = Transaction::where('type',PaymentGatewayConst::TYPETRANSFERMONEY)
->search($validated['text'])->get();
return view('admin.components.data-table.transfer-table',compact('transactions'));
}
}