github.com/status-im/status-go@v1.1.0/protocol/requests/reorder_community_category.go (about)

     1  package requests
     2  
     3  import (
     4  	"errors"
     5  
     6  	"github.com/status-im/status-go/eth-node/types"
     7  )
     8  
     9  var ErrReorderCommunityCategoryInvalidCommunityID = errors.New("reorder-community-category: invalid community id")
    10  var ErrReorderCommunityCategoryInvalidCategoryID = errors.New("reorder-community-category: invalid category id")
    11  var ErrReorderCommunityCategoryInvalidPosition = errors.New("reorder-community-category: invalid position")
    12  
    13  type ReorderCommunityCategories struct {
    14  	CommunityID types.HexBytes `json:"communityId"`
    15  	CategoryID  string         `json:"categoryId"`
    16  	Position    int            `json:"position"`
    17  }
    18  
    19  func (j *ReorderCommunityCategories) Validate() error {
    20  	if len(j.CommunityID) == 0 {
    21  		return ErrReorderCommunityCategoryInvalidCommunityID
    22  	}
    23  
    24  	if len(j.CategoryID) == 0 {
    25  		return ErrReorderCommunityCategoryInvalidCategoryID
    26  	}
    27  
    28  	if j.Position < 0 {
    29  		return ErrReorderCommunityCategoryInvalidPosition
    30  	}
    31  
    32  	return nil
    33  }