From 50a6071eeca73af3ea9d9e6c1540dd733bf76cfe Mon Sep 17 00:00:00 2001 From: Joakim Olsson Date: Fri, 11 Apr 2025 23:50:15 +0200 Subject: [PATCH] feat: add setup method for privilege event consumers Adds a Setup method to PrivilegeHandler that configures AMQP consumers for user and privilege events. This enables the handling of User.Added, User.Removed, Privilege.Added, and Privilege.Removed events in a streamlined manner, enhancing the event-driven capabilities of the handler. --- client.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/client.go b/client.go index 700955e..eca9526 100644 --- a/client.go +++ b/client.go @@ -75,6 +75,15 @@ func (h *PrivilegeHandler) Fetch() error { return nil } +func (h *PrivilegeHandler) Setup() []goamqp.Setup { + return []goamqp.Setup{ + goamqp.TransientEventStreamConsumer("User.Added", h.Process, UserAdded{}), + goamqp.TransientEventStreamConsumer("User.Removed", h.Process, UserRemoved{}), + goamqp.TransientEventStreamConsumer("Privilege.Added", h.Process, PrivilegeAdded{}), + goamqp.TransientEventStreamConsumer("Privilege.Removed", h.Process, PrivilegeRemoved{}), + } +} + // Process privilege-related events and update the internal state func (h *PrivilegeHandler) Process(msg interface{}, _ goamqp.Headers) (interface{}, error) { switch ev := msg.(type) {