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
+5 -17
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)) response, err := httpRequest.Get(fmt.Sprintf("%v/v1/folders", config.INFISICAL_URL))
if err != nil { 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() { 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 return foldersResponse, nil
@@ -297,7 +297,7 @@ func CallCreateFolderV1(httpClient *resty.Client, request CreateFolderV1Request)
} }
if response.IsError() { 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 return folderResponse, nil
@@ -306,23 +306,11 @@ func CallCreateFolderV1(httpClient *resty.Client, request CreateFolderV1Request)
func CallDeleteFolderV1(httpClient *resty.Client, request DeleteFolderV1Request) (DeleteFolderV1Response, error) { func CallDeleteFolderV1(httpClient *resty.Client, request DeleteFolderV1Request) (DeleteFolderV1Response, error) {
var folderResponse DeleteFolderV1Response 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. httpRequest := httpClient.
R(). R().
SetResult(&folderResponse). SetResult(&folderResponse).
SetHeader("User-Agent", USER_AGENT). SetHeader("User-Agent", USER_AGENT).
SetBody(body) SetBody(request)
response, err := httpRequest.Delete(fmt.Sprintf("%v/v1/folders/%v", config.INFISICAL_URL, request.FolderName)) response, err := httpRequest.Delete(fmt.Sprintf("%v/v1/folders/%v", config.INFISICAL_URL, request.FolderName))
if err != nil { if err != nil {
@@ -330,7 +318,7 @@ func CallDeleteFolderV1(httpClient *resty.Client, request DeleteFolderV1Request)
} }
if response.IsError() { 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 return folderResponse, nil
+23 -22
View File
@@ -51,7 +51,7 @@ var getCmd = &cobra.Command{
util.HandleError(err, "Unable to get folders") 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)) 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, FolderPath: folderPath,
} }
folder, err := util.CreateFolder(params) _, err = util.CreateFolder(params)
if err != nil { if err != nil {
util.HandleError(err, "Unable to create folder") util.HandleError(err, "Unable to create folder")
} }
folders := []models.SingleFolder{folder} util.PrintSuccessMessage(fmt.Sprintf("folder named `%s` created in path %s", folderName, folderPath))
visualize.PrintAllFoldersDetails(folders)
Telemetry.CaptureEvent("cli-command:folders create", posthog.NewProperties().Set("version", util.CLI_VERSION)) Telemetry.CaptureEvent("cli-command:folders create", posthog.NewProperties().Set("version", util.CLI_VERSION))
}, },
} }
@@ -152,35 +152,36 @@ var deleteCmd = &cobra.Command{
FolderPath: folderPath, FolderPath: folderPath,
} }
folders, err := util.DeleteFolder(params) _, err = util.DeleteFolder(params)
if err != nil { if err != nil {
util.HandleError(err, "Unable to delete folder") 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)) 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 // // Add getCmd, createCmd and deleteCmd flags here
getCmd.Flags().StringP("path", "p", "/", "Path to the directory whose folders will be fetched") // 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") // getCmd.Flags().StringP("token", "t", "", "Fetch folders using the infisical token")
folderCmd.AddCommand(getCmd) // folderCmd.AddCommand(getCmd)
// Add createCmd flags here // // Add createCmd flags here
createCmd.Flags().StringP("path", "p", "/", "Path to the directory where the folder will be created") // 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") // createCmd.Flags().StringP("name", "n", "", "Name of the folder to be created")
folderCmd.AddCommand(createCmd) // folderCmd.AddCommand(createCmd)
// Add deleteCmd flags here // // Add deleteCmd flags here
deleteCmd.Flags().StringP("path", "p", "/", "Path to the directory where the folder will be deleted") // deleteCmd.Flags().StringP("path", "p", "/", "Path to the folder to be deleted")
deleteCmd.Flags().StringP("name", "n", "", "Name of the folder to be deleted") // deleteCmd.Flags().StringP("name", "n", "", "Name of the folder to be deleted")
folderCmd.AddCommand(deleteCmd) // folderCmd.AddCommand(deleteCmd)
rootCmd.AddCommand(folderCmd) // rootCmd.AddCommand(folderCmd)
} // }
+22
View File
@@ -679,6 +679,28 @@ func init() {
util.RequireLocalWorkspaceFile() 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.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.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") secretsCmd.Flags().Bool("expand", true, "Parse shell parameter expansions in your secrets")
+1
View File
@@ -191,6 +191,7 @@ func DeleteFolder(params models.DeleteFolderParameters) ([]models.SingleFolder,
WorkspaceId: params.WorkspaceId, WorkspaceId: params.WorkspaceId,
Environment: params.Environment, Environment: params.Environment,
FolderName: params.FolderName, FolderName: params.FolderName,
Directory: params.FolderPath,
} }
apiResponse, err := api.CallDeleteFolderV1(httpClient, deleteFolderRequest) apiResponse, err := api.CallDeleteFolderV1(httpClient, deleteFolderRequest)
+3 -3
View File
@@ -2,13 +2,13 @@ package visualize
import "github.com/Infisical/infisical-merge/packages/models" import "github.com/Infisical/infisical-merge/packages/models"
func PrintAllFoldersDetails(folders []models.SingleFolder) { func PrintAllFoldersDetails(folders []models.SingleFolder, path string) {
rows := [][3]string{} rows := [][3]string{}
for _, folder := range folders { 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) Table(headers, rows)
} }