From f8afa42707ee456874798367fda2190bcedc2174 Mon Sep 17 00:00:00 2001 From: wish Date: Tue, 2 Aug 2022 04:40:18 +1000 Subject: [PATCH] remove guild from alliance on disband --- server/channelserver/handlers_guild.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/server/channelserver/handlers_guild.go b/server/channelserver/handlers_guild.go index 90eec5f00..fe5efd114 100644 --- a/server/channelserver/handlers_guild.go +++ b/server/channelserver/handlers_guild.go @@ -220,6 +220,30 @@ func (guild *Guild) Disband(s *Session) error { return err } + _, err = transaction.Exec("DELETE FROM guild_alliances WHERE parent_id=$1", guild.ID) + + if err != nil { + s.logger.Error("failed to remove guild alliance", zap.Error(err), zap.Uint32("guildID", guild.ID)) + rollbackTransaction(s, transaction) + return err + } + + _, err = transaction.Exec("UPDATE guild_alliances SET sub1_id=NULL WHERE sub1_id=$1", guild.ID) + + if err != nil { + s.logger.Error("failed to remove guild from alliance", zap.Error(err), zap.Uint32("guildID", guild.ID)) + rollbackTransaction(s, transaction) + return err + } + + _, err = transaction.Exec("UPDATE guild_alliances SET sub2_id=NULL WHERE sub2_id=$1", guild.ID) + + if err != nil { + s.logger.Error("failed to remove guild from alliance", zap.Error(err), zap.Uint32("guildID", guild.ID)) + rollbackTransaction(s, transaction) + return err + } + err = transaction.Commit() if err != nil {