matterbridge/vendor/github.com/mattermost/mattermost-server/v5/model/team_search.go

45 lines
1.0 KiB
Go
Raw Normal View History

2020-08-10 00:29:54 +02:00
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
2017-08-16 23:37:37 +02:00
package model
import (
"encoding/json"
"io"
)
type TeamSearch struct {
2020-10-19 23:40:00 +02:00
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"`
2020-08-10 00:29:54 +02:00
}
func (t *TeamSearch) IsPaginated() bool {
return t.Page != nil && t.PerPage != nil
2017-08-16 23:37:37 +02:00
}
// ToJson convert a TeamSearch to json string
2020-08-10 00:29:54 +02:00
func (t *TeamSearch) ToJson() string {
b, err := json.Marshal(t)
2017-08-16 23:37:37 +02: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
}