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

import 'package:unit2/model/passo/signatories.dart';
import 'package:unit2/utils/request.dart';
import 'package:unit2/utils/urls.dart';

class SignatoriesServices {
  static final SignatoriesServices _instance = SignatoriesServices();
  static SignatoriesServices get instance => _instance;

  String xClientKey = "unitK3CQaXiWlPReDsBzmmwBZPd9Re1z";
  String xClientKeySecret = "unitcYqAN7GGalyz";

  Future<List<Signatories>> fetch() async {
    String path = Url.instance.getSignatories();
    Map<String, String> headers = {
      'Content-Type': 'application/json; charset=UTF-8',
      'X-Client-Key': xClientKey,
      'X-Client-Secret': xClientKeySecret
    };

    http.Response response = await Request.instance
        .getRequest(param: {}, path: path, headers: headers);

    print('Signatories');
    print(response.statusCode);
    if (response.statusCode == 200) {
      final List result = jsonDecode(response.body)['data'];

      return result.map(((e) => Signatories.fromJson(e))).toList();
    } else {
      print(response.reasonPhrase);
      throw Exception(response.reasonPhrase);
    }
  }
}
