#!/bin/bash
# Script para criar roles adicionais e atribuir ao usuário criado
# Execute na VPS: bash criar-roles-e-atribuir.sh

cd /var/www/maktubia-backend

echo "🔧 Criando roles adicionais e atribuindo ao usuário criado..."
echo ""

sudo -u postgres psql -d maktubia_points << 'SQL'
-- Criar role "manager" se não existir
INSERT INTO roles (role_name, role_description, permissions)
VALUES ('manager', 'Gerente', '{"users": ["read", "update"], "customers": ["read", "create", "update"], "establishments": ["read", "create", "update", "delete"], "purchases": ["read", "confirm", "reject"], "reports": ["read", "export"]}'::jsonb)
ON CONFLICT (role_name) DO NOTHING;

-- Criar role "employee" se não existir
INSERT INTO roles (role_name, role_description, permissions)
VALUES ('employee', 'Funcionário', '{"customers": ["read", "create"], "purchases": ["read", "confirm"], "establishments": ["read"]}'::jsonb)
ON CONFLICT (role_name) DO NOTHING;

-- Atribuir role "manager" ao usuário ID 10 (ou criar com role diferente de "user")
UPDATE users 
SET role_id = (SELECT role_id FROM roles WHERE role_name = 'manager' LIMIT 1),
    updated_at = NOW()
WHERE user_id = 10 AND role_id = 1;

-- Verificar resultado
SELECT 
    u.user_id,
    u.username,
    u.email,
    u.role_id,
    r.role_name,
    r.role_description,
    u.updated_at
FROM users u
LEFT JOIN roles r ON u.role_id = r.role_id
WHERE u.user_id = 10;

-- Mostrar todos os roles disponíveis
SELECT role_id, role_name, role_description FROM roles ORDER BY role_id;
SQL

echo ""
echo "✅ Roles criados e atribuídos!"
echo ""
echo "💡 O usuário agora deve aparecer na lista de funcionários."
echo "💡 Reinicie a aplicação se necessário: pm2 restart maktubia-backend"













