88 "github.com/stackitcloud/stackit-cli/internal/pkg/types"
99
1010 "github.com/spf13/cobra"
11- "github.com/stackitcloud/stackit-sdk-go/services/authorization"
11+ authorization "github.com/stackitcloud/stackit-sdk-go/services/authorization/v2api "
1212
1313 "github.com/stackitcloud/stackit-cli/internal/pkg/args"
1414 "github.com/stackitcloud/stackit-cli/internal/pkg/errors"
@@ -18,7 +18,6 @@ import (
1818 "github.com/stackitcloud/stackit-cli/internal/pkg/print"
1919 "github.com/stackitcloud/stackit-cli/internal/pkg/services/authorization/client"
2020 "github.com/stackitcloud/stackit-cli/internal/pkg/tables"
21- "github.com/stackitcloud/stackit-cli/internal/pkg/utils"
2221)
2322
2423const (
@@ -39,7 +38,7 @@ var sortByFlag = flags.StringEnumFlag(
3938type inputModel struct {
4039 * globalflags.GlobalFlagModel
4140
42- OrganizationId * string
41+ OrganizationId string
4342 Subject * string
4443 Limit * int64
4544 SortBy string
@@ -81,18 +80,14 @@ func NewCmd(params *types.CmdParams) *cobra.Command {
8180 if err != nil {
8281 return fmt .Errorf ("list members: %w" , err )
8382 }
84- members := * resp .Members
85- if len (members ) == 0 {
86- params .Printer .Info ("No members found for organization with ID %q\n " , * model .OrganizationId )
87- return nil
88- }
83+ members := resp .Members
8984
9085 // Truncate output
9186 if model .Limit != nil && len (members ) > int (* model .Limit ) {
9287 members = members [:* model .Limit ]
9388 }
9489
95- return outputResult (params .Printer , model .OutputFormat , model .SortBy , members )
90+ return outputResult (params .Printer , model .OutputFormat , model .OrganizationId , model . SortBy , members )
9691 },
9792 }
9893 configureFlags (cmd )
@@ -122,7 +117,7 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
122117
123118 model := inputModel {
124119 GlobalFlagModel : globalFlags ,
125- OrganizationId : flags .FlagToStringPointer (p , cmd , organizationIdFlag ),
120+ OrganizationId : flags .FlagToStringValue (p , cmd , organizationIdFlag ),
126121 Subject : flags .FlagToStringPointer (p , cmd , subjectFlag ),
127122 Limit : flags .FlagToInt64Pointer (p , cmd , limitFlag ),
128123 SortBy : sortByFlag .Get (),
@@ -133,27 +128,32 @@ func parseInput(p *print.Printer, cmd *cobra.Command, _ []string) (*inputModel,
133128}
134129
135130func buildRequest (ctx context.Context , model * inputModel , apiClient * authorization.APIClient ) authorization.ApiListMembersRequest {
136- req := apiClient .ListMembers (ctx , organizationResourceType , * model .OrganizationId )
131+ req := apiClient .DefaultAPI . ListMembers (ctx , organizationResourceType , model .OrganizationId )
137132 if model .Subject != nil {
138133 req = req .Subject (* model .Subject )
139134 }
140135 return req
141136}
142137
143- func outputResult (p * print.Printer , outputFormat , sortBy string , members []authorization.Member ) error {
138+ func outputResult (p * print.Printer , outputFormat , organizationId , sortBy string , members []authorization.Member ) error {
144139 sortFn := func (i , j int ) bool {
145140 switch sortBy {
146141 case "subject" :
147- return * members [i ].Subject < * members [j ].Subject
142+ return members [i ].Subject < members [j ].Subject
148143 case "role" :
149- return * members [i ].Role < * members [j ].Role
144+ return members [i ].Role < members [j ].Role
150145 default :
151146 return false
152147 }
153148 }
154149 sort .SliceStable (members , sortFn )
155150
156151 return p .OutputResult (outputFormat , members , func () error {
152+ if len (members ) == 0 {
153+ p .Outputf ("No members found for organization with ID %q\n " , organizationId )
154+ return nil
155+ }
156+
157157 table := tables .NewTable ()
158158 table .SetHeader ("SUBJECT" , "ROLE" )
159159 for i := range members {
@@ -162,7 +162,7 @@ func outputResult(p *print.Printer, outputFormat, sortBy string, members []autho
162162 if i > 0 && sortFn (i - 1 , i ) {
163163 table .AddSeparator ()
164164 }
165- table .AddRow (utils . PtrString ( m .Subject ), utils . PtrString ( m .Role ) )
165+ table .AddRow (m .Subject , m .Role )
166166 }
167167
168168 switch sortBy {
0 commit comments