diff --git a/push-message-provider/src/main/kotlin/ru/touchin/push/message/provider/dto/request/PushTokenCheck.kt b/push-message-provider/src/main/kotlin/ru/touchin/push/message/provider/dto/request/PushTokenCheck.kt new file mode 100644 index 0000000..8711b19 --- /dev/null +++ b/push-message-provider/src/main/kotlin/ru/touchin/push/message/provider/dto/request/PushTokenCheck.kt @@ -0,0 +1,5 @@ +package ru.touchin.push.message.provider.dto.request + +data class PushTokenCheck( + val pushToken: String +) diff --git a/push-message-provider/src/main/kotlin/ru/touchin/push/message/provider/dto/result/CheckPushTokenResult.kt b/push-message-provider/src/main/kotlin/ru/touchin/push/message/provider/dto/result/CheckPushTokenResult.kt new file mode 100644 index 0000000..e8ddd4b --- /dev/null +++ b/push-message-provider/src/main/kotlin/ru/touchin/push/message/provider/dto/result/CheckPushTokenResult.kt @@ -0,0 +1,7 @@ +package ru.touchin.push.message.provider.dto.result + +import ru.touchin.push.message.provider.enums.PushTokenStatus + +data class CheckPushTokenResult( + val status: PushTokenStatus +) diff --git a/push-message-provider/src/main/kotlin/ru/touchin/push/message/provider/enums/PushTokenStatus.kt b/push-message-provider/src/main/kotlin/ru/touchin/push/message/provider/enums/PushTokenStatus.kt new file mode 100644 index 0000000..7b85aa9 --- /dev/null +++ b/push-message-provider/src/main/kotlin/ru/touchin/push/message/provider/enums/PushTokenStatus.kt @@ -0,0 +1,14 @@ +package ru.touchin.push.message.provider.enums + +enum class PushTokenStatus { + + /** Passes [PushMessageProviderType] validation. */ + VALID, + + /** Not passes [PushMessageProviderType] validation: not registered or has incorrect format. */ + INVALID, + + /** Could not validate. */ + UNKNOWN + +} diff --git a/push-message-provider/src/main/kotlin/ru/touchin/push/message/provider/services/PushMessageProviderService.kt b/push-message-provider/src/main/kotlin/ru/touchin/push/message/provider/services/PushMessageProviderService.kt index 7677e98..2bec0a2 100644 --- a/push-message-provider/src/main/kotlin/ru/touchin/push/message/provider/services/PushMessageProviderService.kt +++ b/push-message-provider/src/main/kotlin/ru/touchin/push/message/provider/services/PushMessageProviderService.kt @@ -1,6 +1,8 @@ package ru.touchin.push.message.provider.services +import ru.touchin.push.message.provider.dto.request.PushTokenCheck import ru.touchin.push.message.provider.dto.request.SendPushRequest +import ru.touchin.push.message.provider.dto.result.CheckPushTokenResult import ru.touchin.push.message.provider.dto.result.SendPushResult import ru.touchin.push.message.provider.enums.PushMessageProviderType @@ -10,4 +12,6 @@ interface PushMessageProviderService { fun send(request: SendPushRequest): SendPushResult + fun check(request: PushTokenCheck): CheckPushTokenResult + } diff --git a/push-message-provider/src/test/kotlin/ru/touchin/push/message/provider/factories/PushMessageProviderServiceFactoryImplTest.kt b/push-message-provider/src/test/kotlin/ru/touchin/push/message/provider/factories/PushMessageProviderServiceFactoryImplTest.kt index ff875d6..fd21348 100644 --- a/push-message-provider/src/test/kotlin/ru/touchin/push/message/provider/factories/PushMessageProviderServiceFactoryImplTest.kt +++ b/push-message-provider/src/test/kotlin/ru/touchin/push/message/provider/factories/PushMessageProviderServiceFactoryImplTest.kt @@ -4,8 +4,9 @@ import org.junit.Assert import org.junit.jupiter.api.DisplayName import org.junit.jupiter.api.Test import ru.touchin.common.exceptions.CommonException - +import ru.touchin.push.message.provider.dto.request.PushTokenCheck import ru.touchin.push.message.provider.dto.request.SendPushRequest +import ru.touchin.push.message.provider.dto.result.CheckPushTokenResult import ru.touchin.push.message.provider.dto.result.SendPushResult import ru.touchin.push.message.provider.enums.PlatformType import ru.touchin.push.message.provider.enums.PushMessageProviderType @@ -19,6 +20,9 @@ class PushMessageProviderServiceFactoryImplTest { override val type: PushMessageProviderType = PushMessageProviderType.FCM override fun send(request: SendPushRequest): SendPushResult = throw NotImplementedError() + + override fun check(request: PushTokenCheck): CheckPushTokenResult = throw NotImplementedError() + } @Test @@ -73,6 +77,9 @@ class PushMessageProviderServiceFactoryImplTest { override val type: PushMessageProviderType = PushMessageProviderType.FCM override fun send(request: SendPushRequest): SendPushResult = throw NotImplementedError() + + override fun check(request: PushTokenCheck): CheckPushTokenResult = throw NotImplementedError() + } ) )