5
0
mirror of https://github.com/cwinfo/matterbridge.git synced 2024-11-15 05:20:27 +00:00
matterbridge/vendor/github.com/mattermost/mattermost-server/v5/model/team_search.go

50 lines
1.3 KiB
Go
Raw Normal View History

2020-08-09 22:29:54 +00:00
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
2017-08-16 21:37:37 +00:00
package model
import (
"encoding/json"
"io"
)
type TeamSearch struct {
Term string `json:"term"`
Page *int `json:"page,omitempty"`
PerPage *int `json:"per_page,omitempty"`
AllowOpenInvite *bool `json:"allow_open_invite,omitempty"`
GroupConstrained *bool `json:"group_constrained,omitempty"`
IncludeGroupConstrained *bool `json:"include_group_constrained,omitempty"`
PolicyID *string `json:"policy_id,omitempty"`
ExcludePolicyConstrained *bool `json:"exclude_policy_constrained,omitempty"`
IncludePolicyID *bool `json:"-"`
IncludeDeleted *bool `json:"-"`
TeamType *string `json:"-"`
2020-08-09 22:29:54 +00:00
}
func (t *TeamSearch) IsPaginated() bool {
return t.Page != nil && t.PerPage != nil
2017-08-16 21:37:37 +00:00
}
// ToJson convert a TeamSearch to json string
2020-08-09 22:29:54 +00:00
func (t *TeamSearch) ToJson() string {
b, err := json.Marshal(t)
2017-08-16 21:37:37 +00:00
if err != nil {
return ""
}
return string(b)
}
// TeamSearchFromJson decodes the input and returns a TeamSearch
func TeamSearchFromJson(data io.Reader) *TeamSearch {
decoder := json.NewDecoder(data)
var cs TeamSearch
err := decoder.Decode(&cs)
if err == nil {
return &cs
}
return nil
}