fix option get_mut

This commit is contained in:
Aiden McClelland
2021-05-26 15:07:11 -06:00
parent 5ece0d92e8
commit 40b8b2c230

View File

@@ -210,7 +210,10 @@ impl<T: HasModel + Serialize + for<'de> Deserialize<'de>> OptionModel<T> {
Ok(ModelData(db.get(self.0.as_ref()).await?))
}
pub async fn get_mut<Db: DbHandle>(&self, db: &mut Db) -> Result<ModelDataMut<T>, Error> {
pub async fn get_mut<Db: DbHandle>(
&self,
db: &mut Db,
) -> Result<ModelDataMut<Option<T>>, Error> {
self.lock(db, LockType::Write).await;
let original = db.get_value(self.0.as_ref(), None).await?;
let current = serde_json::from_value(original.clone())?;