github.com/taubyte/tau-cli@v0.1.13-0.20240326000942-487f0d57edfc/prompts/database/edit.go (about)

     1  package databasePrompts
     2  
     3  import (
     4  	"github.com/taubyte/go-project-schema/common"
     5  	structureSpec "github.com/taubyte/go-specs/structure"
     6  	"github.com/taubyte/tau-cli/prompts"
     7  	"github.com/urfave/cli/v2"
     8  )
     9  
    10  func Edit(ctx *cli.Context, prev *structureSpec.Database) error {
    11  	prev.Description = prompts.GetOrAskForADescription(ctx, prev.Description)
    12  	prev.Tags = prompts.GetOrAskForTags(ctx, prev.Tags)
    13  
    14  	prev.Regex = prompts.GetMatchRegex(ctx, prev.Regex)
    15  	prev.Match = GetOrRequireAMatch(ctx, prev.Match)
    16  	prev.Local = prompts.GetOrAskForLocal(ctx, prev.Local)
    17  
    18  	if GetEncryption(ctx, len(prev.Key) > 0) {
    19  		prev.Key = GetOrRequireAnEncryptionKey(ctx, prev.Key)
    20  	} else {
    21  		prev.Key = ""
    22  	}
    23  
    24  	prev.Min, prev.Max, _, _ /* minString, maxString */ = GetOrAskForMinMax(ctx, prev.Min, prev.Max, false)
    25  
    26  	var err error
    27  	prev.Size, err = common.StringToUnits(prompts.GetSizeAndType(ctx, common.UnitsToString(prev.Size), false))
    28  	if err != nil {
    29  		// TODO verbose
    30  		return err
    31  	}
    32  
    33  	return nil
    34  }