diff --git a/service/src/main/kotlin/com/sangdol/roomescape/auth/business/domain/LoginHistoryEvent.kt b/service/src/main/kotlin/com/sangdol/roomescape/auth/business/domain/LoginHistoryEvent.kt new file mode 100644 index 00000000..d5a1a7b7 --- /dev/null +++ b/service/src/main/kotlin/com/sangdol/roomescape/auth/business/domain/LoginHistoryEvent.kt @@ -0,0 +1,19 @@ +package com.sangdol.roomescape.auth.business.domain + +class LoginHistoryEvent( + val id: Long, + val type: PrincipalType, + var success: Boolean = true, + val ipAddress: String, + val userAgent: String +) { + fun onSuccess(): LoginHistoryEvent { + this.success = true + return this + } + + fun onFailure(): LoginHistoryEvent { + this.success = false + return this + } +} diff --git a/service/src/main/kotlin/com/sangdol/roomescape/auth/mapper/AuthMappingExtensions.kt b/service/src/main/kotlin/com/sangdol/roomescape/auth/mapper/AuthMappingExtensions.kt new file mode 100644 index 00000000..0b63d64d --- /dev/null +++ b/service/src/main/kotlin/com/sangdol/roomescape/auth/mapper/AuthMappingExtensions.kt @@ -0,0 +1,13 @@ +package com.sangdol.roomescape.auth.mapper + +import com.sangdol.roomescape.auth.business.domain.LoginHistoryEvent +import com.sangdol.roomescape.auth.infrastructure.persistence.LoginHistoryEntity + +fun LoginHistoryEvent.toEntity(id: Long) = LoginHistoryEntity( + id = id, + principalId = this.id, + principalType = this.type, + success = this.success, + ipAddress = this.ipAddress, + userAgent = this.userAgent +)