• File: api.php
  • Full Path: /var/www/imalireports/routes/api.php
  • Date Modified: 11/01/2022 11:11 PM
  • File size: 5.23 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?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);
    
    });