* Replace Nats with Nats Jestream For PubSub
Signed-off-by: rodneyosodo <blackd0t@protonmail.com>
* Add Stream Description
Signed-off-by: rodneyosodo <blackd0t@protonmail.com>
* Subscribe using wildcard
Signed-off-by: rodneyosodo <blackd0t@protonmail.com>
* Add consumers description
Signed-off-by: rodneyosodo <blackd0t@protonmail.com>
* Remove unused queue variable
Signed-off-by: rodneyosodo <blackd0t@protonmail.com>
* Add extra configs to stream
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
* Use inline error handling
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
* Fix connection leak in NATS publisher
The publisher struct in pkg/messaging/nats/publisher.go was modified to include a new `conn` field of type `*broker.Conn`. This change was made to fix a connection leak issue in the NATS publisher.
The `NewPublisher` function was updated to assign the `conn` parameter to the new `conn` field in the publisher struct.
Additionally, the `Close` method in the publisher struct was modified to close the `conn` connection.
This commit fixes the connection leak issue in the NATS publisher and ensures that connections are properly closed.
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
* feat(messaging): Add support for durable consumers
This commit adds support for durable consumers to NATS JS in the messaging package.
To support this functionality, the `strings` package has been imported in the `pubsub.go` file to check the topic.
Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>
* feat : remove internal logic to keep subscribers
Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>
* feat(messaging): add function to format consumer name
This commit adds a new function to the `pubsub` package in the `messaging` module. The function is called `formatConsumerName` and is used to generate a consumer name for NATS messaging. The function takes two parameters, `topic` and `id`, and returns a formatted consumer name. The consumer name is generated by concatenating the `topic` and `id` parameters, with some restrictions on the characters that can be used. This function will be useful for creating durable subscriptions in NATS messaging.
Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>
---------
Signed-off-by: rodneyosodo <blackd0t@protonmail.com>
Signed-off-by: Rodney Osodo <socials@rodneyosodo.com>
Signed-off-by: Rodney Osodo <28790446+rodneyosodo@users.noreply.github.com>