updateInstance<T extends Model> static method

Future<bool> updateInstance<T extends Model>({
  1. required T instance,
  2. required Map<String, dynamic> withJson,
})

Updates instance with partial data.

Implementation

static Future<bool> updateInstance<T extends Model>({
  required T instance,
  required Map<String, dynamic> withJson,
}) async {
  final constructor = _jsonConstructors[T];
  if (constructor == null) return false;

  try {
    withJson
      ..remove('id')
      ..remove('uuid');

    final current = instance.toMetaJson()..addAll(withJson);
    final updated = constructor(current) as T;

    return await _update<T>(updated);
  } catch (e) {
    print('SQLite updateInstance error: $e');
    return false;
  }
}