getSessionByUserAndName method
Método para obtener una sesión específica por el ID de usuario y el nombre de la sesión.
Este método obtiene una sesión asociada a un usuario específico utilizando el idUser
y el sessionName
.
Parámetros:
idUser
: ID del usuario.sessionName
: Nombre de la sesión.
Retorna:
Session?
: Objeto Session encontrado, onull
si no se encuentra la sesión.
Implementation
Future<SessionClass?> getSessionByUserAndName(
int idUser, String sessionName) async {
try {
// CONSULTA PARA OBTENER LA SESION BASADA EN EL ID DEL USUARIO Y EL NOMBRE DE LA SESION
final result = await supabase
.from('sessiontime')
.select()
.eq('iduser', idUser)
.eq('sessionname', sessionName);
if (result.isNotEmpty) {
// SI SE ENCUENTRA LA SESION, SE MAPEA LOS DATOS Y SE DEVOLVE LA SESION
final session = result.first;
return SessionClass(
idSession: session['idsession'] as int,
idUser: session['iduser'] as int,
sessionName: session['sessionname'] as String,
idCubeType: session['idcubetype'] as int,
creationDate: session['creationdate'] as String,
);
} else {
// SI NO SE ENCONTRO NINGUNA SESION, RETORNAMOS NULL
DatabaseHelper.logger.w(
"No se encontro la sesion para el usuario con id $idUser y nombre de sesion $sessionName");
return null;
} // VERIFICAMOS SI EL RESULTADO ES NULO O NO
} catch (e) {
// SI DA ERROR, DEVOLVEMOS NULL
DatabaseHelper.logger
.e("Error al obtener la sesion del usuario con id $idUser: $e");
return null;
}
}