status-im/status-go

View on GitHub
protocol/messenger_collapsed_community_categories.go

Summary

Maintainability
A
0 mins
Test Coverage
B
85%
package protocol

import (
    "github.com/status-im/status-go/protocol/requests"
)

type CollapsedCommunityCategory struct {
    CommunityID string `json:"communityId"`
    CategoryID  string `json:"categoryId"`
    Collapsed   bool   `json:"collapsed"`
}

func (m *Messenger) ToggleCollapsedCommunityCategory(request *requests.ToggleCollapsedCommunityCategory) error {
    if err := request.Validate(); err != nil {
        return err
    }

    collapsedCategory := CollapsedCommunityCategory{
        CommunityID: request.CommunityID,
        CategoryID:  request.CategoryID,
        Collapsed:   request.Collapsed,
    }

    return m.persistence.UpsertCollapsedCommunityCategory(collapsedCategory)
}

func (m *Messenger) CollapsedCommunityCategories() ([]CollapsedCommunityCategory, error) {
    return m.persistence.CollapsedCommunityCategories()
}