[MM-44475] Team Unarchive: Do not allow to unarchive if workspace has reached the limit of teams (#20281)
* Prevent cloud limited installations from restoring teams when at or above the teams limit * Code clean up * fix i18n * Actually fix i18n * updates for govet * Update model/client4.go Co-authored-by: Vishal <vish9812@gmail.com> * [MM-44397] Restrict team creation based on subscription limits (#20282) * restrict team creation based on limits * Update api4/team.go Co-authored-by: Maria A Nunez <maria.nunez@mattermost.com> * Fix tests Co-authored-by: Mattermod <mattermod@users.noreply.github.com> Co-authored-by: Maria A Nunez <maria.nunez@mattermost.com> * Add additional field to teamsusage * Fix * remove useless test * Fix error for team creation * Remove apostrophe Co-authored-by: Mattermod <mattermod@users.noreply.github.com> Co-authored-by: Vishal <vish9812@gmail.com> Co-authored-by: Maria A Nunez <maria.nunez@mattermost.com>
Этот коммит содержится в:
@@ -8111,6 +8111,20 @@ func (c *Client4) GetPostsUsage() (*PostsUsage, *Response, error) {
|
||||
return usage, BuildResponse(r), err
|
||||
}
|
||||
|
||||
// GetTeamsUsage returns total usage of teams for the instance
|
||||
// GetTeamsUsage returns total usage of teams for the instance
|
||||
func (c *Client4) GetTeamsUsage() (*TeamsUsage, *Response, error) {
|
||||
r, err := c.DoAPIGet(c.usageRoute()+"/teams", "")
|
||||
if err != nil {
|
||||
return nil, BuildResponse(r), err
|
||||
}
|
||||
defer closeBody(r)
|
||||
|
||||
var usage *TeamsUsage
|
||||
err = json.NewDecoder(r.Body).Decode(&usage)
|
||||
return usage, BuildResponse(r), err
|
||||
}
|
||||
|
||||
// GetIntegrationsUsage returns usage information on integrations, including the count of enabled integrations
|
||||
func (c *Client4) GetIntegrationsUsage() (*IntegrationsUsage, *Response, error) {
|
||||
r, err := c.DoAPIGet(c.usageRoute()+"/integrations", "")
|
||||
|
||||
@@ -7,6 +7,11 @@ type PostsUsage struct {
|
||||
Count int64 `json:"count"`
|
||||
}
|
||||
|
||||
type TeamsUsage struct {
|
||||
Active int64 `json:"active"`
|
||||
CloudArchived int64 `json:"cloud_archived"`
|
||||
}
|
||||
|
||||
type IntegrationsUsage struct {
|
||||
Enabled int `json:"enabled"`
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user