/* * Vikunja API * * This is the documentation for the [Vikunja](http://vikunja.io) API. Vikunja is a cross-plattform Todo-application with a lot of features, such as sharing lists with users or teams. # Authorization **JWT-Auth:** Main authorization method, used for most of the requests. Needs `Authorization: Bearer `-header to authenticate successfully. **BasicAuth:** Only used when requesting tasks via caldav. * * API version: 0.8+21-854fde1e4c * Contact: hello@vikunja.io * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) */ package swagger import ( "encoding/json" "golang.org/x/net/context" "io/ioutil" "net/http" "net/url" "strings" ) // Linger please var ( _ context.Context ) type UserApiService service /* UserApiService Login Logs a user in. Returns a JWT-Token to authenticate further requests. * @param ctx context.Context for authentication, logging, tracing, etc. @param credentials The login credentials @return V1Token*/ func (a *UserApiService) LoginPost(ctx context.Context, credentials ModelsUserLogin) (V1Token, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Post") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte successPayload V1Token ) // create path and map variables localVarPath := a.client.cfg.BasePath + "/login" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} // set Content-Type header localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) if localVarHttpContentType != "" { localVarHeaderParams["Content-Type"] = localVarHttpContentType } // to determine the Accept header localVarHttpHeaderAccepts := []string{ "application/json", } // set Accept header localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) if localVarHttpHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHttpHeaderAccept } // body params localVarPostBody = &credentials r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) if err != nil { return successPayload, nil, err } localVarHttpResponse, err := a.client.callAPI(r) if err != nil || localVarHttpResponse == nil { return successPayload, localVarHttpResponse, err } defer localVarHttpResponse.Body.Close() if localVarHttpResponse.StatusCode >= 300 { bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) return successPayload, localVarHttpResponse, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) } if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { return successPayload, localVarHttpResponse, err } return successPayload, localVarHttpResponse, err } /* UserApiService Register Creates a new user account. * @param ctx context.Context for authentication, logging, tracing, etc. @param credentials The user credentials @return ModelsUser*/ func (a *UserApiService) RegisterPost(ctx context.Context, credentials ModelsApiUserPassword) (ModelsUser, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Post") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte successPayload ModelsUser ) // create path and map variables localVarPath := a.client.cfg.BasePath + "/register" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} // set Content-Type header localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) if localVarHttpContentType != "" { localVarHeaderParams["Content-Type"] = localVarHttpContentType } // to determine the Accept header localVarHttpHeaderAccepts := []string{ "application/json", } // set Accept header localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) if localVarHttpHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHttpHeaderAccept } // body params localVarPostBody = &credentials r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) if err != nil { return successPayload, nil, err } localVarHttpResponse, err := a.client.callAPI(r) if err != nil || localVarHttpResponse == nil { return successPayload, localVarHttpResponse, err } defer localVarHttpResponse.Body.Close() if localVarHttpResponse.StatusCode >= 300 { bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) return successPayload, localVarHttpResponse, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) } if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { return successPayload, localVarHttpResponse, err } return successPayload, localVarHttpResponse, err } /* UserApiService Confirm the email of a new user Confirms the email of a newly registered user. * @param ctx context.Context for authentication, logging, tracing, etc. @param credentials The token. @return ModelsMessage*/ func (a *UserApiService) UserConfirmPost(ctx context.Context, credentials ModelsEmailConfirm) (ModelsMessage, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Post") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte successPayload ModelsMessage ) // create path and map variables localVarPath := a.client.cfg.BasePath + "/user/confirm" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} // set Content-Type header localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) if localVarHttpContentType != "" { localVarHeaderParams["Content-Type"] = localVarHttpContentType } // to determine the Accept header localVarHttpHeaderAccepts := []string{ "application/json", } // set Accept header localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) if localVarHttpHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHttpHeaderAccept } // body params localVarPostBody = &credentials r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) if err != nil { return successPayload, nil, err } localVarHttpResponse, err := a.client.callAPI(r) if err != nil || localVarHttpResponse == nil { return successPayload, localVarHttpResponse, err } defer localVarHttpResponse.Body.Close() if localVarHttpResponse.StatusCode >= 300 { bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) return successPayload, localVarHttpResponse, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) } if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { return successPayload, localVarHttpResponse, err } return successPayload, localVarHttpResponse, err } /* UserApiService Get user information Returns the current user object. * @param ctx context.Context for authentication, logging, tracing, etc. @return ModelsUser*/ func (a *UserApiService) UserGet(ctx context.Context) (ModelsUser, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte successPayload ModelsUser ) // create path and map variables localVarPath := a.client.cfg.BasePath + "/user" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} // set Content-Type header localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) if localVarHttpContentType != "" { localVarHeaderParams["Content-Type"] = localVarHttpContentType } // to determine the Accept header localVarHttpHeaderAccepts := []string{ "application/json", } // set Accept header localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) if localVarHttpHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHttpHeaderAccept } if ctx != nil { // API Key Authentication if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { var key string if auth.Prefix != "" { key = auth.Prefix + " " + auth.Key } else { key = auth.Key } localVarHeaderParams["Authorization"] = key } } r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) if err != nil { return successPayload, nil, err } localVarHttpResponse, err := a.client.callAPI(r) if err != nil || localVarHttpResponse == nil { return successPayload, localVarHttpResponse, err } defer localVarHttpResponse.Body.Close() if localVarHttpResponse.StatusCode >= 300 { bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) return successPayload, localVarHttpResponse, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) } if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { return successPayload, localVarHttpResponse, err } return successPayload, localVarHttpResponse, err } /* UserApiService Change password Lets the current user change its password. * @param ctx context.Context for authentication, logging, tracing, etc. @param userPassword The current and new password. @return ModelsMessage*/ func (a *UserApiService) UserPasswordPost(ctx context.Context, userPassword V1UserPassword) (ModelsMessage, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Post") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte successPayload ModelsMessage ) // create path and map variables localVarPath := a.client.cfg.BasePath + "/user/password" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} // set Content-Type header localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) if localVarHttpContentType != "" { localVarHeaderParams["Content-Type"] = localVarHttpContentType } // to determine the Accept header localVarHttpHeaderAccepts := []string{ "application/json", } // set Accept header localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) if localVarHttpHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHttpHeaderAccept } // body params localVarPostBody = &userPassword if ctx != nil { // API Key Authentication if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { var key string if auth.Prefix != "" { key = auth.Prefix + " " + auth.Key } else { key = auth.Key } localVarHeaderParams["Authorization"] = key } } r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) if err != nil { return successPayload, nil, err } localVarHttpResponse, err := a.client.callAPI(r) if err != nil || localVarHttpResponse == nil { return successPayload, localVarHttpResponse, err } defer localVarHttpResponse.Body.Close() if localVarHttpResponse.StatusCode >= 300 { bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) return successPayload, localVarHttpResponse, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) } if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { return successPayload, localVarHttpResponse, err } return successPayload, localVarHttpResponse, err } /* UserApiService Resets a password Resets a user email with a previously reset token. * @param ctx context.Context for authentication, logging, tracing, etc. @param credentials The token with the new password. @return ModelsMessage*/ func (a *UserApiService) UserPasswordResetPost(ctx context.Context, credentials ModelsPasswordReset) (ModelsMessage, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Post") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte successPayload ModelsMessage ) // create path and map variables localVarPath := a.client.cfg.BasePath + "/user/password/reset" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} // set Content-Type header localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) if localVarHttpContentType != "" { localVarHeaderParams["Content-Type"] = localVarHttpContentType } // to determine the Accept header localVarHttpHeaderAccepts := []string{ "application/json", } // set Accept header localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) if localVarHttpHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHttpHeaderAccept } // body params localVarPostBody = &credentials r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) if err != nil { return successPayload, nil, err } localVarHttpResponse, err := a.client.callAPI(r) if err != nil || localVarHttpResponse == nil { return successPayload, localVarHttpResponse, err } defer localVarHttpResponse.Body.Close() if localVarHttpResponse.StatusCode >= 300 { bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) return successPayload, localVarHttpResponse, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) } if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { return successPayload, localVarHttpResponse, err } return successPayload, localVarHttpResponse, err } /* UserApiService Request password reset token Requests a token to reset a users password. The token is sent via email. * @param ctx context.Context for authentication, logging, tracing, etc. @param credentials The username of the user to request a token for. @return ModelsMessage*/ func (a *UserApiService) UserPasswordTokenPost(ctx context.Context, credentials ModelsPasswordTokenRequest) (ModelsMessage, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Post") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte successPayload ModelsMessage ) // create path and map variables localVarPath := a.client.cfg.BasePath + "/user/password/token" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} // set Content-Type header localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) if localVarHttpContentType != "" { localVarHeaderParams["Content-Type"] = localVarHttpContentType } // to determine the Accept header localVarHttpHeaderAccepts := []string{ "application/json", } // set Accept header localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) if localVarHttpHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHttpHeaderAccept } // body params localVarPostBody = &credentials r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) if err != nil { return successPayload, nil, err } localVarHttpResponse, err := a.client.callAPI(r) if err != nil || localVarHttpResponse == nil { return successPayload, localVarHttpResponse, err } defer localVarHttpResponse.Body.Close() if localVarHttpResponse.StatusCode >= 300 { bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) return successPayload, localVarHttpResponse, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) } if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { return successPayload, localVarHttpResponse, err } return successPayload, localVarHttpResponse, err } /* UserApiService Get users Lists all users (without emailadresses). Also possible to search for a specific user. * @param ctx context.Context for authentication, logging, tracing, etc. @param optional (nil or map[string]interface{}) with one or more of: @param "s" (string) Search for a user by its name. @return []ModelsUser*/ func (a *UserApiService) UsersGet(ctx context.Context, localVarOptionals map[string]interface{}) ([]ModelsUser, *http.Response, error) { var ( localVarHttpMethod = strings.ToUpper("Get") localVarPostBody interface{} localVarFileName string localVarFileBytes []byte successPayload []ModelsUser ) // create path and map variables localVarPath := a.client.cfg.BasePath + "/users" localVarHeaderParams := make(map[string]string) localVarQueryParams := url.Values{} localVarFormParams := url.Values{} if err := typeCheckParameter(localVarOptionals["s"], "string", "s"); err != nil { return successPayload, nil, err } if localVarTempParam, localVarOk := localVarOptionals["s"].(string); localVarOk { localVarQueryParams.Add("s", parameterToString(localVarTempParam, "")) } // to determine the Content-Type header localVarHttpContentTypes := []string{"application/json"} // set Content-Type header localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) if localVarHttpContentType != "" { localVarHeaderParams["Content-Type"] = localVarHttpContentType } // to determine the Accept header localVarHttpHeaderAccepts := []string{ "application/json", } // set Accept header localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) if localVarHttpHeaderAccept != "" { localVarHeaderParams["Accept"] = localVarHttpHeaderAccept } if ctx != nil { // API Key Authentication if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { var key string if auth.Prefix != "" { key = auth.Prefix + " " + auth.Key } else { key = auth.Key } localVarHeaderParams["Authorization"] = key } } r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) if err != nil { return successPayload, nil, err } localVarHttpResponse, err := a.client.callAPI(r) if err != nil || localVarHttpResponse == nil { return successPayload, localVarHttpResponse, err } defer localVarHttpResponse.Body.Close() if localVarHttpResponse.StatusCode >= 300 { bodyBytes, _ := ioutil.ReadAll(localVarHttpResponse.Body) return successPayload, localVarHttpResponse, reportError("Status: %v, Body: %s", localVarHttpResponse.Status, bodyBytes) } if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { return successPayload, localVarHttpResponse, err } return successPayload, localVarHttpResponse, err }