import 'dart:convert';
import 'package:http/http.dart' as http;

import '../models/producto.dart';

class ProductoProvider{
  final String _url = "smart.solerpalau.mx";

  Future<Producto> fetchSubmodelos(String linea, String modelo, String submodelo) async{
    final modeloArr = modelo.split(" ");
    String modeloStr = "";
    int i = 0;
    do{
      modeloStr += modeloArr[i]  + "_";
      i++;
    }while(i < modeloArr.length);
    modeloStr = modeloStr.substring(0, modeloStr.length-1);

    final submodeloArr = submodelo.split(" ");
    String submodeloStr = "";
    int j = 0;
    do{
      submodeloStr += submodeloArr[j]  + "_";
      j++;
    }while(j < submodeloArr.length);
    submodeloStr = submodeloStr.substring(0, submodeloStr.length-1);

    final url = Uri.https(_url, 'PR/api/v1/obtenerProducto/$linea/$modeloStr/$submodeloStr');
    final res = await http.get(url);
    if(res.statusCode != 200){
      final errProd = Producto();
      errProd.response = true;
      errProd.message = res.statusCode == 400
          ? "No autorizado"
          : res.statusCode == 401
          ? "Petición inválida"
          : res.statusCode == 404
          ? "Página no encontrada"
          : res.statusCode == 500
          ? "Error interno del servidor"
          : "Error no encontrado";
      return errProd;
    }
    final decodedData = jsonDecode(res.body);

    final producto = Producto.fromJson(decodedData);
    return producto;
  }
}