diff options
author | Christopher Speller <crspeller@gmail.com> | 2018-05-17 12:40:40 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-05-17 12:40:40 -0700 |
commit | 11cbb597471127c1b29e78e6cad0a1a4d93ea24c (patch) | |
tree | 0eceb950872c7234348f0b41d4492073908840d0 /cmd/commands/message_export.go | |
parent | 1f6c271b3bedd6656ae7155714423b1b39a669c1 (diff) | |
download | chat-11cbb597471127c1b29e78e6cad0a1a4d93ea24c.tar.gz chat-11cbb597471127c1b29e78e6cad0a1a4d93ea24c.tar.bz2 chat-11cbb597471127c1b29e78e6cad0a1a4d93ea24c.zip |
Renaming platform binary to mattermost. (#8801)
Diffstat (limited to 'cmd/commands/message_export.go')
-rw-r--r-- | cmd/commands/message_export.go | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/cmd/commands/message_export.go b/cmd/commands/message_export.go deleted file mode 100644 index 30d9cb122..000000000 --- a/cmd/commands/message_export.go +++ /dev/null @@ -1,82 +0,0 @@ -// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. -// See License.txt for license information. - -package commands - -import ( - "errors" - - "context" - - "time" - - "github.com/mattermost/mattermost-server/cmd" - "github.com/mattermost/mattermost-server/model" - "github.com/spf13/cobra" -) - -var MessageExportCmd = &cobra.Command{ - Use: "export", - Short: "Export data from Mattermost", - Long: "Export data from Mattermost in a format suitable for import into a third-party application", - Example: "export --format=actiance --exportFrom=12345", - RunE: messageExportCmdF, -} - -func init() { - MessageExportCmd.Flags().String("format", "actiance", "The format to export data in") - MessageExportCmd.Flags().Int64("exportFrom", -1, "The timestamp of the earliest post to export, expressed in seconds since the unix epoch.") - MessageExportCmd.Flags().Int("timeoutSeconds", -1, "The maximum number of seconds to wait for the job to complete before timing out.") - cmd.RootCmd.AddCommand(MessageExportCmd) -} - -func messageExportCmdF(command *cobra.Command, args []string) error { - a, err := cmd.InitDBCommandContextCobra(command) - if err != nil { - return err - } - defer a.Shutdown() - - if !*a.Config().MessageExportSettings.EnableExport { - return errors.New("ERROR: The message export feature is not enabled") - } - - // for now, format is hard-coded to actiance. In time, we'll have to support other formats and inject them into job data - if format, err := command.Flags().GetString("format"); err != nil { - return errors.New("format flag error") - } else if format != "actiance" { - return errors.New("unsupported export format") - } - - startTime, err := command.Flags().GetInt64("exportFrom") - if err != nil { - return errors.New("exportFrom flag error") - } else if startTime < 0 { - return errors.New("exportFrom must be a positive integer") - } - - timeoutSeconds, err := command.Flags().GetInt("timeoutSeconds") - if err != nil { - return errors.New("timeoutSeconds error") - } else if timeoutSeconds < 0 { - return errors.New("timeoutSeconds must be a positive integer") - } - - if messageExportI := a.MessageExport; messageExportI != nil { - ctx := context.Background() - if timeoutSeconds > 0 { - var cancel context.CancelFunc - ctx, cancel = context.WithTimeout(ctx, time.Second*time.Duration(timeoutSeconds)) - defer cancel() - } - - job, err := messageExportI.StartSynchronizeJob(ctx, startTime) - if err != nil || job.Status == model.JOB_STATUS_ERROR || job.Status == model.JOB_STATUS_CANCELED { - cmd.CommandPrintErrorln("ERROR: Message export job failed. Please check the server logs") - } else { - cmd.CommandPrettyPrintln("SUCCESS: Message export job complete") - } - } - - return nil -} |