Get the count of the all system users at endpoint /users/stats (#8847)
* Get the count of the all system users at endpoint /users/stats * Added GetTotalUsersStats test in api4 * Changed pluralization and added the test back.
Этот коммит содержится в:
коммит произвёл
Joram Wilander
родитель
c8d9595833
Коммит
e09b3c566b
@@ -392,6 +392,10 @@ func (c *Client4) GetTeamSchemeRoute(teamId string) string {
|
||||
return fmt.Sprintf(c.GetTeamsRoute()+"/%v/scheme", teamId)
|
||||
}
|
||||
|
||||
func (c *Client4) GetTotalUsersStatsRoute() string {
|
||||
return fmt.Sprintf(c.GetUsersRoute() + "/stats")
|
||||
}
|
||||
|
||||
func (c *Client4) DoApiGet(url string, etag string) (*http.Response, *AppError) {
|
||||
return c.DoApiRequest(http.MethodGet, c.ApiUrl+url, "", etag)
|
||||
}
|
||||
@@ -1468,6 +1472,17 @@ func (c *Client4) GetTeamStats(teamId, etag string) (*TeamStats, *Response) {
|
||||
}
|
||||
}
|
||||
|
||||
// GetTotalUsersStats returns a total system user stats.
|
||||
// Must be authenticated.
|
||||
func (c *Client4) GetTotalUsersStats(etag string) (*UsersStats, *Response) {
|
||||
if r, err := c.DoApiGet(c.GetTotalUsersStatsRoute(), etag); err != nil {
|
||||
return nil, BuildErrorResponse(r, err)
|
||||
} else {
|
||||
defer closeBody(r)
|
||||
return UsersStatsFromJson(r.Body), BuildResponse(r)
|
||||
}
|
||||
}
|
||||
|
||||
// GetTeamUnread will return a TeamUnread object that contains the amount of
|
||||
// unread messages and mentions the user has for the specified team.
|
||||
// Must be authenticated.
|
||||
|
||||
24
model/users_stats.go
Обычный файл
24
model/users_stats.go
Обычный файл
@@ -0,0 +1,24 @@
|
||||
// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
|
||||
// See License.txt for license information.
|
||||
|
||||
package model
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"io"
|
||||
)
|
||||
|
||||
type UsersStats struct {
|
||||
TotalUsersCount int64 `json:"total_users_count"`
|
||||
}
|
||||
|
||||
func (o *UsersStats) ToJson() string {
|
||||
b, _ := json.Marshal(o)
|
||||
return string(b)
|
||||
}
|
||||
|
||||
func UsersStatsFromJson(data io.Reader) *UsersStats {
|
||||
var o *UsersStats
|
||||
json.NewDecoder(data).Decode(&o)
|
||||
return o
|
||||
}
|
||||
Ссылка в новой задаче
Block a user