@@ -3,75 +3,26 @@ package bot_management
33import (
44 "io"
55
6- "github.com/fastly/go-fastly/v9/fastly"
76 "github.com/fastly/go-fastly/v9/fastly/products/bot_management"
87
9- "github.com/fastly/cli/pkg/api "
8+ "github.com/fastly/cli/internal/productcore "
109 "github.com/fastly/cli/pkg/argparser"
1110 "github.com/fastly/cli/pkg/global"
12- "github.com/fastly/cli/pkg/manifest"
13- "github.com/fastly/cli/pkg/text"
1411)
1512
16- // EnableFn is a dependency-injection point for unit tests to provide
17- // a mock implementation of the API operation.
18- var EnableFn = func (client api.Interface , serviceID string ) (* bot_management.EnableOutput , error ) {
19- return bot_management .Enable (client .(* fastly.Client ), serviceID )
20- }
21-
22- // EnableCommand calls the Fastly API to enable the product.
13+ // EnableCommand calls the Fastly API to disable the product.
2314type EnableCommand struct {
24- argparser.Base
25- Manifest manifest.Data
26-
27- serviceName argparser.OptionalServiceNameID
15+ productcore.Enable [* bot_management.EnableOutput ]
2816}
2917
3018// NewEnableCommand returns a usable command registered under the parent.
3119func NewEnableCommand (parent argparser.Registerer , g * global.Data ) * EnableCommand {
32- c := EnableCommand {
33- Base : argparser.Base {
34- Globals : g ,
35- },
36- }
37- c .CmdClause = parent .Command ("enable" , "Enable the " + bot_management .ProductName + " product" )
38-
39- // Optional.
40- c .RegisterFlag (argparser.StringFlagOpts {
41- Name : argparser .FlagServiceIDName ,
42- Description : argparser .FlagServiceIDDesc ,
43- Dst : & g .Manifest .Flag .ServiceID ,
44- Short : 's' ,
45- })
46- c .RegisterFlag (argparser.StringFlagOpts {
47- Action : c .serviceName .Set ,
48- Name : argparser .FlagServiceName ,
49- Description : argparser .FlagServiceNameDesc ,
50- Dst : & c .serviceName .Value ,
51- })
20+ c := EnableCommand {}
21+ c .Init (parent , g , bot_management .ProductName , & EnablementHooks )
5222 return & c
5323}
5424
5525// Exec invokes the application logic for the command.
56- func (c * EnableCommand ) Exec (_ io.Reader , out io.Writer ) error {
57- serviceID , source , flag , err := argparser .ServiceID (c .serviceName , * c .Globals .Manifest , c .Globals .APIClient , c .Globals .ErrLog )
58- if err != nil {
59- c .Globals .ErrLog .Add (err )
60- return err
61- }
62-
63- if c .Globals .Verbose () {
64- argparser .DisplayServiceID (serviceID , flag , source , out )
65- }
66-
67- _ , err = EnableFn (c .Globals .APIClient , serviceID )
68- if err != nil {
69- c .Globals .ErrLog .Add (err )
70- return err
71- }
72-
73- text .Success (out ,
74- "Enabled " + bot_management .ProductName + " on service %s" , serviceID )
75-
76- return nil
26+ func (cmd * EnableCommand ) Exec (_ io.Reader , out io.Writer ) error {
27+ return cmd .Enable .Exec (out )
7728}
0 commit comments