/** * 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); }
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); }
/** * 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(); } }
/** * 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)); }