Перейти к содержанию

Обновление фильтра для пересылки событий

Запрос

Тип Метод
PUT /logmule_go_head_filters/update

Описание: при выполнении запроса будет обновлена информация о фильтре для пересылки событий.

Работает по принципу частичного обновления, т.е. будут обновлены только те поля модели которые были переданы в запросе.

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

PUT
http://127.0.0.1/cruddy/v2/logmule_go_head_filters/update

Тело запроса:

Параметр Тип Обязательность Описание
id string Required Идентификатор
trace_id string Optional Статистика потока по данному фильтру
name string Optional Название фильтра
is_system boolean Optional Является ли фильтр системным
config Array<Config> Optional Список условий для полей
Модель Config
Параметр Тип Обязательность Описание
id string Optional ID условия фильтра. Поле не хранится в БД. При каждом запросе полю присваивается новый uuid на уровне кода.
compareFn string Required Функция сравнения. Допустимые значения:
- equal
- substr
- exist
- intersection
expressions object Required Выражения использующиеся в функции сравнения. >= 1 знаков
expressions{type} string Required Тип выражения. Допустимые значения:
- logline-get
- const-string
- const-string-array
expressions{value} object Required Значение
type string Required Тип условия. Допустимые значения: compare-condition
parentId string Optional Идентификатор родительского элемента
ignore_case boolean Optional Флаг: игнорировать ли регистр при сравнении строковых данных
negation boolean Optional Флаг: выполнять ли инверсию по результатам сравнения
Пример тела запроса

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "trace_id": "uuid",
  "name": "string",
  "is_system": false,
  "config": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "compareFn": "eq",
      "expressions": [
        {
          "type": "logline-get",
          "value": "string"
        }
      ],
      "type": "compare-condition",
      "parentId": "string",
      "ignore_case": true,
      "negation": true
    }
  ]
}

Успешный ответ

Статус код: 200 – успешное обновление информации о фильтре для пересылки событий.

Формат: JSON.

Тело ответа: модель обновленного фильтра для пересылки событий.

Пример ответа

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "created_at": "2023-12-20T00:00:01.652259Z",
  "updated_at": "2023-12-20T00:00:01.652259Z",
  "name": "string",
  "is_system": false,
  "config": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "compareFn": "eq",
      "expressions": [
        {
          "type": "logline-get",
          "value": "string"
        }
      ],
      "type": "compare-condition",
      "parentId": "string",
      "ignore_case": true,
      "negation": true
    }
  ],
  "stats": {
    "check_count": 0,
    "check_eps": 0,
    "check_time": 0,
    "hit_count": 0,
    "hit_eps": 0
  }
}

Другие возможные ответы

Код Ответ Описание
400 Bad Request
Неверный тип параметра запроса, либо отсутствует обязательный параметр
404 Not Found Редактируемый объект не найден в БД
409 name_already_used Попытка присвоить объекту существующее уникальное значение атрибута
500 Internal Server Error Другие ошибки при редактировании объекта

Примечание: Текст ошибки не фиксированный, может изменяться в зависимости от фактического ответа получателя запроса.

Пример ответа
Код 400

{
  "error": "Bad Request",
  "error_code": 400
}

Код 404

{
  "error": "Not Found",
  "error_code": 404
}

Код 409

{
  "error": "Bad Request",
  "error_code": 409,
  "extra": {
    "fields": [
      "name"
    ]
  }
}

Код 500

{
  "error": "Internal Server Error",
  "error_code": 500
}