import 'dart:math'; import 'package:tuuli_api/tuuli_api.dart'; import 'package:tuuli_app/models/user_definition.dart'; Random _random = Random(); String randomHexString(int length) { StringBuffer sb = StringBuffer(); for (var i = 0; i < length; i++) { sb.write(_random.nextInt(16).toRadixString(16)); } return sb.toString(); } String postgresDateFormat(DateTime dt) { int yearSign = dt.year.sign; int absYear = dt.year.abs(); String y = absYear .toString() .padLeft((dt.year >= -9999 && dt.year <= 9999) ? 4 : 6, "0"); if (yearSign == -1) { y = "-$y"; } String m = dt.month.toString().padLeft(2, "0"); String d = dt.day.toString().padLeft(2, "0"); String h = dt.hour.toString().padLeft(2, "0"); String min = dt.minute.toString().padLeft(2, "0"); String sec = dt.second.toString().padLeft(2, "0"); return "$y-$m-$d $h:$min:$sec"; } Map convertToPayload(Map data) { return data.map((key, value) { if (value is UserDefinition) { return MapEntry(key, value.id); } else if (value is Asset) { return MapEntry(key, value.id); } else if (value is DateTime) { return MapEntry(key, postgresDateFormat(value)); } return MapEntry(key, value); }); }