Перейти к основному содержимому

UserProfile API

UserProfile API предоставляет возможность управлять пользователями и их данными.

Для работы API требуется база данных PostgreSQL и Авторизация, которые должны быть настроены в конфигурации.

HTTP API

Базовый URL-адрес: /userprofile/v1

Имя пользователя берется из заголовка Authorization.

Вы также можете использовать swagger-файл для подробного просмотра HTTP API.

GET /profile

Возвращает пользовательские данные:

  • Часовой пояс
  • Версия пройденного обучения
  • Столбцы таблицы логов (закрепленные столбцы таблицы в пользовательском интерфейсе)

Если пользователя нет в базе данных, то он будет создан.

Авторизация: ДА

Запрос

curl -X GET \
"http://localhost:5555/userprofile/v1/profile" \
-H "accept: application/json" \
-H "Authorization: Bearer <token>"

Ответ

{
"timezone": "UTC",
"onboardingVersion": "{}",
"log_columns": ["level"]
}

PATCH /profile

Обновлят пользовательские данные:

  • Часовой пояс
  • Версия пройденного обучения
  • Столбцы таблицы логов (закрепленные столбцы таблицы в пользовательском интерфейсе)

Авторизация: ДА

Тело запроса (application/json):

  • timezone (string, optional): Часовой пояс пользователя.
  • onboardingVersion (string, optional): Версия пройденного пользователем обучения.
  • log_columns (object, optional): Закрепленные пользователем столбцы таблицы логов.
    • columns ([]string, required): Список столбцов.

Запрос

curl -X PATCH \
"http://localhost:5555/userprofile/v1/profile" \
-H "accept: application/json" \
-H "Authorization: Bearer <token>" \
-d '
{
"timezone": "UTC",
"log_columns": {
"columns": ["source", "error"]
}
}'

Ответ

{}

GET /queries/favorite

Возвращает избранные (сохраненные) поисковые запросы пользователя.

Авторизация: ДА

Запрос

curl -X GET \
"http://localhost:5555/userprofile/v1/queries/favorite" \
-H "accept: application/json" \
-H "Authorization: Bearer <token>"

Ответ

{
"queries": [
{
"id": "1",
"query": "message:error",
"name": "error message"
},
{
"id": "2",
"query": "message:error",
"relativeFrom": "840"
},
{
"id": "3",
"query": "level:3",
"name": "error levels",
"relativeFrom": "300"
},
{
"id": "4",
"query": "level:6"
}
]
}

POST /queries/favorite

Сохраняет поисковый запрос пользователя.

Авторизация: ДА

Тело запроса (application/json):

  • query (string, required): Поисковый запрос.
  • name (string, optional): Название поискового запроса.
  • relativeFrom (string, optional): Количество секунд относительно текущего времени для вычисления диапазона поиска from-to.

Запрос

curl -X POST \
"http://localhost:5555/userprofile/v1/queries/favorite" \
-H "accept: application/json" \
-H "Authorization: Bearer <token>" \
-d '
{
"query": "message:test",
"name": "message with test"
}'

Ответ

{
"id": "123"
}

DELETE /queries/favorite/{id}

Удаляет определенный избранный поисковый запрос пользователя по его идентификатору.

Авторизация: ДА

Параметры:

  • id (int, required): Уникальный идентификатор избранного запроса.

Запрос

curl -X DELETE \
"http://localhost:5555/userprofile/v1/queries/favorite/123" \
-H "accept: application/json" \
-H "Authorization: Bearer <token>"

Ответ

{}