Fix migration again.

This commit is contained in:
Paul
2021-09-11 21:11:15 +01:00
parent d0cb73106d
commit 0b0249f544

View File

@@ -233,25 +233,25 @@ pub async fn run_migrations(revision: i32) -> i32 {
.unwrap(); .unwrap();
while let Some(doc) = cursor.next().await { while let Some(doc) = cursor.next().await {
if let Ok(mut account) = doc { if let Ok(account) = doc {
if let Some(sessions) = account.remove("sessions") { let id = account.get_str("_id").unwrap();
if let Some(sessions) = account.get("sessions") {
#[derive(Deserialize)] #[derive(Deserialize)]
struct Session { struct Session {
id: String, id: String,
token: String, token: String,
user_id: String,
friendly_name: String, friendly_name: String,
subscription: Option<Document>, subscription: Option<Document>,
} }
let sessions = from_bson::<Vec<Session>>(sessions).unwrap(); let sessions = from_bson::<Vec<Session>>(sessions.clone()).unwrap();
for session in sessions { for session in sessions {
info!("Converting session {} to new format.", &session.id); info!("Converting session {} to new format.", &session.id);
let mut doc = doc! { let mut doc = doc! {
"_id": session.id, "_id": session.id,
"token": session.token, "token": session.token,
"user_id": session.user_id, "user_id": id.clone(),
"name": session.friendly_name, "name": session.friendly_name,
}; };