From 3b3b6a8f5f95555c637d5b7f66e1039c48ac0492 Mon Sep 17 00:00:00 2001 From: Hugues Malphettes <hmalphettes@gmail.com> Date: Tue, 3 Sep 2019 21:11:49 +0800 Subject: [PATCH] Add the CreateAccessToken api https://docs.atlassian.com/bitbucket-server/rest/5.5.2/bitbucket-access-tokens-rest.html --- default_api.go | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) diff --git a/default_api.go b/default_api.go index 7ea6589..7e9fe35 100644 --- a/default_api.go +++ b/default_api.go @@ -10982,6 +10982,78 @@ func (a *DefaultApiService) SetPermissionForUsers_33(projectKey string, localVar return NewAPIResponse(localVarHTTPResponse), nil } +/* + DefaultApiService + + @param optional (nil or map[string]interface{}) with one or more of: + @param "name" (string) the names of the users + @param "permission" (string) the permission to grant + @return +*/ +func (a *DefaultApiService) CreateAccessToken(userSlug, tokenName string, repoAdmin, projectRead bool) (*APIResponse, error) { + var ( + localVarHTTPMethod = strings.ToUpper("Put") + localVarPostBody interface{} + localVarFileName string + localVarFileBytes []byte + ) + + // create path and map variables + // /rest/access-tokens/1.0/users/{userSlug} + localVarPath := a.client.cfg.BasePath + "/access-tokens/1.0/users/" + userSlug + + localVarHeaderParams := make(map[string]string) + localVarQueryParams := url.Values{} + localVarFormParams := url.Values{} + + // to determine the Content-Type header + localVarHTTPContentTypes := []string{} + + // set Content-Type header + localVarHTTPContentType := selectHeaderContentType(localVarHTTPContentTypes) + if localVarHTTPContentType != "" { + localVarHeaderParams["Content-Type"] = localVarHTTPContentType + } + + // to determine the Accept header + localVarHTTPHeaderAccepts := []string{} + + // set Accept header + localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts) + if localVarHTTPHeaderAccept != "" { + localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept + } + + permissions := make([]string, 0) + if repoAdmin { + permissions = append(permissions, "REPO_ADMIN") + } + if projectRead { + permissions = append(permissions, "PROJECT_READ") + } + localVarPostBody = map[string]interface{}{ + "name": tokenName, + "permissions": permissions, + } + + r, err := a.client.prepareRequest(a.client.ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) + if err != nil { + return nil, err + } + + localVarHTTPResponse, err := a.client.callAPI(r) + if err != nil || localVarHTTPResponse == nil { + return NewBitbucketAPIResponse(localVarHTTPResponse) + } + defer localVarHTTPResponse.Body.Close() + if localVarHTTPResponse.StatusCode >= 300 { + bodyBytes, _ := ioutil.ReadAll(localVarHTTPResponse.Body) + return NewAPIResponseWithError(localVarHTTPResponse, reportError("Status: %v, Body: %s", localVarHTTPResponse.Status, bodyBytes)) + } + + return NewBitbucketAPIResponse(localVarHTTPResponse) +} + /* DefaultApiService