// import 'dart:convert'; // class BaseDataModel { // late int spanTotal; // late int spanIT; // late int spanIGC; // late int spanDirect; // BaseDataModel(Map json) { // fromJson(json); // } // fromJson(Map json) { // spanTotal = json["total"]; // spanIT = json["it"]; // spanIGC = json["igc"]; // spanDirect = json["direct"]; // } // } // class TimeSeriesInterval extends BaseDataModel { // //note: always in UTC // late DateTime start; // late DateTime end; // TimeSeriesInterval(Map json) : super(json) { // fromJsonTimeSeriesInterval(json); // } // fromJsonTimeSeriesInterval(Map json) { // start = DateTime.parse(json["start"]); // end = DateTime.parse(json["end"]); // } // } // class chartAnalytics extends BaseDataModel { // late String id; // late int allTotal; // late int allIT; // late int allIGC; // late int allDirect; // late String timeSpan; // late DateTime fetchedAt; // late List? chatIds; // late List? userIds; // late List? classIds; // late List timeSeries; // chartAnalytics(Map json) : super(json) { // fromJsonchartAnalytics(json); // fetchedAt = DateTime.now(); // } // fromJsonchartAnalytics(Map json) { // id = json["id"]; // timeSpan = json["timespan"]; // allTotal = json["alltime"]["total"]; // allIT = json["alltime"]["it"]; // allIGC = json["alltime"]["igc"]; // allDirect = json["alltime"]["direct"]; // timeSeries = (json["timeseries"] as Iterable) // .map( // (timeSeriesJsonEntry) => TimeSeriesInterval(timeSeriesJsonEntry), // ) // .toList() // .cast(); // chatIds = json["chats"] != null && json["chats"] != [] // ? (json["chats"] as List).cast() // : null; // userIds = json["users"] != null && json["userIds"] != [] // ? (json["users"] as List).cast() // : null; // classIds = json["classes"] != null && json["classes"] != [] // ? (json["classes"] as List).cast() // : null; // } // }