Paginador de problemas

La lista de problemas es cada vez más grande y un paginador es
necesario. Implemente un paginador sencillo y una mini barra de búsqueda 
(en realidad de momento solo acepta criterios de ordenación) para que sea
más fácil explorar la lista de problemas.

Hasta ahora la tabla de problemas se llenaba y se ordenaba usando
Javascript, fue necesario mover algunas cosas al servidor para lograr la
funcionalidad, por ejemplo, se modifico el servicio /problem/list para
que realice paginación y ordenación, ambas opcionales para que no afecte
la funcionalidad anterior.

De momento solo esta disponible en 'problemas' y no en 'mis problemas'
ya que ahí las cosas son un poco diferentes y supongo que las listas ahí
aun no son tan grandes.
creo que es un poquitito más difícil que eso, porque hay una tabla
(UserRoles) que te permite dar privilegios de admin por-problema. la lógica
sería más o menos así, en ese orden de prioridad:

public = 1 || author_id == user_id || user_id está en UserRoles con el
ProblemAdmin || global admin (que también se puede obtener mediante una
consulta sobre UserRoles).

anónimo creo que sí está bien, admin igual, pero como admin es un caso
especial de usuario loggueado que es más o menos fácil calcular junto,
posiblemente no sea necesario hacer la distinción.

como comentario general al margen, el segundo query te pudiste haber
ahorrado el UNION haciendo que el WHERE fuera (public = 1 OR author_id =
user_id)