RabbitMQNotificationsPublisherImpl

io.github.positionpal.location.messages.notifications.RabbitMQNotificationsPublisher.RabbitMQNotificationsPublisherImpl
class RabbitMQNotificationsPublisherImpl[F[_]](queue: Queue[F, PushNotificationCommand])(using evidence$1: Async[F]) extends NotificationServiceProxy[F], Utils

Attributes

Graph
Supertypes
trait Utils
trait Protocol
class Object
trait Matchable
class Any
Show all

Members list

Type members

Inherited types

type Headers = FieldTable

Attributes

Inherited from:
Utils

Value members

Concrete methods

override def send(command: PushNotificationCommand): F[Unit]

Send the given command to the external notification service, which will handle the actual sending.

Send the given command to the external notification service, which will handle the actual sending.

Attributes

Definition Classes
def start(connection: Connection[F]): F[Unit]

Inherited methods

override def sendToAllMembersSharingGroupWith(user: UserId, sender: UserId, message: NotificationMessage): F[Unit]

Send the given message to all users sharing a group with the given user on behalf of the sender user.

Send the given message to all users sharing a group with the given user on behalf of the sender user.

Attributes

Definition Classes
Inherited from:
NotificationServiceProxy
override def sendToGroup(recipient: GroupId, sender: UserId, message: NotificationMessage): F[Unit]

Send the given message to all members of the given recipient group on behalf of the sender user.

Send the given message to all members of the given recipient group on behalf of the sender user.

Attributes

Definition Classes
Inherited from:
NotificationServiceProxy
def sendToOwnGroup(scope: Scope, message: NotificationMessage): F[Unit]

Send the given message to all members of the group of the given scope on behalf of the scope user.

Send the given message to all members of the group of the given scope on behalf of the scope user.

Attributes

Inherited from:
NotificationService

Inherited fields

val groupsEventsExchange: ExchangeName

The name of the exchange where group events are published by the user-group microservice.

The name of the exchange where group events are published by the user-group microservice.

Attributes

Inherited from:
Protocol
val groupsEventsQueue: QueueName

The name of the queue where group events are collected.

The name of the queue where group events are collected.

Attributes

Inherited from:
Protocol
val msgTypeKey: ShortString

The key used in the header to identify the type of message.

The key used in the header to identify the type of message.

Attributes

Inherited from:
Protocol
val notificationsCommandExchange: ExchangeName

The name of the exchange where notifications commands are published by the location service.

The name of the exchange where notifications commands are published by the location service.

Attributes

Inherited from:
Protocol

Extensions

Inherited extensions

extension (b: Array[Byte])
def toMessage(headersData: Map[ShortString, FieldData]): Message[Array[Byte]]

Attributes

Inherited from:
Utils
extension (expected: ShortString)
infix def in(headers: Headers, key: Option[ShortString]): Boolean

Attributes

Inherited from:
Utils
extension (s: String)
def asShortOrEmpty: ShortString

Attributes

Inherited from:
Utils