import 'dart:convert'; import 'package:http/http.dart' as http; import 'package:u_vineyard/services/auth.service.dart'; import '../entities/user.dart'; import 'api.service.dart'; class UserService { static final String _baseUrl = ApiService.baseUrl; Future userProfile(int userId) async { String token = AuthService.instance.token ?? ''; if (token.isEmpty) { print('Token non disponibile. Effettua il login prima.'); return null; // Gestisci il caso in cui il token non sia disponibile } try { final url = Uri.parse('$_baseUrl/Test/cklogin'); final response = await http.get( url, headers: { 'Authorization': 'Bearer $token', 'Accept': 'application/json', }, ); if (response.statusCode == 200) { // Decodifica la risposta JSON final Map jsonMap = json.decode(response.body); // Crea e restituisce un oggetto User usando il costruttore fromJson return User.fromJson(jsonMap); } else { // Gestisci le risposte con stato diverso da 200 (es. 404, 500) print('Errore: La richiesta non รจ andata a buon fine. Status code: ${response.statusCode}'); return null; } } catch (e) { // Gestisci eventuali eccezioni (es. nessuna connessione, URL errato) print('Errore durante il recupero dei dati: $e'); return null; } } }