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  }