Skip to content

Commit

Permalink
Merge pull request #140 from mihaelabalutoiu/add-more-swagger-client-api
Browse files Browse the repository at this point in the history
Complete the swagger client library with full functionality
  • Loading branch information
gabriel-samfira authored Jul 19, 2023
2 parents ddd6976 + d2b7879 commit 019d9ef
Show file tree
Hide file tree
Showing 29 changed files with 4,545 additions and 0 deletions.
166 changes: 166 additions & 0 deletions apiserver/controllers/enterprises.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,20 @@ import (
"github.com/gorilla/mux"
)

// swagger:route POST /enterprises enterprises CreateEnterprise
//
// Create enterprise with the given parameters.
//
// Parameters:
// + name: Body
// description: Parameters used to create the enterprise.
// type: CreateEnterpriseParams
// in: body
// required: true
//
// Responses:
// 200: Enterprise
// default: APIErrorResponse
func (a *APIController) CreateEnterpriseHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()

Expand All @@ -48,6 +62,13 @@ func (a *APIController) CreateEnterpriseHandler(w http.ResponseWriter, r *http.R
}
}

// swagger:route GET /enterprises enterprises ListEnterprises
//
// List all enterprises.
//
// Responses:
// 200: Enterprises
// default: APIErrorResponse
func (a *APIController) ListEnterprisesHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()

Expand All @@ -64,6 +85,20 @@ func (a *APIController) ListEnterprisesHandler(w http.ResponseWriter, r *http.Re
}
}

// swagger:route GET /enterprises/{enterpriseID} enterprises GetEnterprise
//
// Get enterprise by ID.
//
// Parameters:
// + name: enterpriseID
// description: The ID of the enterprise to fetch.
// type: string
// in: path
// required: true
//
// Responses:
// 200: Enterprise
// default: APIErrorResponse
func (a *APIController) GetEnterpriseByIDHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()

Expand Down Expand Up @@ -93,6 +128,19 @@ func (a *APIController) GetEnterpriseByIDHandler(w http.ResponseWriter, r *http.
}
}

// swagger:route DELETE /enterprises/{enterpriseID} enterprises DeleteEnterprise
//
// Delete enterprise by ID.
//
// Parameters:
// + name: enterpriseID
// description: ID of the enterprise to delete.
// type: string
// in: path
// required: true
//
// Responses:
// default: APIErrorResponse
func (a *APIController) DeleteEnterpriseHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()

Expand Down Expand Up @@ -120,6 +168,25 @@ func (a *APIController) DeleteEnterpriseHandler(w http.ResponseWriter, r *http.R

}

// swagger:route PUT /enterprises/{enterpriseID} enterprises UpdateEnterprise
//
// Update enterprise with the given parameters.
//
// Parameters:
// + name: enterpriseID
// description: The ID of the enterprise to update.
// type: string
// in: path
// required: true
// + name: Body
// description: Parameters used when updating the enterprise.
// type: UpdateEntityParams
// in: body
// required: true
//
// Responses:
// 200: Enterprise
// default: APIErrorResponse
func (a *APIController) UpdateEnterpriseHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()

Expand Down Expand Up @@ -155,6 +222,26 @@ func (a *APIController) UpdateEnterpriseHandler(w http.ResponseWriter, r *http.R
}
}

// swagger:route POST /enterprises/{enterpriseID}/pools enterprises pools CreateEnterprisePool
//
// Create enterprise pool with the parameters given.
//
// Parameters:
// + name: enterpriseID
// description: Enterprise ID.
// type: string
// in: path
// required: true
//
// + name: Body
// description: Parameters used when creating the enterprise pool.
// type: CreatePoolParams
// in: body
// required: true
//
// Responses:
// 200: Pool
// default: APIErrorResponse
func (a *APIController) CreateEnterprisePoolHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()

Expand Down Expand Up @@ -191,6 +278,20 @@ func (a *APIController) CreateEnterprisePoolHandler(w http.ResponseWriter, r *ht
}
}

// swagger:route GET /enterprises/{enterpriseID}/pools enterprises pools ListEnterprisePools
//
// List enterprise pools.
//
// Parameters:
// + name: enterpriseID
// description: Enterprise ID.
// type: string
// in: path
// required: true
//
// Responses:
// 200: Pools
// default: APIErrorResponse
func (a *APIController) ListEnterprisePoolsHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
vars := mux.Vars(r)
Expand Down Expand Up @@ -220,6 +321,26 @@ func (a *APIController) ListEnterprisePoolsHandler(w http.ResponseWriter, r *htt

}

// swagger:route GET /enterprises/{enterpriseID}/pools/{poolID} enterprises pools GetEnterprisePool
//
// Get enterprise pool by ID.
//
// Parameters:
// + name: enterpriseID
// description: Enterprise ID.
// type: string
// in: path
// required: true
//
// + name: poolID
// description: Pool ID.
// type: string
// in: path
// required: true
//
// Responses:
// 200: Pool
// default: APIErrorResponse
func (a *APIController) GetEnterprisePoolHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
vars := mux.Vars(r)
Expand Down Expand Up @@ -249,6 +370,25 @@ func (a *APIController) GetEnterprisePoolHandler(w http.ResponseWriter, r *http.
}
}

// swagger:route DELETE /enterprises/{enterpriseID}/pools/{poolID} enterprises pools DeleteEnterprisePool
//
// Delete enterprise pool by ID.
//
// Parameters:
// + name: enterpriseID
// description: Enterprise ID.
// type: string
// in: path
// required: true
//
// + name: poolID
// description: ID of the enterprise pool to delete.
// type: string
// in: path
// required: true
//
// Responses:
// default: APIErrorResponse
func (a *APIController) DeleteEnterprisePoolHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()

Expand Down Expand Up @@ -277,6 +417,32 @@ func (a *APIController) DeleteEnterprisePoolHandler(w http.ResponseWriter, r *ht

}

// swagger:route PUT /enterprises/{enterpriseID}/pools/{poolID} enterprises pools UpdateEnterprisePool
//
// Update enterprise pool with the parameters given.
//
// Parameters:
// + name: enterpriseID
// description: Enterprise ID.
// type: string
// in: path
// required: true
//
// + name: poolID
// description: ID of the enterprise pool to update.
// type: string
// in: path
// required: true
//
// + name: Body
// description: Parameters used when updating the enterprise pool.
// type: UpdatePoolParams
// in: body
// required: true
//
// Responses:
// 200: Pool
// default: APIErrorResponse
func (a *APIController) UpdateEnterprisePoolHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()

Expand Down
14 changes: 14 additions & 0 deletions apiserver/controllers/instances.go
Original file line number Diff line number Diff line change
Expand Up @@ -232,6 +232,20 @@ func (a *APIController) ListOrgInstancesHandler(w http.ResponseWriter, r *http.R
}
}

// swagger:route GET /enterprises/{enterpriseID}/instances enterprises instances ListEnterpriseInstances
//
// List enterprise instances.
//
// Parameters:
// + name: enterpriseID
// description: Enterprise ID.
// type: string
// in: path
// required: true
//
// Responses:
// 200: Instances
// default: APIErrorResponse
func (a *APIController) ListEnterpriseInstancesHandler(w http.ResponseWriter, r *http.Request) {
ctx := r.Context()
vars := mux.Vars(r)
Expand Down
23 changes: 23 additions & 0 deletions apiserver/swagger-models.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,29 @@ definitions:
import:
package: github.com/cloudbase/garm/params
alias: garm_params
Enterprises:
type: array
x-go-type:
type: Enterprises
import:
package: github.com/cloudbase/garm/params
alias: garm_params
items:
$ref: '#/definitions/Enterprise'
Enterprise:
type: object
x-go-type:
type: Enterprise
import:
package: github.com/cloudbase/garm/params
alias: garm_params
CreateEnterpriseParams:
type: object
x-go-type:
type: CreateEnterpriseParams
import:
package: github.com/cloudbase/garm/params
alias: garm_params
UpdateEntityParams:
type: object
x-go-type:
Expand Down
Loading

0 comments on commit 019d9ef

Please sign in to comment.