-- Финальная версия: 4 типа пользователей
-- guest, user, employee, hr

USE mvp_career;

-- 1. Изменить ENUM в sessions для 4 типов
ALTER TABLE sessions 
MODIFY COLUMN user_type ENUM('guest', 'user', 'employee', 'hr') DEFAULT 'guest';

-- 2. Обновить существующие записи:

-- 2.1. Если есть в user_data (заполнил данные через "ПРОДОЛЖИТЬ") -> 'user'
UPDATE sessions s
SET user_type = 'user'
WHERE EXISTS (
    SELECT 1 FROM user_data ud WHERE ud.session_id = s.id
)
AND user_type NOT IN ('employee', 'hr');

-- 2.2. Если есть в guests (заполнил данные как гость) -> остается 'guest'
-- (по умолчанию уже 'guest', ничего не делаем)

-- 2.3. Если есть в corporate_employees -> 'employee'
UPDATE sessions s
SET user_type = 'employee'
WHERE EXISTS (
    SELECT 1 FROM corporate_employees ce WHERE ce.session_id = s.id
);

-- 2.4. Если есть в hr_users -> 'hr'
UPDATE sessions s
SET user_type = 'hr'
WHERE EXISTS (
    SELECT 1 FROM hr_users hr WHERE hr.session_id = s.id
);

-- 3. Все остальные (anonymous, без данных) -> 'guest'
UPDATE sessions 
SET user_type = 'guest'
WHERE user_type NOT IN ('user', 'employee', 'hr');

-- Проверка результата
SELECT 
    CASE 
        WHEN user_type = 'guest' THEN '👤 Гость/Аноним'
        WHEN user_type = 'user' THEN '💎 Пользователь'
        WHEN user_type = 'employee' THEN '🏢 Сотрудник'
        WHEN user_type = 'hr' THEN '👔 HR-специалист'
    END as type_label,
    user_type,
    COUNT(*) as total
FROM sessions
GROUP BY user_type
ORDER BY 
    FIELD(user_type, 'guest', 'user', 'employee', 'hr');

