Implemented insertion of new items into table

This commit is contained in:
Andrew 2023-04-30 17:14:42 +07:00
parent 0c14da73df
commit dfbea7cb6c
4 changed files with 1107 additions and 1 deletions

View file

@ -1,5 +1,8 @@
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) {
@ -9,3 +12,35 @@ String randomHexString(int length) {
}
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<String, dynamic> convertToPayload(Map<String, dynamic> 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);
});
}