GODT-2022: Fix change between address modes

This commit is contained in:
James Houlahan
2022-11-02 12:49:40 +01:00
parent 0812491f09
commit bc7912e8fb
10 changed files with 83 additions and 18 deletions

View File

@ -258,10 +258,14 @@ func (bridge *Bridge) SetAddressMode(ctx context.Context, userID string, mode va
return fmt.Errorf("address mode is already %q", mode)
}
for _, gluonID := range user.GetGluonIDs() {
for addrID, gluonID := range user.GetGluonIDs() {
if err := bridge.imapServer.RemoveUser(ctx, gluonID, true); err != nil {
return fmt.Errorf("failed to remove user from IMAP server: %w", err)
}
if err := user.RemoveGluonID(addrID, gluonID); err != nil {
return fmt.Errorf("failed to remove gluon ID from user: %w", err)
}
}
if err := user.SetAddressMode(ctx, mode); err != nil {