delete invites when leaving server

This commit is contained in:
2026-04-21 17:33:11 -04:00
parent 691e069318
commit 3123bd9d10
+8 -2
View File
@@ -384,9 +384,15 @@ pub fn join_server(ctx: &ReducerContext, server_id: Option<u64>, invite_code: Op
#[spacetimedb::reducer]
pub fn leave_server(ctx: &ReducerContext, server_id: u64) {
let members: Vec<_> = ctx.db.server_member().identity().filter(ctx.sender()).filter(|m| m.server_id == server_id).collect();
let sender = ctx.sender();
let members: Vec<_> = ctx.db.server_member().identity().filter(sender).filter(|m| m.server_id == server_id).collect();
for m in members { ctx.db.server_member().id().delete(m.id); }
revoke_server_access(&ctx.db, ctx.sender(), server_id);
// Also delete any invites this user created for this server
let invites: Vec<_> = ctx.db.invite().iter().filter(|i| i.inviter == sender && i.server_id == server_id).collect();
for i in invites { ctx.db.invite().code().delete(i.code); }
revoke_server_access(&ctx.db, sender, server_id);
}
#[spacetimedb::reducer]