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
|
|
|
|
}
|