-- Popular tabela roles na VPS com apenas as 3 roles necessárias
-- Execute: sudo -u postgres psql -d maktubia_points -f popular-roles-vps-simplificado.sql

-- Inserir apenas as 3 roles padrão
INSERT INTO roles (role_name, role_description, permissions)
VALUES 
    -- Role "user" - Cliente padrão
    ('user', 'Cliente padrão', '{
        "purchases": ["read", "create"],
        "transfers": ["read", "create"],
        "friends": ["read", "create", "accept", "reject"],
        "rewards": ["read", "redeem"],
        "profile": ["read", "update"]
    }'::jsonb),
    
    -- Role "admin" - Administrador completo
    ('admin', 'Administrador', '{
        "*": ["*"]
    }'::jsonb)
    
    -- NOTA: Merchant é identificado implicitamente quando um usuário tem um estabelecimento criado (created_by)
    -- Não precisa de role específica no banco de dados
ON CONFLICT (role_name) DO UPDATE SET
    role_description = EXCLUDED.role_description,
    permissions = EXCLUDED.permissions;

-- Remover roles desnecessárias (se existirem)
DELETE FROM roles WHERE role_name IN ('manager', 'supervisor', 'employee', 'cashier', 'vetter', 'agent', 'reader');

-- Verificar roles criados
SELECT 
    role_id,
    role_name,
    role_description,
    permissions
FROM roles
ORDER BY role_id;

