| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | package access_tokenimport (	"time"	"github.com/gravitl/netmaker/cli/functions"	"github.com/gravitl/netmaker/schema"	"github.com/spf13/cobra")var accessTokenCreateCmd = &cobra.Command{	Use:   "create [token-name]",	Short: "Create an access token",	Long:  `Create an access token for a user`,	Args:  cobra.ExactArgs(1),	Run: func(cmd *cobra.Command, args []string) {		userName, _ := cmd.Flags().GetString("user")		expiresAt, _ := cmd.Flags().GetString("expires")		accessToken := &schema.UserAccessToken{}		accessToken.Name = args[0]		accessToken.UserName = userName		expTime := time.Now().Add(time.Hour * 24 * 365) // default to 1 year		if expiresAt != "" {			var err error			expTime, err = time.Parse(time.RFC3339, expiresAt)			if err != nil {				cmd.PrintErrf("Invalid expiration time format. Please use RFC3339 format (e.g. 2024-01-01T00:00:00Z). Using default 1 year.\n")			}		}		accessToken.ExpiresAt = expTime		functions.PrettyPrint(functions.CreateAccessToken(accessToken))	},}func init() {	accessTokenCreateCmd.Flags().String("user", "", "Username to create token for")	accessTokenCreateCmd.Flags().String("expires", "", "Expiration time for the token in RFC3339 format (e.g. 2024-01-01T00:00:00Z). Defaults to 1 year from now.")	accessTokenCreateCmd.MarkFlagRequired("user")	rootCmd.AddCommand(accessTokenCreateCmd)}
 |