| 
<?php
 declare(strict_types=1);
 
 namespace App\Aplicacao\Compartilhado\Mensageria\Enumerados;
 
 enum Fila: string
 {
 case EMISSAO_EMAIL_QUEUE = 'emissao_email_queue';
 case EMISSAO_EMAIL_QUEUE_DLQ_QUEUE = 'emissao_email_queue_dlq_queue';
 
 case EMPRESA_RECEM_CADASTRADA_NO_SISTEMA_QUEUE = 'empresa_recem_cadastrada_no_sistema_queue';
 case EMPRESA_RECEM_CADASTRADA_NO_SISTEMA_QUEUE_DLQ_QUEU = 'empresa_recem_cadastrada_no_sistema_queue_dlq_queue';
 
 case NOTIFICAR_COMPROMISSOS_QUEUE = 'notificar_compromissos_queue';
 case NOTIFICAR_COMPROMISSOS_QUEUE_DLQ_QUEUE = 'notificar_compromissos_queue_dlq_queue';
 
 case NOVO_EVENTO_AGENDA_QUEUE = 'novo_evento_agenda_queue';
 case NOVO_EVENTO_AGENDA_QUEUE_DLQ_QUEUE = 'novo_evento_agenda_queue_dlq_queue';
 
 static public function Ligacoes(): array
 {
 return [
 
 // EVENTO AGENDA
 [
 'queue' => self::NOVO_EVENTO_AGENDA_QUEUE,
 'exchange' => TrocaMensagens::NOVO_EVENTO_AGENDA_EXCHANGE,
 ],
 [
 'queue' => self::NOVO_EVENTO_AGENDA_QUEUE_DLQ_QUEUE,
 'exchange' => TrocaMensagens::NOVO_EVENTO_AGENDA_DLX_EXCHANGE,
 ],
 
 // EMAIL
 [
 'queue' => self::EMISSAO_EMAIL_QUEUE,
 'exchange' => TrocaMensagens::EMISSAO_EMAIL_EXCHANGE,
 ],
 [
 'queue' => self::EMISSAO_EMAIL_QUEUE_DLQ_QUEUE,
 'exchange' => TrocaMensagens::EMISSAO_EMAIL_DLX_EXCHANGE,
 ],
 
 // EMPRESA RECEM CADASTRADA
 [
 'queue' => self::EMPRESA_RECEM_CADASTRADA_NO_SISTEMA_QUEUE,
 'exchange' => TrocaMensagens::EMPRESA_RECEM_CADASTRADA_NO_SISTEMA_EXCHAGE,
 ],
 [
 'queue' => self::EMPRESA_RECEM_CADASTRADA_NO_SISTEMA_QUEUE_DLQ_QUEU,
 'exchange' => TrocaMensagens::EMPRESA_RECEM_CADASTRADA_NO_SISTEMA_DLX_EXCHAGE,
 ],
 
 // NOTIFICAR COMPROMISSOS
 [
 'queue' => self::NOTIFICAR_COMPROMISSOS_QUEUE,
 'exchange' => TrocaMensagens::NOTIFICAR_COMPROMISSOS_EXCHANGE,
 ],
 [
 'queue' => self::NOTIFICAR_COMPROMISSOS_QUEUE_DLQ_QUEUE,
 'exchange' => TrocaMensagens::NOTIFICAR_COMPROMISSOS_DLX_EXCHANGE,
 ]
 ];
 }
 
 static public function Filas(): array
 {
 return [
 
 // EVENTO AGENDA
 [
 'queue' => self::NOVO_EVENTO_AGENDA_QUEUE,
 'dlx' => TrocaMensagens::NOVO_EVENTO_AGENDA_DLX_EXCHANGE,
 ],
 [
 'queue' => self::NOVO_EVENTO_AGENDA_QUEUE_DLQ_QUEUE,
 'dlx' => TrocaMensagens::NOVO_EVENTO_AGENDA_DLX_EXCHANGE,
 ],
 
 // EMAIL
 [
 'queue' => Fila::EMISSAO_EMAIL_QUEUE,
 'dlx' => TrocaMensagens::EMISSAO_EMAIL_DLX_EXCHANGE,
 ],
 [
 'queue' => Fila::EMISSAO_EMAIL_QUEUE_DLQ_QUEUE,
 'dlx' => TrocaMensagens::EMISSAO_EMAIL_DLX_EXCHANGE,
 ],
 
 // EMPRESA RECEM CADASTRADA
 [
 'queue' => Fila::EMPRESA_RECEM_CADASTRADA_NO_SISTEMA_QUEUE,
 'dlx' => TrocaMensagens::EMPRESA_RECEM_CADASTRADA_NO_SISTEMA_DLX_EXCHAGE
 ],
 [
 'queue' => Fila::EMPRESA_RECEM_CADASTRADA_NO_SISTEMA_QUEUE_DLQ_QUEU,
 'dlx' => TrocaMensagens::EMPRESA_RECEM_CADASTRADA_NO_SISTEMA_DLX_EXCHAGE
 ],
 
 // NOTIFICAR COMPROMISSOS
 [
 'queue' => Fila::NOTIFICAR_COMPROMISSOS_QUEUE,
 'dlx' => TrocaMensagens::NOTIFICAR_COMPROMISSOS_DLX_EXCHANGE
 ],
 [
 'queue' => Fila::NOTIFICAR_COMPROMISSOS_QUEUE_DLQ_QUEUE,
 'dlx' => TrocaMensagens::NOTIFICAR_COMPROMISSOS_DLX_EXCHANGE
 ]
 ];
 }
 }
 |