create<T extends Model> static method
Future<T?>
create<T extends Model>({
- required Map<
String, dynamic> fromJson, - DatabaseDisk disk = Model.defaultDisk,
Creates a new record from fromJson.
Implementation
static Future<T?> create<T extends Model>({required Map<String, dynamic> fromJson, DatabaseDisk disk = Model.defaultDisk}) async {
if (fromJson['password'] != null) {
fromJson['password'] = Hasher.hashPassword(fromJson['password']);
}
switch (disk) {
case DatabaseDisk.file:
try {
return await JsonFileModel.create<T>(fromJson);
} catch (e) {
return null;
}
case DatabaseDisk.sqlite:
try {
return await SQLiteModel.create<T>(fromJson);
} catch (e) {
return null;
}
case DatabaseDisk.s3:
try {
return await S3JsonFileModel.create<T>(fromJson);
} catch (e) {
return null;
}
case DatabaseDisk.pgsql:
try {
return await PostgresModel.create<T>(fromJson);
} catch (e) {
return null;
}
}
}