Методы
Модуль содержит примеры запросов и ответов на них, параметров которые могут входить в запрос, в сервисе methods.
- class methods_api_crud_svc.MethodReadResult(*, data: list[OneMethodInReadResult])
- model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'data': FieldInfo(annotation=list[OneMethodInReadResult], required=True, title='Список узлов')}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class methods_api_crud_svc.MethodUpdateAttributes(*, cn: str = None, description: str | None = None, prsJsonConfigString: dict | None = None, prsActive: bool = True, prsDefault: bool | None = None, prsEntityTypeCode: int | None = None, prsIndex: int | None = None, prsMethodAddress: str | None = None)
- model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'cn': FieldInfo(annotation=str, required=False, title='Имя узла'), 'description': FieldInfo(annotation=Union[str, NoneType], required=False, title='Описание', description='Описание экземпляра.'), 'prsActive': FieldInfo(annotation=bool, required=False, default=True, title='Флаг активности.', description="Определяет, активен ли экземпляр. Применяется, к примеру, для временного 'выключения' экземпляра на время, пока он ещё недонастроен."), 'prsDefault': FieldInfo(annotation=Union[bool, NoneType], required=False, title='Сущность по умолчанию.', description='Если = ``true``\\, то данный экземпляр считается узлом по умолчанию в списке равноправных узлов данного уровня иерархии.'), 'prsEntityTypeCode': FieldInfo(annotation=Union[int, NoneType], required=False, title='Тип узла.', description='Атрибут используется для определения типа. К примеру, хранилища данных могут быть разных типов.'), 'prsIndex': FieldInfo(annotation=Union[int, NoneType], required=False, title='Индекс узла.', description='Если у узлов одного уровня иерархии проставлены индексы, то перед отдачей клиенту списка экземпляров они сортируются в соответствии с их индексами.'), 'prsJsonConfigString': FieldInfo(annotation=Union[dict, NoneType], required=False, title='Конфигурация экземпляра.', description='Строка содержит, в случае необходимости, конфигурацию узла. Интерпретируется сервисом, управляющим сущностью, которой принадлежит экземпляр.'), 'prsMethodAddress': FieldInfo(annotation=Union[str, NoneType], required=False)}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- class methods_api_crud_svc.OneMethodInReadResult(*, id: str, parentId: str | None = None, attributes: dict, children: list[dict] | None = None, initiatedBy: str | list[str] = [], parameters: List[dict] = [])
- model_config: ClassVar[ConfigDict] = {'protected_namespaces': ()}
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- model_fields: ClassVar[dict[str, FieldInfo]] = {'attributes': FieldInfo(annotation=dict, required=True, title='Атрибуты метода', json_schema_extra={'required': True}), 'children': FieldInfo(annotation=Union[list[dict], NoneType], required=False, title='Список дочерних узлов'), 'id': FieldInfo(annotation=str, required=True, title='Id узла.'), 'initiatedBy': FieldInfo(annotation=Union[str, list[str]], required=False, default=[], title='Список id экземпляров сущностей, инициирующих вычисление тега.'), 'parameters': FieldInfo(annotation=List[dict], required=False, default=[], title='Параметры метода.', description=('При создании параметров метода они должны быть пронумерованы ', 'с помощью атрибута prsIndex. В противном случае параметры ', 'будут переданы в вычислительный метод в случайном порядке.')), 'parentId': FieldInfo(annotation=Union[str, NoneType], required=False, title='Id родительского узла.')}
Metadata about the fields defined on the model, mapping of field names to [FieldInfo][pydantic.fields.FieldInfo].
This replaces Model.__fields__ from Pydantic V1.
- async methods_api_crud_svc.create(payload: MethodCreate, error_handler: ErrorHandler = Depends(ErrorHandler))
Метод добавляет метод в иерархию.
Запрос:
POST /v1/methods/ HTTP/1.1 Host: localhost Accept: application/json Content-Type: application/json Authorization: No Auth { "initiatedBy": "id of a node which initiates method", "attributes": { "prsMethodAddress":"method_adress", "prsEntityTypeCode":0, "cn":"method1", "description":"method1_description", "prsJsonConfigString":"method1_config_string", "prsActive":true }, "parameters":[ { "attributes":{ "cn":"param1", "description":"param1_description", "prsJsonConfigString":"config_string1", "prsActive":true } }, { "attributes":{ "cn":"param2", "description":"param2_description", "prsJsonConfigString":"config_string2", "prsActive":true } } ], "parentId":"id of a node to which method adjasted" }
HTTP/1.1 200 OK Content-Type: application/json Access-Control-Allow-Origin: * Content-type: application/json { "id": "new method id" }
parentId (str) - Id родительского узла. Обязательное поле.
initiatedBy (str | list[str]) - Список id экземпляров сущностей, инициирующих вычисление тега. Необязательный атрибут.
attributes (dict) - Атрибуты метода. Обязательное поле. Включает в себя:
prsMethodAddress (str) - Адрес метода. Обязательное поле.
prsEntityTypeCode (int) - Тип метода. Необязательное поле.
parameters (List[MethodParameter]) - Параметры метода. Необязательное поле.
MethodParameter - Включает в себя:
attributes (dict) - Атрибуты узла. Необязательное поле.
cn (str) - имя тега. Необязательный атрибут.
description (str) - описание экземпляра. Необязательный атрибут.
- prsJsonConfigString (str) - Строка содержит, в случае необходимости,
конфигурацию узла. Интерпретируется сервисом, управляющим сущностью, которой принадлежит экземпляр. Необязательный аттрибут
prsActive (bool) - Определяет, активен ли экземпляр. Необязательный атрибут.
- prsDefault (bool) - Если =
True
, то данный экземпляр. Необязательный атрибут. считаеться узлом по умолчанию в списке равноправных узлов данного уровня иерархии. Необязательный атрибут.
- prsDefault (bool) - Если =
- prsIndex (int) - Если у узлов одного уровня иерархии проставлены индексы, то
перед отдачей клиенту списка экземпляров они сортируются соответственно их индексам. Необязательный атрибут.
Ответ:
id (uuid) - id созданного тега
detail (str) - пояснения к ошибке