getBackupOfMenstrualCycleData method

Future<Map<String, dynamic>> getBackupOfMenstrualCycleData({
  1. bool isEncryptData = true,
})

Get All Menstrual cycle data for backup

Implementation

Future<Map<String, dynamic>> getBackupOfMenstrualCycleData(
    {bool isEncryptData = true}) async {
  List<UserSymptomsLogs> userSymptomsLogsData = await getAllSymptomsData();
  List<String> allPeriodsLogs = [];
  if (_lastPeriodDate.isNotEmpty) {
    final dbHelper = MenstrualCycleDbHelper.instance;
    allPeriodsLogs = await dbHelper.getPastPeriodDates();
  }

  Map<String, dynamic> allSummaryData = {
    "allTableData": {
      MenstrualCycleDbHelper.tableDailyUserSymptomsLogsData:
          userSymptomsLogsData.map((e) => e.toJson()).toList(),
      MenstrualCycleDbHelper.tableUserPeriodsLogsData: allPeriodsLogs,
    },
    "cycleLength": getCycleLength(),
    "periodDuration": getPeriodDuration(),
    "backupDate": "${currentDateFormat.format(DateTime.now())}"
  };

  if (isEncryptData) {
    return {
      "encryptedData":
          Encryption.instance.encrypt((jsonEncode(allSummaryData))),
    };
  }

  return allSummaryData;
}