35 lines
926 B
Go
35 lines
926 B
Go
|
package requests
|
||
|
|
||
|
import (
|
||
|
"errors"
|
||
|
|
||
|
"github.com/status-im/status-go/eth-node/types"
|
||
|
"github.com/status-im/status-go/protocol/protobuf"
|
||
|
)
|
||
|
|
||
|
var ErrAddRoleToMemberInvalidCommunityID = errors.New("add-role-to-member: invalid community id")
|
||
|
var ErrAddRoleToMemberInvalidUser = errors.New("add-role-to-member: invalid user id")
|
||
|
var ErrAddRoleToMemberInvalidRole = errors.New("add-role-to-member: invalid role")
|
||
|
|
||
|
type AddRoleToMember struct {
|
||
|
CommunityID types.HexBytes `json:"communityId"`
|
||
|
User types.HexBytes `json:"user"`
|
||
|
Role protobuf.CommunityMember_Roles `json:"role"`
|
||
|
}
|
||
|
|
||
|
func (a *AddRoleToMember) Validate() error {
|
||
|
if len(a.CommunityID) == 0 {
|
||
|
return ErrAddRoleToMemberInvalidCommunityID
|
||
|
}
|
||
|
|
||
|
if len(a.User) == 0 {
|
||
|
return ErrAddRoleToMemberInvalidUser
|
||
|
}
|
||
|
|
||
|
if a.Role == protobuf.CommunityMember_UNKNOWN_ROLE {
|
||
|
return ErrAddRoleToMemberInvalidRole
|
||
|
}
|
||
|
|
||
|
return nil
|
||
|
}
|