Skip to content

Commit 4017ad4

Browse files
committed
move models to internal/models
1 parent a2aa345 commit 4017ad4

29 files changed

+436
-218
lines changed

gitlab_client.go

Lines changed: 51 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ 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"
1920
t "github.com/ilijamt/vault-plugin-secrets-gitlab/internal/token"
2021
"github.com/ilijamt/vault-plugin-secrets-gitlab/internal/utils"
2122
)
@@ -29,26 +30,26 @@ type Client interface {
2930
GitlabClient(ctx context.Context) *g.Client
3031
Valid(ctx context.Context) bool
3132
Metadata(ctx context.Context) (*g.Metadata, error)
32-
CurrentTokenInfo(ctx context.Context) (*TokenConfig, error)
33-
RotateCurrentToken(ctx context.Context) (newToken *TokenConfig, oldToken *TokenConfig, err error)
34-
CreatePersonalAccessToken(ctx context.Context, username string, userId int, name string, expiresAt time.Time, scopes []string) (*TokenPersonal, error)
35-
CreateGroupAccessToken(ctx context.Context, groupId string, name string, expiresAt time.Time, scopes []string, accessLevel t.AccessLevel) (*TokenGroup, error)
36-
CreateProjectAccessToken(ctx context.Context, projectId string, name string, expiresAt time.Time, scopes []string, accessLevel t.AccessLevel) (*TokenProject, error)
33+
CurrentTokenInfo(ctx context.Context) (*models.TokenConfig, error)
34+
RotateCurrentToken(ctx context.Context) (newToken *models.TokenConfig, oldToken *models.TokenConfig, err error)
35+
CreatePersonalAccessToken(ctx context.Context, username string, userId int, name string, expiresAt time.Time, scopes []string) (*models.TokenPersonal, error)
36+
CreateGroupAccessToken(ctx context.Context, groupId string, name string, expiresAt time.Time, scopes []string, accessLevel t.AccessLevel) (*models.TokenGroup, error)
37+
CreateProjectAccessToken(ctx context.Context, projectId string, name string, expiresAt time.Time, scopes []string, accessLevel t.AccessLevel) (*models.TokenProject, error)
3738
RevokePersonalAccessToken(ctx context.Context, tokenId int) error
3839
RevokeProjectAccessToken(ctx context.Context, tokenId int, projectId string) error
3940
RevokeGroupAccessToken(ctx context.Context, tokenId int, groupId string) error
4041
GetUserIdByUsername(ctx context.Context, username string) (int, error)
4142
GetGroupIdByPath(ctx context.Context, path string) (int, error)
4243
GetProjectIdByPath(ctx context.Context, path string) (int, error)
43-
CreateGroupServiceAccountAccessToken(ctx context.Context, group string, groupId string, userId int, name string, expiresAt time.Time, scopes []string) (*TokenGroupServiceAccount, error)
44-
CreateUserServiceAccountAccessToken(ctx context.Context, username string, userId int, name string, expiresAt time.Time, scopes []string) (*TokenUserServiceAccount, error)
44+
CreateGroupServiceAccountAccessToken(ctx context.Context, group string, groupId string, userId int, name string, expiresAt time.Time, scopes []string) (*models.TokenGroupServiceAccount, error)
45+
CreateUserServiceAccountAccessToken(ctx context.Context, username string, userId int, name string, expiresAt time.Time, scopes []string) (*models.TokenUserServiceAccount, error)
4546
RevokeUserServiceAccountAccessToken(ctx context.Context, token string) error
4647
RevokeGroupServiceAccountAccessToken(ctx context.Context, token string) error
47-
CreatePipelineProjectTriggerAccessToken(ctx context.Context, path, name string, projectId int, description string, expiresAt *time.Time) (*TokenPipelineProjectTrigger, error)
48+
CreatePipelineProjectTriggerAccessToken(ctx context.Context, path, name string, projectId int, description string, expiresAt *time.Time) (*models.TokenPipelineProjectTrigger, error)
4849
RevokePipelineProjectTriggerAccessToken(ctx context.Context, projectId int, tokenId int) error
49-
CreateProjectDeployToken(ctx context.Context, path string, projectId int, name string, expiresAt *time.Time, scopes []string) (et *TokenProjectDeploy, err error)
50+
CreateProjectDeployToken(ctx context.Context, path string, projectId int, name string, expiresAt *time.Time, scopes []string) (et *models.TokenProjectDeploy, err error)
5051
RevokeProjectDeployToken(ctx context.Context, projectId, deployTokenId int) (err error)
51-
CreateGroupDeployToken(ctx context.Context, path string, groupId int, name string, expiresAt *time.Time, scopes []string) (et *TokenGroupDeploy, err error)
52+
CreateGroupDeployToken(ctx context.Context, path string, groupId int, name string, expiresAt *time.Time, scopes []string) (et *models.TokenGroupDeploy, err error)
5253
RevokeGroupDeployToken(ctx context.Context, groupId, deployTokenId int) (err error)
5354
}
5455

@@ -73,7 +74,7 @@ func (gc *gitlabClient) GetProjectIdByPath(ctx context.Context, path string) (pr
7374
return projectId, err
7475
}
7576

76-
func (gc *gitlabClient) CreateGroupDeployToken(ctx context.Context, path string, groupId int, name string, expiresAt *time.Time, scopes []string) (et *TokenGroupDeploy, err error) {
77+
func (gc *gitlabClient) CreateGroupDeployToken(ctx context.Context, path string, groupId int, name string, expiresAt *time.Time, scopes []string) (et *models.TokenGroupDeploy, err error) {
7778
var dt *g.DeployToken
7879
defer func() {
7980
gc.logger.Debug("Create group deploy token", "groupId", groupId, "name", name, "path", path, "expiresAt", expiresAt, "scopes", scopes, "error", err)
@@ -88,9 +89,9 @@ func (gc *gitlabClient) CreateGroupDeployToken(ctx context.Context, path string,
8889
},
8990
g.WithContext(ctx),
9091
); err == nil {
91-
et = &TokenGroupDeploy{
92-
TokenWithScopes: TokenWithScopes{
93-
Token: Token{
92+
et = &models.TokenGroupDeploy{
93+
TokenWithScopes: models.TokenWithScopes{
94+
Token: models.Token{
9495
TokenID: dt.ID,
9596
ParentID: strconv.Itoa(groupId),
9697
Path: path,
@@ -107,7 +108,7 @@ func (gc *gitlabClient) CreateGroupDeployToken(ctx context.Context, path string,
107108
return et, err
108109
}
109110

110-
func (gc *gitlabClient) CreateProjectDeployToken(ctx context.Context, path string, projectId int, name string, expiresAt *time.Time, scopes []string) (et *TokenProjectDeploy, err error) {
111+
func (gc *gitlabClient) CreateProjectDeployToken(ctx context.Context, path string, projectId int, name string, expiresAt *time.Time, scopes []string) (et *models.TokenProjectDeploy, err error) {
111112
var dt *g.DeployToken
112113
defer func() {
113114
gc.logger.Debug("Create project deploy token", "projectId", projectId, "name", name, "path", path, "expiresAt", expiresAt, "scopes", scopes, "error", err)
@@ -121,9 +122,9 @@ func (gc *gitlabClient) CreateProjectDeployToken(ctx context.Context, path strin
121122
},
122123
g.WithContext(ctx),
123124
); err == nil {
124-
et = &TokenProjectDeploy{
125-
TokenWithScopes: TokenWithScopes{
126-
Token: Token{
125+
et = &models.TokenProjectDeploy{
126+
TokenWithScopes: models.TokenWithScopes{
127+
Token: models.Token{
127128
TokenID: dt.ID,
128129
ParentID: strconv.Itoa(projectId),
129130
Path: path,
@@ -167,7 +168,7 @@ func (gc *gitlabClient) Metadata(ctx context.Context) (metadata *g.Metadata, err
167168
return metadata, err
168169
}
169170

170-
func (gc *gitlabClient) CreatePipelineProjectTriggerAccessToken(ctx context.Context, path, name string, projectId int, description string, expiresAt *time.Time) (et *TokenPipelineProjectTrigger, err error) {
171+
func (gc *gitlabClient) CreatePipelineProjectTriggerAccessToken(ctx context.Context, path, name string, projectId int, description string, expiresAt *time.Time) (et *models.TokenPipelineProjectTrigger, err error) {
171172
var pt *g.PipelineTrigger
172173
defer func() {
173174
gc.logger.Debug("Create a pipeline project trigger access token", "path", path, "name", name, "projectId", description, "description", "error", err)
@@ -178,8 +179,8 @@ func (gc *gitlabClient) CreatePipelineProjectTriggerAccessToken(ctx context.Cont
178179
&g.AddPipelineTriggerOptions{Description: &description},
179180
g.WithContext(ctx),
180181
); err == nil {
181-
et = &TokenPipelineProjectTrigger{
182-
Token: Token{
182+
et = &models.TokenPipelineProjectTrigger{
183+
Token: models.Token{
183184
TokenID: pt.ID,
184185
ParentID: strconv.Itoa(projectId),
185186
Path: path,
@@ -229,7 +230,7 @@ func (gc *gitlabClient) GitlabClient(ctx context.Context) *g.Client {
229230
return gc.client
230231
}
231232

232-
func (gc *gitlabClient) CreateGroupServiceAccountAccessToken(ctx context.Context, path string, groupId string, userId int, name string, expiresAt time.Time, scopes []string) (et *TokenGroupServiceAccount, err error) {
233+
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) {
233234
var at *g.PersonalAccessToken
234235
defer func() {
235236
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)
@@ -240,9 +241,9 @@ func (gc *gitlabClient) CreateGroupServiceAccountAccessToken(ctx context.Context
240241
Scopes: &scopes,
241242
}, g.WithContext(ctx))
242243
if err == nil {
243-
et = &TokenGroupServiceAccount{
244-
TokenWithScopes: TokenWithScopes{
245-
Token: Token{
244+
et = &models.TokenGroupServiceAccount{
245+
TokenWithScopes: models.TokenWithScopes{
246+
Token: models.Token{
246247
TokenID: at.ID,
247248
ParentID: groupId,
248249
Path: path,
@@ -260,16 +261,16 @@ func (gc *gitlabClient) CreateGroupServiceAccountAccessToken(ctx context.Context
260261
return et, err
261262
}
262263

263-
func (gc *gitlabClient) CreateUserServiceAccountAccessToken(ctx context.Context, username string, userId int, name string, expiresAt time.Time, scopes []string) (et *TokenUserServiceAccount, err error) {
264+
func (gc *gitlabClient) CreateUserServiceAccountAccessToken(ctx context.Context, username string, userId int, name string, expiresAt time.Time, scopes []string) (et *models.TokenUserServiceAccount, err error) {
264265
defer func() {
265266
gc.logger.Debug("Create user service access token", "et", et, "username", username, "userId", userId, "name", name, "expiresAt", expiresAt, "scopes", scopes, "error", err)
266267
}()
267-
var etp *TokenPersonal
268+
var etp *models.TokenPersonal
268269
etp, err = gc.CreatePersonalAccessToken(ctx, username, userId, name, expiresAt, scopes)
269270
if err == nil && etp != nil {
270-
et = &TokenUserServiceAccount{
271-
TokenWithScopes: TokenWithScopes{
272-
Token: Token{
271+
et = &models.TokenUserServiceAccount{
272+
TokenWithScopes: models.TokenWithScopes{
273+
Token: models.Token{
273274
TokenID: etp.TokenID,
274275
ParentID: etp.ParentID,
275276
Path: etp.Path,
@@ -322,13 +323,13 @@ func (gc *gitlabClient) RevokeGroupServiceAccountAccessToken(ctx context.Context
322323
return err
323324
}
324325

325-
func (gc *gitlabClient) CurrentTokenInfo(ctx context.Context) (et *TokenConfig, err error) {
326+
func (gc *gitlabClient) CurrentTokenInfo(ctx context.Context) (et *models.TokenConfig, err error) {
326327
var pat *g.PersonalAccessToken
327328
defer func() { gc.logger.Debug("Current token info", "token", et, "error", err) }()
328329
if pat, _, err = gc.client.PersonalAccessTokens.GetSinglePersonalAccessToken(g.WithContext(ctx)); err == nil {
329-
et = &TokenConfig{
330-
TokenWithScopes: TokenWithScopes{
331-
Token: Token{
330+
et = &models.TokenConfig{
331+
TokenWithScopes: models.TokenWithScopes{
332+
Token: models.Token{
332333
TokenID: pat.ID,
333334
Name: pat.Name,
334335
Token: pat.Token,
@@ -351,7 +352,7 @@ func (gc *gitlabClient) CurrentTokenInfo(ctx context.Context) (et *TokenConfig,
351352
return et, err
352353
}
353354

354-
func (gc *gitlabClient) RotateCurrentToken(ctx context.Context) (token *TokenConfig, currentEntryToken *TokenConfig, err error) {
355+
func (gc *gitlabClient) RotateCurrentToken(ctx context.Context) (token *models.TokenConfig, currentEntryToken *models.TokenConfig, err error) {
355356
var expiresAt time.Time
356357
defer func() {
357358
gc.logger.Debug("Rotate current token", "token", token, "currentEntryToken", currentEntryToken, "expiresAt", expiresAt, "error", err)
@@ -380,9 +381,9 @@ func (gc *gitlabClient) RotateCurrentToken(ctx context.Context) (token *TokenCon
380381
return nil, nil, err
381382
}
382383

383-
token = &TokenConfig{
384-
TokenWithScopes: TokenWithScopes{
385-
Token: Token{
384+
token = &models.TokenConfig{
385+
TokenWithScopes: models.TokenWithScopes{
386+
Token: models.Token{
386387
TokenID: pat.ID,
387388
ParentID: "",
388389
Path: usr.Username,
@@ -431,7 +432,7 @@ func (gc *gitlabClient) GetUserIdByUsername(ctx context.Context, username string
431432
return userId, nil
432433
}
433434

434-
func (gc *gitlabClient) CreatePersonalAccessToken(ctx context.Context, username string, userId int, name string, expiresAt time.Time, scopes []string) (et *TokenPersonal, err error) {
435+
func (gc *gitlabClient) CreatePersonalAccessToken(ctx context.Context, username string, userId int, name string, expiresAt time.Time, scopes []string) (et *models.TokenPersonal, err error) {
435436
var at *g.PersonalAccessToken
436437
defer func() {
437438
gc.logger.Debug("Create personal access token", "pat", at, "et", et, "username", username, "userId", userId, "name", name, "expiresAt", expiresAt, "scopes", scopes, "error", err)
@@ -441,9 +442,9 @@ func (gc *gitlabClient) CreatePersonalAccessToken(ctx context.Context, username
441442
ExpiresAt: (*g.ISOTime)(&expiresAt),
442443
Scopes: &scopes,
443444
}, g.WithContext(ctx)); err == nil {
444-
et = &TokenPersonal{
445-
TokenWithScopes: TokenWithScopes{
446-
Token: Token{
445+
et = &models.TokenPersonal{
446+
TokenWithScopes: models.TokenWithScopes{
447+
Token: models.Token{
447448
TokenID: at.ID,
448449
Path: username,
449450
Name: name,
@@ -460,7 +461,7 @@ func (gc *gitlabClient) CreatePersonalAccessToken(ctx context.Context, username
460461
return et, err
461462
}
462463

463-
func (gc *gitlabClient) CreateGroupAccessToken(ctx context.Context, groupId string, name string, expiresAt time.Time, scopes []string, accessLevel t.AccessLevel) (et *TokenGroup, err error) {
464+
func (gc *gitlabClient) CreateGroupAccessToken(ctx context.Context, groupId string, name string, expiresAt time.Time, scopes []string, accessLevel t.AccessLevel) (et *models.TokenGroup, err error) {
464465
var at *g.GroupAccessToken
465466
defer func() {
466467
gc.logger.Debug("Create group access token", "gat", at, "et", et, "groupId", groupId, "name", name, "expiresAt", expiresAt, "scopes", scopes, "accessLevel", accessLevel, "error", err)
@@ -473,9 +474,9 @@ func (gc *gitlabClient) CreateGroupAccessToken(ctx context.Context, groupId stri
473474
ExpiresAt: (*g.ISOTime)(&expiresAt),
474475
AccessLevel: al,
475476
}, g.WithContext(ctx)); err == nil {
476-
et = &TokenGroup{
477-
TokenWithScopesAndAccessLevel: TokenWithScopesAndAccessLevel{
478-
Token: Token{
477+
et = &models.TokenGroup{
478+
TokenWithScopesAndAccessLevel: models.TokenWithScopesAndAccessLevel{
479+
Token: models.Token{
479480
TokenID: at.ID,
480481
ParentID: groupId,
481482
Path: groupId,
@@ -493,7 +494,7 @@ func (gc *gitlabClient) CreateGroupAccessToken(ctx context.Context, groupId stri
493494
return et, err
494495
}
495496

496-
func (gc *gitlabClient) CreateProjectAccessToken(ctx context.Context, projectId string, name string, expiresAt time.Time, scopes []string, accessLevel t.AccessLevel) (et *TokenProject, err error) {
497+
func (gc *gitlabClient) CreateProjectAccessToken(ctx context.Context, projectId string, name string, expiresAt time.Time, scopes []string, accessLevel t.AccessLevel) (et *models.TokenProject, err error) {
497498
var at *g.ProjectAccessToken
498499
defer func() {
499500
gc.logger.Debug("Create project access token", "gat", at, "et", et, "projectId", projectId, "name", name, "expiresAt", expiresAt, "scopes", scopes, "accessLevel", accessLevel, "error", err)
@@ -506,9 +507,9 @@ func (gc *gitlabClient) CreateProjectAccessToken(ctx context.Context, projectId
506507
ExpiresAt: (*g.ISOTime)(&expiresAt),
507508
AccessLevel: al,
508509
}, g.WithContext(ctx)); err == nil {
509-
et = &TokenProject{
510-
TokenWithScopesAndAccessLevel: TokenWithScopesAndAccessLevel{
511-
Token: Token{
510+
et = &models.TokenProject{
511+
TokenWithScopesAndAccessLevel: models.TokenWithScopesAndAccessLevel{
512+
Token: models.Token{
512513
TokenID: at.ID,
513514
ParentID: projectId,
514515
Path: projectId,

0 commit comments

Comments
 (0)