deleteInstance<T extends Model> static method

Future<bool> deleteInstance<T extends Model>({
  1. required T instance,
  2. DatabaseDisk disk = Model.defaultDisk,
})

Deletes an instance by UUID.

Implementation

static Future<bool> deleteInstance<T extends Model>({required T instance, DatabaseDisk disk = Model.defaultDisk}) async {
  switch (disk) {
    case DatabaseDisk.file:
      try {
        return await JsonFileModel.delete<T>(uuid: instance.uuid!);
      } catch (e) {
        return false;
      }
    case DatabaseDisk.sqlite:
      try {
        return await SQLiteModel.delete<T>(instance.id);
      } catch (e) {
        return false;
      }
    case DatabaseDisk.s3:
      try {
        return await S3JsonFileModel.delete<T>( uuid: instance.uuid!);
      } catch (e) {
        return false;
      }
    case DatabaseDisk.pgsql:
      try {
        return await PostgresModel.delete<T>(id: instance.id!);
      } catch (e) {
        return false;
      }
  }
}