import 'dart:convert';

import 'package:plataforma_educativa/src/models/login_model.dart';
import 'package:http/http.dart' as http;

class LoginProvider{
  final String _url = "www.plataforma-educativa.com.mx";

  final LoginModel _error = LoginModel(
    error: true,
    message: "Error",
    result: Result(
      idUsuario: "no-data",
      primerNombre: 'no-data',
      segundoNombre: 'no-data',
      tipoUsuario: 'no-data',
      apellidoPaterno: 'no-data',
      apellidoMaterno: 'no-data',
      token: 'no-data',
      publicKey: 'no-data',
      secretKey: 'no-data',
      grado: "no-data",
    )
  );

  Future<LoginModel> fetchLogin(String idUsuario, String contrasena, String device, String secretKey, String publicKey, String ip, String plataforma, String version, String sesionMensual, DateTime fechaHora, String tipoDistpositivo) async{
    final url = Uri.https(_url, "api/QA/movil/login");
    final res = await http.post(url,
      body: {
        'idUsuario'     : idUsuario,
        'contrasena'    : contrasena,
        'device'        : device,
        'secretKey'     : secretKey,
        'publicKey'     : publicKey,
        'ip'            : ip,
        'plataforma'    : plataforma,
        'version'       : version,
        'sesionMensual' : sesionMensual,
        'fechaHora'     : '$fechaHora',
        'tipoDispositivo' : tipoDistpositivo
      }
    );

    final decoded = jsonDecode(res.body);

    if(decoded["error"]){
      _error.message = decoded["message"];
      return _error;
    }else{
      final model = LoginModel.fromJson(decoded);
      return model;
    }
  }
}