From dba9c3b11b2dedf2e6357d6f4d5655b37c986915 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torma=20Krist=C3=B3f?= Date: Tue, 17 Aug 2021 16:28:27 +0200 Subject: [PATCH] add updates to results and sample services --- output-service-rdb.yml | 38 ++++++++ sample-service.yml | 200 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 238 insertions(+) create mode 100644 sample-service.yml diff --git a/output-service-rdb.yml b/output-service-rdb.yml index 6c3e20b..bcd3ff8 100644 --- a/output-service-rdb.yml +++ b/output-service-rdb.yml @@ -33,6 +33,40 @@ paths: 'application/JSON': schema: $ref: '#/components/schemas/ApiResponse' + /output/count: + get: + tags: + - output + summary: Get number of decision objects + operationId: getcount + responses: + 200: + description: Number of decision objects + content: + 'application/JSON': + schema: + $ref: '#/components/schemas/Count' + /output/page/{pageNum}: + get: + tags: + - output + summary: Get decision objects (paginated, filter is always 10) + operationId: getpage + parameters: + - name: pageNum + in: path + description: Number of page + required: true + schema: + type: integer + minimum: 0 + responses: + 200: + description: Array of decision objects + content: + 'application/JSON': + schema: + $ref: '#/components/schemas/ResultObjects' /output/filter/negative: get: tags: @@ -172,3 +206,7 @@ components: type: string message: type: string + Count: + type: integer + properties: + minimum: 0 \ No newline at end of file diff --git a/sample-service.yml b/sample-service.yml new file mode 100644 index 0000000..f8b99c6 --- /dev/null +++ b/sample-service.yml @@ -0,0 +1,200 @@ +openapi: 3.0.3 +info: + title: Sample Service + description: This is the feature extraction interface of the Birbnetes system. + contact: + email: tormakristof@tormakristof.eu + license: + name: Apache 2.0 + url: http://www.apache.org/licenses/LICENSE-2.0.html + version: 1.0.0 +servers: +- url: https://birb.k8s.kmlabz.com +tags: +- name: sample + description: Sample Service interaction +paths: + /sample: + get: + tags: + - sample + summary: Get all sample objects + operationId: getall + responses: + 200: + description: Array of sample objects + content: + 'application/JSON': + schema: + $ref: '#/components/schemas/ResultObjects' + 404: + description: No object matching filter + content: + 'application/JSON': + schema: + $ref: '#/components/schemas/ApiResponse' + /sample/count: + get: + tags: + - sample + summary: Get number of sample objects + operationId: getcount + responses: + 200: + description: Number of sample objects + content: + 'application/JSON': + schema: + $ref: '#/components/schemas/Count' + /sample/page/{pageNum}: + get: + tags: + - sample + summary: Get sample objects (paginated, filter is always 10) + operationId: getpage + parameters: + - name: pageNum + in: path + description: Number of page + required: true + schema: + type: integer + minimum: 0 + responses: + 200: + description: Array of sample objects + content: + 'application/JSON': + schema: + $ref: '#/components/schemas/ResultObjects' + /sample/after/{dateAfter}: + get: + tags: + - sample + summary: Get sample before a date + operationId: getallafter + parameters: + - name: dateAfter + in: path + description: Date of filter + required: true + schema: + type: string + format: date + responses: + 200: + description: Array of sample objects + content: + 'application/JSON': + schema: + $ref: '#/components/schemas/ResultObjects' + 404: + description: No object matching filter + content: + 'application/JSON': + schema: + $ref: '#/components/schemas/ApiResponse' + /sample/before/{dateBefore}: + get: + tags: + - sample + summary: Get sample before a date + operationId: getallbefore + parameters: + - name: dateBefore + in: path + description: Date of filter + required: true + schema: + type: string + format: date + responses: + 200: + description: Array of sample objects + content: + 'application/JSON': + schema: + $ref: '#/components/schemas/ResultObjects' + 404: + description: NO objects matching filter + content: + 'application/JSON': + schema: + $ref: '#/components/schemas/ApiResponse' + /sample/device_id/{deviceId}: + get: + tags: + - sample + summary: Get sample of device + operationId: getsampledevice + parameters: + - name: deviceId + in: path + description: Device id + required: true + schema: + type: integer + responses: + 200: + description: Array of sample objects + content: + 'application/JSON': + schema: + $ref: '#/components/schemas/ResultObjects' + 404: + description: NO objects matching filter + content: + 'application/JSON': + schema: + $ref: '#/components/schemas/ApiResponse' + /sample/{tagID}: + get: + tags: + - sample + summary: Get sample by ID + operationId: getsampleid + parameters: + - name: tagID + in: path + description: ID of wave file + required: true + schema: + type: integer + format: int32 + responses: + 200: + description: sample object + content: + 'application/JSON': + schema: + $ref: '#/components/schemas/ResultObject' + 404: + description: Tag not found + content: + 'application/JSON': + schema: + $ref: '#/components/schemas/ApiResponse' +components: + schemas: + ResultObjects: + type: array + items: + $ref: '#/components/schemas/ResultObject' + ResultObject: + type: object + properties: + tag: + type: string + probability: + type: number + ApiResponse: + type: object + properties: + status: + type: string + message: + type: string + Count: + type: integer + properties: + minimum: 0 \ No newline at end of file