fix: migration 036 — delete old channels before altering constraint + remove TravelLine refs + hide hotel_admin from roles tab

This commit is contained in:
2026-03-26 01:10:48 +03:00
parent 566c6a5e41
commit 17012ae3ca
3 changed files with 10 additions and 8 deletions

View File

@@ -8,9 +8,9 @@ import { Badge } from '../components/ui/Badge'
const CHANNEL_META: Record<string, { icon: string; label: string; description: string; integration: string }> = {
booking_com: { icon: '🔵', label: 'Booking.com', description: 'Крупнейшая международная OTA', integration: 'XML API' },
yandex_travel: { icon: '🔴', label: 'Яндекс Путешествия', description: 'Ведущая платформа бронирования в РФ', integration: 'TravelLine' },
yandex_travel: { icon: '🔴', label: 'Яндекс Путешествия', description: 'Ведущая платформа бронирования в РФ', integration: 'XML API' },
ostrovok: { icon: '🟣', label: 'Островок', description: 'Один из крупнейших российских OTA', integration: 'REST API' },
sutochno: { icon: '🟠', label: 'Суточно.ру', description: 'Посуточная аренда и гостиницы', integration: 'iCal / TravelLine' },
sutochno: { icon: '🟠', label: 'Суточно.ру', description: 'Посуточная аренда и гостиницы', integration: 'iCal / API' },
avito: { icon: '🟢', label: 'Авито', description: 'Крупнейшая площадка объявлений в РФ', integration: 'XML фид / REST' },
bronevik: { icon: '🔷', label: 'Bronevik.com', description: 'Корпоративное бронирование командировок', integration: 'SOAP/XML API' },
hotels101: { icon: '🟡', label: '101hotels.ru', description: 'Российский агрегатор отелей', integration: 'OTA XML' },

View File

@@ -445,8 +445,10 @@ function UserModal({
// ── Roles & Permissions Tab ────────────────────────────────────────────────────
function RolesTab() {
const [roles, setRoles] = useState<RolePermissions[]>(INITIAL_ROLE_PERMISSIONS)
const [selectedRoleId, setSelectedRoleId] = useState<string>(INITIAL_ROLE_PERMISSIONS[0].id)
// hotel_admin always has all permissions — excluded from the editable list
const editableRoles = INITIAL_ROLE_PERMISSIONS.filter(r => r.id !== 'rp_hotel_admin')
const [roles, setRoles] = useState<RolePermissions[]>(editableRoles)
const [selectedRoleId, setSelectedRoleId] = useState<string>(editableRoles[0].id)
const [newRoleName, setNewRoleName] = useState('')
const [addingRole, setAddingRole] = useState(false)
const [deleteId, setDeleteId] = useState<string | null>(null)