getUserFromName method

Future<UserClass?> getUserFromName(
  1. String name
)

Método que obtiene los datos de un usuario a partir de su nombre de usuario.

Este método consulta la base de datos Supabase buscando un usuario cuyo nombre de usuario coincida con el proporcionado.

Parámetros:

  • name: Nombre de usuario (username) a buscar.

Retorna:

  • UserClass?: Una instancia de UserClass si se encuentra el usuario, o null si no se encuentra o si ocurre un error durante la consulta.

Implementation

Future<UserClass?> getUserFromName(String name) async {
  try {
    final result = await supabase
        .from('user')
        .select()
        .eq('username', name)
        .maybeSingle();

    if (result != null) {
      final user = result;
      UserClass nsjakf = UserClass(
        idUser: user['iduser'] as int?,
        username: user['username'] as String,
        mail: user['mail'] as String,
        password: user['passwordhash'] as String,
        creationDate: user['creationdate'].toString(),
        imageUrl: user['imageurl'] as String?,
        userUUID: result['useruuid'] as String?,
      );

      DatabaseHelper.logger.i(nsjakf.toString());
      return nsjakf;
    }
    return null;
  } catch (e) {
    DatabaseHelper.logger.e("Error al obtener mail: $e");
    return null;
  }
}