Skip to content

Commit

Permalink
feat(domains): add skeleton
Browse files Browse the repository at this point in the history
  • Loading branch information
Integralist committed Jan 20, 2025
1 parent c3deac6 commit 50d2e3b
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 10 deletions.
30 changes: 20 additions & 10 deletions pkg/commands/domain/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ package domain
import (
"io"

"4d63.com/optional"
"github.com/fastly/go-fastly/v9/fastly"

"4d63.com/optional"
"github.com/fastly/cli/pkg/argparser"
"github.com/fastly/cli/pkg/errors"
"github.com/fastly/cli/pkg/global"
Expand All @@ -20,6 +20,7 @@ type CreateCommand struct {
serviceVersion argparser.OptionalServiceVersion

// Optional.
apiVersion argparser.OptionalString
autoClone argparser.OptionalAutoClone
comment argparser.OptionalString
name argparser.OptionalString
Expand All @@ -33,17 +34,10 @@ func NewCreateCommand(parent argparser.Registerer, g *global.Data) *CreateComman
Globals: g,
},
}
c.CmdClause = parent.Command("create", "Create a domain on a Fastly service version").Alias("add")

// Required.
c.RegisterFlag(argparser.StringFlagOpts{
Name: argparser.FlagVersionName,
Description: argparser.FlagVersionDesc,
Dst: &c.serviceVersion.Value,
Required: true,
})
c.CmdClause = parent.Command("create", "Create a domain").Alias("add")

// Optional.
c.CmdClause.Flag("api-version", "The Fastly API version").HintOptions(APIVersions...).Action(c.apiVersion.Set).EnumVar(&c.apiVersion.Value, APIVersions...)
c.RegisterAutoCloneFlag(argparser.AutoCloneFlagOpts{
Action: c.autoClone.Set,
Dst: &c.autoClone.Value,
Expand All @@ -62,11 +56,27 @@ func NewCreateCommand(parent argparser.Registerer, g *global.Data) *CreateComman
Description: argparser.FlagServiceNameDesc,
Dst: &c.serviceName.Value,
})
c.RegisterFlag(argparser.StringFlagOpts{
Name: argparser.FlagVersionName,
Description: argparser.FlagVersionDesc,
Dst: &c.serviceVersion.Value,
})
return &c
}

// Exec invokes the application logic for the command.
func (c *CreateCommand) Exec(_ io.Reader, out io.Writer) error {
if c.apiVersion.WasSet {
c.v1(out)
}
return c.v0(out)
}

func (c *CreateCommand) v1(out io.Writer) error {
return nil
}

func (c *CreateCommand) v0(out io.Writer) error {
serviceID, serviceVersion, err := argparser.ServiceDetails(argparser.ServiceDetailsOpts{
Active: optional.Of(false),
Locked: optional.Of(false),
Expand Down
4 changes: 4 additions & 0 deletions pkg/commands/domain/enums.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
package domain

// APIVersions is a list of supported API versions.
var APIVersions = []string{"v1"}

0 comments on commit 50d2e3b

Please sign in to comment.