github.com/status-im/status-go@v1.1.0/protocol/requests/remove_role_from_member.go (about) 1 package requests 2 3 import ( 4 "errors" 5 6 "github.com/status-im/status-go/eth-node/types" 7 "github.com/status-im/status-go/protocol/protobuf" 8 ) 9 10 var ErrRemoveRoleFromMemberInvalidCommunityID = errors.New("remove-role-from-member: invalid community id") 11 var ErrRemoveRoleFromMemberInvalidUser = errors.New("remove-role-from-member: invalid user id") 12 var ErrRemoveRoleFromMemberInvalidRole = errors.New("remove-role-from-member: invalid role") 13 14 type RemoveRoleFromMember struct { 15 CommunityID types.HexBytes `json:"communityId"` 16 User types.HexBytes `json:"user"` 17 Role protobuf.CommunityMember_Roles `json:"role"` 18 } 19 20 func (r *RemoveRoleFromMember) Validate() error { 21 if len(r.CommunityID) == 0 { 22 return ErrRemoveRoleFromMemberInvalidCommunityID 23 } 24 25 if len(r.User) == 0 { 26 return ErrRemoveRoleFromMemberInvalidUser 27 } 28 29 if r.Role == protobuf.CommunityMember_ROLE_NONE { 30 return ErrRemoveRoleFromMemberInvalidRole 31 } 32 33 return nil 34 }