add method

Future<Object> add(
  1. Object model, [
  2. String? pkName,
  3. dynamic pkValue,
  4. bool includeChild = true,
])

Implementation

Future<Object> add(
  Object model, [
  String? pkName,
  dynamic pkValue,
  bool includeChild = true,
]) async {
  var db = await database;
  Dynamic dyn = Dynamic(model);

  if (dyn.hasBaseModel) await Libs.config.model.baseModelUpdater?.update(dyn);

  Map<String, dynamic> data;
  if (includeChild) {
    data = dyn.modelToDataMap(); // map with child
// modelToDataMap
  } else
    data = dyn.modelToDataMapSingle();

  if (pkValue == null || pkValue == "") data[pkName!] = UtilRF.getUUID();
  var id = await db.insert(model.runtimeType.toString(), data);
  Dynamic(model).set(getPrimaryKeyName(model), data[pkName]);

  return model;
}