Documentation ¶
Overview ¶
Package dao define funciones de comunicación directa con la base de datos
Index ¶
- Constants
- func AbandonarLobby(db *sql.DB, usuario *vo.Usuario) (err error, borrada bool)
- func AbandonarPartida(db *sql.DB, usuario *vo.Usuario) (err error)
- func AceptarSolicitudAmistad(db *sql.DB, emisor *vo.Usuario, receptor *vo.Usuario) error
- func AlmacenarEstadoSerializado(db *sql.DB, partida *vo.Partida) (err error)
- func AlmacenarMensajes(db *sql.DB, partida *vo.Partida) (err error)
- func AlmacenarNotificacionConEstado(db *sql.DB, usuario *vo.Usuario, notificacion interface{}) (err error)
- func BorrarPartida(db *sql.DB, partida *vo.Partida) error
- func ComprarObjeto(db *sql.DB, usuario string, item vo.ItemTienda, creacion bool) error
- func ConsultarAcceso(db *sql.DB, partida *vo.Partida) (esPublica bool, hash string, err error)
- func ConsultarColeccion(db *sql.DB, usuario string) (items []vo.ItemTienda, err error)
- func ConsultarCookie(db *sql.DB, usuario *vo.Usuario) (cookie http.Cookie, err error)
- func ConsultarJugadoresPartida(db *sql.DB, partida *vo.Partida) (jugadores []vo.Usuario, maxJugadores int, err error)
- func ConsultarPasswordHash(db *sql.DB, usuario *vo.Usuario) (hash string, err error)
- func ConsultarSolicitudesPendientes(db *sql.DB, usuario *vo.Usuario) (usuarios []string, err error)
- func ConsultarTienda(db *sql.DB) (items []vo.ItemTienda, err error)
- func ContabilizarPartida(db *sql.DB, usuario *vo.Usuario) (err error)
- func ContabilizarPartidaGanada(db *sql.DB, usuario *vo.Usuario) (err error)
- func CrearPartida(db *sql.DB, usuario *vo.Usuario, partida *vo.Partida) (err error)
- func CrearSolicitudAmistad(db *sql.DB, emisor *vo.Usuario, receptor *vo.Usuario) error
- func CrearTokenResetPassword(db *sql.DB, usuario string) (err error, token string)
- func EliminarAmigo(db *sql.DB, usuario1 *vo.Usuario, usuario2 *vo.Usuario) error
- func EmpezarPartida(db *sql.DB, idP int) error
- func ExisteEmail(db *sql.DB, email string) bool
- func ExisteUsuario(db *sql.DB, nombre string) bool
- func InicializarConexionDb(test bool) *sql.DB
- func InsertarCookie(db *sql.DB, usuario *vo.Usuario) (err error)
- func InsertarUsuario(db *sql.DB, usuario *vo.Usuario) (err error)
- func ModificarAvatar(db *sql.DB, usuario *vo.Usuario, avatar vo.ItemTienda) error
- func ModificarBiografia(db *sql.DB, usuario *vo.Usuario, biografia string) error
- func ModificarDados(db *sql.DB, usuario *vo.Usuario, dados vo.ItemTienda) error
- func ModificarEmail(db *sql.DB, usuario *vo.Usuario, email string) error
- func MonitorizarCanalBorrado(db *sql.DB, partidas chan int, stop chan struct{}, ...)
- func MonitorizarCanalEnvioAlertas(db *sql.DB, stop chan struct{}, jugadores chan string)
- func ObtenerAmigos(db *sql.DB, usuario *vo.Usuario) (amigos []vo.Usuario, err error)
- func ObtenerEmailUsuario(db *sql.DB, usuario string) (err error, email string)
- func ObtenerEstadoLobby(db *sql.DB, idPartida int) (estado vo.EstadoLobby, err error)
- func ObtenerEstadoSerializado(db *sql.DB, partida *vo.Partida) (err error)
- func ObtenerIDAvatar(db *sql.DB, usuario string) (id int, err error)
- func ObtenerIDDado(db *sql.DB, usuario string) (id int, err error)
- func ObtenerIDPartida(db *sql.DB, nombreUsuario string) (idPartida int, err error)
- func ObtenerMensajes(db *sql.DB, partida *vo.Partida) (err error)
- func ObtenerNombreExpiracionTokenResetPassword(db *sql.DB, token string) (err error, usuario string, expiracion time.Time)
- func ObtenerNotificacionesConEstado(db *sql.DB, usuario *vo.Usuario, borrar bool) (err error, notificaciones []interface{})
- func ObtenerObjeto(db *sql.DB, idItem int) (vo.ItemTienda, error)
- func ObtenerPartida(db *sql.DB, idP int) (partida vo.Partida, err error)
- func ObtenerPartidas(db *sql.DB) (partidas []vo.Partida, err error)
- func ObtenerPartidasNoEnCurso(db *sql.DB) (partidas []vo.Partida, err error)
- func ObtenerToken(db *sql.DB, usuario string) string
- func ObtenerUsuario(db *sql.DB, nombreUsuario string) (usuario vo.Usuario, err error)
- func ObtenerUsuariosSimilares(db *sql.DB, nombre string) (usuarios []string, err error)
- func OtorgarPuntos(db *sql.DB, usuario *vo.Usuario, puntos int, partidaGanada bool) (err error)
- func PartidaUsuario(db *sql.DB, usuario *vo.Usuario) (idPartida int, err error)
- func Ranking(db *sql.DB) (ranking []vo.ElementoRankingUsuarios, err error)
- func RechazarSolicitudAmistad(db *sql.DB, emisor *vo.Usuario, receptor *vo.Usuario) error
- func ResetearContraseña(db *sql.DB, usuario string, hashContraseña string) (err error)
- func RetirarPuntos(db *sql.DB, usuario *vo.Usuario, puntos int) (err error)
- func TieneObjeto(db *sql.DB, usuario *vo.Usuario, item vo.ItemTienda) (existe bool, err error)
- func UnirseAPartida(db *sql.DB, usuario *vo.Usuario, partida *vo.Partida) (err error)
- func UsuarioEnPartida(db *sql.DB, usuario *vo.Usuario) (EnPartida bool, err error)
Constants ¶
const (
LONGITUD_TOKEN_RESET_PASSWORD = 40
)
Variables ¶
This section is empty.
Functions ¶
func AbandonarLobby ¶
AbandonarLobby intenta abandonar una partida dada si no está en curso, o devuelve un error apropiado en caso contrario ya formateado. Adicionalmente, si la partida se queda sin jugadores, se borrará.
func AbandonarPartida ¶ added in v0.4.1
AbandonarPartida intenta abandonar una partida dada si está en curso, o devuelve un error apropiado en caso contrario ya formateado. Adicionalmente, si la partida se queda sin jugadores, se borrará.
func AceptarSolicitudAmistad ¶
AceptarSolicitudAmistad registra una solicitud de amistad existente como aceptada entre los usuarios emisor y receptor. En caso de fallo o no encontrarse alguno de ellos o la solicitud, devuelve un error.
func AlmacenarEstadoSerializado ¶
AlmacenarEstadoSerializado almacena el estado una partida dada, serializado a bytes. Devuelve un error en fallo.
func AlmacenarMensajes ¶
AlmacenarMensajes almacena los mensajes una partida dada, serializados a bytes. Devuelve un error en fallo.
func AlmacenarNotificacionConEstado ¶ added in v0.5.0
func AlmacenarNotificacionConEstado(db *sql.DB, usuario *vo.Usuario, notificacion interface{}) (err error)
AlmacenarNotificacionConEstado guarda una notificación dependiente del estado del juego para el usuario dado. Se borrará junto al resto al ser consultadas en grupo
func BorrarPartida ¶
BorrarPartida borra la partida indicada si existe, o devuelve un error en caso contrario.
func ComprarObjeto ¶ added in v0.5.0
ComprarObjeto permite al jugador comprar un objeto de la tienda siempre y cuando tenga los puntos necesarios. Para ello, se especificará como parámetro el identificador del objeto que desea comprar. La compra se realizará siempre que dicho objeto exista, no sea uno de los objetos iniciales, el jugador tenga los puntos suficientes para comprarlo y el jugador no lo haya comprado ya. Si se indica que se está creando el usuario, se permite comprar objetos iniciales
func ConsultarAcceso ¶
ConsultarAcceso devuelve los permisos de acceso de una partida en concreto El parámetro de salida "esPublica" indicará si la partida es pública o no El parámetro hash corresponderá al hash de la contraseña para el acceso a la partida
func ConsultarColeccion ¶ added in v0.5.0
ConsultarColeccion permite consultar los objetos que ha comprado un usuario
func ConsultarCookie ¶
ConsultarCookie devuelve una cookie del usuario dado, buscando por su nombre. En caso de fallo o no encontrarse, devuelve un error.
func ConsultarJugadoresPartida ¶
func ConsultarJugadoresPartida(db *sql.DB, partida *vo.Partida) (jugadores []vo.Usuario, maxJugadores int, err error)
ConsultarJugadoresPartida devuelve los jugadores de una partida, además del número máximo de jugadores permitidos
func ConsultarPasswordHash ¶
ConsultarPasswordHash devuelve el hash de contraseña del usuario dado, buscando por su nombre. En caso de fallo o no encontrarse, devuelve un error.
func ConsultarSolicitudesPendientes ¶
ConsultarSolicitudesPendientes devuelve una lista en la que se indican los nombres de usuario que han enviado una solicitud de amistad a "usuario", estando dicha solicitud pendiente.
func ConsultarTienda ¶ added in v0.5.0
func ConsultarTienda(db *sql.DB) (items []vo.ItemTienda, err error)
ConsultarTienda devuelve la lista de objetos disponibles en la tienda
func ContabilizarPartida ¶ added in v0.4.1
ContabilizarPartida añade una partida jugada al usuario
func ContabilizarPartidaGanada ¶ added in v0.4.1
ContabilizarPartidaGanada añade una partida ganada al usuario, contabilizándola también en el cómputo global
func CrearPartida ¶
CrearPartida crea una nueva partida, la cual será añadida a la base de datos El usuario especificará el número de jugadores máximos, si la partida es pública o privada, y la contraseña cuando sea necesario Modifica el objeto partida utilizando, especificando su identificador asignado al almacenarla en la base de datos
func CrearSolicitudAmistad ¶
CrearSolicitudAmistad registra una solicitud de amistad entre los usuarios emisor y receptor. En caso de fallo o no encontrarse alguno de ellos, devuelve un error.
func CrearTokenResetPassword ¶ added in v0.6.4
CrearTokenResetPassword almacena y devuelve un token de reset de contraseña para el usuario indicado, o devuelve un error si el usuario no existe u ocurre algún otro error
func EliminarAmigo ¶ added in v0.6.3
EliminarAmigo elimina una relación de amistad entre los usuarios usuario1 y usuario2
func ExisteEmail ¶
ExisteEmail devuelve true si hay algún usuario con el email "email" registrado
func ExisteUsuario ¶
ExisteUsuario devuelve true si hay algún usuario con el nombre "nombre" registrado
func InicializarConexionDb ¶
InicializarConexionDb devuelve el objeto de base de datos, en el cual realiza la conexión a la misma
func InsertarCookie ¶
InsertarCookie registra una cookie para el usuario dado, buscando por su nombre. En caso de fallo o no encontrarse, devuelve un error.
func InsertarUsuario ¶
InsertarUsuario registra un usuario dados sus datos. En caso de fallo, devuelve un error.
func ModificarAvatar ¶ added in v0.6.4
ModificarAvatar modifica el avatar equipado por el usuario
func ModificarBiografia ¶ added in v0.5.0
ModificarBiografia actualiza la biografia del usuario
func ModificarDados ¶ added in v0.5.0
ModificarDados modifica el aspecto de dados equipado por el usuario
func ModificarEmail ¶ added in v1.0.0
ModificarEmail actualiza el email del usuario
func MonitorizarCanalBorrado ¶ added in v0.6.0
func MonitorizarCanalBorrado(db *sql.DB, partidas chan int, stop chan struct{}, usuariosInactivos chan string)
MonitorizarCanalBorrado pone en marcha una Goroutine de atención a eliminado de partidas y usuarios. Diseñado para eliminar partidas terminadas o con usuarios inactivos y usuarios inactivos, sin necesitar la intervención de los handlers.
func MonitorizarCanalEnvioAlertas ¶ added in v0.6.4
MonitorizarCanalEnvioAlertas pone en marcha una GOroutine de atención a envío de emails a usuarios. Diseñado para ser utilizado por el gestor de cache de partidas, evitando dependencias cíclicas en el dao.
func ObtenerAmigos ¶
ObtenerAmigos devuelve una lista de usuarios (con su nombre de usuario rellenado) que son amigos del usuario indicado, o error en caso de fallo.
func ObtenerEmailUsuario ¶ added in v0.6.4
ObtenerEmailUsuario devuelve el email de un usuario dado, o devuelve un error si el usuario no existe u ocurre algún otro error
func ObtenerEstadoLobby ¶
ObtenerEstadoLobby devuelve el estado del lobby de una partida identificada por su id Devuelve si es pública o no, si está o no en curso, el número máximo de jugadores y los jugadores que se encuentran en el lobby
func ObtenerEstadoSerializado ¶
ObtenerEstadoSerializado obtiene una partida existente con el ID indicado y deserializa su estado en ella, o devuelve un error en fallo.
func ObtenerIDAvatar ¶ added in v0.6.4
ObtenerIDAvatar devuelve el ID de item del avatar equipado para el usuario dado
func ObtenerIDDado ¶ added in v0.6.4
ObtenerIDDado devuelve el ID de item de los dados equipados para el usuario dado
func ObtenerIDPartida ¶ added in v0.5.0
ObtenerIDPartida devuelve el ID de la partida en la que está participando el usuario, dado su nombre. En caso de error o de que no esté participando en ninguna partida, devuelve -1 y un error formateado
func ObtenerMensajes ¶
ObtenerMensajes obtiene los mensajes partida existente con el ID indicado y los deserializa en ella, o devuelve un error en fallo.
func ObtenerNombreExpiracionTokenResetPassword ¶ added in v0.6.4
func ObtenerNombreExpiracionTokenResetPassword(db *sql.DB, token string) (err error, usuario string, expiracion time.Time)
ObtenerNombreExpiracionTokenResetPassword devuelve el nombre del usuario que tenga el token indicado junto a la expiración del token, o un error si el usuario no existe u ocurre algún otro error
func ObtenerNotificacionesConEstado ¶ added in v0.5.0
func ObtenerNotificacionesConEstado(db *sql.DB, usuario *vo.Usuario, borrar bool) (err error, notificaciones []interface{})
ObtenerNotificacionesConEstado devuelve un slice de notificaciones con estado almacenadas para el usuario. Todas las notificaciones se borrarán una vez consultadas si se indica
func ObtenerObjeto ¶ added in v0.5.0
ObtenerObjeto recupera un objeto de la tienda de la base de datos a partir de su identificador
func ObtenerPartida ¶
ObtenerPartida devuelve una partida, dado su id, o error en cualquier otro caso.
func ObtenerPartidas ¶
ObtenerPartidas devuelve un listado de todas las partidas, ordenadas de privadas a públicas.
func ObtenerPartidasNoEnCurso ¶
ObtenerPartidasNoEnCurso devuelve un listado de todas las partidas que no están en curso almacenadas, ordenadas de privadas a públicas.
func ObtenerToken ¶ added in v0.6.4
ObtenerToken devuelve el token de reset de contraseña dado un usuario. A utilizar solo para debugging y tests de integración.
func ObtenerUsuario ¶
func ObtenerUsuariosSimilares ¶
ObtenerUsuariosSimilares devuelve el nombre de usuario de todos los usuarios registrados cuyo nombre sea similar a uno indicado, ordenados alfabéticamente
func OtorgarPuntos ¶ added in v0.4.1
OtorgarPuntos añade una cantidad de puntos determinada al usuario dado. Devuelve error en caso de fallo.
func PartidaUsuario ¶
PartidaUsuario devuelve el ID de la partida en la que participa un usuario, y error en cualquier otro caso
func Ranking ¶ added in v0.5.0
func Ranking(db *sql.DB) (ranking []vo.ElementoRankingUsuarios, err error)
Ranking devuelve la lista de usuarios del sistema ordenada por partidas ganadas
func RechazarSolicitudAmistad ¶
AceptarSolicitudAmistad elimina una solicitud de amistad existente entre los usuarios emisor y receptor. En caso de fallo o no encontrarse alguno de ellos o la solicitud, devuelve un error.
func ResetearContraseña ¶ added in v0.6.4
ResetearContraseña cambia el hash de contraseña del usuario indicado por el dado. Devuelve error si no existe u ocurre algún otro error
func RetirarPuntos ¶ added in v0.5.0
RetirarPuntos retira una cantidad de puntos determinada al usuario dado. Devuelve error en caso de fallo.
func TieneObjeto ¶ added in v0.5.0
TieneObjeto devuelve true si y solo si el objeto "item" está en la colección de objetos de "usuario"
func UnirseAPartida ¶
UnirseAPartida crea una nueva entrada en la tabla "Participa" indicando que el usuario forma parte de la partida
Types ¶
This section is empty.