From f13d19b4ec99229b09f58e0041582412d2ad78f7 Mon Sep 17 00:00:00 2001 From: Mihaela Balutoiu Date: Tue, 18 Jul 2023 15:19:53 +0300 Subject: [PATCH] Add more functionality to swagger client library Signed-off-by: Mihaela Balutoiu --- apiserver/controllers/controllers.go | 14 ++++++++++++++ apiserver/swagger-models.yaml | 16 ++++++++++++++++ params/params.go | 3 +++ 3 files changed, 33 insertions(+) diff --git a/apiserver/controllers/controllers.go b/apiserver/controllers/controllers.go index 37da8f1a..a089db54 100644 --- a/apiserver/controllers/controllers.go +++ b/apiserver/controllers/controllers.go @@ -202,6 +202,13 @@ func (a *APIController) NotFoundHandler(w http.ResponseWriter, r *http.Request) } } +// swagger:route GET /metrics-token metrics-token MetricsToken +// +// Returns a JWT token that can be used to access the metrics endpoint. +// +// Responses: +// 200: JWTResponse +// 401: APIErrorResponse func (a *APIController) MetricsTokenHandler(w http.ResponseWriter, r *http.Request) { ctx := r.Context() @@ -350,6 +357,13 @@ func (a *APIController) ListProviders(w http.ResponseWriter, r *http.Request) { } } +// swagger:route GET /jobs jobs ListJobs +// +// List all jobs. +// +// Responses: +// 200: Jobs +// 400: APIErrorResponse func (a *APIController) ListAllJobs(w http.ResponseWriter, r *http.Request) { ctx := r.Context() jobs, err := a.r.ListAllJobs(ctx) diff --git a/apiserver/swagger-models.yaml b/apiserver/swagger-models.yaml index d64ce0c7..c3cddd1d 100644 --- a/apiserver/swagger-models.yaml +++ b/apiserver/swagger-models.yaml @@ -29,6 +29,22 @@ definitions: import: package: github.com/cloudbase/garm/params alias: garm_params + Jobs: + type: array + x-go-type: + type: Jobs + import: + package: github.com/cloudbase/garm/params + alias: garm_params + items: + $ref: '#/definitions/Job' + Job: + type: object + x-go-type: + type: Job + import: + package: github.com/cloudbase/garm/params + alias: garm_params Credentials: type: array x-go-type: diff --git a/params/params.go b/params/params.go index 4749c0a2..c6797fbd 100644 --- a/params/params.go +++ b/params/params.go @@ -491,3 +491,6 @@ type Job struct { CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` } + +// used by swagger client generated code +type Jobs []Job