keycloak-event-listener-mqtt/src/main/scala/net/dergrimm/keycloak/providers/events/mqtt/PayloadAuthDetails.scala
2024-02-18 17:11:38 +01:00

32 lines
845 B
Scala

package net.dergrimm.keycloak.providers.events.mqtt
import org.keycloak.events.Event
import org.keycloak.events.admin.AdminEvent
import upickle.default.ReadWriter
object PayloadAuthDetails:
def fromEvent(event: Event): PayloadAuthDetails =
PayloadAuthDetails(
realmId = event.getRealmId(),
clientId = event.getClientId(),
userId = event.getUserId(),
ipAddress = event.getIpAddress()
)
def fromEvent(event: AdminEvent): PayloadAuthDetails =
val auth = event.getAuthDetails()
PayloadAuthDetails(
realmId = auth.getRealmId(),
clientId = auth.getClientId(),
userId = auth.getClientId(),
ipAddress = auth.getIpAddress()
)
private final case class PayloadAuthDetails(
realmId: String,
clientId: String,
userId: String,
ipAddress: String
) derives ReadWriter