dbCreate function

Future<ObjekItemTypedef?> dbCreate(
  1. String tableName,
  2. String idField,
  3. Map<String, dynamic> objek, [
  4. bool result = true,
])

origin: kt_ifm_gtid_mob/lib/db.dart author: anovsiradj, opencode-go/glm-5.2 version: 2025-03-04, revised: 2026-08-17

Implementation

Future<ObjekItemTypedef?> dbCreate(
  String tableName,
  String idField,
  Map<String, dynamic> objek, [
  bool result = true,
]) async {
  final tableFields = await dbTableFields(tableName);
  objek.removeWhere((key, val) {
    if (!tableFields.contains(key)) return true;
    if (val is Uint8List) return false;
    if (val is Map || val is List) return true;
    return false;
  });

  final newId = await db.insert(tableName, objek, conflictAlgorithm: ConflictAlgorithm.replace);
  if (result) {
    return await dbOne(tableName, {idField: newId});
  }
  return null;
}