diff options
author | Jesús Espino <jespinog@gmail.com> | 2018-03-07 20:04:18 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-07 20:04:18 +0000 |
commit | b2dd00dd5b83fc7e8b311a55f5a2536e4f3d45a5 (patch) | |
tree | 00d2bbb524e27727dc111994082f5293e6d12b11 /cmd/commands/license.go | |
parent | 03b6d1f652407fa9c3ec7e740e120a1c3e920de0 (diff) | |
download | chat-b2dd00dd5b83fc7e8b311a55f5a2536e4f3d45a5.tar.gz chat-b2dd00dd5b83fc7e8b311a55f5a2536e4f3d45a5.tar.bz2 chat-b2dd00dd5b83fc7e8b311a55f5a2536e4f3d45a5.zip |
Adding enterprise commands support (#8327)
Diffstat (limited to 'cmd/commands/license.go')
-rw-r--r-- | cmd/commands/license.go | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/cmd/commands/license.go b/cmd/commands/license.go new file mode 100644 index 000000000..dce257a5d --- /dev/null +++ b/cmd/commands/license.go @@ -0,0 +1,54 @@ +// Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. + +package commands + +import ( + "errors" + "io/ioutil" + + "github.com/mattermost/mattermost-server/cmd" + "github.com/spf13/cobra" +) + +var LicenseCmd = &cobra.Command{ + Use: "license", + Short: "Licensing commands", +} + +var UploadLicenseCmd = &cobra.Command{ + Use: "upload [license]", + Short: "Upload a license.", + Long: "Upload a license. Replaces current license.", + Example: " license upload /path/to/license/mylicensefile.mattermost-license", + RunE: uploadLicenseCmdF, +} + +func init() { + LicenseCmd.AddCommand(UploadLicenseCmd) + cmd.RootCmd.AddCommand(LicenseCmd) +} + +func uploadLicenseCmdF(command *cobra.Command, args []string) error { + a, err := cmd.InitDBCommandContextCobra(command) + if err != nil { + return err + } + + if len(args) != 1 { + return errors.New("Enter one license file to upload") + } + + var fileBytes []byte + if fileBytes, err = ioutil.ReadFile(args[0]); err != nil { + return err + } + + if _, err := a.SaveLicense(fileBytes); err != nil { + return err + } + + cmd.CommandPrettyPrintln("Uploaded license file") + + return nil +} |