v4.1.21: Реструктуризация проекта для Synology ARM
- Реструктуризация: 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
This commit is contained in:
228
CHANGES_v4.1.3.md
Normal file
228
CHANGES_v4.1.3.md
Normal file
@@ -0,0 +1,228 @@
|
||||
# 🔧 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 сервере**:
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```bash
|
||||
# 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`
|
||||
|
||||
---
|
||||
|
||||
## 📝 Заметки
|
||||
|
||||
1. **База данных изменена**: Добавлен новый пользователь, требуется применение seed.sql на production
|
||||
2. **Роли**: aknaproff и admin - оба admin, kasutaja - user
|
||||
3. **UI**: Более компактный, убран label "Sorteerimine"
|
||||
4. **Cache-busting**: v4.1.3, нужен Ctrl+Shift+R после deployment
|
||||
|
||||
---
|
||||
|
||||
**🎯 Готово!** UI упрощён, добавлен пользователь kasutaja (tootmine), система ролей уточнена.
|
||||
Reference in New Issue
Block a user