mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-03 15:26:06 +00:00
Feat: Unify CLI auth methods
This commit is contained in:
+55
-16
@@ -1,6 +1,7 @@
|
|||||||
package cmd
|
package cmd
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/Infisical/infisical-merge/packages/models"
|
"github.com/Infisical/infisical-merge/packages/models"
|
||||||
@@ -71,10 +72,6 @@ var getCmd = &cobra.Command{
|
|||||||
var createCmd = &cobra.Command{
|
var createCmd = &cobra.Command{
|
||||||
Use: "create",
|
Use: "create",
|
||||||
Short: "Create a folder",
|
Short: "Create a folder",
|
||||||
PersistentPreRun: func(cmd *cobra.Command, args []string) {
|
|
||||||
util.RequireLogin()
|
|
||||||
util.RequireLocalWorkspaceFile()
|
|
||||||
},
|
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
environmentName, _ := cmd.Flags().GetString("env")
|
environmentName, _ := cmd.Flags().GetString("env")
|
||||||
if !cmd.Flags().Changed("env") {
|
if !cmd.Flags().Changed("env") {
|
||||||
@@ -84,6 +81,16 @@ var createCmd = &cobra.Command{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
token, err := util.GetInfisicalToken(cmd)
|
||||||
|
if err != nil {
|
||||||
|
util.HandleError(err, "Unable to parse flag")
|
||||||
|
}
|
||||||
|
|
||||||
|
projectId, err := cmd.Flags().GetString("projectId")
|
||||||
|
if err != nil {
|
||||||
|
util.HandleError(err, "Unable to parse flag")
|
||||||
|
}
|
||||||
|
|
||||||
folderPath, err := cmd.Flags().GetString("path")
|
folderPath, err := cmd.Flags().GetString("path")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
util.HandleError(err, "Unable to parse flag")
|
util.HandleError(err, "Unable to parse flag")
|
||||||
@@ -95,19 +102,34 @@ var createCmd = &cobra.Command{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if folderName == "" {
|
if folderName == "" {
|
||||||
util.HandleError(fmt.Errorf("Invalid folder name"), "Folder name cannot be empty")
|
util.HandleError(errors.New("invalid folder name, folder name cannot be empty"))
|
||||||
}
|
}
|
||||||
|
|
||||||
workspaceFile, err := util.GetWorkSpaceFromFile()
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
util.HandleError(err, "Unable to get workspace file")
|
util.HandleError(err, "Unable to get workspace file")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if projectId == "" {
|
||||||
|
workspaceFile, err := util.GetWorkSpaceFromFile()
|
||||||
|
if err != nil {
|
||||||
|
util.HandleError(err, "Unable to get workspace file")
|
||||||
|
}
|
||||||
|
|
||||||
|
projectId = workspaceFile.WorkspaceId
|
||||||
|
}
|
||||||
|
|
||||||
params := models.CreateFolderParameters{
|
params := models.CreateFolderParameters{
|
||||||
FolderName: folderName,
|
FolderName: folderName,
|
||||||
WorkspaceId: workspaceFile.WorkspaceId,
|
|
||||||
Environment: environmentName,
|
Environment: environmentName,
|
||||||
FolderPath: folderPath,
|
FolderPath: folderPath,
|
||||||
|
WorkspaceId: projectId,
|
||||||
|
}
|
||||||
|
|
||||||
|
if token != nil && (token.Type == util.SERVICE_TOKEN_IDENTIFIER || token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER) {
|
||||||
|
params.InfisicalToken = token.Token
|
||||||
|
} else {
|
||||||
|
util.RequireLogin()
|
||||||
|
util.RequireLocalWorkspaceFile()
|
||||||
}
|
}
|
||||||
|
|
||||||
_, err = util.CreateFolder(params)
|
_, err = util.CreateFolder(params)
|
||||||
@@ -124,10 +146,6 @@ var createCmd = &cobra.Command{
|
|||||||
var deleteCmd = &cobra.Command{
|
var deleteCmd = &cobra.Command{
|
||||||
Use: "delete",
|
Use: "delete",
|
||||||
Short: "Delete a folder",
|
Short: "Delete a folder",
|
||||||
PersistentPreRun: func(cmd *cobra.Command, args []string) {
|
|
||||||
util.RequireLogin()
|
|
||||||
util.RequireLocalWorkspaceFile()
|
|
||||||
},
|
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
|
||||||
environmentName, _ := cmd.Flags().GetString("env")
|
environmentName, _ := cmd.Flags().GetString("env")
|
||||||
@@ -138,6 +156,16 @@ var deleteCmd = &cobra.Command{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
token, err := util.GetInfisicalToken(cmd)
|
||||||
|
if err != nil {
|
||||||
|
util.HandleError(err, "Unable to parse flag")
|
||||||
|
}
|
||||||
|
|
||||||
|
projectId, err := cmd.Flags().GetString("projectId")
|
||||||
|
if err != nil {
|
||||||
|
util.HandleError(err, "Unable to parse flag")
|
||||||
|
}
|
||||||
|
|
||||||
folderPath, err := cmd.Flags().GetString("path")
|
folderPath, err := cmd.Flags().GetString("path")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
util.HandleError(err, "Unable to parse flag")
|
util.HandleError(err, "Unable to parse flag")
|
||||||
@@ -149,21 +177,32 @@ var deleteCmd = &cobra.Command{
|
|||||||
}
|
}
|
||||||
|
|
||||||
if folderName == "" {
|
if folderName == "" {
|
||||||
util.HandleError(fmt.Errorf("Invalid folder name"), "Folder name cannot be empty")
|
util.HandleError(errors.New("invalid folder name, folder name cannot be empty"))
|
||||||
}
|
}
|
||||||
|
|
||||||
workspaceFile, err := util.GetWorkSpaceFromFile()
|
if projectId == "" {
|
||||||
if err != nil {
|
workspaceFile, err := util.GetWorkSpaceFromFile()
|
||||||
util.HandleError(err, "Unable to get workspace file")
|
if err != nil {
|
||||||
|
util.HandleError(err, "Unable to get workspace file")
|
||||||
|
}
|
||||||
|
|
||||||
|
projectId = workspaceFile.WorkspaceId
|
||||||
}
|
}
|
||||||
|
|
||||||
params := models.DeleteFolderParameters{
|
params := models.DeleteFolderParameters{
|
||||||
FolderName: folderName,
|
FolderName: folderName,
|
||||||
WorkspaceId: workspaceFile.WorkspaceId,
|
WorkspaceId: projectId,
|
||||||
Environment: environmentName,
|
Environment: environmentName,
|
||||||
FolderPath: folderPath,
|
FolderPath: folderPath,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if token != nil && (token.Type == util.SERVICE_TOKEN_IDENTIFIER || token.Type == util.UNIVERSAL_AUTH_TOKEN_IDENTIFIER) {
|
||||||
|
params.InfisicalToken = token.Token
|
||||||
|
} else {
|
||||||
|
util.RequireLogin()
|
||||||
|
util.RequireLocalWorkspaceFile()
|
||||||
|
}
|
||||||
|
|
||||||
_, 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")
|
||||||
|
|||||||
Reference in New Issue
Block a user