Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Delete remote repo when error thrown for locally created app #21

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
235 changes: 235 additions & 0 deletions client/api_apps.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,12 @@ const CREATE_REPO_PATH = "/github"
type AppsAPI interface {
CreateApp(ctx _context.Context, language string, application Application) (InlineResponse2002, *_nethttp.Response, error)
CreateRepository(ctx _context.Context, repositoryDetails CreateRepository) (InlineResponse2008, *_nethttp.Response, error)
DeleteRepository(ctx _context.Context, repositoryURL DeleteRepository) (InlineResponse2002, *_nethttp.Response, error)
DeleteAppByUser(ctx _context.Context, app string) (InlineResponse2002, *_nethttp.Response, error)
FetchAppByUser(ctx _context.Context, app string) (InlineResponse2003, *_nethttp.Response, error)
FetchAppsByUser(ctx _context.Context) (InlineResponse2003, *_nethttp.Response, error)
FetchAppRemote(ctx _context.Context, app string) (InlineResponse2008, *_nethttp.Response, error)
FetchPAT(ctx _context.Context, publickey EncryptKey) (InlineResponse2009, *_nethttp.Response, error)
}

// AppsAPIService AppsAPI service
Expand Down Expand Up @@ -170,6 +173,10 @@ func (a *AppsAPIService) CreateRepository(ctx _context.Context, repositoryDetail
return localVarReturnValue, localVarHTTPResponse, err
}
localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
if err != nil {
return localVarReturnValue, localVarHTTPResponse, err
}

err = localVarHTTPResponse.Body.Close()
if err != nil {
return localVarReturnValue, localVarHTTPResponse, err
Expand All @@ -196,6 +203,234 @@ func (a *AppsAPIService) CreateRepository(ctx _context.Context, repositoryDetail

}

func (a *AppsAPIService) DeleteRepository(ctx _context.Context, repositoryURL DeleteRepository) (InlineResponse2002, *_nethttp.Response, error) {
var (
localVarHTTPMethod = _nethttp.MethodPost
localVarPostBody interface{}
localVarFormFileName string
localVarFileName string
localVarFileBytes []byte
localVarReturnValue InlineResponse2002
)
localVarPath := a.client.cfg.BasePath + "/github/delete"
localVarHeaderParams := make(map[string]string)
localVarQueryParams := _neturl.Values{}
localVarFormParams := _neturl.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 = &repositoryURL

r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)
if err != nil {
return localVarReturnValue, nil, err
}
localVarHTTPResponse, err := a.client.CallAPI(r)

if err != nil || localVarHTTPResponse == nil {
return localVarReturnValue, localVarHTTPResponse, err
}
localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
if err != nil {
return localVarReturnValue, localVarHTTPResponse, err
}

err = localVarHTTPResponse.Body.Close()
if err != nil {
return localVarReturnValue, localVarHTTPResponse, err
}

if localVarHTTPResponse.StatusCode >= 300 {
newErr := GenericOpenAPIError{
body: localVarBody,
error: fetchError(localVarBody),
}
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
}

/*
FetchAppRemote Fetch an application's remote
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param app The name of the application
@return InlineResponse2008
*/
func (a *AppsAPIService) FetchAppRemote(ctx _context.Context, app string) (InlineResponse2008, *_nethttp.Response, error) {
var (
localVarHTTPMethod = _nethttp.MethodGet
localVarPostBody interface{}
localVarFormFileName string
localVarFileName string
localVarFileBytes []byte
localVarReturnValue InlineResponse2008
)
localVarPath := a.client.cfg.BasePath + "/apps/{app}/remote"
localVarPath = strings.Replace(localVarPath, "{"+"app"+"}", _neturl.QueryEscape(parameterToString(app, "")), -1)

localVarHeaderParams := make(map[string]string)
localVarQueryParams := _neturl.Values{}
localVarFormParams := _neturl.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{"application/json"}

// set Accept header
localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
if localVarHTTPHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)

if err != nil {
return localVarReturnValue, nil, err
}

localVarHTTPResponse, err := a.client.CallAPI(r)
if err != nil || localVarHTTPResponse == nil {
return localVarReturnValue, localVarHTTPResponse, err
}

localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
localVarHTTPResponse.Body.Close()
if err != nil {
return localVarReturnValue, localVarHTTPResponse, err
}

if localVarHTTPResponse.StatusCode >= 300 {
newErr := GenericOpenAPIError{
body: localVarBody,
error: fetchError(localVarBody),
}
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
}

/*
FetchPAT Fetches PAT for the user to push local source code
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
* @param publickey RSA Public key for encrypting the PAT
@return InlineResponse2009
*/
func (a *AppsAPIService) FetchPAT(ctx _context.Context, publickey EncryptKey) (InlineResponse2009, *_nethttp.Response, error) {
var (
localVarHTTPMethod = _nethttp.MethodPost
localVarPostBody interface{}
localVarFormFileName string
localVarFileName string
localVarFileBytes []byte
localVarReturnValue InlineResponse2009
)
localVarPath := a.client.cfg.BasePath + "/github/token"

localVarHeaderParams := make(map[string]string)
localVarQueryParams := _neturl.Values{}
localVarFormParams := _neturl.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{"application/json"}

// set Accept header
localVarHTTPHeaderAccept := selectHeaderAccept(localVarHTTPHeaderAccepts)
if localVarHTTPHeaderAccept != "" {
localVarHeaderParams["Accept"] = localVarHTTPHeaderAccept
}
// body params
localVarPostBody = &publickey

r, err := a.client.prepareRequest(ctx, localVarPath, localVarHTTPMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFormFileName, localVarFileName, localVarFileBytes)

if err != nil {
return localVarReturnValue, nil, err
}

localVarHTTPResponse, err := a.client.CallAPI(r)
if err != nil || localVarHTTPResponse == nil {
return localVarReturnValue, localVarHTTPResponse, err
}

localVarBody, err := _ioutil.ReadAll(localVarHTTPResponse.Body)
localVarHTTPResponse.Body.Close()
if err != nil {
return localVarReturnValue, localVarHTTPResponse, err
}

if localVarHTTPResponse.StatusCode >= 300 {
newErr := GenericOpenAPIError{
body: localVarBody,
error: fetchError(localVarBody),
}
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
}

/*
DeleteAppByUser Delete an application owned by a user
* @param ctx _context.Context - for authentication, logging, cancellation, deadlines, tracing, etc. Passed from http.Request or context.Background().
Expand Down
10 changes: 10 additions & 0 deletions client/model_encrypt_key.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package openapi

import (
"crypto/rsa"
)

// EncryptKey struct for EncryptKey
type EncryptKey struct {
PublicKey rsa.PublicKey `json:"public_key"`
}
10 changes: 6 additions & 4 deletions client/model_inline_response_200.go
Original file line number Diff line number Diff line change
Expand Up @@ -57,14 +57,16 @@ type InlineResponse2007 struct {

// InlineResponse2008 struct for InlineResponse2008
type InlineResponse2008 struct {
// Git clone URL of the application
CloneURL string `json:"cloneurl" bson:"cloneurl"`
// Email id of Gasper Github user
GitURL string `json:"giturl" bson:"giturl"`
}

// InlineResponse2009 struct for InlineResponse2009
type InlineResponse2009 struct {
// PAT for pushing code to repository
PAT string `json:"pat" bson:"pat"`
// Username of Gasper Github user
Username string `json:"username" bson:"username"`
// Repository contains the name of the Github repository
Repository string `json:"repository" bson:"repository"`
// Email id of Gasper Github user
Email string `json:"email" bson:"email"`
}
5 changes: 5 additions & 0 deletions client/model_repository_details.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,8 @@ type CreateRepository struct {
// Name of the Repository
Name string `json:"name,omitempty"`
}

type DeleteRepository struct {
// GitURL of the Repository
GitURL string `json:"giturl" bson:"giturl"`
}
Loading