import 'package:flutter/foundation.dart'; import 'package:http/http.dart' as http; import 'package:primer_practica/environments/urls.dart' as api; import 'dart:convert'; class ArticlesApi { Future> getArticles() async { String url = '${api.apiApp}/articulo?offset=0&max=100'; if (kDebugMode) { print('Url -> $url'); } try { final resp = await http.get(Uri.parse(url)); return {"statusCode": resp.statusCode, "body": resp.body}; } catch (e) { return {"statusCode": 501, "body": '$e'}; } } Future> searchArticles(String query) async { String url = '${api.apiApp}/articulo?nombre="$query"'; if (kDebugMode) { print('Url -> $url'); } try { final resp = await http.get(Uri.parse(url)); return {"statusCode": resp.statusCode, "body": resp.body}; } catch (e) { return {"statusCode": 501, "body": '$e'}; } } Future> addArticle({ required String clave, required int categoria, required String nombre, required List precios, required bool activo, }) async { String url = '${api.apiApp}/articulo'; final payload = { 'clave': clave, 'categoria': categoria, 'nombre': nombre, 'precios': precios.map((precio) => {'precio': precio}).toList(), 'activo': activo, }; if (kDebugMode) { print('Url -> $url'); print('Payload -> $payload'); } try { final resp = await http.post( Uri.parse(url), headers: {'Content-Type': 'application/json'}, body: json.encode(payload), ); return {"statusCode": resp.statusCode, "body": resp.body}; } catch (e) { return {"statusCode": 501, "body": '$e'}; } } }