(
&self,
old_info: Option<EntityInfo>,
new_info: Option<EntityInfo>,
)
| 992 | |
| 993 | #[tracing::instrument(level = "debug", skip(self, old_info, new_info))] |
| 994 | fn merge_extra_info( |
| 995 | &self, |
| 996 | old_info: Option<EntityInfo>, |
| 997 | new_info: Option<EntityInfo>, |
| 998 | ) -> Option<EntityInfo> { |
| 999 | if old_info.is_none() && new_info.is_none() { |
| 1000 | return None; |
| 1001 | } |
| 1002 | |
| 1003 | if old_info.is_none() { |
| 1004 | return new_info; |
| 1005 | } |
| 1006 | |
| 1007 | if new_info.is_none() { |
| 1008 | return old_info; |
| 1009 | } |
| 1010 | |
| 1011 | let mut res = old_info.clone().unwrap(); |
| 1012 | let mut a: Value = serde_json::from_str(res.0.as_str()).unwrap(); |
| 1013 | let b: Value = serde_json::from_str(new_info.unwrap().0.as_str()).unwrap(); |
| 1014 | merge(&mut a, b); |
| 1015 | res.0 = serde_json::to_string(&a).unwrap(); |
| 1016 | Some(res) |
| 1017 | } |
| 1018 | |
| 1019 | #[tracing::instrument(level = "debug", skip(self))] |
| 1020 | pub fn update_album(&self, mut album: QueryableAlbum) -> Result<()> { |
no test coverage detected