mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-06 15:27:27 +00:00
move folders to secrets
This commit is contained in:
+5
-17
@@ -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
@@ -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)
|
||||||
|
|
||||||
}
|
// }
|
||||||
|
|||||||
@@ -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")
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user