@@ -16,6 +16,7 @@ import (
1616 "github.com/stackitcloud/stackit-cli/internal/pkg/services/cdn/client"
1717 "github.com/stackitcloud/stackit-cli/internal/pkg/tables"
1818 "github.com/stackitcloud/stackit-cli/internal/pkg/utils"
19+ sdkUtils "github.com/stackitcloud/stackit-sdk-go/core/utils"
1920 "github.com/stackitcloud/stackit-sdk-go/services/cdn"
2021)
2122
@@ -70,11 +71,11 @@ func NewCmd(params *params.CmdParams) *cobra.Command {
7071 return cmd
7172}
7273
73- var sortByFlagOptions = []string {"id" , "created " , "updated " , "origin-url " , "status" }
74+ var sortByFlagOptions = []string {"id" , "createdAt " , "updatedAt " , "originUrl " , "status" , "originUrlRelated " }
7475
7576func configureFlags (cmd * cobra.Command ) {
7677 // same default as apiClient
77- cmd .Flags ().Var (flags .EnumFlag (false , "created " , sortByFlagOptions ... ), sortByFlag , fmt .Sprintf ("Sort entries by a specific field, one of %q" , sortByFlagOptions ))
78+ cmd .Flags ().Var (flags .EnumFlag (false , "createdAt " , sortByFlagOptions ... ), sortByFlag , fmt .Sprintf ("Sort entries by a specific field, one of %q" , sortByFlagOptions ))
7879}
7980
8081func parseInput (p * print.Printer , cmd * cobra.Command , _ []string ) (* inputModel , error ) {
@@ -94,31 +95,14 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
9495
9596func buildRequest (ctx context.Context , model * inputModel , apiClient * cdn.APIClient , nextPageID cdn.ListDistributionsResponseGetNextPageIdentifierAttributeType ) cdn.ApiListDistributionsRequest {
9697 req := apiClient .ListDistributions (ctx , model .GlobalFlagModel .ProjectId )
97- req = req .SortBy (toAPISortBy ( model .SortBy ) )
98+ req = req .SortBy (model .SortBy )
9899 req = req .PageSize (100 )
99100 if nextPageID != nil {
100101 req = req .PageIdentifier (* nextPageID )
101102 }
102103 return req
103104}
104105
105- func toAPISortBy (sortBy string ) string {
106- switch sortBy {
107- case "id" :
108- return "id"
109- case "created" :
110- return "createdAt"
111- case "updated" :
112- return "updatedAt"
113- case "origin-url" :
114- return "originUrl"
115- case "status" :
116- return "status"
117- default :
118- panic ("invalid sortBy value, programmer error" )
119- }
120- }
121-
122106func outputResult (p * print.Printer , outputFormat string , distributions []cdn.Distribution ) error {
123107 if distributions == nil {
124108 distributions = make ([]cdn.Distribution , 0 ) // otherwise prints null in json output
@@ -133,11 +117,7 @@ func outputResult(p *print.Printer, outputFormat string, distributions []cdn.Dis
133117 table .SetHeader ("ID" , "REGIONS" , "STATUS" )
134118 for i := range distributions {
135119 d := & distributions [i ]
136- regions := make ([]string , 0 , len (* d .Config .Regions ))
137- for _ , r := range * d .Config .Regions {
138- regions = append (regions , string (r ))
139- }
140- joinedRegions := strings .Join (regions , ", " )
120+ joinedRegions := strings .Join (sdkUtils .EnumSliceToStringSlice (* d .Config .Regions ), ", " )
141121 table .AddRow (
142122 utils .PtrString (d .Id ),
143123 joinedRegions ,
0 commit comments