summaryrefslogtreecommitdiffstats
path: root/cmd/username.go
diff options
context:
space:
mode:
authorsinner <[email protected]>2026-04-15 15:16:02 -0400
committersinner <[email protected]>2026-04-15 15:16:02 -0400
commita5f907854f29e1c267ad30d1dfe85c2c47f5ac48 (patch)
treebc8685c3b22e6d5d47702ba0607c694f938ba7fd /cmd/username.go
parent8a1cf20dd5014ebe15ced77344902b79dcfa2e66 (diff)
downloaddborg-1.1.1.tar.gz
dborg-1.1.1.zip
feat: add stdin support and retry logic for all search commandsHEADv1.1.1v0.1.14master
Diffstat (limited to 'cmd/username.go')
-rw-r--r--cmd/username.go45
1 files changed, 21 insertions, 24 deletions
diff --git a/cmd/username.go b/cmd/username.go
index ed51d2e..60da503 100644
--- a/cmd/username.go
+++ b/cmd/username.go
@@ -14,7 +14,7 @@ var usernameCmd = &cobra.Command{
Aliases: []string{"un"},
Short: "Check username availability across websites",
Long: `Check username availability across hundreds of websites using WhatsMyName dataset`,
- Args: cobra.ExactArgs(1),
+ Args: argsOrStdin(1),
RunE: runUsernameCheck,
}
@@ -31,30 +31,27 @@ func runUsernameCheck(cmd *cobra.Command, args []string) error {
return err
}
- params := &models.USRSXParams{
- Username: args[0],
- }
- params.Sites, _ = cmd.Flags().GetStringSlice("sites")
- params.Fuzzy, _ = cmd.Flags().GetBool("fuzzy")
- params.MaxTasks, _ = cmd.Flags().GetInt("max_tasks")
-
- err = c.CheckUsernameStream(params, func(result json.RawMessage) error {
- if IsJSONOutput() {
- fmt.Println(string(result))
- return nil
- }
+ sites, _ := cmd.Flags().GetStringSlice("sites")
+ fuzzy, _ := cmd.Flags().GetBool("fuzzy")
+ maxTasks, _ := cmd.Flags().GetInt("max_tasks")
- var siteResult models.SiteResult
- if err := json.Unmarshal(result, &siteResult); err != nil {
- return err
+ return forEachQuery(args, func(username string) error {
+ params := &models.USRSXParams{
+ Username: username,
+ Sites: sites,
+ Fuzzy: fuzzy,
+ MaxTasks: maxTasks,
}
-
- return formatter.FormatUsernameSiteResult(&siteResult)
+ return c.CheckUsernameStream(params, func(result json.RawMessage) error {
+ if IsJSONOutput() {
+ fmt.Println(string(result))
+ return nil
+ }
+ var siteResult models.SiteResult
+ if err := json.Unmarshal(result, &siteResult); err != nil {
+ return err
+ }
+ return formatter.FormatUsernameSiteResult(&siteResult)
+ })
})
-
- if err != nil {
- return err
- }
-
- return nil
}