Обьекты

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

async objects_api_crud_svc.create(payload: dict | None = None, error_handler: ErrorHandler = Depends(ErrorHandler))

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

Запрос:

http

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

{
    "attributes": {
        "cn": "object1",
        "description": "describtion",
        "prsJsonConfigString": "configuration parameters",
        "prsActive": true,
        "prsDefault": true,
        "prsIndex": 1
    }
}

response

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

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

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

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

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

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

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

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

Ответ:

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

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

async objects_api_crud_svc.delete(payload: ObjectRead, error_handler: ErrorHandler = Depends(ErrorHandler))

Метод удаления объекта в иерархии.

Запрос:

http

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

{
    "id": "id of an object 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 objects_api_crud_svc.read(q: str | None = None, payload: ObjectRead | None = None, error_handler: ErrorHandler = Depends(ErrorHandler))

Метод чтения обьекта в иерархии.

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

http

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

{
    "id": "object id to retrive",
    "cn": "object1",
    "description": "describtion",
    "prsJsonConfigString": "configuration parameters",
    "prsActive": true,
    "prsDefault": true,
    "prsIndex": 1
}

response

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

{
    "data": ["retrived objects"]
}

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

http

GET /v1/objects/?q={"id":"object_id_to_retrive","cn":"object1","description":"describtion","prsJsonConfigString":"configuration_parameters","prsActive":true,"prsDefault":true,"prsIndex":1} 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": ["retrived objects"]
}

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

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

  • cn (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 objects_api_crud_svc.update(payload: dict, error_handler: ErrorHandler = Depends(ErrorHandler))

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

Запрос:

http

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

{
    "id":"object_id",
    "attributes": {
        "cn": "object name",
        "description": "description of the object",
        "prsJsonConfigString": "node configuration",
        "prsActive": true,
        "prsDefault": false,
        "prsIndex": 12345
    }
}

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) - детали ошибки.