- Реструктуризация: src/ разбит на middleware/, utils/, repositories/ (удалены), routes/ (удалены) - Добавлен src/original-html.ts — полный HTML с reportModal - Добавлен src/index.tsx.backup — React-компонент с reportModal - Миграции переименованы (0001_initial_schema.sql) - Добавлена миграция 0018 (удалена позже) - Docker: multi-stage build, wrangler.toml - Frontend: public/static/app.js + style.css - seed.sql добавлен - Документация: CHANGELOG, CHANGES_v4.1.0-4.1.9, PROJECT_STRUCTURE
7.7 KiB
🔧 CHANGES v4.1.3 - UI Polish & New User
Дата: 2025-11-28
Версия: v4.1.3
Тип: UI Improvement + User Management
📝 Что изменено
1. Убрано слово "Sorteerimine"
- ДО: Кнопка имела label "Sorteerimine" над ней
- ПОСЛЕ: Только кнопка "ID" с иконкой сортировки (↕)
- Причина: Более компактный и чистый UI
2. Добавлен новый пользователь "kasutaja"
- Username: kasutaja
- Password: tootmine
- Full Name: Kasutaja
- Role: user (обычный пользователь)
3. Уточнена система ролей
Три пользователя с двумя уровнями доступа:
| Username | Password | Full Name | Role | Уровень доступа |
|---|---|---|---|---|
| kasutaja | tootmine | Kasutaja | user | Обычный пользователь |
| aknaproff | demo123 | AKNAPROFF | admin | Администратор |
| admin | demo123 | Administrator | admin | Администратор |
Права доступа:
User (kasutaja)
- ✅ Просмотр всех записей
- ✅ Изменение проблем (текст + галочки)
- ✅ Просмотр Notes (read-only)
- ❌ Изменение дат
- ❌ Изменение MAT-1/MAT-2
- ❌ Добавление/редактирование/удаление записей
Admin (aknaproff, admin)
- ✅ Все права User
- ✅ Изменение дат (toggle)
- ✅ Изменение MAT-1/MAT-2 (toggle)
- ✅ Изменение LÕIKUS/KLAAS/VALMIS/VÄLJAS (3-step cycle)
- ✅ Добавление записей
- ✅ Редактирование записей
- ✅ Удаление записей
Примечание: aknaproff и admin имеют одинаковый уровень доступа (оба admin).
🎨 Визуальные изменения
ДО (v4.1.2):
┌─ Kiir otsing ─────────────────────────────┐
│ Sorteerimine │
│ [ID ↕] │
│ │
│ Klient │
│ [Otsi kliendi järgi...] │
└───────────────────────────────────────────┘
ПОСЛЕ (v4.1.3):
┌─ Kiir otsing ─────────────────────────────┐
│ [ID ↕] [Klient: Otsi kliendi järgi...] │
└───────────────────────────────────────────┘
Преимущества:
- Более компактный UI
- Меньше визуального шума
- Интуитивно понятно, что кнопка ID для сортировки
📦 Изменённые файлы
1. public/original.html
- Убран label с текстом "Sorteerimine"
- Кнопка ID теперь без label (только иконка + текст)
- Обновлена версия:
app.js?v=4.1.2→app.js?v=4.1.3
2. seed.sql
- Добавлен пользователь "kasutaja" с паролем "tootmine"
- Обновлены комментарии с пояснением ролей
- Добавлен SHA-256 hash для пароля "tootmine"
3. src/original-html.ts
- Регенерирован embedded HTML
4. dist/_worker.js
- Пересобран с обновлениями
🧪 Тестирование
Проверка UI
✅ Кнопка ID отображается без label "Sorteerimine"
✅ Кнопка компактная и выровнена с другими полями
✅ Функционал сортировки работает (↑ ↓ ↕)
Проверка нового пользователя
✅ Вход: kasutaja / tootmine
✅ Роль: user
✅ Доступ только к просмотру и изменению проблем
✅ Остальные функции заблокированы (alert)
Проверка существующих пользователей
✅ aknaproff / demo123 - admin права
✅ admin / demo123 - admin права
✅ Оба имеют полный доступ
🔐 Учётные данные
Production Users
Обычный пользователь:
- Username:
kasutaja - Password:
tootmine - Доступ: просмотр + изменение проблем
Администраторы (одинаковые права):
- Username:
aknaproff| Password:demo123 - Username:
admin| Password:demo123 - Доступ: полный
Гость (без входа):
- Кнопка: "Vaata ainult"
- Доступ: только просмотр (read-only)
🔗 URLs
- Production: https://3000-iabcqs9fpouqnd3allaai-82b888ba.sandbox.novita.ai
- Git Commit: Будет добавлен после коммита
📊 Статус
Версия: v4.1.3
Статус: ✅ Production Ready
HTTP Status: 200 OK
JavaScript Errors: 0
Database: Обновлена (добавлен пользователь kasutaja)
🚀 Deployment Instructions
⚠️ ВАЖНО: Требуется обновление базы данных!
На production сервере:
# 1. Скопировать seed.sql с новым пользователем
scp seed.sql user@server:/path/to/webapp/
# 2. На сервере применить seed.sql
docker-compose exec aknaproff-backend sh -c "
cd /app &&
npx wrangler d1 execute webapp-production --local --file=./seed.sql
"
# 3. Проверить, что пользователь добавлен
docker-compose exec aknaproff-backend sh -c "
npx wrangler d1 execute webapp-production --local \
--command='SELECT username, full_name, role FROM users'
"
# Должно вывести:
# - kasutaja | Kasutaja | user
# - aknaproff | AKNAPROFF | admin
# - admin | Administrator | admin
# 4. Скопировать обновлённые файлы
scp dist/_worker.js user@server:/path/to/webapp/dist/
# или
scp public/original.html user@server:/path/to/webapp/public/
scp src/original-html.ts user@server:/path/to/webapp/src/
# и потом: npm run build
# 5. Перезапустить
docker-compose restart
Проверка после deployment
# 1. Проверить HTTP
curl -I http://localhost:8180
# 2. Войти в браузере под kasutaja/tootmine
# 3. Проверить, что доступно только изменение проблем
# 4. Войти под aknaproff/demo123 или admin/demo123
# 5. Проверить полный доступ
💾 Password Hashes
Для справки (SHA-256):
- demo123:
d3ad9315b7be5dd53b31a273b3b3aba5defe700808305aa16a3062b76658a791 - tootmine:
a1026b7bd143f7190248bc79901e9a357a408e208f2d8e4d38fccf184754f35f
📝 Заметки
- База данных изменена: Добавлен новый пользователь, требуется применение seed.sql на production
- Роли: aknaproff и admin - оба admin, kasutaja - user
- UI: Более компактный, убран label "Sorteerimine"
- Cache-busting: v4.1.3, нужен Ctrl+Shift+R после deployment
🎯 Готово! UI упрощён, добавлен пользователь kasutaja (tootmine), система ролей уточнена.