Olá, Lucas, como vai?
O método executarOperacao
foi estruturado para receber dois parâmetros: o papel do usuário (String papel) e a função que será executada (Function operacao). Ele primeiro verifica se o usuário tem permissão de administrador usando verificarPermissaoAdmin(papel
). Se for true, a operação passada é executada; caso contrário, a mensagem "Acesso negado" é exibida.
No código, deletarUsuario
e adicionarProduto
estão chamando executarOperacao
passando a string 'admin' de forma fixa. Isso faz com que sempre seja avaliado como verdadeiro. Para testar com outro usuário, você pode modificar a chamada no main para passar um papel diferente, por exemplo:
ServicoUsuario servico = ServicoUsuario();
ServicoProduto produto = ServicoProduto();
String papelUsuario = 'editor';
servico.executarOperacao(papelUsuario, () => print('Usuário deletado'));
produto.executarOperacao(papelUsuario, () => print('Produto adicionado'));
Assim, se papelUsuario
não for 'admin', a operação não será executada e a mensagem "Acesso negado" será exibida.
Espero ter ajudado!
Siga firme nos seus estudos e conte com o fórum sempre que precisar!
Abraços :)
Caso este post tenha lhe ajudado, por favor, marcar como solucionado