<?php
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| API Routes
|--------------------------------------------------------------------------
|
| Here is where you can register API routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| is assigned the "api" middleware group. Enjoy building your API!
|
*/
Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
return $request->user();
});
Route::get('/recharges', function () {
// $recharges = \App\Models\RechargeImaliAccount::query()
// ->get();
// $data = \App\Models\ImaliAccount::query()
// ->join('users', 'users.id', '=', 'imali_accounts.user_id')
// ->join('recharge_imali_accounts', 'recharge_imali_accounts.imali_account_id', '=', 'imali_accounts.id')
// ->select('recharge_imali_accounts.transaction_id', 'recharge_imali_accounts.recharge_way', 'recharge_imali_accounts.amount',
// 'imali_accounts.account_number','imali_accounts.reference', 'users.name', 'recharge_imali_accounts.estado', 'recharge_imali_accounts.created_at')
// ->get();
//
// return response()->json($data);
return \Maatwebsite\Excel\Facades\Excel::download(new \App\Exports\RechargeImaliAccountExport(), 'Carregamento' . date('d-m-Y') . '.xlsx');
});
Route::get('/imali-accounts', function () {
// $recharges = \App\Models\RechargeImaliAccount::query()
// ->get();
// $data = \App\Models\ImaliAccount::query()
// ->join('users', 'users.id', '=', 'imali_accounts.user_id')
// ->select('imali_accounts.account_number', 'imali_accounts.reference', 'imali_accounts.balance','imali_accounts.captive_balance','imali_accounts.points', 'users.name', 'users.phone', 'users.email', 'imali_accounts.created_at')
// ->get();
//
// return response()->json($data);
return \Maatwebsite\Excel\Facades\Excel::download(new \App\Exports\ImaliAccountExport(), 'ImaliAccounts' . date('d-m-Y') . '.xlsx');
});
Route::get('/voucher', function () {
// return Excel::download(new \App\Exports\VoucherExport(), 'voucher.xlsx');
return \Maatwebsite\Excel\Facades\Excel::download(new \App\Exports\VoucherExport(), 'voucher' . date('d-m-Y') . '.xlsx');
// return Excel::download(new \App\Exports\WaterExport(), 'agua' . date('d-m-Y', strtotime(' -1 day')) . '.xlsx');
// return Excel::download(new \App\Exports\CredelecExport(), 'credelec' . date('d-m-Y') . '.xlsx');
});
Route::get('/credelec', function () {
return \Maatwebsite\Excel\Facades\Excel::download(new \App\Exports\CredelecExport(), 'credelec' . date('d-m-Y') . '.xlsx');
});
Route::get('/payments', function () {
// $data = \App\Models\Payment::query()
// ->join('stores', 'stores.id', '=', 'payments.store_id')
// ->join('users', 'users.id', '=', 'payments.sender_id')
// ->join('imali_accounts', 'imali_accounts.user_id', '=', 'payments.sender_id')
// ->select('payments.transaction_id','payments.payment_type', 'stores.name', 'payments.amount', 'payments.amount_credited', 'payments.comissao', 'payments.description', 'imali_accounts.account_number', 'users.name as client_name')
// ->get();
//
// return response()->json($data);
return \Maatwebsite\Excel\Facades\Excel::download(new \App\Exports\PaymentExport(), 'pagamentos' . date('d-m-Y') . '.xlsx');
});
//Route::get('/credelec', function () {
// return \Maatwebsite\Excel\Facades\Excel::download(new \App\Exports\CredelecExport(), 'credelec' . date('d-m-Y') . '.xlsx');
//});
Route::get('/agua', function () {
return \Maatwebsite\Excel\Facades\Excel::download(new \App\Exports\WaterExport(), 'agua' . date('d-m-Y') . '.xlsx');
});
Route::get('/teste', function () {
$from = date('2021-05-25');
$to = date('2021-05-02');
$result = \App\Models\PurchaseVoucher::whereBetween('created_at', [$from, date('Y-m-d')])->get();
return response()->json(['message' => $result], 200);
});
Route::get('transfers', function () {
$data = \App\Models\Transfer::query()
->join('users as senderClient', 'senderClient.id', '=', 'transfers.sender_id')
->join('users as receiverClient', 'receiverClient.id', '=', 'transfers.reciever_id')
->join('imali_accounts as imaliAccountSender', 'imaliAccountSender.user_id', '=', 'transfers.sender_id')
->join('imali_accounts as imaliAccountReceiver', 'imaliAccountReceiver.user_id', '=', 'transfers.reciever_id')
->select('transfers.transaction_id', 'senderClient.name as senderName', 'imaliAccountSender.account_number as senderAccountNumber', 'receiverClient.name as receiverName', 'imaliAccountReceiver.account_number as receiverAccountNumber',
'transfers.amount', 'transfers.comissao', 'transfers.amount_debited', 'transfers.estado', 'transfers.created_at')
->get();
return response()->json($data);
});