diff --git a/src/main/kotlin/org/gitanimals/core/Svgs.kt b/src/main/kotlin/org/gitanimals/core/Svgs.kt index f25a0de2..59c1064e 100644 --- a/src/main/kotlin/org/gitanimals/core/Svgs.kt +++ b/src/main/kotlin/org/gitanimals/core/Svgs.kt @@ -366,6 +366,10 @@ val largetTextAcceptableChars = lazy { acceptableTitles.toList() }.value +val forbiddenWordsList = lazy { + listOf("fuck", "shit", "hate", "bitch") +}.value + val mediumNumberSvgs = lazy { val list = mutableListOf() for (i in 0..9) { diff --git a/src/main/kotlin/org/gitanimals/guild/app/request/CreateGuildRequest.kt b/src/main/kotlin/org/gitanimals/guild/app/request/CreateGuildRequest.kt index 3515a02a..c8237b6d 100644 --- a/src/main/kotlin/org/gitanimals/guild/app/request/CreateGuildRequest.kt +++ b/src/main/kotlin/org/gitanimals/guild/app/request/CreateGuildRequest.kt @@ -1,6 +1,7 @@ package org.gitanimals.guild.app.request import org.gitanimals.core.FieldType +import org.gitanimals.core.forbiddenWordsList import org.gitanimals.core.largetTextAcceptableChars data class CreateGuildRequest( @@ -16,5 +17,9 @@ data class CreateGuildRequest( title.forEach { require(it in largetTextAcceptableChars) { "Cannot accept title \"$it\"" } } + + require(forbiddenWordsList.none { title.contains(it, ignoreCase = true) }) { + "Title contains forbidden word. title: \"$title\"" + } } } diff --git a/src/main/kotlin/org/gitanimals/guild/domain/request/ChangeGuildRequest.kt b/src/main/kotlin/org/gitanimals/guild/domain/request/ChangeGuildRequest.kt index 705184f8..005e3498 100644 --- a/src/main/kotlin/org/gitanimals/guild/domain/request/ChangeGuildRequest.kt +++ b/src/main/kotlin/org/gitanimals/guild/domain/request/ChangeGuildRequest.kt @@ -1,6 +1,7 @@ package org.gitanimals.guild.domain.request import org.gitanimals.core.FieldType +import org.gitanimals.core.forbiddenWordsList import org.gitanimals.core.largetTextAcceptableChars data class ChangeGuildRequest( @@ -15,5 +16,9 @@ data class ChangeGuildRequest( title.forEach { require(it in largetTextAcceptableChars) { "Cannot accept title \"$it\"" } } + + require(forbiddenWordsList.none { title.contains(it, ignoreCase = true) }) { + "Title contains forbidden word. title: \"$title\"" + } } }