An open API service indexing awesome lists of open source software.

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

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` – Последняя из зарегистрированных активностей.

Пример:
![widget](https://activity.andcool.ru/t9mdtk/widget)

---

`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**