api/token.go (133 lines of code) (raw):

package api import ( gitlab "gitlab.com/gitlab-org/api/client-go" ) var ListProjectAccessTokens = func(client *gitlab.Client, projectID any, opts *gitlab.ListProjectAccessTokensOptions) ([]*gitlab.ProjectAccessToken, error) { if client == nil { client = apiClient.Lab() } perPage := opts.PerPage if perPage == 0 { perPage = 100 } tokens := make([]*gitlab.ProjectAccessToken, 0, perPage) for { results, response, err := client.ProjectAccessTokens.ListProjectAccessTokens(projectID, opts) if err != nil { return nil, err } tokens = append(tokens, results...) if response.CurrentPage >= response.TotalPages { break } opts.Page = response.NextPage } return tokens, nil } var ListGroupAccessTokens = func(client *gitlab.Client, groupID any, opts *gitlab.ListGroupAccessTokensOptions) ([]*gitlab.GroupAccessToken, error) { if client == nil { client = apiClient.Lab() } perPage := opts.PerPage if perPage == 0 { perPage = 100 } tokens := make([]*gitlab.GroupAccessToken, 0, perPage) for { results, response, err := client.GroupAccessTokens.ListGroupAccessTokens(groupID, opts) if err != nil { return nil, err } tokens = append(tokens, results...) if response.CurrentPage >= response.TotalPages { break } opts.Page = response.NextPage } return tokens, nil } var ListPersonalAccessTokens = func(client *gitlab.Client, opts *gitlab.ListPersonalAccessTokensOptions) ([]*gitlab.PersonalAccessToken, error) { if client == nil { client = apiClient.Lab() } perPage := opts.PerPage if perPage == 0 { perPage = 100 } tokens := make([]*gitlab.PersonalAccessToken, 0, perPage) for { results, response, err := client.PersonalAccessTokens.ListPersonalAccessTokens(opts) if err != nil { return nil, err } tokens = append(tokens, results...) if response.CurrentPage >= response.TotalPages { break } opts.Page = response.NextPage } return tokens, nil } var CreateProjectAccessToken = func(client *gitlab.Client, pid any, opts *gitlab.CreateProjectAccessTokenOptions) (*gitlab.ProjectAccessToken, error) { if client == nil { client = apiClient.Lab() } token, _, err := client.ProjectAccessTokens.CreateProjectAccessToken(pid, opts) return token, err } var CreateGroupAccessToken = func(client *gitlab.Client, gid any, opts *gitlab.CreateGroupAccessTokenOptions) (*gitlab.GroupAccessToken, error) { if client == nil { client = apiClient.Lab() } token, _, err := client.GroupAccessTokens.CreateGroupAccessToken(gid, opts) return token, err } var CreatePersonalAccessToken = func(client *gitlab.Client, uid int, opts *gitlab.CreatePersonalAccessTokenOptions) (*gitlab.PersonalAccessToken, error) { if client == nil { client = apiClient.Lab() } token, _, err := client.Users.CreatePersonalAccessToken(uid, opts) return token, err } var RevokeProjectAccessToken = func(client *gitlab.Client, pid any, id int) error { if client == nil { client = apiClient.Lab() } _, err := client.ProjectAccessTokens.RevokeProjectAccessToken(pid, id) return err } var RevokeGroupAccessToken = func(client *gitlab.Client, gid any, id int) error { if client == nil { client = apiClient.Lab() } _, err := client.GroupAccessTokens.RevokeGroupAccessToken(gid, id) return err } var RevokePersonalAccessToken = func(client *gitlab.Client, id int) error { if client == nil { client = apiClient.Lab() } _, err := client.PersonalAccessTokens.RevokePersonalAccessToken(id) return err } var RotateProjectAccessToken = func(client *gitlab.Client, pid any, id int, opts *gitlab.RotateProjectAccessTokenOptions) (*gitlab.ProjectAccessToken, error) { if client == nil { client = apiClient.Lab() } token, _, err := client.ProjectAccessTokens.RotateProjectAccessToken(pid, id, opts) return token, err } var RotateGroupAccessToken = func(client *gitlab.Client, gid any, id int, opts *gitlab.RotateGroupAccessTokenOptions) (*gitlab.GroupAccessToken, error) { if client == nil { client = apiClient.Lab() } token, _, err := client.GroupAccessTokens.RotateGroupAccessToken(gid, id, opts) return token, err } var RotatePersonalAccessToken = func(client *gitlab.Client, id int, opts *gitlab.RotatePersonalAccessTokenOptions) (*gitlab.PersonalAccessToken, error) { if client == nil { client = apiClient.Lab() } token, _, err := client.PersonalAccessTokens.RotatePersonalAccessToken(id, opts) return token, err }