package cmd import ( "git.db.org.ai/dborg/internal/formatter" "git.db.org.ai/dborg/internal/models" "github.com/spf13/cobra" ) var bssidCmd = &cobra.Command{ Use: "bssid [bssid]", Short: "Lookup WiFi access point location by BSSID", Long: `Lookup geographic location of a WiFi access point by its BSSID (MAC address) using Apple's location services`, Args: cobra.ExactArgs(1), RunE: runBSSIDLookup, } func init() { rootCmd.AddCommand(bssidCmd) bssidCmd.Flags().BoolP("all", "a", false, "Show all related results instead of exact match only") bssidCmd.Flags().BoolP("google", "g", false, "Include Google Maps URL for the location") bssidCmd.Flags().BoolP("osm", "o", false, "Include OpenStreetMap URL for the location") } func runBSSIDLookup(cmd *cobra.Command, args []string) error { c, err := newUnauthenticatedClient() if err != nil { return err } params := &models.BSSIDParams{ BSSID: args[0], } params.All, _ = cmd.Flags().GetBool("all") params.Google, _ = cmd.Flags().GetBool("google") params.OSM, _ = cmd.Flags().GetBool("osm") response, err := c.LookupBSSID(params) if err != nil { return err } return formatter.FormatBSSIDResults(*response, IsJSONOutput()) }