import 'dart:async';
import 'dart:convert';

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

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

  Future<EventsModel> fetchEvents(String token, String idUsuario, String idEscuela) async{
    final url = Uri.https(_url, 'api/PR/movil/main/v1/events/getEvents');
    final res = await http.post(url,
        headers: {
          'Authorization' : 'Bearer $token'
        },
        body: {
          'idUsuario' : '$idUsuario',
          'idEscuela' : '$idEscuela'
        }
    );
    final decodedData = json.decode(res.body);
    final events = EventsModel.fromJson(decodedData);
    return events;
  }

  Future<EventModel> fetchEvent(String token, String idEscuela, int idEvento) async{
    final url = Uri.https(_url, 'api/PR/movil/main/v1/events/eventById');
    final res = await http.post(url,
        headers: {
          'Authorization' : 'Bearer $token'
        },
        body: {
          'idEscuela' : '$idEscuela',
          'idEvento' : '$idEvento',
        }
    );
    final decodedData = json.decode(res.body);
    final event = EventModel.fromJson(decodedData);
    return event;
  }

  void setAttendance(String token, String idUsuario, String idEscuela, String idEvento, String asistencia) async{
    final url = Uri.https(_url, 'api/PR/movil/main/v1/events/setAttendance');
    final res = await http.post(url,
        headers: {
          'Authorization' : 'Bearer $token'
        },
        body: {
          'idUsuario'  : '$idUsuario',
          'idEscuela'  : '$idEscuela',
          'idEvento'   : '$idEvento',
          'asistencia' : '$asistencia'
        }
    );
    print(res.body);
  }
}