move folders to secrets

This commit is contained in:
Maidul Islam
2023-11-28 19:27:30 -05:00
parent 46c76e3984
commit ed94d218fd
5 changed files with 54 additions and 42 deletions

View File

@@ -273,11 +273,11 @@ func CallGetFoldersV1(httpClient *resty.Client, request GetFoldersV1Request) (Ge
response, err := httpRequest.Get(fmt.Sprintf("%v/v1/folders", config.INFISICAL_URL))
if err != nil {
return GetFoldersV1Response{}, fmt.Errorf("CallGetFoldersV1: Unable to complete api request [err=%s]", err)
return GetFoldersV1Response{}, fmt.Errorf("CallGetFoldersV1: Unable to complete api request [err=%v]", err)
}
if response.IsError() {
return GetFoldersV1Response{}, fmt.Errorf("CallGetFoldersV1: Unsuccessful response. Please make sure your secret path, workspace and environment name are all correct [response=%s]", response)
return GetFoldersV1Response{}, fmt.Errorf("CallGetFoldersV1: Unsuccessful [response=%s]", response)
}
return foldersResponse, nil
@@ -297,7 +297,7 @@ func CallCreateFolderV1(httpClient *resty.Client, request CreateFolderV1Request)
}
if response.IsError() {
return CreateFolderV1Response{}, fmt.Errorf("CallCreateFolderV1: Unsuccessful response. Please make sure your secret path, workspace and environment name are all correct [response=%s]", response)
return CreateFolderV1Response{}, fmt.Errorf("CallCreateFolderV1: Unsuccessful [response=%s]", response.String())
}
return folderResponse, nil
@@ -306,23 +306,11 @@ func CallCreateFolderV1(httpClient *resty.Client, request CreateFolderV1Request)
func CallDeleteFolderV1(httpClient *resty.Client, request DeleteFolderV1Request) (DeleteFolderV1Response, error) {
var folderResponse DeleteFolderV1Response
type deleteFolderRequest struct {
WorkspaceId string `json:"workspaceId"`
Environment string `json:"environment"`
Directory string `json:"folderPath"`
}
body := deleteFolderRequest{
WorkspaceId: request.WorkspaceId,
Environment: request.Environment,
Directory: request.Directory,
}
httpRequest := httpClient.
R().
SetResult(&folderResponse).
SetHeader("User-Agent", USER_AGENT).
SetBody(body)
SetBody(request)
response, err := httpRequest.Delete(fmt.Sprintf("%v/v1/folders/%v", config.INFISICAL_URL, request.FolderName))
if err != nil {
@@ -330,7 +318,7 @@ func CallDeleteFolderV1(httpClient *resty.Client, request DeleteFolderV1Request)
}
if response.IsError() {
return DeleteFolderV1Response{}, fmt.Errorf("CallDeleteFolderV1: Unsuccessful response. Please make sure your secret path, workspace and environment name are all correct [response=%s]", response)
return DeleteFolderV1Response{}, fmt.Errorf("CallDeleteFolderV1: Unsuccessful [response=%s]", response.String())
}
return folderResponse, nil

View File

@@ -51,7 +51,7 @@ var getCmd = &cobra.Command{
util.HandleError(err, "Unable to get folders")
}
visualize.PrintAllFoldersDetails(folders)
visualize.PrintAllFoldersDetails(folders, foldersPath)
Telemetry.CaptureEvent("cli-command:folders get", posthog.NewProperties().Set("folderCount", len(folders)).Set("version", util.CLI_VERSION))
},
}
@@ -98,13 +98,13 @@ var createCmd = &cobra.Command{
FolderPath: folderPath,
}
folder, err := util.CreateFolder(params)
_, err = util.CreateFolder(params)
if err != nil {
util.HandleError(err, "Unable to create folder")
}
folders := []models.SingleFolder{folder}
visualize.PrintAllFoldersDetails(folders)
util.PrintSuccessMessage(fmt.Sprintf("folder named `%s` created in path %s", folderName, folderPath))
Telemetry.CaptureEvent("cli-command:folders create", posthog.NewProperties().Set("version", util.CLI_VERSION))
},
}
@@ -152,35 +152,36 @@ var deleteCmd = &cobra.Command{
FolderPath: folderPath,
}
folders, err := util.DeleteFolder(params)
_, err = util.DeleteFolder(params)
if err != nil {
util.HandleError(err, "Unable to delete folder")
}
visualize.PrintAllFoldersDetails(folders)
util.PrintSuccessMessage(fmt.Sprintf("folder named `%s` deleted in path %s", folderName, folderPath))
Telemetry.CaptureEvent("cli-command:folders delete", posthog.NewProperties().Set("version", util.CLI_VERSION))
},
}
func init() {
// func init() {
folderCmd.PersistentFlags().String("env", "dev", "Used to select the environment name on which actions should be taken on")
// folderCmd.PersistentFlags().String("env", "dev", "Used to select the environment name on which actions should be taken on")
// Add getCmd, createCmd and deleteCmd flags here
getCmd.Flags().StringP("path", "p", "/", "Path to the directory whose folders will be fetched")
getCmd.Flags().StringP("token", "t", "", "Fetch folders using the infisical token")
folderCmd.AddCommand(getCmd)
// // Add getCmd, createCmd and deleteCmd flags here
// getCmd.Flags().StringP("path", "p", "/", "The path from where folders should be fetched from")
// getCmd.Flags().StringP("token", "t", "", "Fetch folders using the infisical token")
// folderCmd.AddCommand(getCmd)
// Add createCmd flags here
createCmd.Flags().StringP("path", "p", "/", "Path to the directory where the folder will be created")
createCmd.Flags().StringP("name", "n", "", "Name of the folder to be created")
folderCmd.AddCommand(createCmd)
// // Add createCmd flags here
// createCmd.Flags().StringP("path", "p", "/", "Path to where the folder should be created")
// createCmd.Flags().StringP("name", "n", "", "Name of the folder to be created")
// folderCmd.AddCommand(createCmd)
// Add deleteCmd flags here
deleteCmd.Flags().StringP("path", "p", "/", "Path to the directory where the folder will be deleted")
deleteCmd.Flags().StringP("name", "n", "", "Name of the folder to be deleted")
folderCmd.AddCommand(deleteCmd)
// // Add deleteCmd flags here
// deleteCmd.Flags().StringP("path", "p", "/", "Path to the folder to be deleted")
// deleteCmd.Flags().StringP("name", "n", "", "Name of the folder to be deleted")
// folderCmd.AddCommand(deleteCmd)
rootCmd.AddCommand(folderCmd)
// rootCmd.AddCommand(folderCmd)
}
// }

View File

@@ -679,6 +679,28 @@ func init() {
util.RequireLocalWorkspaceFile()
}
// *** Folders sub command ***
folderCmd.PersistentFlags().String("env", "dev", "Used to select the environment name on which actions should be taken on")
// Add getCmd, createCmd and deleteCmd flags here
getCmd.Flags().StringP("path", "p", "/", "The path from where folders should be fetched from")
getCmd.Flags().String("token", "", "Fetch folders using the infisical token")
folderCmd.AddCommand(getCmd)
// Add createCmd flags here
createCmd.Flags().StringP("path", "p", "/", "Path to where the folder should be created")
createCmd.Flags().StringP("name", "n", "", "Name of the folder to be created")
folderCmd.AddCommand(createCmd)
// Add deleteCmd flags here
deleteCmd.Flags().StringP("path", "p", "/", "Path to the folder to be deleted")
deleteCmd.Flags().StringP("name", "n", "", "Name of the folder to be deleted")
folderCmd.AddCommand(deleteCmd)
secretsCmd.AddCommand(folderCmd)
// ** End of folders sub command
secretsCmd.Flags().String("token", "", "Fetch secrets using the Infisical Token")
secretsCmd.PersistentFlags().String("env", "dev", "Used to select the environment name on which actions should be taken on")
secretsCmd.Flags().Bool("expand", true, "Parse shell parameter expansions in your secrets")

View File

@@ -191,6 +191,7 @@ func DeleteFolder(params models.DeleteFolderParameters) ([]models.SingleFolder,
WorkspaceId: params.WorkspaceId,
Environment: params.Environment,
FolderName: params.FolderName,
Directory: params.FolderPath,
}
apiResponse, err := api.CallDeleteFolderV1(httpClient, deleteFolderRequest)

View File

@@ -2,13 +2,13 @@ package visualize
import "github.com/Infisical/infisical-merge/packages/models"
func PrintAllFoldersDetails(folders []models.SingleFolder) {
func PrintAllFoldersDetails(folders []models.SingleFolder, path string) {
rows := [][3]string{}
for _, folder := range folders {
rows = append(rows, [...]string{folder.ID, folder.Name, ""})
rows = append(rows, [...]string{folder.Name, path, folder.ID})
}
headers := [...]string{"FOLDER ID", "FOLDER NAME", "VERSION"}
headers := [...]string{"FOLDER NAME", "PATH", "FOLDER ID"}
Table(headers, rows)
}