mirror of
https://github.com/Slug-Boi/cocommit.git
synced 2026-05-13 12:45:47 +00:00
refactor(cmd): reformat the command to match other commands
This commit is contained in:
+53
-39
@@ -4,56 +4,70 @@ Copyright © 2025 NAME HERE <EMAIL ADDRESS>
|
||||
package cmd
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/Slug-Boi/cocommit/src/cmd/tui"
|
||||
"github.com/Slug-Boi/cocommit/src/cmd/utils"
|
||||
//"github.com/charmbracelet/lipgloss"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
|
||||
// ghProfileCmd represents the ghProfile command
|
||||
var ghCmd = &cobra.Command{
|
||||
Use: "gh <github username>",
|
||||
Short: "This command will create add a github profile to your author list for use in commits",
|
||||
Long: `This command will create add a github profile to your author list.
|
||||
You just have to run the command with a username of the github profile you want to add.
|
||||
The email will be added manually by following the TUI or adding the email flag to the command.`,
|
||||
Args: cobra.ExactArgs(1),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
email, _ := cmd.Flags().GetString("email")
|
||||
shortname, _ := cmd.Flags().GetString("shortname")
|
||||
longname, _ := cmd.Flags().GetString("longname")
|
||||
username, _ := cmd.Flags().GetString("username")
|
||||
groups, _ := cmd.Flags().GetStringSlice("groups")
|
||||
exclude, _ := cmd.Flags().GetBool("exclude")
|
||||
func GHCmd () *cobra.Command {
|
||||
return &cobra.Command{
|
||||
Use: "gh <github username>",
|
||||
Short: "This command will create add a github profile to your author list for use in commits",
|
||||
Long: `This command will create add a github profile to your author list.
|
||||
You just have to run the command with a username of the github profile you want to add.
|
||||
The email will be added manually by following the TUI or adding the email flag to the command.`,
|
||||
Args: cobra.ExactArgs(1),
|
||||
Run: func(cmd *cobra.Command, args []string) {
|
||||
email, _ := cmd.Flags().GetString("email")
|
||||
shortname, _ := cmd.Flags().GetString("shortname")
|
||||
longname, _ := cmd.Flags().GetString("longname")
|
||||
username, _ := cmd.Flags().GetString("username")
|
||||
groups, _ := cmd.Flags().GetStringSlice("groups")
|
||||
exclude, _ := cmd.Flags().GetBool("exclude")
|
||||
|
||||
user := utils.FetchGithubProfile(args[0])
|
||||
user := utils.FetchGithubProfile(args[0])
|
||||
|
||||
// Update values if flags are set
|
||||
if shortname != "" {
|
||||
user.Shortname = shortname
|
||||
}
|
||||
if longname != "" {
|
||||
user.Longname = longname
|
||||
}
|
||||
if username != "" {
|
||||
user.Username = username
|
||||
}
|
||||
if len(groups) > 0 {
|
||||
user.Groups = groups
|
||||
}
|
||||
if exclude {
|
||||
user.Ex = true
|
||||
}
|
||||
|
||||
if email != "" {
|
||||
user.Email = email
|
||||
} else {
|
||||
// run the TUI to get the email
|
||||
tui.EntryGHAuthorModel(user)
|
||||
}
|
||||
},
|
||||
// Update values if flags are set
|
||||
if shortname != "" {
|
||||
user.Shortname = shortname
|
||||
}
|
||||
if longname != "" {
|
||||
user.Longname = longname
|
||||
}
|
||||
if username != "" {
|
||||
user.Username = username
|
||||
}
|
||||
if len(groups) > 0 {
|
||||
user.Groups = groups
|
||||
}
|
||||
if exclude {
|
||||
user.Ex = true
|
||||
}
|
||||
|
||||
if email != "" {
|
||||
user.Email = email
|
||||
if utils.CheckUserFields(user) {
|
||||
utils.CreateAuthor(user)
|
||||
// print sucess message
|
||||
//fmt.Print(lipgloss.NewStyle().Foreground(lipgloss.Color("170")).Render("Author added successfully"))
|
||||
fmt.Print("Author added successfully\n")
|
||||
} else {
|
||||
panic("Invalid author data")
|
||||
}
|
||||
} else {
|
||||
// run the TUI to get the email
|
||||
tui.EntryGHAuthorModel(user)
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func init() {
|
||||
ghCmd := GHCmd()
|
||||
rootCmd.AddCommand(ghCmd)
|
||||
ghCmd.Flags().StringP("email", "@", "", "Email to be used for the author")
|
||||
ghCmd.Flags().StringP("longname", "n", "", "Name to be used for the author")
|
||||
|
||||
Reference in New Issue
Block a user