From 532ea905f2735ba0fdfea13019d8f3bc9cc3136e Mon Sep 17 00:00:00 2001 From: SantaSpeen Date: Thu, 27 Mar 2025 19:44:12 +0300 Subject: [PATCH] [+] Versions support --- docs/API.md | 105 ++++++++++++++++++++++++++++++++++----------- docs/API_ERRORS.md | 26 ++++++----- 2 files changed, 94 insertions(+), 37 deletions(-) diff --git a/docs/API.md b/docs/API.md index 75572d5..7b577ea 100644 --- a/docs/API.md +++ b/docs/API.md @@ -5,7 +5,13 @@ - Метод всегда `GET` - `<адрес-сервера>`: `mml.anidev.ru` - `<имя-API-метода>`: Имя метода API. Например, `auth.register` -- `<параметры>`: Параметры запроса. Например, `v=1.0&login=example&password=example` +- `<параметры>`: Параметры запроса. Например, `login=example&password=example&v=1.0` + +Роли в API: +- `99`: Администратор +- `50`: Модератор +- `10`: Пользователь +- `0`: Гость ## Auth @@ -23,9 +29,10 @@ Возвращает (JSON): -| Название | Тип | Описание | Пример | -|----------|-------|---------------|------------------------------| -| `token` | `str` | Токен доступа | `eyJCFJ9.eyJdfM30.C9adDS-h2` | +| Название | Тип | Описание | Пример | +|----------|--------|---------------------------|----------------------------------------------| +| `token` | `str` | Токен доступа | `eyJCFJ9.eyJdfM30.C9adDS-h2` | +| `user` | `dict` | Информация о пользователе | `{"id": 1, "login": "admin", "roles": [99]}` | Возможные ошибки: Общие ошибки @@ -62,41 +69,66 @@ WIP\ Аргументы: -| Название | Тип | Описание | Доступные значения | -|--------------|-------|---------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| `modpack_id` | `int` | ID модпака | | -| `fields` | `str` | (Опционально)
Поля, которые нужно вернуть.
Пример: `name,version` | - `name`
- `description`
- `version`
- `archive`
- `author`
- `mods`
- `mods_count`
- `created_at`
- `updated_at` | -| `token` | `str` | Токен авторизации | | -| `v` | `str` | Версия API | | +| Название | Тип | Описание | Доступные значения | +|--------------|-------|---------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------| +| `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` | -| `version` | `str` | Версия модпака | `Super Stabe v1.1` | -| `archive` | `list` | Все версии модпака | [`test`, `new`, `Super Stabe v1.1`] | -| `author` | `str` | Автор модпака | `example` | -| `mods` | `dict` | Список модов в модпаке | `{"mode_name": {"sha256": "asdasd", "link": "https://....", "size": 1552}}` | -| `mods_count` | `int` | Количество модов в модпаке | `3` | -| `created_at` | `str` | Дата создания модпака | `2025-01-01T00:00:00` | -| `updated_at` | `str` | Дата последнего обновления | `2025-04-01T00:00:00` | +| Название | Тип | Описание | Пример | +|---------------|--------|----------------------------|----------------------------------------------------------------------------| +| `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 | | +| Название | Тип | Описание | Доступные значения | +|--------------|-------|---------------|--------------------| +| `modpack_id` | `int` | ID модпака | | +| `token` | `str` | Токен доступа | | +| `v` | `str` | Версия API | | Возвращает (JSON): @@ -105,3 +137,24 @@ WIP\ | `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` \ No newline at end of file diff --git a/docs/API_ERRORS.md b/docs/API_ERRORS.md index f1dce36..98775ee 100644 --- a/docs/API_ERRORS.md +++ b/docs/API_ERRORS.md @@ -23,13 +23,13 @@ ## Общие ошибки | Код | Описание | -|-----|---------------------| -| 1 | Invalid API version | +|:---:|:--------------------| +| 1 | Invalid API version | ### Ошибки аутентификации | Код | Описание | -|-----|--------------------------------| +|:---:|:-------------------------------| | 10 | Invalid token | | 11 | Token expired | | 12 | Login or password is incorrect | @@ -37,13 +37,13 @@ ### Ошибки доступа | Код | Описание | -|-----|---------------| +|:---:|:--------------| | 20 | Access denied | ### Ошибки аргументов | Код | Описание | -|-----|---------------------------| +|:---:|:--------------------------| | 30 | Missing required argument | | 31 | Invalid argument value | | 32 | Invalid argument type | @@ -52,7 +52,7 @@ ### Ошибки методов | Код | Описание | -|-----|--------------------| +|:---:|:-------------------| | 40 | Method Not Found | | 41 | Method Not Allowed | @@ -60,13 +60,17 @@ ### Ошибки сервера | Код | Описание | -|-----|---------------------------| +|:---:|:--------------------------| | 50 | Internal server error | ## Ошибки методов -| Код | Описание | Методы | -|-----|------------------------|------------------------------------------| -| 100 | Modpack not found | - `modpacks.update`
- `modpacks.get` | -| 101 | Modpack already exists | - `modpacks.create` | + +### Modpacks + +| Код | Описание | Методы | +|:---:|:-----------------------|:--------------------------------------------------------------------| +| 100 | Modpack not found | - `modpacks.update`
- `modpacks.get*`
- `modpacks.delete*` | +| 101 | Modpack already exists | - `modpacks.create` | +| 102 | Version not found | - `modpacks.deleteVersion`
- `modpacks.getMods` |