server/docs/API.md
2025-03-27 19:44:12 +03:00

160 lines
9.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Топология API
Последняя версия API: `1.0`\
Формат запроса: `https://<адрес-сервера>/api/method/<имя-API-метода>?<параметры>`:
- Метод всегда `GET`
- `<адрес-сервера>`: `mml.anidev.ru`
- `<имя-API-метода>`: Имя метода API. Например, `auth.register`
- `<параметры>`: Параметры запроса. Например, `login=example&password=example&v=1.0`
Роли в API:
- `99`: Администратор
- `50`: Модератор
- `10`: Пользователь
- `0`: Гость
## Auth
### `auth.login`
Аутентификация пользователя.
Аргументы:
| Название | Тип | Описание | Доступные значения |
|------------|-------|---------------------|--------------------|
| `login` | `str` | Логин пользователя | |
| `password` | `str` | Пароль пользователя | |
| `v` | `str` | Версия API | |
Возвращает (JSON):
| Название | Тип | Описание | Пример |
|----------|--------|---------------------------|----------------------------------------------|
| `token` | `str` | Токен доступа | `eyJCFJ9.eyJdfM30.C9adDS-h2` |
| `user` | `dict` | Информация о пользователе | `{"id": 1, "login": "admin", "roles": [99]}` |
Возможные ошибки: Общие ошибки
### `auth.register`
....
### `auth.refreshToken`
....
## Users
WIP\
В будущем будет добавлена работа с пользователями.
## Modpacks
### `modpacks.create`
Загрузка модпака на сервер.
....
### `modpacks.update`
Обновление информации о модпаке.
....
### `modpacks.get`
Получение информации о модпаке.
Аргументы:
| Название | Тип | Описание | Доступные значения |
|--------------|-------|---------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|
| `modpack_id` | `int` | ID модпака | |
| `fields` | `str` | (Опционально)<br/>Поля, которые нужно вернуть.<br/>Пример: `name,version` | - `name`<br/>- `description`<br/>- `authors`<br/>- `version`<br/>- `archive`<br/>- `created`<br/>- `updated` |
| `token` | `str` | Токен доступа | |
| `v` | `str` | Версия API | |
Возвращает (JSON):
| Название | Тип | Описание | Пример |
|---------------|--------|----------------------------|----------------------------------------------------------------------------|
| `name` | `str` | Название | `Example Modpack` |
| `description` | `str` | Описание | `This is an example modpack` |
| `authors` | `list` | Авторы | `["SantaSpeen", "omniscince"]` |
| `version` | `str` | Последняя версия | `Stabe v1.1` |
| `archive` | `dict` | Версии | `{"v0.1": {"id": 1, "updated": "2025-01-01T00:00:00"}, "Stabe v1.1": {...` |
| `created` | `str` | Дата создания | `2025-01-01T00:00:00` |
| `updated` | `str` | Дата последнего обновления | `2025-04-01T00:00:00` |
Возможные ошибки: Общие ошибки, `100`
### `modpacks.getMods`
Получение списка модов модпака.
Аргументы:
| Название | Тип | Описание | Доступные значения |
|--------------|-------|-------------------------------------------------------------------------|----------------------------------------------------------------------------------------|
| `modpack_id` | `int` | ID модпака | |
| `version_id` | `str` | ID версии | |
| `fields` | `str` | (Опционально)<br/>Поля, которые нужно вернуть.<br/>Пример: `count,size` | - `mods`<br/>- `count`<br/>- `size`<br/>- `mc_version`<br/>- `created`<br/>- `updated` |
| `token` | `str` | Токен доступа | |
| `v` | `str` | Версия API | |
Возвращает (JSON):
| Название | Тип | Описание | Пример |
|--------------|--------|----------------------------|-----------------------------------------------------------------------------|
| `mods` | `dict` | Список модов в модпаке | `{"mode_name": {"sha256": "asdasd", "link": "https://....", "size": 1552}}` |
| `count` | `int` | Количество модов | `3` |
| `size` | `int` | Авторы | `123` |
| `mc_version` | `list` | Версия майнкрафта | `[1, 20, 1]` |
| `created` | `str` | Дата создания | `2025-01-01T00:00:00` |
| `updated` | `str` | Дата последнего обновления | `2025-04-01T00:00:00` |
Возможные ошибки: Общие ошибки, `100`, `102`
### `modpacks.delete`
Удаление модпака.
Аргументы:
| Название | Тип | Описание | Доступные значения |
|--------------|-------|---------------|--------------------|
| `modpack_id` | `int` | ID модпака | |
| `token` | `str` | Токен доступа | |
| `v` | `str` | Версия API | |
Возвращает (JSON):
| Название | Тип | Описание | Пример |
|----------|--------|-----------------|--------|
| `status` | `bool` | Статус операции | `true` |
Возможные ошибки: Общие ошибки, `100`
### `modpacks.deleteVersion`
Удаление модпака.
Аргументы:
| Название | Тип | Описание | Доступные значения |
|--------------|-------|---------------|--------------------|
| `modpack_id` | `int` | ID модпака | |
| `version_id` | `int` | ID версии | |
| `token` | `str` | Токен доступа | |
| `v` | `str` | Версия API | |
Возвращает (JSON):
| Название | Тип | Описание | Пример |
|----------|--------|-----------------|--------|
| `status` | `bool` | Статус операции | `true` |
Возможные ошибки: Общие ошибки, `100`, `102`