From b066b6df138e88e75cb40f1ec3e58fbd13e61909 Mon Sep 17 00:00:00 2001 From: Chris Date: Tue, 12 Sep 2017 09:19:52 -0500 Subject: Remove global app references (#7433) * remove global app references * test fix * fix api4 test compilation --- cmd/platform/channel.go | 69 +++++++++++++++++++++++------------------ cmd/platform/import.go | 11 ++++--- cmd/platform/init.go | 22 ++++++++------ cmd/platform/ldap.go | 2 +- cmd/platform/license.go | 7 ++--- cmd/platform/mattermost.go | 6 ++-- cmd/platform/roles.go | 11 ++++--- cmd/platform/server.go | 76 +++++++++++++++++++++++++--------------------- cmd/platform/team.go | 32 ++++++++++--------- cmd/platform/test.go | 27 ++++++++-------- cmd/platform/user.go | 62 +++++++++++++++++++++---------------- cmd/platform/version.go | 9 +++--- 12 files changed, 184 insertions(+), 150 deletions(-) (limited to 'cmd') 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()) } -- cgit v1.2.3-1-g7c22