patch<T extends Model> static method

Future<bool> patch<T extends Model>({
  1. required dynamic id,
  2. required String field,
  3. required dynamic value,
  4. DatabaseDisk disk = DatabaseDisk.file,
})

Updates a single field of a record by id.

Implementation

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