canove / whaticket-community

A very simple Ticket System based on WhatsApp messages, that allow multi-users in same WhatsApp account.
MIT License
1.51k stars 773 forks source link

Usuário consegue visualizar tickets finalizados de outra fila que não lhe pertence #601

Open tiagooliveira1 opened 8 months ago

tiagooliveira1 commented 8 months ago

Pessoal, notei que quando o usuário clica nos tickets resolvidos não é aplicada restrição conforme o cadastro dele.

Exemplo: Whaticket com 2 usuários, sendo Usuario1 com direito a acesso para Fila1 e o Usuario2 com direito a acesso para a Fila2.

O Usuário2 consegue visualizar na aba Inbox somente os tickets da fila dele. Porém ao clicar em Resolvidos o Usuario2 consegue visualizar tickets da Fila2 e também da Fila1, a qual ele não teria acesso por direito.

Há alguma forma de contar isto ?

HenriqueMafort commented 6 months ago

existe sim uma forma. voce deve alterar o codigo no backend especificamente em ListTicketService.ts nela você vai alterar o codigo onde trata a consulta para visualização.

O código em sí é este aqui:

const user = await ShowUserService(userId);

if (user.profile === "admin" || user.profile === "superv") { // Se o role do user for admin ou supervisor if (showAll === "true") { // Se showAll for true whereCondition = {queueId: {[Op.or]: [queueIds, null]}}; // Busca tickets com o queueId ou null } } else { // Se o role do user não for admin ou supervisor if (showAll === "true") { // Se showAll for true whereCondition = {queueId: {[Op.or]: [queueIds, null]}, userId}; // Busca tickets com o queueId ou null e com o userId } }

você irá alterar ele por esse trecho de codigo.

if (showAll === "true") { whereCondition = { queueId: { [Op.or]: [queueIds, null] } }; }

faça os testes e qualquer coisa avisa ai

stale[bot] commented 3 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.