2020-08-09 15:29:54 -07:00
|
|
|
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
|
|
// See LICENSE.txt for license information.
|
|
|
|
|
|
|
|
package model
|
|
|
|
|
|
|
|
import (
|
|
|
|
"encoding/json"
|
|
|
|
"io"
|
|
|
|
)
|
|
|
|
|
|
|
|
const CHANNEL_SEARCH_DEFAULT_LIMIT = 50
|
|
|
|
|
|
|
|
type ChannelSearch struct {
|
2021-10-16 15:47:22 -07:00
|
|
|
Term string `json:"term"`
|
|
|
|
ExcludeDefaultChannels bool `json:"exclude_default_channels"`
|
|
|
|
NotAssociatedToGroup string `json:"not_associated_to_group"`
|
|
|
|
TeamIds []string `json:"team_ids"`
|
|
|
|
GroupConstrained bool `json:"group_constrained"`
|
|
|
|
ExcludeGroupConstrained bool `json:"exclude_group_constrained"`
|
|
|
|
ExcludePolicyConstrained bool `json:"exclude_policy_constrained"`
|
|
|
|
Public bool `json:"public"`
|
|
|
|
Private bool `json:"private"`
|
|
|
|
IncludeDeleted bool `json:"include_deleted"`
|
|
|
|
Deleted bool `json:"deleted"`
|
|
|
|
Page *int `json:"page,omitempty"`
|
|
|
|
PerPage *int `json:"per_page,omitempty"`
|
2020-08-09 15:29:54 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
// ToJson convert a Channel to a json string
|
|
|
|
func (c *ChannelSearch) ToJson() string {
|
|
|
|
b, _ := json.Marshal(c)
|
|
|
|
return string(b)
|
|
|
|
}
|
|
|
|
|
|
|
|
// ChannelSearchFromJson will decode the input and return a Channel
|
|
|
|
func ChannelSearchFromJson(data io.Reader) *ChannelSearch {
|
|
|
|
var cs *ChannelSearch
|
|
|
|
json.NewDecoder(data).Decode(&cs)
|
|
|
|
return cs
|
|
|
|
}
|