Ejemplo n.º 1
0
 /**
  * Se consume en GET /personas/{id}/deportes
  * @summary Retorna todos los deportes que practica la persona.
  * @responses 200 array {"$ref":"Deporte"}
  * @responses 404 No se pudo encontrar a la persona
  */
 function get_list($id_persona)
 {
     //si estuviese en el padre, se llamaria como get_deportes_list
     $deportes = modelo_persona::get_deportes($id_persona);
     $deportes_vista = rest_hidratador::hidratar(current($this->_get_modelos()), $deportes);
     rest::response()->get($deportes_vista);
 }
Ejemplo n.º 2
0
 public function testMerge()
 {
     $campos = array('a' => array('_compuesto' => array('id' => array('_mapeo' => "a"), 'nombre' => array('_mapeo' => "n"))), 'b' => array('_id'), 'g' => array('_agrupado_por' => 'b', '_compuesto' => array('x' => array('_mapeo' => 'z'))));
     $datos = array(array('a' => 10, 'n' => 'xx', 'b' => 2, 'z' => 4), array('a' => 10, 'n' => 'xx', 'b' => 2, 'z' => 5), array('a' => 10, 'n' => 'xx', 'b' => 2, 'z' => 6));
     $obj = rest_hidratador::hidratar($campos, $datos);
     $exp = array(array('a' => array('id' => 10, 'nombre' => 'xx'), 'b' => 2, 'g' => array(array('x' => 4), array('x' => 5), array('x' => 6))));
     $this->assertEquals($exp, $obj);
 }
Ejemplo n.º 3
0
 /**
  * Se consume en GET /personas/{id}/juego_de_mesa
  * @summary Retorna todos los juegos de mesa que juega la persona.
  * @responses 200 array {"$ref":"Juego"}
  * @responses 404 No se pudo encontrar a la persona
  */
 function get_list($id_persona)
 {
     $juegos_mesa = modelo_persona::get_juegos($id_persona, 1);
     if ($juegos_mesa && !empty($juegos_mesa)) {
         $juegos_mesa_vista = rest_hidratador::hidratar(current($this->_get_modelos()), $juegos_mesa);
         rest::response()->get($juegos_mesa_vista);
     } else {
         rest::response()->not_found();
     }
 }
Ejemplo n.º 4
0
 /**
  * Esto es un alias. Si bien se aleja del REST puro, se puede utilizar para destacar
  * una operación o proveer un acceso simplificado a operaciones frecuentes.
  * Se consume en GET /personas/confoto.
  * @summary Retorna aquellas personas que tienen la foto cargada
  * @responses 200 array {"$ref": "Persona"} Persona
  */
 function get_list__confoto()
 {
     $filtro = $this->get_filtro_get_list();
     $limit = $filtro->get_sql_limit();
     $order_by = $filtro->get_sql_order_by();
     $where = $filtro->get_sql_where() . " AND imagen <> ''";
     $personas = modelo_persona::get_personas($where, $order_by, $limit);
     $cantidad = modelo_persona::get_cant_personas($where);
     $personas = rest_hidratador::hidratar($this->get_spec_persona(true), $personas);
     rest::response()->get($personas);
     rest::response()->add_headers(array('Cantidad-Registros' => $cantidad));
 }