[+] Versions support

This commit is contained in:
Maxim Khomutov 2025-03-27 19:44:12 +03:00
parent f7686213c9
commit 532ea905f2
2 changed files with 94 additions and 37 deletions

View File

@ -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
@ -24,8 +30,9 @@
Возвращает (JSON):
| Название | Тип | Описание | Пример |
|----------|-------|---------------|------------------------------|
|----------|--------|---------------------------|----------------------------------------------|
| `token` | `str` | Токен доступа | `eyJCFJ9.eyJdfM30.C9adDS-h2` |
| `user` | `dict` | Информация о пользователе | `{"id": 1, "login": "admin", "roles": [99]}` |
Возможные ошибки: Общие ошибки
@ -63,29 +70,54 @@ WIP\
Аргументы:
| Название | Тип | Описание | Доступные значения |
|--------------|-------|---------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|--------------|-------|---------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------|
| `modpack_id` | `int` | ID модпака | |
| `fields` | `str` | (Опционально)<br/>Поля, которые нужно вернуть.<br/>Пример: `name,version` | - `name`<br/>- `description`<br/>- `version`<br/>- `archive`<br/>- `author`<br/>- `mods`<br/>- `mods_count`<br/>- `created_at`<br/>- `updated_at` |
| `token` | `str` | Токен авторизации | |
| `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` |
| `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` | (Опционально)<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`
Удаление модпака.
@ -93,9 +125,9 @@ WIP\
Аргументы:
| Название | Тип | Описание | Доступные значения |
|--------------|-------|-------------------|--------------------|
|--------------|-------|---------------|--------------------|
| `modpack_id` | `int` | ID модпака | |
| `token` | `str` | Токен авторизации | |
| `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`

View File

@ -23,13 +23,13 @@
## Общие ошибки
| Код | Описание |
|-----|---------------------|
|:---:|:--------------------|
| 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`<br/>- `modpacks.get` |
| 101 | Modpack already exists | - `modpacks.create` |
### Modpacks
| Код | Описание | Методы |
|:---:|:-----------------------|:--------------------------------------------------------------------|
| 100 | Modpack not found | - `modpacks.update`<br/>- `modpacks.get*`<br/> - `modpacks.delete*` |
| 101 | Modpack already exists | - `modpacks.create` |
| 102 | Version not found | - `modpacks.deleteVersion`<br/>- `modpacks.getMods` |