From c25704f943999163bd08745887abe1af553911e0 Mon Sep 17 00:00:00 2001 From: Infendro Date: Sun, 17 Aug 2025 21:39:42 +0200 Subject: [PATCH] refactor regex --- .../com/infendro/account/dto/request/PostAccountRequest.kt | 7 ++++--- .../dto/request/PutAccountCurrentPasswordRequest.kt | 4 ++-- .../dto/request/PutAccountCurrentUsernameRequest.kt | 4 ++-- backend/src/main/kotlin/com/infendro/account/util/Regex.kt | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/backend/src/main/kotlin/com/infendro/account/dto/request/PostAccountRequest.kt b/backend/src/main/kotlin/com/infendro/account/dto/request/PostAccountRequest.kt index 5743eb4..6ab27f6 100644 --- a/backend/src/main/kotlin/com/infendro/account/dto/request/PostAccountRequest.kt +++ b/backend/src/main/kotlin/com/infendro/account/dto/request/PostAccountRequest.kt @@ -1,6 +1,7 @@ package com.infendro.account.dto.request -import com.infendro.account.util.REGEX +import com.infendro.account.util.Regex.PASSWORD +import com.infendro.account.util.Regex.USERNAME import io.ktor.server.plugins.requestvalidation.* import io.ktor.server.plugins.requestvalidation.ValidationResult.* import kotlinx.serialization.Serializable @@ -20,8 +21,8 @@ data class PostAccountRequestAccess( fun RequestValidationConfig.validatePostAccountRequest() { validate { request -> when { - !REGEX.USERNAME.matches(request.username) -> Invalid("") - !REGEX.PASSWORD.matches(request.password) -> Invalid("") + !USERNAME.matches(request.username) -> Invalid("") + !PASSWORD.matches(request.password) -> Invalid("") else -> Valid } } diff --git a/backend/src/main/kotlin/com/infendro/account/dto/request/PutAccountCurrentPasswordRequest.kt b/backend/src/main/kotlin/com/infendro/account/dto/request/PutAccountCurrentPasswordRequest.kt index 739d884..dd1db19 100644 --- a/backend/src/main/kotlin/com/infendro/account/dto/request/PutAccountCurrentPasswordRequest.kt +++ b/backend/src/main/kotlin/com/infendro/account/dto/request/PutAccountCurrentPasswordRequest.kt @@ -1,6 +1,6 @@ package com.infendro.account.dto.request -import com.infendro.account.util.REGEX +import com.infendro.account.util.Regex.PASSWORD import io.ktor.server.plugins.requestvalidation.* import io.ktor.server.plugins.requestvalidation.ValidationResult.* import kotlinx.serialization.Serializable @@ -14,7 +14,7 @@ data class PutAccountCurrentPasswordRequest( fun RequestValidationConfig.validatePutAccountCurrentPasswordRequest() { validate { request -> when { - !REGEX.PASSWORD.matches(request.password) -> Invalid("") + !PASSWORD.matches(request.password) -> Invalid("") else -> Valid } } diff --git a/backend/src/main/kotlin/com/infendro/account/dto/request/PutAccountCurrentUsernameRequest.kt b/backend/src/main/kotlin/com/infendro/account/dto/request/PutAccountCurrentUsernameRequest.kt index 68ff665..3850444 100644 --- a/backend/src/main/kotlin/com/infendro/account/dto/request/PutAccountCurrentUsernameRequest.kt +++ b/backend/src/main/kotlin/com/infendro/account/dto/request/PutAccountCurrentUsernameRequest.kt @@ -1,6 +1,6 @@ package com.infendro.account.dto.request -import com.infendro.account.util.REGEX +import com.infendro.account.util.Regex.USERNAME import io.ktor.server.plugins.requestvalidation.* import io.ktor.server.plugins.requestvalidation.ValidationResult.* import kotlinx.serialization.Serializable @@ -14,7 +14,7 @@ data class PutAccountCurrentUsernameRequest( fun RequestValidationConfig.validatePutAccountCurrentUsernameRequest() { validate { request -> when { - !REGEX.USERNAME.matches(request.username) -> Invalid("") + !USERNAME.matches(request.username) -> Invalid("") else -> Valid } } diff --git a/backend/src/main/kotlin/com/infendro/account/util/Regex.kt b/backend/src/main/kotlin/com/infendro/account/util/Regex.kt index ece9fe1..56e7603 100644 --- a/backend/src/main/kotlin/com/infendro/account/util/Regex.kt +++ b/backend/src/main/kotlin/com/infendro/account/util/Regex.kt @@ -1,6 +1,6 @@ package com.infendro.account.util -object REGEX { +object Regex { val USERNAME = """^(?=.{1,32}$)[a-z0-9]+([\-._][a-z0-9]+)*$""".toRegex() val PASSWORD = """^(?=.{8,}$)[a-zA-Z0-9!"#$%&'()*+,\-./:;<=>?@\[\\\]^_`{|}~]*$""".toRegex() }