From 878c1a83ad9ef6517d7664220890116e2bd81faa Mon Sep 17 00:00:00 2001 From: Zomatree Date: Wed, 15 May 2024 22:57:34 +0100 Subject: [PATCH] fix: continue fix --- .../models/admin_migrations/ops/mongodb/scripts.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/crates/core/database/src/models/admin_migrations/ops/mongodb/scripts.rs b/crates/core/database/src/models/admin_migrations/ops/mongodb/scripts.rs index a8eda5ac6..53b20cfed 100644 --- a/crates/core/database/src/models/admin_migrations/ops/mongodb/scripts.rs +++ b/crates/core/database/src/models/admin_migrations/ops/mongodb/scripts.rs @@ -6,6 +6,7 @@ use crate::{ options::FindOptions, }, Invite, MongoDb, DISCRIMINATOR_SEARCH_SPACE }; +use bson::oid::ObjectId; use futures::StreamExt; use rand::seq::SliceRandom; use revolt_permissions::DEFAULT_WEBHOOK_PERMISSIONS; @@ -1003,8 +1004,15 @@ pub async fn run_migrations(db: &MongoDb, revision: i32) -> i32 { } ); + #[derive(serde::Serialize, serde::Deserialize)] + struct Outer { + _id: ObjectId, + #[serde(flatten)] + invite: OldInvite + } + let mut invites = db.db() - .collection::("channel_invites") + .collection::("channel_invites") .find(doc! { "type": { "$exists": false } }, None) @@ -1012,7 +1020,7 @@ pub async fn run_migrations(db: &MongoDb, revision: i32) -> i32 { .expect("failed to find invites"); while let Some(Ok(invite)) = invites.next().await { - let new_invite = match invite { + let new_invite = match invite.invite { OldInvite::Server { code, server, creator, channel } => Invite::Server { code, server, creator, channel }, OldInvite::Group { code, creator, channel } => Invite::Group { code, creator, channel } };