diff options
author | Christopher Speller <crspeller@gmail.com> | 2016-12-06 10:49:34 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2016-12-06 10:49:34 -0500 |
commit | 026553e4f87bfc647a5c03129752e30fc523fa07 (patch) | |
tree | d5403c760151c0fa26fc6d020f7f4326ea9d6f8a /cmd/platform/license.go | |
parent | dcf11a14d8363c79ab62aefca46834d6daa615ab (diff) | |
download | chat-026553e4f87bfc647a5c03129752e30fc523fa07.tar.gz chat-026553e4f87bfc647a5c03129752e30fc523fa07.tar.bz2 chat-026553e4f87bfc647a5c03129752e30fc523fa07.zip |
Improving command line interface (#4689)
Diffstat (limited to 'cmd/platform/license.go')
-rw-r--r-- | cmd/platform/license.go | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/cmd/platform/license.go b/cmd/platform/license.go new file mode 100644 index 000000000..776f62856 --- /dev/null +++ b/cmd/platform/license.go @@ -0,0 +1,50 @@ +// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. +// See License.txt for license information. +package main + +import ( + "errors" + "io/ioutil" + + "github.com/mattermost/platform/api" + "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) +} + +func uploadLicenseCmdF(cmd *cobra.Command, args []string) error { + initDBCommandContextCobra(cmd) + + if len(args) != 1 { + return errors.New("Enter one license file to upload") + } + + var fileBytes []byte + var err error + if fileBytes, err = ioutil.ReadFile(args[0]); err != nil { + return err + } + + if _, err := api.SaveLicense(fileBytes); err != nil { + return err + } + + CommandPrettyPrintln("Uploaded license file") + + return nil +} |