2023-05-09 16:53:56 +02:00
/ *
SpaceTraders API
SpaceTraders is an open - universe game and learning platform that offers a set of HTTP endpoints to control a fleet of ships and explore a multiplayer universe . The API is documented using [ OpenAPI ] ( https : //github.com/SpaceTradersAPI/api-docs). You can send your first request right here in your browser to check the status of the game server. ```json http { \"method\": \"GET\", \"url\": \"https://api.spacetraders.io/v2\", } ``` Unlike a traditional game, SpaceTraders does not have a first-party client or app to play the game. Instead, you can use the API to build your own client, write a script to automate your ships, or try an app built by the community. We have a [Discord channel](https://discord.com/invite/jh6zurdWk5) where you can share your projects, ask questions, and get help from other players.
API version : 2.0 .0
Contact : joel @ spacetraders . io
* /
// Code generated by OpenAPI Generator (https://openapi-generator.tech); DO NOT EDIT.
2023-05-09 16:55:06 +02:00
package spacetraders
2023-05-09 16:53:56 +02:00
import (
"bytes"
"context"
"io/ioutil"
"net/http"
"net/url"
)
// DefaultApiService DefaultApi service
type DefaultApiService service
type ApiRegisterRequest struct {
ctx context . Context
ApiService * DefaultApiService
registerRequest * RegisterRequest
}
//
func ( r ApiRegisterRequest ) RegisterRequest ( registerRequest RegisterRequest ) ApiRegisterRequest {
r . registerRequest = & registerRequest
return r
}
func ( r ApiRegisterRequest ) Execute ( ) ( * Register201Response , * http . Response , error ) {
return r . ApiService . RegisterExecute ( r )
}
/ *
Register Register New Agent
Creates a new agent and ties it to a temporary Account .
The agent symbol is a 3 - 14 character string that will represent your agent . This symbol will prefix the symbol of every ship you own . Agent symbols will be cast to all uppercase characters .
A new agent will be granted an authorization token , a contract with their starting faction , a command ship with a jump drive , and one hundred thousand credits .
> # # # # Keep your token safe and secure
>
> Save your token during the alpha phase . There is no way to regenerate this token without starting a new agent . In the future you will be able to generate and manage your tokens from the SpaceTraders website .
You can accept your contract using the ` /my/contracts/ { contractId}/accept ` endpoint . You will want to navigate your command ship to a nearby asteroid field and execute the ` /my/ships/ { shipSymbol}/extract ` endpoint to mine various types of ores and minerals .
Return to the contract destination and execute the ` /my/ships/ { shipSymbol}/deliver ` endpoint to deposit goods into the contract .
When your contract is fulfilled , you can call ` /my/contracts/ { contractId}/fulfill ` to retrieve payment .
@ param ctx context . Context - for authentication , logging , cancellation , deadlines , tracing , etc . Passed from http . Request or context . Background ( ) .
@ return ApiRegisterRequest
* /
func ( a * DefaultApiService ) Register ( ctx context . Context ) ApiRegisterRequest {
return ApiRegisterRequest {
ApiService : a ,
ctx : ctx ,
}
}
// Execute executes the request
// @return Register201Response
func ( a * DefaultApiService ) RegisterExecute ( r ApiRegisterRequest ) ( * Register201Response , * http . Response , error ) {
var (
localVarHTTPMethod = http . MethodPost
localVarPostBody interface { }
formFiles [ ] formFile
localVarReturnValue * Register201Response
)
localBasePath , err := a . client . cfg . ServerURLWithContext ( r . ctx , "DefaultApiService.Register" )
if err != nil {
return localVarReturnValue , nil , & GenericOpenAPIError { error : err . Error ( ) }
}
localVarPath := localBasePath + "/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 = r . registerRequest
req , err := a . client . prepareRequest ( r . ctx , localVarPath , localVarHTTPMethod , localVarPostBody , localVarHeaderParams , localVarQueryParams , localVarFormParams , formFiles )
if err != nil {
return localVarReturnValue , nil , err
}
localVarHTTPResponse , err := a . client . callAPI ( req )
if err != nil || localVarHTTPResponse == nil {
return localVarReturnValue , localVarHTTPResponse , err
}
localVarBody , err := ioutil . ReadAll ( localVarHTTPResponse . Body )
localVarHTTPResponse . Body . Close ( )
localVarHTTPResponse . Body = ioutil . NopCloser ( bytes . NewBuffer ( localVarBody ) )
if err != nil {
return localVarReturnValue , localVarHTTPResponse , err
}
if localVarHTTPResponse . StatusCode >= 300 {
newErr := & GenericOpenAPIError {
body : localVarBody ,
error : localVarHTTPResponse . Status ,
}
return localVarReturnValue , localVarHTTPResponse , newErr
}
err = a . client . decode ( & localVarReturnValue , localVarBody , localVarHTTPResponse . Header . Get ( "Content-Type" ) )
if err != nil {
newErr := & GenericOpenAPIError {
body : localVarBody ,
error : err . Error ( ) ,
}
return localVarReturnValue , localVarHTTPResponse , newErr
}
return localVarReturnValue , localVarHTTPResponse , nil
}