Теги

Модуль содержит примеры запросов и ответов на них, параметров которые могут входить в запрос, в сервисе tags.

async tags_api_crud_svc.create(payload: TagCreate, error_handler: ErrorHandler = Depends(ErrorHandler))

Метод добавляет тег в иерархию.

Запрос:

http

POST /v1/tags/ HTTP/1.1
Host: localhost
Accept: application/json
Content-Type: application/json
Authorization: No Auth

{
    "attributes": {
        "cn": "tag1",
        "description": "describtion",
        "prsJsonConfigString": "configuration parameters",
        "prsActive": true,
        "prsDefault": true,
        "prsIndex": 1,
        "prsArchive": true,
        "prsCompress": true,
        "prsMaxLineDev": 12,
        "prsStep": true,
        "prsUpdate": true,
        "prsValueTypeCode": 1,
        "prsDefaultValue": 123,
        "prsMeasureUnits": "degrees"
    }
}

response

HTTP/1.1 200 OK
Content-Type: application/json
Access-Control-Allow-Origin: *
Content-type: application/json

{
    "id": "new tag id"
}
  • attributes (dict) - словарь с параметрами для создания тега.

    • cn (str) - имя тега. Необязательный атрибут.

    • description (str) - описание экземпляра. Необязательный атрибут.

    • prsJsonConfigString (str) - Строка содержит, в случае необходимости, конфигурацию узла. Интерпретируется сервисом, управляющим сущностью, которой принадлежит экземпляр. Необязательный аттрибут

    • prsActive (bool) - Определяет, активен ли экземпляр. Необязательный атрибут.

    • prsDefault (bool) - Если = True, то данный экземпляр. Необязательный атрибут. считаеться узлом по умолчанию в списке равноправных узлов данного уровня иерархии. Необязательный атрибут.

    • prsIndex (int) - Если у узлов одного уровня иерархии проставлены индексы, то перед отдачей клиенту списка экземпляров они сортируются соответственно их индексам. Необязательный атрибут.

    • prsArchive (bool) - Флаг архивирования значений тега. Необязательный аттрибут.

    • prsCompress (bool) - Флаг сжатия значений тега. Необязательный атрибут. Если не указан, то поиск ведётся от главного узла иерархии. Необязательный атрибут.

    • prsMaxLineDev (float) - Параметр сжатия значений тега. Необязательный атрибут.

    • prsStep (bool) - Флаг ступенчатого тега. Необязательный атрибут.

    • prsUpdate (bool) - Флаг обновления значений тега. Необязательный атрибут.

    • prsValueTypeCode (int) - Тип значений тега. Необязательный атрибут.

    • prsDefaultValue (Any) - Значение тега по умолчанию. Необязательный атрибут.

    • prsMeasureUnits (str) - Единицы измерения тега. Необязательный атрибут.

Ответ:

  • id (uuid) - id созданного тега

  • detail (str) - пояснения к ошибке

async tags_api_crud_svc.delete(payload: NodeDelete, error_handler: ErrorHandler = Depends(ErrorHandler))

Метод удаления тега в иерархии.

Запрос:

http

DELETE /v1/tags/ HTTP/1.1
Host: localhost
Accept: application/json
Content-Type: application/json
Authorization: No Auth

{
    "id": "id of a tag to delete"
}

response

HTTP/1.1 200 OK
Content-Type: application/json
Access-Control-Allow-Origin: *
Content-type: application/json

    null
  • id (str | list[str]) - Идентификатор/ы удаляемого узла.

Ответ:

  • null - в случае успешного запроса.

  • detail (list) - Детали ошибки.

async tags_api_crud_svc.read(q: str | None = None, payload: TagRead | None = None, error_handler: ErrorHandler = Depends(ErrorHandler))

Метод чтения тега в иерархии.

Пример запроса в формате JSON.

http

GET /v1/tags/ HTTP/1.1
Host: localhost
Accept: application/json
Content-Type: application/json
Authorization: No Auth

{
    "id": "tag id which we want to find",
    "base": "base node for search",
    "deref": true,
    "scope": 1,
    "attributes":["params to select"],
    "filter": {"key":"value for filtering"}
}

response

HTTP/1.1 200 OK
Content-Type: application/json
Access-Control-Allow-Origin: *
Content-type: application/json

{
    "data": "founded tag and it's params"
}

Пример query запроса.

http

GET /v1/tags/?q={"id":"tag_id_which_we_want_to_find","base":"base_node_for_search","deref":true,"scope":1,"attributes":["params_to_select"],"filter":{"key":"value_for_filtering"}} HTTP/1.1
Host: localhost
Accept: application/json
Content-Type: application/json
Authorization: No Auth

response

HTTP/1.1 200 OK
Content-Type: application/json
Access-Control-Allow-Origin: *
Content-type: application/json

{
    "data": "founded tag and it's params"
}

Параметры запроса:

  • id (str | list(str)) - идентификатор тега, который мы хотим прочитать. Необязательный аттрибут.

  • attributes (list[str]) - Список атрибутов, значения которых необходимо вернуть в ответе. По умолчанию - [“*“], то есть все атрибуты (кроме системных). Необязательный аттрибут.

  • base (str) - Базовый узел для поиска. Необязательный аттрибут. Если не указан, то поиск ведётся от главного узла иерархии.

  • deref (bool) - Флаг разыменования ссылок. По умолчанию true. Необязательный аттрибут.

  • scope (int) - Масштаб поиска. По умолчанию 1. Необязательный аттрибут.

    0 - получение данных по указанному в ключе base узлу

    1 - поиск среди непосредственных потомков указанного в base узла

    2 - поиск по всему дереву, начиная с указанного в base узла.

  • filter (dict) - Словарь из атрибутов и их значений, из которых формируется фильтр для поиска. Необязательный аттрибут.

Ответ:

  • data (list) - данные прочитанного тега/тегов. Если ничего не найденно - пустой лист.

  • detail (list) - Детали ошибки.

async tags_api_crud_svc.update(payload: TagUpdate, error_handler: ErrorHandler = Depends(ErrorHandler))

Метод обновления тега в иерархии.

Запрос:

http

PUT /v1/tags/ HTTP/1.1
Host: localhost
Accept: application/json
Content-Type: application/json
Authorization: No Auth

{
    "id": "tag id which we want to find",
    "base": "base node for search",
    "deref": true,
    "scope": 1,
    "attributes":["params to select"],
    "filter": {"key":"value for filtering"}
}

response

HTTP/1.1 200 OK
Content-Type: application/json
Access-Control-Allow-Origin: *
Content-type: application/json

{

}
  • id (str) - Идентификатор изменяемого узла.

  • attributes (dict) - словарь с параметрами для обновления тега.

    • cn (str) - имя тега. Необязательный атрибут.

    • description (str) - описание экземпляра. Необязательный атрибут.

    • prsJsonConfigString (str) - Строка содержит, в случае необходимости, конфигурацию узла. Интерпретируется сервисом, управляющим сущностью, которой принадлежит экземпляр. Необязательный аттрибут

    • prsActive (bool) - Определяет, активен ли экземпляр. Применяется, к примеру, для временного „выключения“ экземпляра на время, пока он ещё «недонастроен.

    • prsDefault (bool) - «Если = True, то данный экземпляр считается узлом по умолчанию в списке равноправных узлов данного уровня иерархии.

    • prsEntityTypeCode (int) - Атрибут используется для определения типа. К примеру, хранилища данных могут быть разных типов.

    • prsIndex (int) - Если у узлов одного уровня иерархии проставлены индексы, то перед отдачей клиенту списка экземпляров они сортируются в соответствии с их индексами.

Ответ:

  • {} - пустой словарь в случае успешного запроса.

  • detail (list) - Детали ошибки.