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 }