<?php

namespace app\models;

use oxusmedia\webAppMulti\webApp;

class Usuario
{
    public $id, $nombre, $email, $role;

    public function __construct($id = null)
    {
        if ($id == null)
            $id = webApp::app()->getUsuarioId();

        $usuario = webApp::app()->db()->queryRow('SELECT * FROM usuarios WHERE id = :id', array(
            'id' => $id
        ));

        if ($usuario) {

            $this->id     = $usuario->id;
            $this->nombre = $usuario->nombre;
            $this->email  = $usuario->email;
            $this->role   = $usuario->role;

            return true;
        }

        return false;

    }

    public function getCuentas()
    {
        $db = webApp::app()->db();

        $cuentas = $db->query('SELECT cuentas.*, usuarioscuentas.role FROM usuarioscuentas LEFT JOIN cuentas ON usuarioscuentas.cuenta_id = cuentas.id WHERE usuarioscuentas.usuario_id = :usuario_id ORDER BY cuenta', array(
            'usuario_id' => $this->id
        ));

        $ctas = array();

        while ($cuenta = $db->getRow($cuentas)) {

            $cta = new Cuenta();

            $cta->id     = $cuenta->id;
            $cta->cuenta = $cuenta->cuenta;
            $cta->role   = $this->role == webApp::ROLE_ADMIN ? webApp::ROLE_ADMIN : $cuenta->role;

            $ctas[] = $cta;

        }

        return $ctas;

    }

}