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

     1  package messagingPrompts
     2  
     3  import (
     4  	structureSpec "github.com/taubyte/go-specs/structure"
     5  	messagingLib "github.com/taubyte/tau-cli/lib/messaging"
     6  	"github.com/taubyte/tau-cli/prompts"
     7  	"github.com/urfave/cli/v2"
     8  )
     9  
    10  func New(ctx *cli.Context) (*structureSpec.Messaging, error) {
    11  	messaging := &structureSpec.Messaging{}
    12  
    13  	taken, err := messagingLib.List()
    14  	if err != nil {
    15  		return nil, err
    16  	}
    17  
    18  	messaging.Name = prompts.GetOrRequireAUniqueName(ctx, NamePrompt, taken)
    19  	messaging.Description = prompts.GetOrAskForADescription(ctx)
    20  	messaging.Tags = prompts.GetOrAskForTags(ctx)
    21  
    22  	messaging.Local = prompts.GetOrAskForLocal(ctx)
    23  	messaging.Regex = prompts.GetMatchRegex(ctx)
    24  	messaging.Match = GetOrRequireAChannelMatch(ctx)
    25  	messaging.MQTT = GetMQTT(ctx)
    26  	messaging.WebSocket = GetWebSocket(ctx)
    27  
    28  	return messaging, nil
    29  }