mirror of
https://github.com/silicoflare/envy.git
synced 2026-05-26 11:49:52 +05:30
feat: test duplicate project and env name
This commit is contained in:
@@ -2,6 +2,7 @@ package cmd
|
||||
|
||||
import (
|
||||
"envy/cmd/utils"
|
||||
"errors"
|
||||
"fmt"
|
||||
"os"
|
||||
"path"
|
||||
@@ -42,12 +43,23 @@ var createCmd = &cobra.Command{
|
||||
|
||||
environment := ""
|
||||
|
||||
envs, err := utils.GetEnvironments(dbProject.ID)
|
||||
utils.StopIfErr(err)
|
||||
|
||||
form := huh.NewForm(
|
||||
huh.NewGroup(
|
||||
huh.NewInput().
|
||||
Title("Environment name").
|
||||
Prompt("? ").
|
||||
Validate(utils.NoSpace).
|
||||
Validate(func(input string) error {
|
||||
for _, en := range envs {
|
||||
if en.Name == input {
|
||||
return errors.New("this name is used")
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}).
|
||||
Value(&environment),
|
||||
),
|
||||
)
|
||||
@@ -86,6 +98,9 @@ var createCmd = &cobra.Command{
|
||||
return
|
||||
}
|
||||
|
||||
dbProjects, err := utils.GetProjects()
|
||||
utils.StopIfErr(err)
|
||||
|
||||
project := ""
|
||||
environment := ""
|
||||
|
||||
@@ -95,6 +110,14 @@ var createCmd = &cobra.Command{
|
||||
Title("Project name").
|
||||
Prompt("? ").
|
||||
Validate(utils.NoSpace).
|
||||
Validate(func(input string) error {
|
||||
for _, pr := range dbProjects {
|
||||
if pr.Name == input {
|
||||
return errors.New("this name is used")
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}).
|
||||
Value(&project),
|
||||
|
||||
huh.NewInput().
|
||||
@@ -105,7 +128,7 @@ var createCmd = &cobra.Command{
|
||||
),
|
||||
)
|
||||
|
||||
err := form.Run()
|
||||
err = form.Run()
|
||||
if err != nil {
|
||||
utils.ErrPrint("Some error occured:", err.Error())
|
||||
}
|
||||
|
||||
@@ -42,11 +42,11 @@ func MigrateDb() {
|
||||
}
|
||||
}
|
||||
|
||||
func GetProjects(name string) ([]Project, error) {
|
||||
func GetProjects() ([]Project, error) {
|
||||
InitDb()
|
||||
|
||||
var dbProjects []Project
|
||||
result := DB.Where("name = ?", name).Find(&dbProjects)
|
||||
result := DB.Find(&dbProjects)
|
||||
|
||||
if result.Error != nil {
|
||||
return nil, errors.New("Some error occured: " + result.Error.Error())
|
||||
|
||||
Reference in New Issue
Block a user