mirror of
https://github.com/absmach/magistrala.git
synced 2026-06-23 04:10:28 +00:00
a0c40ba462
* chore(license): update copyright notices Add CI check for non go files to check that the files contain a license Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com> * fix(ci): log failed files When the CI fails during check for license header, log the failed file to console so that someone can check on the actual file. Also simplify the grep check to make it more human readable and understandable Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com> --------- Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>
272 lines
7.1 KiB
YAML
272 lines
7.1 KiB
YAML
# Copyright (c) Abstract Machines
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
openapi: 3.0.1
|
|
info:
|
|
title: Magistrala reader service
|
|
description: |
|
|
HTTP API for reading messages.
|
|
Some useful links:
|
|
- [The Magistrala repository](https://github.com/absmach/magistrala)
|
|
contact:
|
|
email: info@mainflux.com
|
|
license:
|
|
name: Apache 2.0
|
|
url: https://github.com/absmach/magistrala/blob/master/LICENSE
|
|
version: 0.14.0
|
|
|
|
servers:
|
|
- url: http://localhost:9003
|
|
- url: https://localhost:9003
|
|
- url: http://localhost:9005
|
|
- url: https://localhost:9005
|
|
- url: http://localhost:9007
|
|
- url: https://localhost:9007
|
|
- url: http://localhost:9009
|
|
- url: https://localhost:9009
|
|
- url: http://localhost:9011
|
|
- url: https://localhost:9011
|
|
|
|
tags:
|
|
- name: readers
|
|
description: Everything about your Readers
|
|
externalDocs:
|
|
description: Find out more about readers
|
|
url: http://docs.mainflux.io/
|
|
|
|
paths:
|
|
/channels/{chanId}/messages:
|
|
get:
|
|
summary: Retrieves messages sent to single channel
|
|
description: |
|
|
Retrieves a list of messages sent to specific channel. Due to
|
|
performance concerns, data is retrieved in subsets. The API readers must
|
|
ensure that the entire dataset is consumed either by making subsequent
|
|
requests, or by increasing the subset size of the initial request.
|
|
tags:
|
|
- readers
|
|
parameters:
|
|
- $ref: "#/components/parameters/ChanId"
|
|
- $ref: "#/components/parameters/Limit"
|
|
- $ref: "#/components/parameters/Offset"
|
|
- $ref: "#/components/parameters/Publisher"
|
|
- $ref: "#/components/parameters/Name"
|
|
- $ref: "#/components/parameters/Value"
|
|
- $ref: "#/components/parameters/BoolValue"
|
|
- $ref: "#/components/parameters/StringValue"
|
|
- $ref: "#/components/parameters/DataValue"
|
|
- $ref: "#/components/parameters/From"
|
|
- $ref: "#/components/parameters/To"
|
|
responses:
|
|
'200':
|
|
$ref: "#/components/responses/MessagesPageRes"
|
|
'400':
|
|
description: Failed due to malformed query parameters.
|
|
'401':
|
|
description: Missing or invalid access token provided.
|
|
'500':
|
|
$ref: "#/components/responses/ServiceError"
|
|
/health:
|
|
get:
|
|
summary: Retrieves service health check info.
|
|
tags:
|
|
- health
|
|
responses:
|
|
'200':
|
|
$ref: "#/components/responses/HealthRes"
|
|
'500':
|
|
$ref: "#/components/responses/ServiceError"
|
|
|
|
components:
|
|
schemas:
|
|
MessagesPage:
|
|
type: object
|
|
properties:
|
|
total:
|
|
type: number
|
|
description: Total number of items that are present on the system.
|
|
offset:
|
|
type: number
|
|
description: Number of items that were skipped during retrieval.
|
|
limit:
|
|
type: number
|
|
description: Size of the subset that was retrieved.
|
|
messages:
|
|
type: array
|
|
minItems: 0
|
|
uniqueItems: true
|
|
items:
|
|
type: object
|
|
properties:
|
|
channel:
|
|
type: integer
|
|
description: Unique channel id.
|
|
publisher:
|
|
type: integer
|
|
description: Unique publisher id.
|
|
protocol:
|
|
type: string
|
|
description: Protocol name.
|
|
name:
|
|
type: string
|
|
description: Measured parameter name.
|
|
unit:
|
|
type: string
|
|
description: Value unit.
|
|
value:
|
|
type: number
|
|
description: Measured value in number.
|
|
stringValue:
|
|
type: string
|
|
description: Measured value in string format.
|
|
boolValue:
|
|
type: boolean
|
|
description: Measured value in boolean format.
|
|
dataValue:
|
|
type: string
|
|
description: Measured value in binary format.
|
|
valueSum:
|
|
type: number
|
|
description: Sum value.
|
|
time:
|
|
type: number
|
|
description: Time of measurement.
|
|
updateTime:
|
|
type: number
|
|
description: Time of updating measurement.
|
|
|
|
parameters:
|
|
ChanId:
|
|
name: chanId
|
|
description: Unique channel identifier.
|
|
in: path
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: true
|
|
Limit:
|
|
name: limit
|
|
description: Size of the subset to retrieve.
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
default: 10
|
|
maximum: 100
|
|
minimum: 1
|
|
required: false
|
|
Offset:
|
|
name: offset
|
|
description: Number of items to skip during retrieval.
|
|
in: query
|
|
schema:
|
|
type: integer
|
|
default: 0
|
|
minimum: 0
|
|
required: false
|
|
Publisher:
|
|
name: Publisher
|
|
description: Unique thing identifier.
|
|
in: query
|
|
schema:
|
|
type: string
|
|
format: uuid
|
|
required: false
|
|
Name:
|
|
name: name
|
|
description: SenML message name.
|
|
in: query
|
|
schema:
|
|
type: string
|
|
required: false
|
|
Value:
|
|
name: v
|
|
description: SenML message value.
|
|
in: query
|
|
schema:
|
|
type: string
|
|
required: false
|
|
BoolValue:
|
|
name: vb
|
|
description: SenML message bool value.
|
|
in: query
|
|
schema:
|
|
type: boolean
|
|
required: false
|
|
StringValue:
|
|
name: vs
|
|
description: SenML message string value.
|
|
in: query
|
|
schema:
|
|
type: string
|
|
required: false
|
|
DataValue:
|
|
name: vd
|
|
description: SenML message data value.
|
|
in: query
|
|
schema:
|
|
type: string
|
|
required: false
|
|
Comparator:
|
|
name: comparator
|
|
description: Value comparison operator.
|
|
in: query
|
|
schema:
|
|
type: string
|
|
default: eq
|
|
enum:
|
|
- eq
|
|
- lt
|
|
- le
|
|
- gt
|
|
- ge
|
|
required: false
|
|
From:
|
|
name: from
|
|
description: SenML message time in nanoseconds (integer part represents seconds).
|
|
in: query
|
|
schema:
|
|
type: number
|
|
required: false
|
|
To:
|
|
name: to
|
|
description: SenML message time in nanoseconds (integer part represents seconds).
|
|
in: query
|
|
schema:
|
|
type: number
|
|
required: false
|
|
|
|
responses:
|
|
MessagesPageRes:
|
|
description: Data retrieved.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "#/components/schemas/MessagesPage"
|
|
ServiceError:
|
|
description: Unexpected server-side error occurred.
|
|
HealthRes:
|
|
description: Service Health Check.
|
|
content:
|
|
application/json:
|
|
schema:
|
|
$ref: "./schemas/HealthInfo.yml"
|
|
|
|
securitySchemes:
|
|
bearerAuth:
|
|
type: http
|
|
scheme: bearer
|
|
bearerFormat: JWT
|
|
description: |
|
|
* Users access: "Authorization: Bearer <user_token>"
|
|
|
|
thingAuth:
|
|
type: http
|
|
scheme: bearer
|
|
bearerFormat: uuid
|
|
description: |
|
|
* Things access: "Authorization: Thing <thing_key>"
|
|
|
|
security:
|
|
- bearerAuth: []
|
|
- thingAuth: []
|