@@ -11,6 +11,8 @@ import (
1111 "github.com/selectel/iam-go/internal/client"
1212)
1313
14+ const apiVersion = "iam/v1"
15+
1416// ServiceUsers is used to communicate with the Service Users API.
1517type ServiceUsers struct {
1618 baseClient * client.BaseClient
@@ -25,15 +27,15 @@ func New(baseClient *client.BaseClient) *ServiceUsers {
2527
2628// List returns a list of Service Users for the account.
2729func (su * ServiceUsers ) List (ctx context.Context ) ([]ServiceUser , error ) {
28- url , err := url .JoinPath (su . baseClient . APIUrl , "service_users" )
30+ path , err := url .JoinPath (apiVersion , "service_users" )
2931 if err != nil {
3032 return nil , iamerrors.Error {Err : iamerrors .ErrInternalAppError , Desc : err .Error ()}
3133 }
3234
3335 response , err := su .baseClient .DoRequest (ctx , client.DoRequestInput {
3436 Body : nil ,
3537 Method : http .MethodGet ,
36- URL : url ,
38+ Path : path ,
3739 })
3840 if err != nil {
3941 //nolint:wrapcheck // DoRequest already wraps the error.
@@ -54,15 +56,15 @@ func (su *ServiceUsers) Get(ctx context.Context, userID string) (*ServiceUser, e
5456 return nil , iamerrors.Error {Err : iamerrors .ErrUserIDRequired , Desc : "No userID was provided." }
5557 }
5658
57- url , err := url .JoinPath (su . baseClient . APIUrl , "service_users" , userID )
59+ path , err := url .JoinPath (apiVersion , "service_users" , userID )
5860 if err != nil {
5961 return nil , iamerrors.Error {Err : iamerrors .ErrInternalAppError , Desc : err .Error ()}
6062 }
6163
6264 response , err := su .baseClient .DoRequest (ctx , client.DoRequestInput {
6365 Body : nil ,
6466 Method : http .MethodGet ,
65- URL : url ,
67+ Path : path ,
6668 })
6769 if err != nil {
6870 //nolint:wrapcheck // DoRequest already wraps the error.
@@ -90,7 +92,7 @@ func (su *ServiceUsers) Create(ctx context.Context, input CreateRequest) (*Servi
9092 }
9193 }
9294
93- url , err := url .JoinPath (su . baseClient . APIUrl , "service_users" )
95+ path , err := url .JoinPath (apiVersion , "service_users" )
9496 if err != nil {
9597 return nil , iamerrors.Error {Err : iamerrors .ErrInternalAppError , Desc : err .Error ()}
9698 }
@@ -107,7 +109,7 @@ func (su *ServiceUsers) Create(ctx context.Context, input CreateRequest) (*Servi
107109 response , err := su .baseClient .DoRequest (ctx , client.DoRequestInput {
108110 Body : bytes .NewReader (body ),
109111 Method : http .MethodPost ,
110- URL : url ,
112+ Path : path ,
111113 })
112114 if err != nil {
113115 //nolint:wrapcheck // DoRequest already wraps the error.
@@ -128,15 +130,15 @@ func (su *ServiceUsers) Delete(ctx context.Context, userID string) error {
128130 return iamerrors.Error {Err : iamerrors .ErrUserIDRequired , Desc : "No userID was provided." }
129131 }
130132
131- url , err := url .JoinPath (su . baseClient . APIUrl , "service_users" , userID )
133+ path , err := url .JoinPath (apiVersion , "service_users" , userID )
132134 if err != nil {
133135 return iamerrors.Error {Err : iamerrors .ErrInternalAppError , Desc : err .Error ()}
134136 }
135137
136138 _ , err = su .baseClient .DoRequest (ctx , client.DoRequestInput {
137139 Body : nil ,
138140 Method : http .MethodDelete ,
139- URL : url ,
141+ Path : path ,
140142 })
141143 if err != nil {
142144 //nolint:wrapcheck // DoRequest already wraps the error.
@@ -152,7 +154,7 @@ func (su *ServiceUsers) Update(ctx context.Context, userID string, input UpdateR
152154 return nil , iamerrors.Error {Err : iamerrors .ErrUserIDRequired , Desc : "No userID was provided." }
153155 }
154156
155- url , err := url .JoinPath (su . baseClient . APIUrl , "service_users" , userID )
157+ path , err := url .JoinPath (apiVersion , "service_users" , userID )
156158 if err != nil {
157159 return nil , iamerrors.Error {Err : iamerrors .ErrInternalAppError , Desc : err .Error ()}
158160 }
@@ -169,7 +171,7 @@ func (su *ServiceUsers) Update(ctx context.Context, userID string, input UpdateR
169171 response , err := su .baseClient .DoRequest (ctx , client.DoRequestInput {
170172 Body : bytes .NewReader (body ),
171173 Method : http .MethodPatch ,
172- URL : url ,
174+ Path : path ,
173175 })
174176 if err != nil {
175177 //nolint:wrapcheck // DoRequest already wraps the error.
@@ -215,7 +217,7 @@ func (su *ServiceUsers) UnassignRoles(ctx context.Context, userID string, roles
215217}
216218
217219func (su * ServiceUsers ) manageRoles (ctx context.Context , method string , userID string , roles []Role ) error {
218- url , err := url .JoinPath (su . baseClient . APIUrl , "service_users" , userID , "roles" )
220+ path , err := url .JoinPath (apiVersion , "service_users" , userID , "roles" )
219221 if err != nil {
220222 return iamerrors.Error {Err : iamerrors .ErrInternalAppError , Desc : err .Error ()}
221223 }
@@ -229,7 +231,7 @@ func (su *ServiceUsers) manageRoles(ctx context.Context, method string, userID s
229231 _ , err = su .baseClient .DoRequest (ctx , client.DoRequestInput {
230232 Body : bytes .NewReader (body ),
231233 Method : method ,
232- URL : url ,
234+ Path : path ,
233235 })
234236 if err != nil {
235237 //nolint:wrapcheck // DoRequest already wraps the error.
0 commit comments