# ✅ Passo 10: Adicionar Permissões de Assinaturas

Este documento explica como executar o script SQL para adicionar as permissões do módulo de Assinaturas Digitais.

---

## 📋 O que este script faz?

O script `sql/add_signature_permissions.sql` adiciona as seguintes permissões ao sistema:

1. **assinaturas.view** - Visualizar Assinaturas
2. **assinaturas.create** - Iniciar Coleta de Assinaturas
3. **assinaturas.manage** - Gerenciar Sessões de Assinatura
4. **assinaturas.send_email** - Enviar Emails de Assinatura
5. **assinaturas.remove_signer** - Remover Signatário
6. **assinaturas.view_signed** - Visualizar Documento Assinado
7. **assinaturas.download_pdf** - Baixar PDF Assinado

Todas essas permissões são automaticamente atribuídas ao perfil **Administrador** (role_id = 1).

---

## 🚀 Como Executar

### Opção 1: Via phpMyAdmin (Recomendado)

1. **Acesse o phpMyAdmin**
   - Entre no painel de controle do seu provedor
   - Abra o phpMyAdmin

2. **Selecione o banco de dados**
   - No menu lateral, clique no banco de dados do sistema
   - Exemplo: `trainees_financeiro`

3. **Abra a aba SQL**
   - Clique na aba "SQL" no topo

4. **Cole o script**
   - Abra o arquivo `sql/add_signature_permissions.sql`
   - Copie todo o conteúdo
   - Cole na área de texto do phpMyAdmin

5. **Execute**
   - Clique no botão "Executar" ou "Go"
   - Aguarde a execução

6. **Verifique o resultado**
   - O script mostra uma tabela com as permissões criadas
   - Verifique se todas aparecem como "atribuida_ao_admin: Sim"

### Opção 2: Via linha de comando (SSH)

Se você tem acesso SSH ao servidor:

```bash
mysql -u seu_usuario -p nome_do_banco < sql/add_signature_permissions.sql
```

---

## ✅ Verificação

Após executar o script, você deve ver:

1. **7 permissões criadas** na tabela `permissions`
2. **7 associações** na tabela `role_permissions` para o Administrador
3. **Tabela de verificação** mostrando todas as permissões com "Sim" na coluna `atribuida_ao_admin`

---

## 🔍 Verificar Manualmente

Se quiser verificar manualmente, execute estas queries no phpMyAdmin:

### Ver todas as permissões de assinaturas:

```sql
SELECT * FROM permissions WHERE key_name LIKE 'assinaturas.%';
```

### Ver permissões do Administrador:

```sql
SELECT p.key_name, p.name, p.module
FROM permissions p
INNER JOIN role_permissions rp ON p.id = rp.permission_id
WHERE rp.role_id = 1 AND p.key_name LIKE 'assinaturas.%'
ORDER BY p.key_name;
```

---

## ⚠️ Importante

- **Execute apenas uma vez** - O script usa `ON DUPLICATE KEY UPDATE`, então pode ser executado múltiplas vezes sem problemas
- **Backup recomendado** - Antes de executar, faça backup do banco de dados (especialmente das tabelas `permissions` e `role_permissions`)
- **Administrador** - As permissões são automaticamente atribuídas ao perfil Administrador (ID = 1)

---

## 🎯 Próximos Passos

Após executar o script:

1. ✅ Permissões criadas e atribuídas ao Administrador
2. ✅ Sistema pronto para usar o módulo de assinaturas
3. ✅ Você pode atribuir essas permissões a outros perfis de acesso através do menu "Níveis de Acesso"

---

## 📝 Notas

- Se você criar novos perfis de acesso, precisará atribuir essas permissões manualmente através do sistema
- O perfil Administrador já terá todas as permissões automaticamente
- As permissões podem ser gerenciadas em: **Usuários > Níveis de Acesso > Editar**

---

## ❓ Problemas?

Se encontrar algum erro:

1. **Verifique se as tabelas existem:**
   ```sql
   SHOW TABLES LIKE 'permissions';
   SHOW TABLES LIKE 'role_permissions';
   ```

2. **Verifique se o role_id = 1 existe:**
   ```sql
   SELECT * FROM roles WHERE id = 1;
   ```

3. **Verifique os logs** em `logs/app.log` para erros relacionados

---

**Script pronto para execução!** 🚀

