From d3d5ead6ed0feeb4a2d39957d9ca1c9a9f607670 Mon Sep 17 00:00:00 2001 From: Maidul Islam Date: Wed, 1 Mar 2023 17:35:11 -0500 Subject: [PATCH] allow export by explicit projectId --- cli/packages/cmd/export.go | 8 +++++++- cli/packages/models/cli.go | 1 + cli/packages/util/secrets.go | 4 ++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/cli/packages/cmd/export.go b/cli/packages/cmd/export.go index d99686aeb..07512798b 100644 --- a/cli/packages/cmd/export.go +++ b/cli/packages/cmd/export.go @@ -49,6 +49,11 @@ var exportCmd = &cobra.Command{ util.HandleError(err) } + projectId, err := cmd.Flags().GetString("projectId") + if err != nil { + util.HandleError(err) + } + format, err := cmd.Flags().GetString("format") if err != nil { util.HandleError(err) @@ -69,7 +74,7 @@ var exportCmd = &cobra.Command{ util.HandleError(err, "Unable to parse flag") } - secrets, err := util.GetAllEnvironmentVariables(models.GetAllSecretsParameters{Environment: environmentName, InfisicalToken: infisicalToken, TagSlugs: tagSlugs}) + secrets, err := util.GetAllEnvironmentVariables(models.GetAllSecretsParameters{Environment: environmentName, InfisicalToken: infisicalToken, TagSlugs: tagSlugs, WorkspaceId: projectId}) if err != nil { util.HandleError(err, "Unable to fetch secrets") } @@ -106,6 +111,7 @@ func init() { exportCmd.Flags().Bool("secret-overriding", true, "Prioritizes personal secrets, if any, with the same name over shared secrets") exportCmd.Flags().String("token", "", "Fetch secrets using the Infisical Token") exportCmd.Flags().StringP("tags", "t", "", "filter secrets by tag slugs") + exportCmd.Flags().String("projectId", "", "manually set the projectId to fetch secrets from") } // Format according to the format flag diff --git a/cli/packages/models/cli.go b/cli/packages/models/cli.go index c2cee9463..5e969a9c0 100644 --- a/cli/packages/models/cli.go +++ b/cli/packages/models/cli.go @@ -55,4 +55,5 @@ type GetAllSecretsParameters struct { EnvironmentPassedViaFlag bool InfisicalToken string TagSlugs string + WorkspaceId string } diff --git a/cli/packages/util/secrets.go b/cli/packages/util/secrets.go index 655ef1f9a..c25c07efd 100644 --- a/cli/packages/util/secrets.go +++ b/cli/packages/util/secrets.go @@ -152,6 +152,10 @@ func GetAllEnvironmentVariables(params models.GetAllSecretsParameters) ([]models return nil, err } + if params.WorkspaceId != "" { + workspaceFile.WorkspaceId = params.WorkspaceId + } + // Verify environment err = ValidateEnvironmentName(params.Environment, workspaceFile.WorkspaceId, loggedInUserDetails.UserCredentials) if err != nil {