Antes de Deletar / Before Delete
Bloco padrão executado antes de deletar um registro nas entidades User e Role. O bloco apenas verifica se o registro informado pode ser excluído ou não.
Se o registro corresponde a um usuário comum, o bloco permite que ele seja excluído e retorna um objeto. No entanto, se o registro for de um usuário administrador e este for o único administrador do sistema, a exclusão não será permitida.
Figura 1 - Bloco Antes de Deletar
As aplicações padrão do Cronapp utilizam este bloco na função BeforeDelete do arquivo blockly servidor UserManager (Localização: Bloco de Programação/Servidor/UserManager).
Compatibilidade
Bloco servidor: cronapi.authentication.Operations.beforeDelete()
Retorno
Retorna um objeto JSON contendo os dados do registro informado ou uma exceção quando o registro for do único usuário administrador.
Parâmetros
Entidade
Entidade que terá um registro excluído.
Posição: 1
Inglês: Entity
Tipo: Objeto (User e Role) / Object (User e Role)
Exemplo: Retorno do bloco Criar novo objeto
Exemplo
Na função abaixo, o id de um usuário da tabela User é atribuído a variável "id". Posteriormente, o bloco Antes de Deletar recebe como parâmetro o bloco na lista, que obtém o primeiro registro do usuário a partir de uma consulta no banco de dados por meio do bloco Abrir consulta.
Se o id informado for de um usuário administrador, o bloco Antes de Deletar verifica se existe mais de um usuário dessa categoria. Se não houver, será exibida uma notificação informando que o usuário não pode ser removido (Figura 2.1). Caso contrário, se houver mais de um usuário administrador ou o id informado for de um usuário comum, o registro poderá ser excluído. E as informações do usuário serão impressas no console do depurador por meio do bloco imprime.
Figura 2 - Exemplo de uso do bloco Antes de Deletar
Figura 2.1 - Exibição da mensagem de notificação
No campo de informação abaixo, apresentamos o objeto gerado com as informações do usuário quando é permitido excluí-lo.
{
"id": "5B79F5AA-0E1A-4A7D-B663-28FDBBA96041",
"accessFailedCount": 0,
"email": "joaopedro@gmail.com",
"emailConfirmed": true,
"lockoutEnabled": false,
"name": "João Pedro",
"normalizedEmail": "",
"normalizedUserName": "",
"password": "$2a$10$tejZxHzdwF.tHF/Sz9bM9.cSHKE.Zz.OuiIHzumYQreF4/hCWnJlG",
"phoneNumberConfirmed": true,
"securityStamp": "B928C2E1-F604-40EF-AF71-5DEDDD108BD9",
"twoFactorEnabled": false,
"userName": "joaopedro"
}
Nesta página
- 1 Compatibilidade
- 2 Retorno
- 3 Parâmetros
- 3.1 Entidade
- 4 Exemplo