import 'dart:io'; import 'package:http/http.dart' as http; import 'dart:convert' as convert; import 'package:flutter_dotenv/flutter_dotenv.dart'; import 'package:shared_preferences/shared_preferences.dart'; import '../models/Notificacion.dart'; class NotificacionController { Future> apiIndexNotificaciones() async { List lista = []; SharedPreferences localStorage = await SharedPreferences.getInstance(); String authToken = localStorage.getString("auth_token").toString(); var url = Uri.http(dotenv.env['SERVER_URL'].toString(), '${dotenv.env['PROJECT_PATH']}api-index-notificaciones', {}); var response = await http.get( url, headers: { HttpHeaders.authorizationHeader: 'Bearer $authToken', }, ); //print(response.body); if (response.statusCode == 200) { try { var jsonResponse = convert.jsonDecode(response.body) as Map; for (var el in jsonResponse['data']) { lista.add(Notificacion.fromJson(el)); } } catch (e) { print(e); } } else { print("Error de servidor"); } return lista; } Future apiShowNotificacion(String notificacion_id) async { Notificacion notificacion = Notificacion(); var datos = {"notificacion_id": notificacion_id}; SharedPreferences localStorage = await SharedPreferences.getInstance(); String authToken = localStorage.getString("auth_token").toString(); var url = Uri.http(dotenv.env['SERVER_URL'].toString(), '${dotenv.env['PROJECT_PATH']}api-show-notificacion', datos); var response = await http.get( url, headers: { HttpHeaders.authorizationHeader: 'Bearer $authToken', }, ); //print(response.body); if (response.statusCode == 200) { try { var jsonResponse = convert.jsonDecode(response.body) as Map; notificacion = Notificacion.fromJson(jsonResponse['data']); } catch (e) { print(e); } } return notificacion; } }