code.vegaprotocol.io/vega@v0.79.0/commands/update_referral_set.go (about) 1 // Copyright (C) 2023 Gobalsky Labs Limited 2 // 3 // This program is free software: you can redistribute it and/or modify 4 // it under the terms of the GNU Affero General Public License as 5 // published by the Free Software Foundation, either version 3 of the 6 // License, or (at your option) any later version. 7 // 8 // This program is distributed in the hope that it will be useful, 9 // but WITHOUT ANY WARRANTY; without even the implied warranty of 10 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 // GNU Affero General Public License for more details. 12 // 13 // You should have received a copy of the GNU Affero General Public License 14 // along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16 package commands 17 18 import commandspb "code.vegaprotocol.io/vega/protos/vega/commands/v1" 19 20 func CheckUpdateReferralSet(cmd *commandspb.UpdateReferralSet) error { 21 return checkUpdateReferralSet(cmd).ErrorOrNil() 22 } 23 24 func checkUpdateReferralSet(cmd *commandspb.UpdateReferralSet) Errors { 25 errs := NewErrors() 26 27 if cmd == nil { 28 return errs.FinalAddForProperty("update_team", ErrIsRequired) 29 } 30 31 if !IsVegaID(cmd.Id) { 32 errs.AddForProperty("update_referral_set.id", ErrShouldBeAValidVegaID) 33 } 34 35 if cmd.IsTeam { 36 if cmd.Team == nil { 37 return errs.FinalAddForProperty("update_referral_set.team", ErrIsRequired) 38 } 39 40 // now the only one which needs validation again is the name, as it's not allowed to be set to "" 41 if cmd.Team.Name != nil { 42 if len(*cmd.Team.Name) <= 0 { 43 errs.AddForProperty("update_referral_set.team.name", ErrIsRequired) 44 } else if len(*cmd.Team.Name) > 100 { 45 errs.AddForProperty("update_referral_set.team.name", ErrMustBeLessThan100Chars) 46 } 47 } 48 49 if cmd.Team.AvatarUrl != nil && len(*cmd.Team.AvatarUrl) > 200 { 50 errs.AddForProperty("update_referral_set.team.avatar_url", ErrMustBeLessThan200Chars) 51 } 52 53 if cmd.Team.TeamUrl != nil && len(*cmd.Team.TeamUrl) > 200 { 54 errs.AddForProperty("update_referral_set.team.team_url", ErrMustBeLessThan200Chars) 55 } 56 57 if cmd.Team.Closed == nil && len(cmd.Team.AllowList) > 0 { 58 errs.AddForProperty("update_referral_set.team.allow_list", ErrSettingAllowListRequireSettingClosedState) 59 } 60 61 if cmd.Team.Closed != nil && !*cmd.Team.Closed && len(cmd.Team.AllowList) > 0 { 62 errs.AddForProperty("update_referral_set.team.allow_list", ErrCannotSetAllowListWhenTeamIsOpened) 63 } 64 } 65 66 return errs 67 }