Add swagger annotations to apiserver
Signed-off-by: Mihaela Balutoiu <mbalutoiu@cloudbasesolutions.com>
This commit is contained in:
parent
b506df20da
commit
d122f293cf
4 changed files with 98 additions and 0 deletions
|
|
@ -26,6 +26,20 @@ import (
|
|||
"github.com/gorilla/mux"
|
||||
)
|
||||
|
||||
// swagger:route POST /repositories repositories Create
|
||||
//
|
||||
// Create repository with the parameters given.
|
||||
//
|
||||
// Parameters:
|
||||
// + name: Body
|
||||
// description: Parameters used when creating the repository.
|
||||
// type: CreateRepoParams
|
||||
// in: body
|
||||
// required: true
|
||||
//
|
||||
// Responses:
|
||||
// 200: Repository
|
||||
// default: APIErrorResponse
|
||||
func (a *APIController) CreateRepoHandler(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
|
||||
|
|
@ -48,6 +62,13 @@ func (a *APIController) CreateRepoHandler(w http.ResponseWriter, r *http.Request
|
|||
}
|
||||
}
|
||||
|
||||
// swagger:route GET /repositories repositories List
|
||||
//
|
||||
// List repositories.
|
||||
//
|
||||
// Responses:
|
||||
// 200: Repositories
|
||||
// default: APIErrorResponse
|
||||
func (a *APIController) ListReposHandler(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
|
||||
|
|
@ -64,6 +85,20 @@ func (a *APIController) ListReposHandler(w http.ResponseWriter, r *http.Request)
|
|||
}
|
||||
}
|
||||
|
||||
// swagger:route GET /repositories/{repoID} repositories Get
|
||||
//
|
||||
// Get repository by ID.
|
||||
//
|
||||
// Parameters:
|
||||
// + name: repoID
|
||||
// description: ID of the repository to fetch.
|
||||
// type: string
|
||||
// in: path
|
||||
// required: true
|
||||
//
|
||||
// Responses:
|
||||
// 200: Repository
|
||||
// default: APIErrorResponse
|
||||
func (a *APIController) GetRepoByIDHandler(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
|
||||
|
|
@ -93,6 +128,19 @@ func (a *APIController) GetRepoByIDHandler(w http.ResponseWriter, r *http.Reques
|
|||
}
|
||||
}
|
||||
|
||||
// swagger:route DELETE /repositories/{repoID} repositories Delete
|
||||
//
|
||||
// Delete repository by ID.
|
||||
//
|
||||
// Parameters:
|
||||
// + name: repoID
|
||||
// description: ID of the repository to delete.
|
||||
// type: string
|
||||
// in: path
|
||||
// required: true
|
||||
//
|
||||
// Responses:
|
||||
// default: APIErrorResponse
|
||||
func (a *APIController) DeleteRepoHandler(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
|
||||
|
|
|
|||
|
|
@ -12,8 +12,22 @@
|
|||
// License for the specific language governing permissions and limitations
|
||||
// under the License.
|
||||
|
||||
// Package routers Garm API.
|
||||
//
|
||||
// The Garm API generated using go-swagger.
|
||||
//
|
||||
// BasePath: /api/v1
|
||||
// Version: 1.0.0
|
||||
// License: Apache 2.0 https://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// swagger:meta
|
||||
package routers
|
||||
|
||||
//go:generate swagger generate spec --input=../swagger-models.yaml --output=../swagger.yaml --include="routers|controllers"
|
||||
//go:generate swagger validate ../swagger.yaml
|
||||
//go:generate rm -rf ../../client
|
||||
//go:generate swagger generate client --target=../../ --spec=../swagger.yaml
|
||||
|
||||
import (
|
||||
"io"
|
||||
"net/http"
|
||||
|
|
|
|||
33
apiserver/swagger-models.yaml
Normal file
33
apiserver/swagger-models.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# NOTE: The purpose of these definitions is to reuse the existing golang
|
||||
# types from GARM packages.
|
||||
definitions:
|
||||
Repositories:
|
||||
type: array
|
||||
x-go-type:
|
||||
type: Repositories
|
||||
import:
|
||||
package: github.com/cloudbase/garm/params
|
||||
alias: garm_params
|
||||
items:
|
||||
$ref: '#/definitions/Repository'
|
||||
Repository:
|
||||
type: object
|
||||
x-go-type:
|
||||
type: Repository
|
||||
import:
|
||||
package: github.com/cloudbase/garm/params
|
||||
alias: garm_params
|
||||
CreateRepoParams:
|
||||
type: object
|
||||
x-go-type:
|
||||
type: CreateRepoParams
|
||||
import:
|
||||
package: github.com/cloudbase/garm/params
|
||||
alias: garm_params
|
||||
APIErrorResponse:
|
||||
type: object
|
||||
x-go-type:
|
||||
type: APIErrorResponse
|
||||
import:
|
||||
package: github.com/cloudbase/garm/apiserver/params
|
||||
alias: apiserver_params
|
||||
Loading…
Add table
Add a link
Reference in a new issue