# Топология 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` | (Опционально)
Поля, которые нужно вернуть.
Пример: `name,version` | - `name`
- `description`
- `authors`
- `version`
- `archive`
- `created`
- `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` | (Опционально)
Поля, которые нужно вернуть.
Пример: `count,size` | - `mods`
- `count`
- `size`
- `mc_version`
- `created`
- `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`