diff --git a/api/swagger.json b/api/swagger.json index 6436484..8de2d8a 100644 --- a/api/swagger.json +++ b/api/swagger.json @@ -80,12 +80,9 @@ ], "responses": { "200": { - "description": "Array of matching jobs", + "description": "Job array and page info", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/schema.Job" - } + "$ref": "#/definitions/api.GetJobsApiResponse" } }, "400": { @@ -681,6 +678,26 @@ } } }, + "api.GetJobsApiResponse": { + "type": "object", + "properties": { + "items": { + "description": "Number of jobs returned", + "type": "integer" + }, + "jobs": { + "description": "Array of jobs", + "type": "array", + "items": { + "$ref": "#/definitions/schema.JobMeta" + } + }, + "page": { + "description": "Page id returned", + "type": "integer" + } + } + }, "api.StartJobApiResponse": { "type": "object", "properties": { diff --git a/api/swagger.yaml b/api/swagger.yaml index ca04575..65806ed 100644 --- a/api/swagger.yaml +++ b/api/swagger.yaml @@ -42,6 +42,20 @@ definitions: description: Statustext of Errorcode type: string type: object + api.GetJobsApiResponse: + properties: + items: + description: Number of jobs returned + type: integer + jobs: + description: Array of jobs + items: + $ref: '#/definitions/schema.JobMeta' + type: array + page: + description: Page id returned + type: integer + type: object api.StartJobApiResponse: properties: id: @@ -438,11 +452,9 @@ paths: - application/json responses: "200": - description: Array of matching jobs + description: Job array and page info schema: - items: - $ref: '#/definitions/schema.Job' - type: array + $ref: '#/definitions/api.GetJobsApiResponse' "400": description: Bad Request schema: diff --git a/internal/api/docs.go b/internal/api/docs.go index 4ac70a6..62d05e2 100644 --- a/internal/api/docs.go +++ b/internal/api/docs.go @@ -86,12 +86,9 @@ const docTemplate = `{ ], "responses": { "200": { - "description": "Array of matching jobs", + "description": "Job array and page info", "schema": { - "type": "array", - "items": { - "$ref": "#/definitions/schema.Job" - } + "$ref": "#/definitions/api.GetJobsApiResponse" } }, "400": { @@ -687,6 +684,26 @@ const docTemplate = `{ } } }, + "api.GetJobsApiResponse": { + "type": "object", + "properties": { + "items": { + "description": "Number of jobs returned", + "type": "integer" + }, + "jobs": { + "description": "Array of jobs", + "type": "array", + "items": { + "$ref": "#/definitions/schema.JobMeta" + } + }, + "page": { + "description": "Page id returned", + "type": "integer" + } + } + }, "api.StartJobApiResponse": { "type": "object", "properties": { diff --git a/internal/api/rest.go b/internal/api/rest.go index 6572147..95b87b2 100644 --- a/internal/api/rest.go +++ b/internal/api/rest.go @@ -738,29 +738,6 @@ func (api *RestApi) checkAndHandleStopJob(rw http.ResponseWriter, job *schema.Jo api.JobRepository.TriggerArchiving(job) } -// func (api *RestApi) importJob(rw http.ResponseWriter, r *http.Request) { -// if user := auth.GetUser(r.Context()); user != nil && !user.HasRole(auth.RoleApi) { -// handleError(fmt.Errorf("missing role: %v", auth.RoleApi), http.StatusForbidden, rw) -// return -// } - -// var body struct { -// Meta *schema.JobMeta `json:"meta"` -// Data *schema.JobData `json:"data"` -// } -// if err := decode(r.Body, &body); err != nil { -// handleError(fmt.Errorf("import failed: %s", err.Error()), http.StatusBadRequest, rw) -// return -// } - -// if err := api.JobRepository.ImportJob(body.Meta, body.Data); err != nil { -// handleError(fmt.Errorf("import failed: %s", err.Error()), http.StatusUnprocessableEntity, rw) -// return -// } - -// rw.Write([]byte(`{ "status": "OK" }`)) -// } - func (api *RestApi) getJobMetrics(rw http.ResponseWriter, r *http.Request) { id := mux.Vars(r)["id"] metrics := r.URL.Query()["metric"]