API 1.0.0-rc
This commit is contained in:
13
api/src/Banco.php
Normal file
13
api/src/Banco.php
Normal file
@ -0,0 +1,13 @@
|
||||
<?php
|
||||
namespace Contabilidad;
|
||||
|
||||
use ProVM\Common\Alias\Model;
|
||||
|
||||
/**
|
||||
* @property int $id
|
||||
* @property string $nombre
|
||||
*/
|
||||
class Banco extends Model {
|
||||
public static $_table = 'bancos';
|
||||
protected static $fields = ['nombre'];
|
||||
}
|
21
api/src/Categoria.php
Normal file
21
api/src/Categoria.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
namespace Contabilidad;
|
||||
|
||||
use ProVM\Common\Alias\Model;
|
||||
|
||||
/**
|
||||
* @property int $id
|
||||
* @property string $nombre
|
||||
*/
|
||||
class Categoria extends Model {
|
||||
public static $_table = 'categorias';
|
||||
protected static $fields = ['nombre'];
|
||||
|
||||
protected $cuentas;
|
||||
public function cuentas() {
|
||||
if ($this->cuentas === null) {
|
||||
$this->cuentas = $this->parentOf(Cuenta::class, [Model::CHILD_KEY => 'categoria_id']);
|
||||
}
|
||||
return $this->cuentas;
|
||||
}
|
||||
}
|
36
api/src/Cuenta.php
Normal file
36
api/src/Cuenta.php
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
namespace Contabilidad;
|
||||
|
||||
use ProVM\Common\Alias\Model;
|
||||
|
||||
/**
|
||||
* @property int $id
|
||||
* @property string $nombre
|
||||
* @property Categoria $categoria_id
|
||||
*/
|
||||
class Cuenta extends Model {
|
||||
public static $_table = 'cuentas';
|
||||
protected static $fields = ['nombre', 'categoria_id'];
|
||||
|
||||
protected $categoria;
|
||||
public function categoria() {
|
||||
if ($this->categoria === null) {
|
||||
$this->categoria = $this->childOf(Categoria::class, [Model::SELF_KEY => 'categoria_id']);
|
||||
}
|
||||
return $this->categoria;
|
||||
}
|
||||
|
||||
protected $entradas;
|
||||
public function entradas() {
|
||||
if ($this->entradas === null) {
|
||||
$this->entradas = $this->parentOf(Entrada::class, [Model::CHILD_KEY => 'cuenta_id']);
|
||||
}
|
||||
return $this->entradas;
|
||||
}
|
||||
|
||||
public function toArray(): array {
|
||||
$arr = parent::toArray();
|
||||
$arr['categoria'] = $this->categoria()->toArray();
|
||||
return $arr;
|
||||
}
|
||||
}
|
38
api/src/Entrada.php
Normal file
38
api/src/Entrada.php
Normal file
@ -0,0 +1,38 @@
|
||||
<?php
|
||||
namespace Contabilidad;
|
||||
|
||||
use Carbon\Carbon;
|
||||
use ProVM\Common\Alias\Model;
|
||||
|
||||
/**
|
||||
* @property int $id
|
||||
* @property \DateTime $fecha
|
||||
* @property Fuente $fuente_id
|
||||
* @property Cuenta $cuenta_id
|
||||
* @property double $valor
|
||||
*/
|
||||
class Entrada extends Model {
|
||||
public static $_table = 'entradas';
|
||||
protected static $fields = ['fecha', 'fuente_id', 'cuenta_id', 'value'];
|
||||
|
||||
protected $fuente;
|
||||
public function fuente() {
|
||||
if ($this->fuente === null) {
|
||||
$this->fuente = $this->childOf(Fuente::class, [Model::SELF_KEY => 'fuente_id']);
|
||||
}
|
||||
return $this->fuente;
|
||||
}
|
||||
protected $cuenta;
|
||||
public function cuenta() {
|
||||
if ($this->cuenta === null) {
|
||||
$this->cuenta = $this->childOf(Cuente::class, [Model::SELF_KEY => 'cuenta_id']);
|
||||
}
|
||||
return $this->cuenta;
|
||||
}
|
||||
public function fecha(\DateTime $fecha = null) {
|
||||
if ($fecha === null) {
|
||||
return Carbon::parse($this->fecha);
|
||||
}
|
||||
$this->fecha = $fecha->format('Y-m-d');
|
||||
}
|
||||
}
|
44
api/src/Fuente.php
Normal file
44
api/src/Fuente.php
Normal file
@ -0,0 +1,44 @@
|
||||
<?php
|
||||
namespace Contabilidad;
|
||||
|
||||
use ProVM\Common\Alias\Model;
|
||||
|
||||
/**
|
||||
* @property int $id
|
||||
* @property TipoFuente $tipo_id
|
||||
* @property Banco $banco_id
|
||||
*/
|
||||
class Fuente extends Model {
|
||||
public static $_table = 'fuentes';
|
||||
protected static $fields = ['tipo_id', 'banco_id'];
|
||||
|
||||
protected $tipo;
|
||||
public function tipo() {
|
||||
if ($this->tipo === null) {
|
||||
$this->tipo = $this->childOf(TipoFuente::class, [Model::SELF_KEY => 'tipo_id']);
|
||||
}
|
||||
return $this->tipo;
|
||||
}
|
||||
protected $banco;
|
||||
public function banco() {
|
||||
if ($this->banco === null) {
|
||||
$this->banco = $this->childOf(Banco::class, [Model::SELF_KEY => 'banco_id']);
|
||||
}
|
||||
return $this->banco;
|
||||
}
|
||||
|
||||
protected $entradas;
|
||||
public function entradas() {
|
||||
if ($this->entradas === null) {
|
||||
$this->entradas = $this->parentOf(Entrada::class, [Model::CHILD_KEY => 'fuente_id']);
|
||||
}
|
||||
return $this->entradas;
|
||||
}
|
||||
|
||||
public function toArray(): array {
|
||||
$arr = parent::toArray();
|
||||
$arr['tipo'] = $this->tipo()->toArray();
|
||||
$arr['banco'] = $this->banco()->toArray();
|
||||
return $arr;
|
||||
}
|
||||
}
|
21
api/src/TipoFuente.php
Normal file
21
api/src/TipoFuente.php
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
namespace Contabilidad;
|
||||
|
||||
use ProVM\Common\Alias\Model;
|
||||
|
||||
/**
|
||||
* @property int $id
|
||||
* @property string $descripcion
|
||||
*/
|
||||
class TipoFuente extends Model {
|
||||
public static $_table = 'tipos_fuente';
|
||||
protected static $fields = ['descripcion'];
|
||||
|
||||
protected $fuentes;
|
||||
public function fuentes() {
|
||||
if ($this->fuentes === null) {
|
||||
$this->fuentes = $this->parentOf(Fuente::class, [Model::CHILD_KEY => 'tipo_id']);
|
||||
}
|
||||
return $this->fuentes;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user