github.com/status-im/status-go@v1.1.0/protocol/requests/add_role_to_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 ErrAddRoleToMemberInvalidCommunityID = errors.New("add-role-to-member: invalid community id") 11 var ErrAddRoleToMemberInvalidUser = errors.New("add-role-to-member: invalid user id") 12 var ErrAddRoleToMemberInvalidRole = errors.New("add-role-to-member: invalid role") 13 14 type AddRoleToMember struct { 15 CommunityID types.HexBytes `json:"communityId"` 16 User types.HexBytes `json:"user"` 17 Role protobuf.CommunityMember_Roles `json:"role"` 18 } 19 20 func (a *AddRoleToMember) Validate() error { 21 if len(a.CommunityID) == 0 { 22 return ErrAddRoleToMemberInvalidCommunityID 23 } 24 25 if len(a.User) == 0 { 26 return ErrAddRoleToMemberInvalidUser 27 } 28 29 if a.Role == protobuf.CommunityMember_ROLE_NONE { 30 return ErrAddRoleToMemberInvalidRole 31 } 32 33 return nil 34 }