cmd/update.go (41 lines of code) (raw):

// Copyright (c) 2022 EPAM Systems, Inc. // // This Source Code Form is subject to the terms of the Mozilla Public // License, v. 2.0. If a copy of the MPL was not distributed with this // file, You can obtain one at http://mozilla.org/MPL/2.0/. package cmd import ( "github.com/epam/hub-dexctl/dex" "github.com/spf13/cobra" ) var updateCmd = &cobra.Command{ Use: "update <password | oidc>", Short: "Update dex resource", } var updatePasswordCmd = &cobra.Command{ Use: "password", Short: "update static password in dex", RunE: func(cmd *cobra.Command, args []string) error { return dex.UpdatePassword(email, newPassword, newEmail) }, } var updateOidcCmd = &cobra.Command{ Use: "oidc", Short: "update oauth2 static client in dex", RunE: func(cmd *cobra.Command, args []string) error { return dex.UpdateOidc(clientId, redirectUris, trustedPeers, name, logoUrl) }, } func init() { updatePasswordCmd.Flags().StringVarP(&email, "email", "e", "", "Email of username which to update") updatePasswordCmd.MarkFlagRequired("email") updatePasswordCmd.Flags().StringVarP(&newEmail, "new-email", "n", "", "New username email") updatePasswordCmd.MarkFlagRequired("new-email") updatePasswordCmd.Flags().StringVarP(&newPassword, "new-password", "p", "", "New username password") updatePasswordCmd.MarkFlagRequired("new-password") updatePasswordCmd.MarkFlagsRequiredTogether("email", "new-email", "new-password") updateCmd.AddCommand(updatePasswordCmd) updateOidcCmd.Flags().StringVarP(&clientId, "client-id", "c", "", "Client ID used to identify the client") updateOidcCmd.MarkFlagRequired("client-id") updateOidcCmd.Flags().StringArrayVarP(&redirectUris, "redirect-uris", "r", nil, "A registered set of redirect URIs") updateOidcCmd.Flags().StringArrayVarP(&trustedPeers, "trusted-peers", "t", nil, "TrustedPeers are a list of peers which can issue tokens on this client's behalf using the dynamic scope") updateOidcCmd.Flags().StringVarP(&name, "name", "n", "", "Name used when displaying this client to the end user") updateOidcCmd.Flags().StringVarP(&logoUrl, "logo-url", "l", "", "LogoURL used when displaying this client to the end user") updateCmd.AddCommand(updateOidcCmd) rootCmd.AddCommand(updateCmd) }