getSessionByUserCubeName method
Método para obtener una sesión específica utilizando el ID de usuario, el nombre de la sesión y el tipo de cubo.
Este método devuelve una sesión asociada a un usuario y un tipo de cubo específico, buscando
por el idUser
, sessionName
y idCubeType
.
Parámetros:
idUser
: ID del usuario.sessionName
: Nombre de la sesión.idCubeType
: ID del tipo de cubo.
Retorna:
Session?
: Objeto Session encontrado, onull
si no se encuentra la sesión.
Implementation
Future<SessionClass?> getSessionByUserCubeName(
int idUser, String sessionName, int? idCubeType) async {
try {
// CONSULTA PARA OBTENER LA SESION BASADA EN EL ID DEL USUARIO, EL NOMBRE DE LA SESION
// Y TIPO DE CUBO
final result = await supabase
.from('sessiontime')
.select()
.eq('iduser', idUser)
.eq('sessionname', sessionName)
.eq('idcubetype', idCubeType!);
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, nombre de sesion $sessionName y id de tipo de cubo $idCubeType");
return null;
} // VERIFICAMOS SI EL RESULTADO ES NULO O NO
} catch (e) {
// SI DA ERROR, DEVOLVEMOS NULL
DatabaseHelper.logger.e(
"Error para encontrar la sesion para el usuario con id $idUser, nombre de sesion $sessionName y id de tipo de cubo $idCubeType");
return null;
}
}