Added Role Owner and new UI for Owner
This commit is contained in:
176
CHANGELOG.md
Normal file
176
CHANGELOG.md
Normal file
@@ -0,0 +1,176 @@
|
||||
# Changelog - История изменений MC Panel
|
||||
|
||||
Все значимые изменения в проекте документируются в этом файле.
|
||||
|
||||
Формат основан на [Keep a Changelog](https://keepachangelog.com/ru/1.0.0/),
|
||||
и проект следует [Semantic Versioning](https://semver.org/lang/ru/).
|
||||
|
||||
---
|
||||
|
||||
## [1.1.0] - 2026-01-15
|
||||
|
||||
### Добавлено ✨
|
||||
|
||||
#### Система прав и ролей
|
||||
- **Роль владельца (Owner)** - полный контроль над панелью
|
||||
- **Система прав** - детальное управление возможностями пользователей
|
||||
- **5 ролей**: Owner, Admin, Support, User, Banned
|
||||
- **7 типов прав**: manage_users, manage_roles, manage_servers, manage_tickets, manage_files, delete_users, view_all_resources
|
||||
|
||||
#### API эндпоинты
|
||||
- `GET /api/users` - Получить список пользователей
|
||||
- `PUT /api/users/{user_id}/role` - Изменить роль пользователя
|
||||
- `PUT /api/users/{user_id}/permissions` - Изменить права пользователя
|
||||
- `POST /api/users/{user_id}/access/servers` - Выдать доступ к серверу
|
||||
- `DELETE /api/users/{user_id}/access/servers/{server_name}` - Забрать доступ к серверу
|
||||
- `DELETE /api/users/{user_id}` - Удалить пользователя
|
||||
- `POST /api/users/{user_id}/ban` - Заблокировать пользователя
|
||||
- `POST /api/users/{user_id}/unban` - Разблокировать пользователя
|
||||
|
||||
#### Инструменты
|
||||
- **migrate_users.py** - Скрипт миграции пользователей на новую систему
|
||||
- **MIGRATE_USERS.bat** - Bat файл для запуска миграции на Windows
|
||||
- **OWNER_PERMISSIONS.md** - Полная документация системы прав (~500 строк)
|
||||
|
||||
#### Документация
|
||||
- Документация системы прав и ролей
|
||||
- Примеры использования API на Python, JavaScript, cURL
|
||||
- FAQ по системе прав
|
||||
- Инструкции по миграции
|
||||
|
||||
### Изменено 🔄
|
||||
|
||||
- Первый зарегистрированный пользователь теперь получает роль `owner` вместо `admin`
|
||||
- Обновлена структура пользователя в `users.json`:
|
||||
- Добавлено поле `permissions` с детальными правами
|
||||
- Добавлено поле `resource_access` для управления доступом к ресурсам
|
||||
- Все эндпоинты управления пользователями теперь проверяют права доступа
|
||||
- Обновлена версия проекта с 1.0.0 до 1.1.0
|
||||
|
||||
### Безопасность 🔒
|
||||
|
||||
- Добавлена проверка прав для всех административных эндпоинтов
|
||||
- Логирование всех действий владельца
|
||||
- Защита от удаления владельца
|
||||
- Автоматическое понижение роли при передаче прав владельца
|
||||
|
||||
---
|
||||
|
||||
## [1.0.0] - 2026-01-15
|
||||
|
||||
### Добавлено ✨
|
||||
|
||||
#### Backend (FastAPI)
|
||||
- REST API с 37 эндпоинтами
|
||||
- JWT аутентификация (токены на 7 дней)
|
||||
- OpenID Connect интеграция (ZITADEL)
|
||||
- WebSocket для real-time консоли
|
||||
- Управление Minecraft серверами
|
||||
- Файловый менеджер API
|
||||
- Система тикетов
|
||||
- Роли пользователей (admin, user)
|
||||
- Bcrypt хеширование паролей
|
||||
|
||||
#### Frontend (React)
|
||||
- 6 тем оформления (modern, dark, light, blue, green, purple)
|
||||
- Цветная консоль (INFO=зелёный, WARN=жёлтый, ERROR=красный)
|
||||
- Файловый менеджер с поиском
|
||||
- Создание файлов и папок
|
||||
- Перемещение файлов (Cut/Paste)
|
||||
- Система уведомлений (4 типа: success, error, warning, info)
|
||||
- Тикеты с real-time обновлениями (каждые 3 секунды)
|
||||
- Статистика серверов (CPU, RAM, диск)
|
||||
- Личный кабинет
|
||||
- Responsive дизайн
|
||||
|
||||
#### Docker & DevOps
|
||||
- Multi-stage Dockerfile (Node.js + Python)
|
||||
- Docker Compose конфигурация
|
||||
- Non-root пользователь для безопасности
|
||||
- Healthcheck для мониторинга
|
||||
- Volumes для персистентности данных
|
||||
- Nginx reverse proxy с SSL/TLS
|
||||
- Security headers (HSTS, X-Frame-Options, etc.)
|
||||
- Rate limiting для защиты от DDoS
|
||||
- 4 CI/CD пайплайна (Drone):
|
||||
- code-quality - Проверка качества кода
|
||||
- build-and-publish - Сборка и публикация образа
|
||||
- deploy-staging - Деплой на staging
|
||||
- deploy-production - Деплой на production
|
||||
|
||||
#### Bat файлы (Windows)
|
||||
- START_PANEL.bat - Локальный запуск
|
||||
- START_DOCKER.bat - Запуск в Docker
|
||||
- STOP_DOCKER.bat - Остановка Docker
|
||||
- RESTART_DOCKER.bat - Перезапуск Docker
|
||||
- LOGS_DOCKER.bat - Просмотр логов
|
||||
- UPDATE_DOCKER.bat - Обновление Docker образа
|
||||
- BACKUP_DATA.bat - Создание backup
|
||||
- RESTORE_DATA.bat - Восстановление из backup
|
||||
|
||||
#### Документация
|
||||
- README.md - Главная навигация (~200 строк)
|
||||
- ДОКУМЕНТАЦИЯ.md - Полное руководство (~500 строк)
|
||||
- API.md - API документация (~300 строк)
|
||||
- DOCKER.md - Docker и CI/CD (~400 строк)
|
||||
- DOCKER_COMMANDS.md - Docker команды (~300 строк)
|
||||
- DOCKER_ГОТОВО.md - Docker summary (~400 строк)
|
||||
- ГОТОВО.md - История разработки (~200 строк)
|
||||
- ПРОЕКТ_ЗАВЕРШЁН.md - Полный обзор (~600 строк)
|
||||
- ФИНАЛЬНЫЙ_СПИСОК.md - Список файлов (~700 строк)
|
||||
- INSTALL_DOCKER.md - Установка Docker (~400 строк)
|
||||
- FAQ.md - Часто задаваемые вопросы (~500 строк)
|
||||
- BAT_FILES.md - Описание bat файлов (~400 строк)
|
||||
- QUICKSTART.md - Быстрый старт (~300 строк)
|
||||
- РАБОТА_ЗАВЕРШЕНА.md - Финальный summary (~200 строк)
|
||||
- CHECKLIST.md - Финальный checklist (~400 строк)
|
||||
|
||||
#### Другое
|
||||
- MC_Panel_API.postman_collection.json - Postman коллекция (40+ запросов)
|
||||
- .gitignore - Git ignore правила
|
||||
- .dockerignore - Docker ignore правила
|
||||
- .env.example - Шаблон переменных окружения
|
||||
|
||||
### Исправлено 🐛
|
||||
|
||||
- Ошибка импорта `authlib.integrations.fastapi_client` → `starlette_client`
|
||||
- Проблемы с drag & drop в файловом менеджере (отключено по запросу)
|
||||
- Уведомления теперь показываются для всех действий
|
||||
- Real-time обновления в тикетах работают корректно
|
||||
|
||||
### Безопасность 🔒
|
||||
|
||||
- JWT токены с истечением через 7 дней
|
||||
- Bcrypt хеширование паролей (cost factor 12)
|
||||
- OpenID Connect поддержка
|
||||
- Проверка прав доступа на всех эндпоинтах
|
||||
- Защита файловой системы от path traversal
|
||||
- Non-root Docker пользователь
|
||||
- Security headers в Nginx
|
||||
- Rate limiting в Nginx
|
||||
- HTTPS обязательный для production
|
||||
|
||||
---
|
||||
|
||||
## Типы изменений
|
||||
|
||||
- **Добавлено** ✨ - новая функциональность
|
||||
- **Изменено** 🔄 - изменения в существующей функциональности
|
||||
- **Устарело** ⚠️ - функциональность, которая скоро будет удалена
|
||||
- **Удалено** 🗑️ - удалённая функциональность
|
||||
- **Исправлено** 🐛 - исправление ошибок
|
||||
- **Безопасность** 🔒 - изменения, связанные с безопасностью
|
||||
|
||||
---
|
||||
|
||||
## Ссылки
|
||||
|
||||
- [Документация](ДОКУМЕНТАЦИЯ.md)
|
||||
- [API](API.md)
|
||||
- [Docker](DOCKER.md)
|
||||
- [FAQ](FAQ.md)
|
||||
|
||||
---
|
||||
|
||||
**Формат:** [Keep a Changelog](https://keepachangelog.com/ru/1.0.0/)
|
||||
**Версионирование:** [Semantic Versioning](https://semver.org/lang/ru/)
|
||||
Reference in New Issue
Block a user