Сервис, позволяющий регистрировать активность в редакторе кода и получать его через RestFul API.
GET /<code>
Получить текущую активность по коду пользователя.
{
"statusCode": 200,
"activities": [
{
"id": 377749,
"workplace": "andcool_activity",
"file": "README.md",
"debugging": false,
"start_time": "2024-08-25T14:43:04.247Z"
}
]
}
Возвращаемый ответ содержит массив текущих активностей. Поля workplace
и file
в теле ответа могут иметь значение null
.
GET /<code>/widget?order=<order_key>
Получить текущую активность по коду пользователя в виде виджета в формате svg
.
Query параметр order
отвечает за то, какая из множества активностей будет отображена в виджете.
order
может принимать значения:
first
– Первая и самая продолжительная из зарегистрированных активностей.last
– Последняя из зарегистрированных активностей.
POST /heartbeat
Отправить запрос на поддержание активности.
Заголовок запроса должен содержать хеадер Authorization
, имеющий значение Api-Key <api key>
{
"id": 377749,
"workplace": "andcool_activity",
"file": "README.md",
"debugging": false
}
Описание полей запроса:
- id — Уникальный идентификатор активности. Позволяет идентифицировать запрос на продление активности. Может быть любым числом.
- workplace — Текущее рабочее пространство. Должно иметь тип
string
илиnull
, если рабочее пространство не открыто. - file — Текущий файл, открытый в редакторе. Должен иметь тип
string
илиnull
, если редактор не открыт. - debugging — Показывает, когда текущий проект отлаживается. Должен иметь тип
boolean
.
Успешное выполнение запроса вернёт код 201
POST /register
Создает нового пользователя для активности.
{
"statusCode": 201,
"code": 123456,
"token": "<token>"
}
- code — Содержит значение, по которому в дальнейшем можно получить список активности.
- token — Содержит токен, который должен присутствовать в заголовке запроса на поддержание активности.
Плагин устанавливается в редактор кода (на данный момент только VSCode). При установке он запросит ключ API. После успешной установки и настройки ключа, плагин начнёт проверять открытые файлы раз в 30 секунд и отправлять запросы на API. Если API не получает запрос на продление активности более 60 секунд, он удаляет её из текущих активностей.
by AndcoolSystems, August 24, 2024