getUserId method
- BuildContext context
Método para obtener el ID del usuario actual a partir del nombre de usuario guardado en el estado global.
Devuelve el ID del usuario si se encuentra correctamente.
Si ocurre un error o no hay usuario activo, devuelve null
y registra el error en consola.
Retorna un Future<int?> con el ID o null
.
Implementation
Future<int?> getUserId(BuildContext context) async {
final currentUser = context.read<CurrentUser>().user;
if (currentUser == null || currentUser.username.isEmpty) {
DatabaseHelper.logger.e("Usuario no encontrado.");
return null;
}
try {
final response = await supabase
.from('user')
.select()
.eq('username', currentUser.username);
if (response.isEmpty) {
DatabaseHelper.logger.e("No se encontró usuario con ese username.");
return -1;
}
return response.first['iduser'] as int;
} catch (e) {
DatabaseHelper.logger
.e("Error al obtener el ID del usuario desde Supabase: $e");
return null;
}
}