summaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/platform/channel.go69
-rw-r--r--cmd/platform/import.go11
-rw-r--r--cmd/platform/init.go22
-rw-r--r--cmd/platform/ldap.go2
-rw-r--r--cmd/platform/license.go7
-rw-r--r--cmd/platform/mattermost.go6
-rw-r--r--cmd/platform/roles.go11
-rw-r--r--cmd/platform/server.go76
-rw-r--r--cmd/platform/team.go32
-rw-r--r--cmd/platform/test.go27
-rw-r--r--cmd/platform/user.go62
-rw-r--r--cmd/platform/version.go9
12 files changed, 184 insertions, 150 deletions
diff --git a/cmd/platform/channel.go b/cmd/platform/channel.go
index 1b06474d1..8f8e8e194 100644
--- a/cmd/platform/channel.go
+++ b/cmd/platform/channel.go
@@ -126,7 +126,8 @@ func init() {
}
func createChannelCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -170,7 +171,7 @@ func createChannelCmdF(cmd *cobra.Command, args []string) error {
CreatorId: "",
}
- if _, err := app.Global().CreateChannel(channel, false); err != nil {
+ if _, err := a.CreateChannel(channel, false); err != nil {
return err
}
@@ -178,7 +179,8 @@ func createChannelCmdF(cmd *cobra.Command, args []string) error {
}
func removeChannelUsersCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -197,24 +199,25 @@ func removeChannelUsersCmdF(cmd *cobra.Command, args []string) error {
users := getUsersFromUserArgs(args[1:])
for i, user := range users {
- removeUserFromChannel(channel, user, args[i+1])
+ removeUserFromChannel(a, channel, user, args[i+1])
}
return nil
}
-func removeUserFromChannel(channel *model.Channel, user *model.User, userArg string) {
+func removeUserFromChannel(a *app.App, channel *model.Channel, user *model.User, userArg string) {
if user == nil {
CommandPrintErrorln("Can't find user '" + userArg + "'")
return
}
- if err := app.Global().RemoveUserFromChannel(user.Id, "", channel); err != nil {
+ if err := a.RemoveUserFromChannel(user.Id, "", channel); err != nil {
CommandPrintErrorln("Unable to remove '" + userArg + "' from " + channel.Name + ". Error: " + err.Error())
}
}
func addChannelUsersCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -233,24 +236,25 @@ func addChannelUsersCmdF(cmd *cobra.Command, args []string) error {
users := getUsersFromUserArgs(args[1:])
for i, user := range users {
- addUserToChannel(channel, user, args[i+1])
+ addUserToChannel(a, channel, user, args[i+1])
}
return nil
}
-func addUserToChannel(channel *model.Channel, user *model.User, userArg string) {
+func addUserToChannel(a *app.App, channel *model.Channel, user *model.User, userArg string) {
if user == nil {
CommandPrintErrorln("Can't find user '" + userArg + "'")
return
}
- if _, err := app.Global().AddUserToChannel(user, channel); err != nil {
+ if _, err := a.AddUserToChannel(user, channel); err != nil {
CommandPrintErrorln("Unable to add '" + userArg + "' from " + channel.Name + ". Error: " + err.Error())
}
}
func archiveChannelsCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -264,7 +268,7 @@ func archiveChannelsCmdF(cmd *cobra.Command, args []string) error {
CommandPrintErrorln("Unable to find channel '" + args[i] + "'")
continue
}
- if result := <-app.Global().Srv.Store.Channel().Delete(channel.Id, model.GetMillis()); result.Err != nil {
+ if result := <-a.Srv.Store.Channel().Delete(channel.Id, model.GetMillis()); result.Err != nil {
CommandPrintErrorln("Unable to archive channel '" + channel.Name + "' error: " + result.Err.Error())
}
}
@@ -273,7 +277,8 @@ func archiveChannelsCmdF(cmd *cobra.Command, args []string) error {
}
func deleteChannelsCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -297,7 +302,7 @@ func deleteChannelsCmdF(cmd *cobra.Command, args []string) error {
CommandPrintErrorln("Unable to find channel '" + args[i] + "'")
continue
}
- if err := deleteChannel(channel); err != nil {
+ if err := deleteChannel(a, channel); err != nil {
CommandPrintErrorln("Unable to delete channel '" + channel.Name + "' error: " + err.Error())
} else {
CommandPrettyPrintln("Deleted channel '" + channel.Name + "'")
@@ -307,12 +312,13 @@ func deleteChannelsCmdF(cmd *cobra.Command, args []string) error {
return nil
}
-func deleteChannel(channel *model.Channel) *model.AppError {
- return app.Global().PermanentDeleteChannel(channel)
+func deleteChannel(a *app.App, channel *model.Channel) *model.AppError {
+ return a.PermanentDeleteChannel(channel)
}
func moveChannelsCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -331,7 +337,7 @@ func moveChannelsCmdF(cmd *cobra.Command, args []string) error {
CommandPrintErrorln("Unable to find channel '" + args[i] + "'")
continue
}
- if err := moveChannel(team, channel); err != nil {
+ if err := moveChannel(a, team, channel); err != nil {
CommandPrintErrorln("Unable to move channel '" + channel.Name + "' error: " + err.Error())
} else {
CommandPrettyPrintln("Moved channel '" + channel.Name + "'")
@@ -341,33 +347,33 @@ func moveChannelsCmdF(cmd *cobra.Command, args []string) error {
return nil
}
-func moveChannel(team *model.Team, channel *model.Channel) *model.AppError {
+func moveChannel(a *app.App, team *model.Team, channel *model.Channel) *model.AppError {
oldTeamId := channel.TeamId
- if err := app.Global().MoveChannel(team, channel); err != nil {
+ if err := a.MoveChannel(team, channel); err != nil {
return err
}
- if incomingWebhooks, err := app.Global().GetIncomingWebhooksForTeamPage(oldTeamId, 0, 10000000); err != nil {
+ if incomingWebhooks, err := a.GetIncomingWebhooksForTeamPage(oldTeamId, 0, 10000000); err != nil {
return err
} else {
for _, webhook := range incomingWebhooks {
if webhook.ChannelId == channel.Id {
webhook.TeamId = team.Id
- if result := <-app.Global().Srv.Store.Webhook().UpdateIncoming(webhook); result.Err != nil {
+ if result := <-a.Srv.Store.Webhook().UpdateIncoming(webhook); result.Err != nil {
CommandPrintErrorln("Failed to move incoming webhook '" + webhook.Id + "' to new team.")
}
}
}
}
- if outgoingWebhooks, err := app.Global().GetOutgoingWebhooksForTeamPage(oldTeamId, 0, 10000000); err != nil {
+ if outgoingWebhooks, err := a.GetOutgoingWebhooksForTeamPage(oldTeamId, 0, 10000000); err != nil {
return err
} else {
for _, webhook := range outgoingWebhooks {
if webhook.ChannelId == channel.Id {
webhook.TeamId = team.Id
- if result := <-app.Global().Srv.Store.Webhook().UpdateOutgoing(webhook); result.Err != nil {
+ if result := <-a.Srv.Store.Webhook().UpdateOutgoing(webhook); result.Err != nil {
CommandPrintErrorln("Failed to move outgoing webhook '" + webhook.Id + "' to new team.")
}
}
@@ -378,7 +384,8 @@ func moveChannel(team *model.Team, channel *model.Channel) *model.AppError {
}
func listChannelsCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -396,7 +403,7 @@ func listChannelsCmdF(cmd *cobra.Command, args []string) error {
CommandPrintErrorln("Unable to find team '" + args[i] + "'")
continue
}
- if result := <-app.Global().Srv.Store.Channel().GetAll(team.Id); result.Err != nil {
+ if result := <-a.Srv.Store.Channel().GetAll(team.Id); result.Err != nil {
CommandPrintErrorln("Unable to list channels for '" + args[i] + "'")
} else {
channels := result.Data.([]*model.Channel)
@@ -415,7 +422,8 @@ func listChannelsCmdF(cmd *cobra.Command, args []string) error {
}
func restoreChannelsCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -433,7 +441,7 @@ func restoreChannelsCmdF(cmd *cobra.Command, args []string) error {
CommandPrintErrorln("Unable to find channel '" + args[i] + "'")
continue
}
- if result := <-app.Global().Srv.Store.Channel().SetDeleteAt(channel.Id, 0, model.GetMillis()); result.Err != nil {
+ if result := <-a.Srv.Store.Channel().SetDeleteAt(channel.Id, 0, model.GetMillis()); result.Err != nil {
CommandPrintErrorln("Unable to restore channel '" + args[i] + "'")
}
}
@@ -442,7 +450,8 @@ func restoreChannelsCmdF(cmd *cobra.Command, args []string) error {
}
func modifyChannelCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -475,7 +484,7 @@ func modifyChannelCmdF(cmd *cobra.Command, args []string) error {
channel.Type = model.CHANNEL_PRIVATE
}
- if _, err := app.Global().UpdateChannel(channel); err != nil {
+ if _, err := a.UpdateChannel(channel); err != nil {
return errors.New("Failed to update channel '" + args[0] + "' - " + err.Error())
}
diff --git a/cmd/platform/import.go b/cmd/platform/import.go
index 30e07cebf..85cb3835b 100644
--- a/cmd/platform/import.go
+++ b/cmd/platform/import.go
@@ -8,7 +8,6 @@ import (
"fmt"
- "github.com/mattermost/mattermost-server/app"
"github.com/spf13/cobra"
)
@@ -45,7 +44,8 @@ func init() {
}
func slackImportCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -71,7 +71,7 @@ func slackImportCmdF(cmd *cobra.Command, args []string) error {
CommandPrettyPrintln("Running Slack Import. This may take a long time for large teams or teams with many messages.")
- app.Global().SlackImport(fileReader, fileInfo.Size(), team.Id)
+ a.SlackImport(fileReader, fileInfo.Size(), team.Id)
CommandPrettyPrintln("Finished Slack Import.")
@@ -79,7 +79,8 @@ func slackImportCmdF(cmd *cobra.Command, args []string) error {
}
func bulkImportCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -121,7 +122,7 @@ func bulkImportCmdF(cmd *cobra.Command, args []string) error {
CommandPrettyPrintln("")
- if err, lineNumber := app.Global().BulkImport(fileReader, !apply, workers); err != nil {
+ if err, lineNumber := a.BulkImport(fileReader, !apply, workers); err != nil {
CommandPrettyPrintln(err.Error())
if lineNumber != 0 {
CommandPrettyPrintln(fmt.Sprintf("Error occurred on data file line %v", lineNumber))
diff --git a/cmd/platform/init.go b/cmd/platform/init.go
index b1ed2f3dc..1683c9d49 100644
--- a/cmd/platform/init.go
+++ b/cmd/platform/init.go
@@ -7,32 +7,34 @@ import (
"github.com/spf13/cobra"
)
-func initDBCommandContextCobra(cmd *cobra.Command) error {
+func initDBCommandContextCobra(cmd *cobra.Command) (*app.App, error) {
config, err := cmd.Flags().GetString("config")
if err != nil {
- return err
+ return nil, err
}
- if err := initDBCommandContext(config); err != nil {
+ a, err := initDBCommandContext(config)
+ if err != nil {
// Returning an error just prints the usage message, so actually panic
panic(err)
}
- return nil
+ return a, nil
}
-func initDBCommandContext(configFileLocation string) error {
+func initDBCommandContext(configFileLocation string) (*app.App, error) {
if err := utils.InitAndLoadConfig(configFileLocation); err != nil {
- return err
+ return nil, err
}
utils.ConfigureCmdLineLog()
- app.Global().NewServer()
- app.Global().InitStores()
+ a := app.Global()
+ a.NewServer()
+ a.InitStores()
if model.BuildEnterpriseReady == "true" {
- app.Global().LoadLicense()
+ a.LoadLicense()
}
- return nil
+ return a, nil
}
diff --git a/cmd/platform/ldap.go b/cmd/platform/ldap.go
index 10f58fedb..ad9b0a2f6 100644
--- a/cmd/platform/ldap.go
+++ b/cmd/platform/ldap.go
@@ -27,7 +27,7 @@ func init() {
}
func ldapSyncCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ if _, err := initDBCommandContextCobra(cmd); err != nil {
return err
}
diff --git a/cmd/platform/license.go b/cmd/platform/license.go
index dc9c8f3dc..73efe9137 100644
--- a/cmd/platform/license.go
+++ b/cmd/platform/license.go
@@ -6,7 +6,6 @@ import (
"errors"
"io/ioutil"
- "github.com/mattermost/mattermost-server/app"
"github.com/spf13/cobra"
)
@@ -28,7 +27,8 @@ func init() {
}
func uploadLicenseCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -37,12 +37,11 @@ func uploadLicenseCmdF(cmd *cobra.Command, args []string) error {
}
var fileBytes []byte
- var err error
if fileBytes, err = ioutil.ReadFile(args[0]); err != nil {
return err
}
- if _, err := app.Global().SaveLicense(fileBytes); err != nil {
+ if _, err := a.SaveLicense(fileBytes); err != nil {
return err
}
diff --git a/cmd/platform/mattermost.go b/cmd/platform/mattermost.go
index 8396b00c0..3c0add061 100644
--- a/cmd/platform/mattermost.go
+++ b/cmd/platform/mattermost.go
@@ -8,7 +8,6 @@ import (
"fmt"
"os"
- "github.com/mattermost/mattermost-server/app"
"github.com/spf13/cobra"
// Plugins
@@ -59,7 +58,8 @@ var resetCmd = &cobra.Command{
}
func resetCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -79,7 +79,7 @@ func resetCmdF(cmd *cobra.Command, args []string) error {
}
}
- app.Global().Srv.Store.DropAllTables()
+ a.Srv.Store.DropAllTables()
CommandPrettyPrintln("Database sucessfully reset")
return nil
diff --git a/cmd/platform/roles.go b/cmd/platform/roles.go
index 1faf99d9e..ad64459e5 100644
--- a/cmd/platform/roles.go
+++ b/cmd/platform/roles.go
@@ -5,7 +5,6 @@ package main
import (
"errors"
- "github.com/mattermost/mattermost-server/app"
"github.com/spf13/cobra"
)
@@ -38,7 +37,8 @@ func init() {
}
func makeSystemAdminCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -52,7 +52,7 @@ func makeSystemAdminCmdF(cmd *cobra.Command, args []string) error {
return errors.New("Unable to find user '" + args[i] + "'")
}
- if _, err := app.Global().UpdateUserRoles(user.Id, "system_admin system_user"); err != nil {
+ if _, err := a.UpdateUserRoles(user.Id, "system_admin system_user"); err != nil {
return err
}
}
@@ -61,7 +61,8 @@ func makeSystemAdminCmdF(cmd *cobra.Command, args []string) error {
}
func makeMemberCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -75,7 +76,7 @@ func makeMemberCmdF(cmd *cobra.Command, args []string) error {
return errors.New("Unable to find user '" + args[i] + "'")
}
- if _, err := app.Global().UpdateUserRoles(user.Id, "system_user"); err != nil {
+ if _, err := a.UpdateUserRoles(user.Id, "system_user"); err != nil {
return err
}
}
diff --git a/cmd/platform/server.go b/cmd/platform/server.go
index fe5f5272b..15c80134c 100644
--- a/cmd/platform/server.go
+++ b/cmd/platform/server.go
@@ -74,7 +74,7 @@ func runServer(configFileLocation string) {
a := app.Global()
a.NewServer()
a.InitStores()
- api.InitRouter()
+ a.Srv.Router = api.NewRouter()
if model.BuildEnterpriseReady == "true" {
a.LoadLicense()
@@ -82,8 +82,8 @@ func runServer(configFileLocation string) {
a.InitPlugins("plugins", "webapp/dist")
wsapi.InitRouter()
- api4.InitApi(false)
- api.InitApi()
+ api4.InitApi(a.Srv.Router, false)
+ api.InitApi(a.Srv.Router)
wsapi.InitApi()
web.InitWeb()
@@ -98,7 +98,7 @@ func runServer(configFileLocation string) {
app.ReloadConfig()
- resetStatuses()
+ resetStatuses(a)
a.StartServer()
@@ -107,13 +107,13 @@ func runServer(configFileLocation string) {
manualtesting.InitManualTesting()
}
- setDiagnosticId()
+ setDiagnosticId(a)
utils.RegenerateClientConfig()
- go runSecurityJob()
- go runDiagnosticsJob()
+ go runSecurityJob(a)
+ go runDiagnosticsJob(a)
- go runTokenCleanupJob()
- go runCommandWebhookCleanupJob()
+ go runTokenCleanupJob(a)
+ go runCommandWebhookCleanupJob(a)
if complianceI := einterfaces.GetComplianceInterface(); complianceI != nil {
complianceI.StartComplianceDailyJob()
@@ -162,61 +162,69 @@ func runServer(configFileLocation string) {
a.StopServer()
}
-func runSecurityJob() {
- doSecurity()
- model.CreateRecurringTask("Security", doSecurity, time.Hour*4)
+func runSecurityJob(a *app.App) {
+ doSecurity(a)
+ model.CreateRecurringTask("Security", func() {
+ doSecurity(a)
+ }, time.Hour*4)
}
-func runDiagnosticsJob() {
- doDiagnostics()
- model.CreateRecurringTask("Diagnostics", doDiagnostics, time.Hour*24)
+func runDiagnosticsJob(a *app.App) {
+ doDiagnostics(a)
+ model.CreateRecurringTask("Diagnostics", func() {
+ doDiagnostics(a)
+ }, time.Hour*24)
}
-func runTokenCleanupJob() {
- doTokenCleanup()
- model.CreateRecurringTask("Token Cleanup", doTokenCleanup, time.Hour*1)
+func runTokenCleanupJob(a *app.App) {
+ doTokenCleanup(a)
+ model.CreateRecurringTask("Token Cleanup", func() {
+ doTokenCleanup(a)
+ }, time.Hour*1)
}
-func runCommandWebhookCleanupJob() {
- doCommandWebhookCleanup()
- model.CreateRecurringTask("Command Hook Cleanup", doCommandWebhookCleanup, time.Hour*1)
+func runCommandWebhookCleanupJob(a *app.App) {
+ doCommandWebhookCleanup(a)
+ model.CreateRecurringTask("Command Hook Cleanup", func() {
+ doCommandWebhookCleanup(a)
+ }, time.Hour*1)
}
-func resetStatuses() {
- if result := <-app.Global().Srv.Store.Status().ResetAll(); result.Err != nil {
+func resetStatuses(a *app.App) {
+ if result := <-a.Srv.Store.Status().ResetAll(); result.Err != nil {
l4g.Error(utils.T("mattermost.reset_status.error"), result.Err.Error())
}
}
-func setDiagnosticId() {
- if result := <-app.Global().Srv.Store.System().Get(); result.Err == nil {
+func setDiagnosticId(a *app.App) {
+ if result := <-a.Srv.Store.System().Get(); result.Err == nil {
props := result.Data.(model.StringMap)
id := props[model.SYSTEM_DIAGNOSTIC_ID]
if len(id) == 0 {
id = model.NewId()
systemId := &model.System{Name: model.SYSTEM_DIAGNOSTIC_ID, Value: id}
- <-app.Global().Srv.Store.System().Save(systemId)
+ <-a.Srv.Store.System().Save(systemId)
}
utils.CfgDiagnosticId = id
}
}
-func doSecurity() {
- app.Global().DoSecurityUpdateCheck()
+func doSecurity(a *app.App) {
+ a.DoSecurityUpdateCheck()
}
-func doDiagnostics() {
+func doDiagnostics(a *app.App) {
if *utils.Cfg.LogSettings.EnableDiagnostics {
- app.Global().SendDailyDiagnostics()
+ a.SendDailyDiagnostics()
}
}
-func doTokenCleanup() {
- app.Global().Srv.Store.Token().Cleanup()
+func doTokenCleanup(a *app.App) {
+ a.Srv.Store.Token().Cleanup()
}
-func doCommandWebhookCleanup() {
- app.Global().Srv.Store.CommandWebhook().Cleanup()
+func doCommandWebhookCleanup(a *app.App) {
+ a.Srv.Store.CommandWebhook().Cleanup()
}
diff --git a/cmd/platform/team.go b/cmd/platform/team.go
index d9e16cc2c..1662bd095 100644
--- a/cmd/platform/team.go
+++ b/cmd/platform/team.go
@@ -67,7 +67,8 @@ func init() {
}
func createTeamCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -94,7 +95,7 @@ func createTeamCmdF(cmd *cobra.Command, args []string) error {
Type: teamType,
}
- if _, err := app.Global().CreateTeam(team); err != nil {
+ if _, err := a.CreateTeam(team); err != nil {
return errors.New("Team creation failed: " + err.Error())
}
@@ -102,7 +103,8 @@ func createTeamCmdF(cmd *cobra.Command, args []string) error {
}
func removeUsersCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -117,24 +119,25 @@ func removeUsersCmdF(cmd *cobra.Command, args []string) error {
users := getUsersFromUserArgs(args[1:])
for i, user := range users {
- removeUserFromTeam(team, user, args[i+1])
+ removeUserFromTeam(a, team, user, args[i+1])
}
return nil
}
-func removeUserFromTeam(team *model.Team, user *model.User, userArg string) {
+func removeUserFromTeam(a *app.App, team *model.Team, user *model.User, userArg string) {
if user == nil {
CommandPrintErrorln("Can't find user '" + userArg + "'")
return
}
- if err := app.Global().LeaveTeam(team, user); err != nil {
+ if err := a.LeaveTeam(team, user); err != nil {
CommandPrintErrorln("Unable to remove '" + userArg + "' from " + team.Name + ". Error: " + err.Error())
}
}
func addUsersCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -149,24 +152,25 @@ func addUsersCmdF(cmd *cobra.Command, args []string) error {
users := getUsersFromUserArgs(args[1:])
for i, user := range users {
- addUserToTeam(team, user, args[i+1])
+ addUserToTeam(a, team, user, args[i+1])
}
return nil
}
-func addUserToTeam(team *model.Team, user *model.User, userArg string) {
+func addUserToTeam(a *app.App, team *model.Team, user *model.User, userArg string) {
if user == nil {
CommandPrintErrorln("Can't find user '" + userArg + "'")
return
}
- if err := app.Global().JoinUserToTeam(team, user, ""); err != nil {
+ if err := a.JoinUserToTeam(team, user, ""); err != nil {
CommandPrintErrorln("Unable to add '" + userArg + "' to " + team.Name)
}
}
func deleteTeamsCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -196,7 +200,7 @@ func deleteTeamsCmdF(cmd *cobra.Command, args []string) error {
CommandPrintErrorln("Unable to find team '" + args[i] + "'")
continue
}
- if err := deleteTeam(team); err != nil {
+ if err := deleteTeam(a, team); err != nil {
CommandPrintErrorln("Unable to delete team '" + team.Name + "' error: " + err.Error())
} else {
CommandPrettyPrintln("Deleted team '" + team.Name + "'")
@@ -206,6 +210,6 @@ func deleteTeamsCmdF(cmd *cobra.Command, args []string) error {
return nil
}
-func deleteTeam(team *model.Team) *model.AppError {
- return app.Global().PermanentDeleteTeam(team)
+func deleteTeam(a *app.App, team *model.Team) *model.AppError {
+ return a.PermanentDeleteTeam(team)
}
diff --git a/cmd/platform/test.go b/cmd/platform/test.go
index e80880132..a7b89f40f 100644
--- a/cmd/platform/test.go
+++ b/cmd/platform/test.go
@@ -14,7 +14,6 @@ import (
"github.com/mattermost/mattermost-server/api"
"github.com/mattermost/mattermost-server/api4"
- "github.com/mattermost/mattermost-server/app"
"github.com/mattermost/mattermost-server/utils"
"github.com/mattermost/mattermost-server/wsapi"
"github.com/spf13/cobra"
@@ -46,43 +45,45 @@ func init() {
}
func webClientTestsCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
utils.InitTranslations(utils.Cfg.LocalizationSettings)
- api.InitRouter()
+ a.Srv.Router = api.NewRouter()
wsapi.InitRouter()
- api4.InitApi(false)
- api.InitApi()
+ api4.InitApi(a.Srv.Router, false)
+ api.InitApi(a.Srv.Router)
wsapi.InitApi()
setupClientTests()
- app.Global().StartServer()
+ a.StartServer()
runWebClientTests()
- app.Global().StopServer()
+ a.StopServer()
return nil
}
func serverForWebClientTestsCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
utils.InitTranslations(utils.Cfg.LocalizationSettings)
- api.InitRouter()
+ a.Srv.Router = api.NewRouter()
wsapi.InitRouter()
- api4.InitApi(false)
- api.InitApi()
+ api4.InitApi(a.Srv.Router, false)
+ api.InitApi(a.Srv.Router)
wsapi.InitApi()
setupClientTests()
- app.Global().StartServer()
+ a.StartServer()
c := make(chan os.Signal)
signal.Notify(c, os.Interrupt, syscall.SIGINT, syscall.SIGTERM)
<-c
- app.Global().StopServer()
+ a.StopServer()
return nil
}
diff --git a/cmd/platform/user.go b/cmd/platform/user.go
index 2275ea70c..a5a16049e 100644
--- a/cmd/platform/user.go
+++ b/cmd/platform/user.go
@@ -158,7 +158,8 @@ func init() {
}
func userActivateCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -166,14 +167,14 @@ func userActivateCmdF(cmd *cobra.Command, args []string) error {
return errors.New("Expected at least one argument. See help text for details.")
}
- changeUsersActiveStatus(args, true)
+ changeUsersActiveStatus(a, args, true)
return nil
}
-func changeUsersActiveStatus(userArgs []string, active bool) {
+func changeUsersActiveStatus(a *app.App, userArgs []string, active bool) {
users := getUsersFromUserArgs(userArgs)
for i, user := range users {
- err := changeUserActiveStatus(user, userArgs[i], active)
+ err := changeUserActiveStatus(a, user, userArgs[i], active)
if err != nil {
CommandPrintErrorln(err.Error())
@@ -181,14 +182,14 @@ func changeUsersActiveStatus(userArgs []string, active bool) {
}
}
-func changeUserActiveStatus(user *model.User, userArg string, activate bool) error {
+func changeUserActiveStatus(a *app.App, user *model.User, userArg string, activate bool) error {
if user == nil {
return fmt.Errorf("Can't find user '%v'", userArg)
}
if user.IsLDAPUser() {
return errors.New("You can not modify the activation status of AD/LDAP accounts. Please modify through the AD/LDAP server.")
}
- if _, err := app.Global().UpdateActive(user, activate); err != nil {
+ if _, err := a.UpdateActive(user, activate); err != nil {
return fmt.Errorf("Unable to change activation status of user: %v", userArg)
}
@@ -196,7 +197,8 @@ func changeUserActiveStatus(user *model.User, userArg string, activate bool) err
}
func userDeactivateCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -204,12 +206,13 @@ func userDeactivateCmdF(cmd *cobra.Command, args []string) error {
return errors.New("Expected at least one argument. See help text for details.")
}
- changeUsersActiveStatus(args, false)
+ changeUsersActiveStatus(a, args, false)
return nil
}
func userCreateCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -241,13 +244,10 @@ func userCreateCmdF(cmd *cobra.Command, args []string) error {
Locale: locale,
}
- ruser, err := app.Global().CreateUser(user)
- if err != nil {
+ if ruser, err := a.CreateUser(user); err != nil {
return errors.New("Unable to create user. Error: " + err.Error())
- }
-
- if systemAdmin {
- app.Global().UpdateUserRoles(ruser.Id, "system_user system_admin")
+ } else if systemAdmin {
+ a.UpdateUserRoles(ruser.Id, "system_user system_admin")
}
CommandPrettyPrintln("Created User")
@@ -256,7 +256,8 @@ func userCreateCmdF(cmd *cobra.Command, args []string) error {
}
func userInviteCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ _, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -296,7 +297,8 @@ func inviteUser(email string, team *model.Team, teamArg string) error {
}
func resetUserPasswordCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -310,7 +312,7 @@ func resetUserPasswordCmdF(cmd *cobra.Command, args []string) error {
}
password := args[1]
- if result := <-app.Global().Srv.Store.User().UpdatePassword(user.Id, model.HashPassword(password)); result.Err != nil {
+ if result := <-a.Srv.Store.User().UpdatePassword(user.Id, model.HashPassword(password)); result.Err != nil {
return result.Err
}
@@ -318,7 +320,8 @@ func resetUserPasswordCmdF(cmd *cobra.Command, args []string) error {
}
func resetUserMfaCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ _, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -342,7 +345,8 @@ func resetUserMfaCmdF(cmd *cobra.Command, args []string) error {
}
func deleteUserCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -373,7 +377,7 @@ func deleteUserCmdF(cmd *cobra.Command, args []string) error {
return errors.New("Unable to find user '" + args[i] + "'")
}
- if err := app.Global().PermanentDeleteUser(user); err != nil {
+ if err := a.PermanentDeleteUser(user); err != nil {
return err
}
}
@@ -382,7 +386,8 @@ func deleteUserCmdF(cmd *cobra.Command, args []string) error {
}
func deleteAllUsersCommandF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -406,7 +411,7 @@ func deleteAllUsersCommandF(cmd *cobra.Command, args []string) error {
}
}
- if err := app.Global().PermanentDeleteAllUsers(); err != nil {
+ if err := a.PermanentDeleteAllUsers(); err != nil {
return err
}
@@ -415,7 +420,8 @@ func deleteAllUsersCommandF(cmd *cobra.Command, args []string) error {
}
func migrateAuthCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ _, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -458,7 +464,8 @@ func migrateAuthCmdF(cmd *cobra.Command, args []string) error {
}
func verifyUserCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
@@ -473,7 +480,7 @@ func verifyUserCmdF(cmd *cobra.Command, args []string) error {
CommandPrintErrorln("Unable to find user '" + args[i] + "'")
continue
}
- if cresult := <-app.Global().Srv.Store.User().VerifyEmail(user.Id); cresult.Err != nil {
+ if cresult := <-a.Srv.Store.User().VerifyEmail(user.Id); cresult.Err != nil {
CommandPrintErrorln("Unable to verify '" + args[i] + "' email. Error: " + cresult.Err.Error())
}
}
@@ -482,7 +489,8 @@ func verifyUserCmdF(cmd *cobra.Command, args []string) error {
}
func searchUserCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ _, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
diff --git a/cmd/platform/version.go b/cmd/platform/version.go
index d9df65965..c34254c45 100644
--- a/cmd/platform/version.go
+++ b/cmd/platform/version.go
@@ -16,20 +16,21 @@ var versionCmd = &cobra.Command{
}
func versionCmdF(cmd *cobra.Command, args []string) error {
- if err := initDBCommandContextCobra(cmd); err != nil {
+ a, err := initDBCommandContextCobra(cmd)
+ if err != nil {
return err
}
- printVersion()
+ printVersion(a)
return nil
}
-func printVersion() {
+func printVersion(a *app.App) {
CommandPrintln("Version: " + model.CurrentVersion)
CommandPrintln("Build Number: " + model.BuildNumber)
CommandPrintln("Build Date: " + model.BuildDate)
CommandPrintln("Build Hash: " + model.BuildHash)
CommandPrintln("Build Enterprise Ready: " + model.BuildEnterpriseReady)
- CommandPrintln("DB Version: " + app.Global().Srv.Store.(*store.LayeredStore).DatabaseLayer.GetCurrentSchemaVersion())
+ CommandPrintln("DB Version: " + a.Srv.Store.(*store.LayeredStore).DatabaseLayer.GetCurrentSchemaVersion())
}