getSessionData method

Future<SessionClass?> getSessionData(
  1. BuildContext context,
  2. int idUser
)

Método para obtener la sesión actual del usuario según el nombre de la sesión y el tipo de cubo actual.

Parámetros:

  • idUser: ID del usuario para el cual se quiere obtener la sesión.

Este método recupera la sesión correspondiente al usuario y cubo actual. Si no se encuentra la sesión o el tipo de cubo, se retorna null y se muestra un error en consola.

Retorna un Future<Session?> con la sesión o null.

Implementation

Future<SessionClass?> getSessionData(BuildContext context, int idUser) async {
  final sessionDaoSb = SessionDaoSb();
  final cubeTypeDaoSb = CubeTypeDaoSb();

  final currentSession = context.read<CurrentSession>().session;
  final currentCubeType = context.read<CurrentCubeType>().cubeType;

  if (currentSession == null || currentCubeType == null) {
    DatabaseHelper.logger.e("Sesión o tipo de cubo no encontrados.");
    return null;
  }

  final cubeType = await cubeTypeDaoSb.getCubeTypeByNameAndIdUser(
      currentCubeType.cubeName, idUser);
  return await sessionDaoSb.getSessionByUserCubeName(
      idUser, currentSession.sessionName, cubeType.idCube);
}