https://github.com/andcool-systems/andcool-activity
Сервис, позволяющий регистрировать активность в редакторе кода и получать его через RestFul API
https://github.com/andcool-systems/andcool-activity
activity api extension vscode vscode-extension
Last synced: 2 months ago
JSON representation
Сервис, позволяющий регистрировать активность в редакторе кода и получать его через RestFul API
- Host: GitHub
- URL: https://github.com/andcool-systems/andcool-activity
- Owner: Andcool-Systems
- Created: 2024-08-25T15:05:24.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-09-27T17:01:16.000Z (8 months ago)
- Last Synced: 2025-01-17T12:15:55.718Z (4 months ago)
- Topics: activity, api, extension, vscode, vscode-extension
- Language: Handlebars
- Homepage: https://activity.andcool.ru
- Size: 241 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Andcool Activity
**Сервис, позволяющий регистрировать активность в редакторе кода и получать его через RestFul API.**## Работа c API
`GET /`
Получить текущую активность по коду пользователя.### **Пример ответа сервера:**
```json
{
"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 /
/widget?order=`
Получить текущую активность по коду пользователя в виде виджета в формате `svg`.
Query параметр `order` отвечает за то, какая из множества активностей будет отображена в виджете.
`order` может принимать значения:
- `first` – Первая и самая продолжительная из зарегистрированных активностей.
- `last` – Последняя из зарегистрированных активностей.Пример:
---
`POST /heartbeat`
Отправить запрос на поддержание активности.Заголовок запроса должен содержать хеадер `Authorization`, имеющий значение `Api-Key `
### **Пример тела запроса:**
```json
{
"id": 377749,
"workplace": "andcool_activity",
"file": "README.md",
"debugging": false
}
```
Описание полей запроса:
- id — Уникальный идентификатор активности. Позволяет идентифицировать запрос на продление активности. Может быть любым числом.
- workplace — Текущее рабочее пространство. Должно иметь тип `string` или `null`, если рабочее пространство не открыто.
- file — Текущий файл, открытый в редакторе. Должен иметь тип `string` или `null`, если редактор не открыт.
- debugging — Показывает, когда текущий проект отлаживается. Должен иметь тип `boolean`.Успешное выполнение запроса вернёт код `201`
---
`POST /register`
Создает нового пользователя для активности.### **Пример ответа сервера:**
```json
{
"statusCode": 201,
"code": 123456,
"token": ""
}
```- code — Содержит значение, по которому в дальнейшем можно получить список активности.
- token — Содержит токен, который должен присутствовать в заголовке запроса на поддержание активности.## Логика работы
Плагин устанавливается в редактор кода (на данный момент только VSCode). При установке он запросит ключ API. После успешной установки и настройки ключа, плагин начнёт проверять открытые файлы раз в 30 секунд и отправлять запросы на API. Если API не получает запрос на продление активности более 60 секунд, он удаляет её из текущих активностей.---
**by AndcoolSystems, August 24, 2024**