transaction resource - get transaction-state property (replenishment, withdraw)

This commit is contained in:
saparatayev 2022-04-21 15:07:25 +05:00
parent 2de1e54dd9
commit 1d3fa9b1e5
3 changed files with 55 additions and 2 deletions

View File

@ -7,6 +7,7 @@ use Illuminate\Support\Facades\Validator;
use October\Rain\Support\Facades\Event;
use TPS\Birzha\Models\Payment;
use TPS\Birzha\Classes\Payment as PaymentAPI;
use TPS\Birzha\Classes\TransactionResource;
class TransactionsApiController extends KabinetAPIController
{
@ -21,9 +22,13 @@ class TransactionsApiController extends KabinetAPIController
return response()->json($validator->errors(), 400);
}
$transactions = $this->user->transactions()
// $transactions = $this->user->transactions()
// ->orderBy('id', 'desc')
// ->paginate($request->transactions_per_page ? $request->transactions_per_page : 5);
$transactions = TransactionResource::collection($this->user->transactions()
->orderBy('id', 'desc')
->paginate($request->transactions_per_page ? $request->transactions_per_page : 5);
->paginate($request->transactions_per_page ? $request->transactions_per_page : 5))->response()->getData();
return response()->json($transactions, 200);
}

View File

@ -0,0 +1,21 @@
<?php
namespace TPS\Birzha\Classes;
use Illuminate\Http\Resources\Json\ResourceCollection;
class TransactionCollection extends ResourceCollection
{
/**
* Transform the resource collection into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'data' => $this->collection,
];
}
}

View File

@ -0,0 +1,27 @@
<?php
namespace TPS\Birzha\Classes;
use Illuminate\Http\Resources\Json\JsonResource;
class TransactionResource extends JsonResource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'id' => $this->id,
'amount' => $this->amount,
'created_at' => $this->created_at,
'updated_at' => $this->updated_at,
'state_en' => $this->amount > 0 ? 'Replenishment' : 'Withdraw',
'state_ru' => $this->amount > 0 ? 'Пополнение' : 'Снятие',
'state_tm' => $this->amount > 0 ? 'Dolduruş' : 'Tutum',
];
}
}