updateInstance<T extends Model> static method

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

Updates an instance with withJson data.

Implementation

static Future<bool> updateInstance<T extends Model>({
  required T instance,
  required Map<String, dynamic> withJson,
  DatabaseDisk disk = DatabaseDisk.file,
}) async {
  switch (disk) {
    case DatabaseDisk.file:
      try {
        return await JsonFileModel.updateInstance<T>(
          instance: instance,
          withJson: withJson,
        );
      } catch (e) {
        return false;
      }
    case DatabaseDisk.sqlite:
      try {
        return await SQLiteModel.updateInstance<T>(
          instance: instance,
          withJson: withJson,
        );
      } catch (e) {
        return false;
      }
    case DatabaseDisk.s3:
      try {
        return await S3JsonFileModel.updateInstance<T>(
          instance: instance,
          withJson: withJson,
        );
      } catch (e) {
        return false;
      }
    case DatabaseDisk.pgsql:
      try {
        return await PostgresModel.updateInstance<T>(
          instance: instance,
          withJson: withJson,
        );
      } catch (e) {
        return false;
      }
  }
}