Commit 8a801f0

Karn Wong <[email protected]>
2025-07-28 04:04:17
refactor(generatePassword): move to internal
1 parent 611e8a2
Changed files (2)
cmd
internal
generate
cmd/generate/generate_password.go
@@ -1,33 +1,16 @@
 package generate
 
 import (
-	"fmt"
-
-	"github.com/kahnwong/swissknife/utils"
-	"github.com/rs/zerolog/log"
-	"github.com/sethvargo/go-password/password"
+	"github.com/kahnwong/swissknife/internal/generate"
 	"github.com/spf13/cobra"
 )
 
-func generatePassword() string {
-	// Generate a password that is 64 characters long with 10 digits, 10 symbols,
-	// allowing upper and lower case letters, disallowing repeat characters.
-	res, err := password.Generate(32, 10, 0, false, false)
-	if err != nil {
-		log.Fatal().Msg("Failed to generate password")
-	}
-
-	return res
-}
-
 var generatePasswordCmd = &cobra.Command{
 	Use:   "password",
 	Short: "Generate password",
 	Long:  `Generate password. Result is copied to clipboard.`,
 	Run: func(cmd *cobra.Command, args []string) {
-		password := generatePassword()
-		utils.WriteToClipboard(password)
-		fmt.Printf("%s\n", password)
+		generate.Password()
 	},
 }
 
internal/generate/password.go
@@ -0,0 +1,26 @@
+package generate
+
+import (
+	"fmt"
+
+	"github.com/kahnwong/swissknife/internal/utils"
+	"github.com/rs/zerolog/log"
+	"github.com/sethvargo/go-password/password"
+)
+
+func generatePassword() string {
+	// Generate a password that is 64 characters long with 10 digits, 10 symbols,
+	// allowing upper and lower case letters, disallowing repeat characters.
+	res, err := password.Generate(32, 10, 0, false, false)
+	if err != nil {
+		log.Fatal().Msg("Failed to generate password")
+	}
+
+	return res
+}
+
+func Password() {
+	psswd := generatePassword()
+	utils.WriteToClipboard(psswd)
+	fmt.Printf("%s\n", psswd)
+}