DD.WellWorkover.Cloud/swagger.json
2021-04-23 10:21:25 +05:00

1022 lines
26 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"openapi": "3.0.1",
"info": {
"title": "AsbCloudWebApi",
"version": "1.0"
},
"paths": {
"/auth/login": {
"post": {
"tags": [
"Auth"
],
"summary": "Аутентификация пользователя",
"operationId": "Login",
"requestBody": {
"description": "",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AuthDto"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/AuthDto"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/AuthDto"
}
}
}
},
"responses": {
"200": {
"description": "новый токен",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/UserTokenDto"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserTokenDto"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/UserTokenDto"
}
}
}
},
"400": {
"description": "логин и пароль не подходят"
}
}
}
},
"/auth/refresh": {
"get": {
"tags": [
"Auth"
],
"summary": "Продление срока действия токена",
"operationId": "Refresh",
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/api/well/{wellId}/data": {
"get": {
"tags": [
"Data"
],
"summary": "Возвращает данные САУБ по скважине.\r\nПо умолчанию за последние 10 минут.",
"operationId": "Get",
"parameters": [
{
"name": "wellId",
"in": "path",
"description": "id скважины",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "begin",
"in": "query",
"description": "дата начала выборки. По умолчанию: текущее время - intervalSec",
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "intervalSec",
"in": "query",
"description": "интервал времени даты начала выборки, секунды",
"schema": {
"type": "integer",
"format": "int32",
"default": 600
}
},
{
"name": "approxPointsCount",
"in": "query",
"description": "желаемое количество точек. Если в выборке точек будет больше, то выборка будет прорежена.",
"schema": {
"type": "integer",
"format": "int32",
"default": 1024
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DataSaubBaseDto"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DataSaubBaseDto"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DataSaubBaseDto"
}
}
}
}
}
}
}
},
"/api/well/{wellId}/message": {
"get": {
"tags": [
"Message"
],
"summary": "Выдает список сообщений по скважине",
"operationId": "Get",
"parameters": [
{
"name": "wellId",
"in": "path",
"description": "id скважины",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"name": "categoryids",
"in": "query",
"description": "список категорий",
"schema": {
"type": "array",
"items": {
"type": "integer",
"format": "int32"
}
}
},
{
"name": "begin",
"in": "query",
"description": "дата начала",
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "end",
"in": "query",
"description": "окончание",
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"name": "skip",
"in": "query",
"description": "для пагинации кол-во записей пропустить",
"schema": {
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "take",
"in": "query",
"description": "для пагинации кол-во записей",
"schema": {
"type": "integer",
"format": "int32",
"default": 32
}
}
],
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"$ref": "#/components/schemas/MessageDtoPaginationContainer"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/MessageDtoPaginationContainer"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/MessageDtoPaginationContainer"
}
}
}
}
}
}
},
"/api/telemetry/{uid}/info": {
"post": {
"tags": [
"Telemetry"
],
"summary": "Принимает общую информацию по скважине",
"operationId": "Info",
"parameters": [
{
"name": "uid",
"in": "path",
"description": "Уникальный идентификатор отправителя",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "нформация об отправителе",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TelemetryInfoDto"
}
},
"text/json": {
"schema": {
"$ref": "#/components/schemas/TelemetryInfoDto"
}
},
"application/*+json": {
"schema": {
"$ref": "#/components/schemas/TelemetryInfoDto"
}
}
}
},
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/api/telemetry/{uid}/data": {
"post": {
"tags": [
"Telemetry"
],
"summary": "Принимает данные от разных систем по скважине",
"operationId": "Data",
"parameters": [
{
"name": "uid",
"in": "path",
"description": "Уникальный идентификатор отправителя",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "Данные",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DataSaubBaseDto"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DataSaubBaseDto"
}
}
},
"application/*+json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DataSaubBaseDto"
}
}
}
}
},
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/api/telemetry/{uid}/message": {
"post": {
"tags": [
"Telemetry"
],
"summary": "Принимает список новых сообщений от телеметрии",
"operationId": "Message",
"parameters": [
{
"name": "uid",
"in": "path",
"description": "Уникальный идентификатор отправителя",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "сообщения",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TelemetryMessageDto"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TelemetryMessageDto"
}
}
},
"application/*+json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TelemetryMessageDto"
}
}
}
}
},
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/api/telemetry/{uid}/event": {
"post": {
"tags": [
"Telemetry"
],
"summary": "Принимает справочник событий",
"operationId": "Events",
"parameters": [
{
"name": "uid",
"in": "path",
"description": "Уникальный идентификатор отправителя",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "справочник событий",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventDto"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventDto"
}
}
},
"application/*+json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EventDto"
}
}
}
}
},
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/api/telemetry/{uid}/user": {
"post": {
"tags": [
"Telemetry"
],
"summary": "Принимает справочник пользователей телеметрии",
"operationId": "Users",
"parameters": [
{
"name": "uid",
"in": "path",
"description": "Уникальный идентификатор отправителя",
"required": true,
"schema": {
"type": "string"
}
}
],
"requestBody": {
"description": "справочник пользователей телеметрии",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TelemetryUserDto"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TelemetryUserDto"
}
}
},
"application/*+json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TelemetryUserDto"
}
}
}
}
},
"responses": {
"200": {
"description": "Success"
}
}
}
},
"/api/well": {
"get": {
"tags": [
"Well"
],
"operationId": "Get",
"responses": {
"200": {
"description": "Success",
"content": {
"text/plain": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WellDto"
}
}
},
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WellDto"
}
}
},
"text/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WellDto"
}
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"AuthDto": {
"type": "object",
"properties": {
"login": {
"type": "string",
"nullable": true
},
"password": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"DataSaubBaseDto": {
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"mode": {
"type": "integer",
"format": "int32",
"nullable": true
},
"user": {
"type": "string",
"nullable": true
},
"wellDepth": {
"type": "number",
"format": "double",
"nullable": true
},
"bitDepth": {
"type": "number",
"format": "double",
"nullable": true
},
"blockPosition": {
"type": "number",
"format": "double",
"nullable": true
},
"blockPositionMin": {
"type": "number",
"format": "double",
"nullable": true
},
"blockPositionMax": {
"type": "number",
"format": "double",
"nullable": true
},
"blockSpeed": {
"type": "number",
"format": "double",
"nullable": true
},
"blockSpeedSp": {
"type": "number",
"format": "double",
"nullable": true
},
"blockSpeedSpRotor": {
"type": "number",
"format": "double",
"nullable": true
},
"blockSpeedSpSlide": {
"type": "number",
"format": "double",
"nullable": true
},
"blockSpeedSpDevelop": {
"type": "number",
"format": "double",
"nullable": true
},
"pressure": {
"type": "number",
"format": "double",
"nullable": true
},
"pressureIdle": {
"type": "number",
"format": "double",
"nullable": true
},
"pressureSp": {
"type": "number",
"format": "double",
"nullable": true
},
"pressureSpRotor": {
"type": "number",
"format": "double",
"nullable": true
},
"pressureSpSlide": {
"type": "number",
"format": "double",
"nullable": true
},
"pressureSpDevelop": {
"type": "number",
"format": "double",
"nullable": true
},
"pressureDeltaLimitMax": {
"type": "number",
"format": "double",
"nullable": true
},
"axialLoad": {
"type": "number",
"format": "double",
"nullable": true
},
"axialLoadSp": {
"type": "number",
"format": "double",
"nullable": true
},
"axialLoadLimitMax": {
"type": "number",
"format": "double",
"nullable": true
},
"hookWeight": {
"type": "number",
"format": "double",
"nullable": true
},
"hookWeightIdle": {
"type": "number",
"format": "double",
"nullable": true
},
"hookWeightLimitMin": {
"type": "number",
"format": "double",
"nullable": true
},
"hookWeightLimitMax": {
"type": "number",
"format": "double",
"nullable": true
},
"rotorTorque": {
"type": "number",
"format": "double",
"nullable": true
},
"rotorTorqueIdle": {
"type": "number",
"format": "double",
"nullable": true
},
"rotorTorqueSp": {
"type": "number",
"format": "double",
"nullable": true
},
"rotorTorqueLimitMax": {
"type": "number",
"format": "double",
"nullable": true
},
"rotorSpeed": {
"type": "number",
"format": "double",
"nullable": true
},
"flow": {
"type": "number",
"format": "double",
"nullable": true
},
"flowIdle": {
"type": "number",
"format": "double",
"nullable": true
},
"flowDeltaLimitMax": {
"type": "number",
"format": "double",
"nullable": true
}
},
"additionalProperties": false
},
"EventDto": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"message": {
"type": "string",
"nullable": true
},
"idCategory": {
"type": "integer",
"format": "int32"
},
"tag": {
"type": "string",
"nullable": true
},
"eventType": {
"type": "integer",
"format": "int32"
},
"idSound": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
},
"MessageDto": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"date": {
"type": "string",
"format": "date-time"
},
"categoryId": {
"type": "integer",
"format": "int32"
},
"user": {
"type": "string",
"nullable": true
},
"message": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"MessageDtoPaginationContainer": {
"type": "object",
"properties": {
"skip": {
"type": "integer",
"format": "int32"
},
"take": {
"type": "integer",
"format": "int32"
},
"count": {
"type": "integer",
"format": "int32"
},
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MessageDto"
},
"nullable": true
}
},
"additionalProperties": false
},
"TelemetryInfoDto": {
"type": "object",
"properties": {
"date": {
"type": "string",
"format": "date-time"
},
"timeZoneId": {
"type": "string",
"nullable": true
},
"timeZoneOffsetTotalHours": {
"type": "number",
"format": "double"
},
"caption": {
"type": "string",
"nullable": true
},
"cluster": {
"type": "string",
"nullable": true
},
"deposit": {
"type": "string",
"nullable": true
},
"hmiVersion": {
"type": "string",
"nullable": true
},
"plcVersion": {
"type": "string",
"nullable": true
},
"comment": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"TelemetryMessageDto": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"date": {
"type": "string",
"format": "date-time"
},
"idEvent": {
"type": "integer",
"format": "int32"
},
"state": {
"type": "integer",
"format": "int32",
"nullable": true
},
"idTelemetryUser": {
"type": "integer",
"format": "int32",
"nullable": true
},
"arg0": {
"type": "string",
"nullable": true
},
"arg1": {
"type": "string",
"nullable": true
},
"arg2": {
"type": "string",
"nullable": true
},
"arg3": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"TelemetryUserDto": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"format": "int32"
},
"name": {
"type": "string",
"nullable": true
},
"surname": {
"type": "string",
"nullable": true
},
"patronymic": {
"type": "string",
"nullable": true
},
"level": {
"type": "integer",
"format": "int32"
}
},
"additionalProperties": false
},
"UserTokenDto": {
"type": "object",
"properties": {
"login": {
"type": "string",
"nullable": true
},
"level": {
"type": "integer",
"format": "int32",
"nullable": true
},
"name": {
"type": "string",
"nullable": true
},
"surname": {
"type": "string",
"nullable": true
},
"patronymic": {
"type": "string",
"nullable": true
},
"id": {
"type": "integer",
"format": "int32"
},
"customerName": {
"type": "string",
"nullable": true
},
"roleName": {
"type": "string",
"nullable": true
},
"token": {
"type": "string",
"nullable": true
}
},
"additionalProperties": false
},
"WellDto": {
"type": "object",
"properties": {
"caption": {
"type": "string",
"nullable": true
},
"cluster": {
"type": "string",
"nullable": true
},
"deposit": {
"type": "string",
"nullable": true
},
"id": {
"type": "integer",
"format": "int32"
},
"lastData": {
"nullable": true
}
},
"additionalProperties": false
}
},
"securitySchemes": {
"Bearer": {
"type": "apiKey",
"description": "JWT Authorization header using the Bearer scheme. Enter 'Bearer' [space] and then your token in the text input below. Example: 'Bearer 12345abcdef'",
"name": "Authorization",
"in": "header"
}
}
},
"security": [
{
"Bearer": [ ]
}
]
}