@@ -16,7 +16,8 @@ import (
1616 "golang.org/x/time/rate"
1717
1818 "github.com/ilijamt/vault-plugin-secrets-gitlab/internal/errs"
19- "github.com/ilijamt/vault-plugin-secrets-gitlab/internal/models"
19+ config2 "github.com/ilijamt/vault-plugin-secrets-gitlab/internal/model/config"
20+ modelToken "github.com/ilijamt/vault-plugin-secrets-gitlab/internal/model/token"
2021 t "github.com/ilijamt/vault-plugin-secrets-gitlab/internal/token"
2122 "github.com/ilijamt/vault-plugin-secrets-gitlab/internal/utils"
2223)
2930type gitlabClient struct {
3031 client * g.Client
3132 httpClient * http.Client
32- config * EntryConfig
33+ config * config2. EntryConfig
3334 logger hclog.Logger
3435}
3536
@@ -47,7 +48,7 @@ func (gc *gitlabClient) GetProjectIdByPath(ctx context.Context, path string) (pr
4748 return projectId , err
4849}
4950
50- func (gc * gitlabClient ) CreateGroupDeployToken (ctx context.Context , path string , groupId int , name string , expiresAt * time.Time , scopes []string ) (et * models .TokenGroupDeploy , err error ) {
51+ func (gc * gitlabClient ) CreateGroupDeployToken (ctx context.Context , path string , groupId int , name string , expiresAt * time.Time , scopes []string ) (et * modelToken .TokenGroupDeploy , err error ) {
5152 var dt * g.DeployToken
5253 defer func () {
5354 gc .logger .Debug ("Create group deploy token" , "groupId" , groupId , "name" , name , "path" , path , "expiresAt" , expiresAt , "scopes" , scopes , "error" , err )
@@ -62,9 +63,9 @@ func (gc *gitlabClient) CreateGroupDeployToken(ctx context.Context, path string,
6263 },
6364 g .WithContext (ctx ),
6465 ); err == nil {
65- et = & models .TokenGroupDeploy {
66- TokenWithScopes : models .TokenWithScopes {
67- Token : models .Token {
66+ et = & modelToken .TokenGroupDeploy {
67+ TokenWithScopes : modelToken .TokenWithScopes {
68+ Token : modelToken .Token {
6869 TokenID : dt .ID ,
6970 ParentID : strconv .Itoa (groupId ),
7071 Path : path ,
@@ -81,7 +82,7 @@ func (gc *gitlabClient) CreateGroupDeployToken(ctx context.Context, path string,
8182 return et , err
8283}
8384
84- func (gc * gitlabClient ) CreateProjectDeployToken (ctx context.Context , path string , projectId int , name string , expiresAt * time.Time , scopes []string ) (et * models .TokenProjectDeploy , err error ) {
85+ func (gc * gitlabClient ) CreateProjectDeployToken (ctx context.Context , path string , projectId int , name string , expiresAt * time.Time , scopes []string ) (et * modelToken .TokenProjectDeploy , err error ) {
8586 var dt * g.DeployToken
8687 defer func () {
8788 gc .logger .Debug ("Create project deploy token" , "projectId" , projectId , "name" , name , "path" , path , "expiresAt" , expiresAt , "scopes" , scopes , "error" , err )
@@ -95,9 +96,9 @@ func (gc *gitlabClient) CreateProjectDeployToken(ctx context.Context, path strin
9596 },
9697 g .WithContext (ctx ),
9798 ); err == nil {
98- et = & models .TokenProjectDeploy {
99- TokenWithScopes : models .TokenWithScopes {
100- Token : models .Token {
99+ et = & modelToken .TokenProjectDeploy {
100+ TokenWithScopes : modelToken .TokenWithScopes {
101+ Token : modelToken .Token {
101102 TokenID : dt .ID ,
102103 ParentID : strconv .Itoa (projectId ),
103104 Path : path ,
@@ -141,7 +142,7 @@ func (gc *gitlabClient) Metadata(ctx context.Context) (metadata *g.Metadata, err
141142 return metadata , err
142143}
143144
144- func (gc * gitlabClient ) CreatePipelineProjectTriggerAccessToken (ctx context.Context , path , name string , projectId int , description string , expiresAt * time.Time ) (et * models .TokenPipelineProjectTrigger , err error ) {
145+ func (gc * gitlabClient ) CreatePipelineProjectTriggerAccessToken (ctx context.Context , path , name string , projectId int , description string , expiresAt * time.Time ) (et * modelToken .TokenPipelineProjectTrigger , err error ) {
145146 var pt * g.PipelineTrigger
146147 defer func () {
147148 gc .logger .Debug ("Create a pipeline project trigger access token" , "path" , path , "name" , name , "projectId" , description , "description" , "error" , err )
@@ -152,8 +153,8 @@ func (gc *gitlabClient) CreatePipelineProjectTriggerAccessToken(ctx context.Cont
152153 & g.AddPipelineTriggerOptions {Description : & description },
153154 g .WithContext (ctx ),
154155 ); err == nil {
155- et = & models .TokenPipelineProjectTrigger {
156- Token : models .Token {
156+ et = & modelToken .TokenPipelineProjectTrigger {
157+ Token : modelToken .Token {
157158 TokenID : pt .ID ,
158159 ParentID : strconv .Itoa (projectId ),
159160 Path : path ,
@@ -203,7 +204,7 @@ func (gc *gitlabClient) GitlabClient(ctx context.Context) *g.Client {
203204 return gc .client
204205}
205206
206- func (gc * gitlabClient ) CreateGroupServiceAccountAccessToken (ctx context.Context , path string , groupId string , userId int , name string , expiresAt time.Time , scopes []string ) (et * models .TokenGroupServiceAccount , err error ) {
207+ func (gc * gitlabClient ) CreateGroupServiceAccountAccessToken (ctx context.Context , path string , groupId string , userId int , name string , expiresAt time.Time , scopes []string ) (et * modelToken .TokenGroupServiceAccount , err error ) {
207208 var at * g.PersonalAccessToken
208209 defer func () {
209210 gc .logger .Debug ("Create group service access token" , "pat" , at , "et" , et , "path" , path , "groupId" , groupId , "userId" , userId , "name" , name , "expiresAt" , expiresAt , "scopes" , scopes , "error" , err )
@@ -214,9 +215,9 @@ func (gc *gitlabClient) CreateGroupServiceAccountAccessToken(ctx context.Context
214215 Scopes : & scopes ,
215216 }, g .WithContext (ctx ))
216217 if err == nil {
217- et = & models .TokenGroupServiceAccount {
218- TokenWithScopes : models .TokenWithScopes {
219- Token : models .Token {
218+ et = & modelToken .TokenGroupServiceAccount {
219+ TokenWithScopes : modelToken .TokenWithScopes {
220+ Token : modelToken .Token {
220221 TokenID : at .ID ,
221222 ParentID : groupId ,
222223 Path : path ,
@@ -234,16 +235,16 @@ func (gc *gitlabClient) CreateGroupServiceAccountAccessToken(ctx context.Context
234235 return et , err
235236}
236237
237- func (gc * gitlabClient ) CreateUserServiceAccountAccessToken (ctx context.Context , username string , userId int , name string , expiresAt time.Time , scopes []string ) (et * models .TokenUserServiceAccount , err error ) {
238+ func (gc * gitlabClient ) CreateUserServiceAccountAccessToken (ctx context.Context , username string , userId int , name string , expiresAt time.Time , scopes []string ) (et * modelToken .TokenUserServiceAccount , err error ) {
238239 defer func () {
239240 gc .logger .Debug ("Create user service access token" , "et" , et , "username" , username , "userId" , userId , "name" , name , "expiresAt" , expiresAt , "scopes" , scopes , "error" , err )
240241 }()
241- var etp * models .TokenPersonal
242+ var etp * modelToken .TokenPersonal
242243 etp , err = gc .CreatePersonalAccessToken (ctx , username , userId , name , expiresAt , scopes )
243244 if err == nil && etp != nil {
244- et = & models .TokenUserServiceAccount {
245- TokenWithScopes : models .TokenWithScopes {
246- Token : models .Token {
245+ et = & modelToken .TokenUserServiceAccount {
246+ TokenWithScopes : modelToken .TokenWithScopes {
247+ Token : modelToken .Token {
247248 TokenID : etp .TokenID ,
248249 ParentID : etp .ParentID ,
249250 Path : etp .Path ,
@@ -268,7 +269,7 @@ func (gc *gitlabClient) RevokeUserServiceAccountAccessToken(ctx context.Context,
268269 }
269270
270271 var c * g.Client
271- if c , err = newGitlabClient (& EntryConfig {
272+ if c , err = newGitlabClient (& config2. EntryConfig {
272273 BaseURL : gc .config .BaseURL ,
273274 Token : token ,
274275 }, gc .httpClient ); err == nil {
@@ -286,7 +287,7 @@ func (gc *gitlabClient) RevokeGroupServiceAccountAccessToken(ctx context.Context
286287 }
287288
288289 var c * g.Client
289- if c , err = newGitlabClient (& EntryConfig {
290+ if c , err = newGitlabClient (& config2. EntryConfig {
290291 BaseURL : gc .config .BaseURL ,
291292 Token : token ,
292293 }, gc .httpClient ); err == nil {
@@ -296,13 +297,13 @@ func (gc *gitlabClient) RevokeGroupServiceAccountAccessToken(ctx context.Context
296297 return err
297298}
298299
299- func (gc * gitlabClient ) CurrentTokenInfo (ctx context.Context ) (et * models .TokenConfig , err error ) {
300+ func (gc * gitlabClient ) CurrentTokenInfo (ctx context.Context ) (et * modelToken .TokenConfig , err error ) {
300301 var pat * g.PersonalAccessToken
301302 defer func () { gc .logger .Debug ("Current token info" , "token" , et , "error" , err ) }()
302303 if pat , _ , err = gc .client .PersonalAccessTokens .GetSinglePersonalAccessToken (g .WithContext (ctx )); err == nil {
303- et = & models .TokenConfig {
304- TokenWithScopes : models .TokenWithScopes {
305- Token : models .Token {
304+ et = & modelToken .TokenConfig {
305+ TokenWithScopes : modelToken .TokenWithScopes {
306+ Token : modelToken .Token {
306307 TokenID : pat .ID ,
307308 Name : pat .Name ,
308309 Token : pat .Token ,
@@ -325,7 +326,7 @@ func (gc *gitlabClient) CurrentTokenInfo(ctx context.Context) (et *models.TokenC
325326 return et , err
326327}
327328
328- func (gc * gitlabClient ) RotateCurrentToken (ctx context.Context ) (token * models .TokenConfig , currentEntryToken * models .TokenConfig , err error ) {
329+ func (gc * gitlabClient ) RotateCurrentToken (ctx context.Context ) (token * modelToken .TokenConfig , currentEntryToken * modelToken .TokenConfig , err error ) {
329330 var expiresAt time.Time
330331 defer func () {
331332 gc .logger .Debug ("Rotate current token" , "token" , token , "currentEntryToken" , currentEntryToken , "expiresAt" , expiresAt , "error" , err )
@@ -354,9 +355,9 @@ func (gc *gitlabClient) RotateCurrentToken(ctx context.Context) (token *models.T
354355 return nil , nil , err
355356 }
356357
357- token = & models .TokenConfig {
358- TokenWithScopes : models .TokenWithScopes {
359- Token : models .Token {
358+ token = & modelToken .TokenConfig {
359+ TokenWithScopes : modelToken .TokenWithScopes {
360+ Token : modelToken .Token {
360361 TokenID : pat .ID ,
361362 ParentID : "" ,
362363 Path : usr .Username ,
@@ -405,7 +406,7 @@ func (gc *gitlabClient) GetUserIdByUsername(ctx context.Context, username string
405406 return userId , nil
406407}
407408
408- func (gc * gitlabClient ) CreatePersonalAccessToken (ctx context.Context , username string , userId int , name string , expiresAt time.Time , scopes []string ) (et * models .TokenPersonal , err error ) {
409+ func (gc * gitlabClient ) CreatePersonalAccessToken (ctx context.Context , username string , userId int , name string , expiresAt time.Time , scopes []string ) (et * modelToken .TokenPersonal , err error ) {
409410 var at * g.PersonalAccessToken
410411 defer func () {
411412 gc .logger .Debug ("Create personal access token" , "pat" , at , "et" , et , "username" , username , "userId" , userId , "name" , name , "expiresAt" , expiresAt , "scopes" , scopes , "error" , err )
@@ -415,9 +416,9 @@ func (gc *gitlabClient) CreatePersonalAccessToken(ctx context.Context, username
415416 ExpiresAt : (* g .ISOTime )(& expiresAt ),
416417 Scopes : & scopes ,
417418 }, g .WithContext (ctx )); err == nil {
418- et = & models .TokenPersonal {
419- TokenWithScopes : models .TokenWithScopes {
420- Token : models .Token {
419+ et = & modelToken .TokenPersonal {
420+ TokenWithScopes : modelToken .TokenWithScopes {
421+ Token : modelToken .Token {
421422 TokenID : at .ID ,
422423 Path : username ,
423424 Name : name ,
@@ -434,7 +435,7 @@ func (gc *gitlabClient) CreatePersonalAccessToken(ctx context.Context, username
434435 return et , err
435436}
436437
437- func (gc * gitlabClient ) CreateGroupAccessToken (ctx context.Context , groupId string , name string , expiresAt time.Time , scopes []string , accessLevel t.AccessLevel ) (et * models .TokenGroup , err error ) {
438+ func (gc * gitlabClient ) CreateGroupAccessToken (ctx context.Context , groupId string , name string , expiresAt time.Time , scopes []string , accessLevel t.AccessLevel ) (et * modelToken .TokenGroup , err error ) {
438439 var at * g.GroupAccessToken
439440 defer func () {
440441 gc .logger .Debug ("Create group access token" , "gat" , at , "et" , et , "groupId" , groupId , "name" , name , "expiresAt" , expiresAt , "scopes" , scopes , "accessLevel" , accessLevel , "error" , err )
@@ -447,9 +448,9 @@ func (gc *gitlabClient) CreateGroupAccessToken(ctx context.Context, groupId stri
447448 ExpiresAt : (* g .ISOTime )(& expiresAt ),
448449 AccessLevel : al ,
449450 }, g .WithContext (ctx )); err == nil {
450- et = & models .TokenGroup {
451- TokenWithScopesAndAccessLevel : models .TokenWithScopesAndAccessLevel {
452- Token : models .Token {
451+ et = & modelToken .TokenGroup {
452+ TokenWithScopesAndAccessLevel : modelToken .TokenWithScopesAndAccessLevel {
453+ Token : modelToken .Token {
453454 TokenID : at .ID ,
454455 ParentID : groupId ,
455456 Path : groupId ,
@@ -467,7 +468,7 @@ func (gc *gitlabClient) CreateGroupAccessToken(ctx context.Context, groupId stri
467468 return et , err
468469}
469470
470- func (gc * gitlabClient ) CreateProjectAccessToken (ctx context.Context , projectId string , name string , expiresAt time.Time , scopes []string , accessLevel t.AccessLevel ) (et * models .TokenProject , err error ) {
471+ func (gc * gitlabClient ) CreateProjectAccessToken (ctx context.Context , projectId string , name string , expiresAt time.Time , scopes []string , accessLevel t.AccessLevel ) (et * modelToken .TokenProject , err error ) {
471472 var at * g.ProjectAccessToken
472473 defer func () {
473474 gc .logger .Debug ("Create project access token" , "gat" , at , "et" , et , "projectId" , projectId , "name" , name , "expiresAt" , expiresAt , "scopes" , scopes , "accessLevel" , accessLevel , "error" , err )
@@ -480,9 +481,9 @@ func (gc *gitlabClient) CreateProjectAccessToken(ctx context.Context, projectId
480481 ExpiresAt : (* g .ISOTime )(& expiresAt ),
481482 AccessLevel : al ,
482483 }, g .WithContext (ctx )); err == nil {
483- et = & models .TokenProject {
484- TokenWithScopesAndAccessLevel : models .TokenWithScopesAndAccessLevel {
485- Token : models .Token {
484+ et = & modelToken .TokenProject {
485+ TokenWithScopesAndAccessLevel : modelToken .TokenWithScopesAndAccessLevel {
486+ Token : modelToken .Token {
486487 TokenID : at .ID ,
487488 ParentID : projectId ,
488489 Path : projectId ,
@@ -551,7 +552,7 @@ func (gc *gitlabClient) Valid(ctx context.Context) bool {
551552
552553var _ Client = new (gitlabClient )
553554
554- func newGitlabClient (config * EntryConfig , httpClient * http.Client ) (gc * g.Client , err error ) {
555+ func newGitlabClient (config * config2. EntryConfig , httpClient * http.Client ) (gc * g.Client , err error ) {
555556 if strings .TrimSpace (config .BaseURL ) == "" {
556557 err = errors .Join (err , fmt .Errorf ("gitlab base url: %w" , errs .ErrInvalidValue ))
557558 }
@@ -576,7 +577,7 @@ func newGitlabClient(config *EntryConfig, httpClient *http.Client) (gc *g.Client
576577 return g .NewClient (config .Token , opts ... )
577578}
578579
579- func NewGitlabClient (config * EntryConfig , httpClient * http.Client , logger hclog.Logger ) (client Client , err error ) {
580+ func NewGitlabClient (config * config2. EntryConfig , httpClient * http.Client , logger hclog.Logger ) (client Client , err error ) {
580581 if config == nil {
581582 return nil , fmt .Errorf ("configure the backend first, config: %w" , errs .ErrNilValue )
582583 }
0 commit comments