getMessages static method

Future<List<PinchMessage>> getMessages()

Implementation

static Future<List<PinchMessage>> getMessages() async {
  var dashboardUrl = await getPrivacyDashboard(PinchConsent.analytics);
  var urlParts = dashboardUrl!.split("?key=");
  if (urlParts.length != 2) return [];
  var apiKey = await _channel.invokeMethod('getApiKey') as String;

  var key = urlParts[1];
  var url = "https://api.pinch.services/api/v1/messaging/messages";

  var res = await http.get(Uri.parse(url),
      headers: {"Authorization": "SHA256 $key", "Api-Key": apiKey});

  if (res.statusCode == 200) {
    var msgObjects = jsonDecode(res.body) as List;
    List<PinchMessage> pinchMessages =
        msgObjects.map((msgJson) => PinchMessage.fromJson(msgJson)).toList();
    return pinchMessages;
  } else {
    return List<PinchMessage>.empty();
  }
}