Skip to content

Commit 1da6c79

Browse files
committed
feat(search): Accept enablePersonalization as a valid setting parameter
Fixes #183
1 parent 8b3f5f4 commit 1da6c79

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

src/commonMain/kotlin/com/algolia/search/model/settings/Settings.kt

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import com.algolia.search.serialize.KeyDisablePrefixOnAttributes
3434
import com.algolia.search.serialize.KeyDisableTypoToleranceOnAttributes
3535
import com.algolia.search.serialize.KeyDisableTypoToleranceOnWords
3636
import com.algolia.search.serialize.KeyDistinct
37+
import com.algolia.search.serialize.KeyEnablePersonalization
3738
import com.algolia.search.serialize.KeyEnableRules
3839
import com.algolia.search.serialize.KeyExactOnSingleWordQuery
3940
import com.algolia.search.serialize.KeyHighlightPostTag
@@ -429,7 +430,13 @@ public data class Settings(
429430
/**
430431
* Override the custom normalization handled by the engine.
431432
*/
432-
@SerialName(KeyCustomNormalization) var customNormalization: Map<String, Map<String, String>>? = null
433+
@SerialName(KeyCustomNormalization) var customNormalization: Map<String, Map<String, String>>? = null,
434+
/**
435+
* Enable the Personalization feature.
436+
* Engine default: false
437+
* [Documentation][https://www.algolia.com/doc/api-reference/api-parameters/enablePersonalization/?language=kotlin]
438+
*/
439+
@SerialName(KeyEnablePersonalization) var enablePersonalization: Boolean = false
433440
) {
434441

435442
/**

src/commonTest/kotlin/serialize/settings/TestSettings.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ import com.algolia.search.serialize.KeyDisablePrefixOnAttributes
4242
import com.algolia.search.serialize.KeyDisableTypoToleranceOnAttributes
4343
import com.algolia.search.serialize.KeyDisableTypoToleranceOnWords
4444
import com.algolia.search.serialize.KeyDistinct
45+
import com.algolia.search.serialize.KeyEnablePersonalization
4546
import com.algolia.search.serialize.KeyEnableRules
4647
import com.algolia.search.serialize.KeyExactOnSingleWordQuery
4748
import com.algolia.search.serialize.KeyExactPhrase
@@ -163,7 +164,8 @@ internal class TestSettings : TestSerializer<Settings>(Settings.serializer()) {
163164
advancedSyntaxFeatures = listOf(AdvancedSyntaxFeatures.ExcludeWords, AdvancedSyntaxFeatures.ExactPhrase),
164165
userData = json { unknown to unknown },
165166
indexLanguages = listOf(Language.Japanese),
166-
customNormalization = mapOf(unknown to mapOf(unknown to unknown))
167+
customNormalization = mapOf(unknown to mapOf(unknown to unknown)),
168+
enablePersonalization = true
167169
) to json {
168170
// Attributes
169171
KeySearchableAttributes to attributesJson
@@ -242,6 +244,7 @@ internal class TestSettings : TestSerializer<Settings>(Settings.serializer()) {
242244
KeyCustomNormalization to json {
243245
unknown to json { unknown to unknown }
244246
}
247+
KeyEnablePersonalization to boolean
245248
}
246249
)
247250

0 commit comments

Comments
 (0)