Mejora al cargar las transacciones por tramos

This commit is contained in:
2021-08-01 22:53:02 -04:00
parent 4441444d78
commit af988aea6c
7 changed files with 78 additions and 53 deletions

View File

@ -90,25 +90,11 @@ class Cuentas {
];
return $this->withJson($response, $output);
}
public function transacciones(Request $request, Response $response, Factory $factory, $cuenta_id): Response {
public function transacciones(Request $request, Response $response, Factory $factory, $cuenta_id, $limit = null, $start = 0): Response {
$cuenta = $factory->find(Cuenta::class)->one($cuenta_id);
$cargos = null;
$abonos = null;
$transacciones = null;
if ($cuenta !== null) {
$cargos = $cuenta->cargos();
if ($cargos !== null) {
array_walk($cargos, function(&$item) {
$item = $item->toArray();
});
}
$abonos = $cuenta->abonos();
if ($abonos !== null) {
array_walk($abonos, function(&$item) {
$item = $item->toArray();
});
}
$transacciones = $cuenta->transacciones();
$transacciones = $cuenta->transacciones($limit, $start);
if (count($transacciones)) {
array_walk($transacciones, function(&$item) {
$item = $item->toArray();
@ -118,8 +104,19 @@ class Cuentas {
$output = [
'input' => $cuenta_id,
'cuenta' => $cuenta?->toArray(),
'cargos' => $cargos,
'abonos' => $abonos,
'transacciones' => $transacciones
];
return $this->withJson($response, $output);
}
public function transaccionesAmount(Request $request, Response $response, Factory $factory, $cuenta_id): Response {
$cuenta = $factory->find(Cuenta::class)->one($cuenta_id);
$transacciones = 0;
if ($cuenta !== null) {
$transacciones = count($cuenta->transacciones());
}
$output = [
'input' => $cuenta_id,
'cuenta' => $cuenta?->toArray(),
'transacciones' => $transacciones
];
return $this->withJson($response, $output);