diff --git a/gradle.properties b/gradle.properties index b2eaac1..0b2f474 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,4 +1,4 @@ -invirtVersion = 0.9.4 +invirtVersion = 0.9.5 kotlinVersion = 1.9.23 http4kVersion = 5.17.0.0 mockkVersion = 1.13.9 diff --git a/invirt-mongodb/src/main/kotlin/invirt/mongodb/index.kt b/invirt-mongodb/src/main/kotlin/invirt/mongodb/index.kt index 1fb7122..1d0f1c4 100644 --- a/invirt-mongodb/src/main/kotlin/invirt/mongodb/index.kt +++ b/invirt-mongodb/src/main/kotlin/invirt/mongodb/index.kt @@ -28,18 +28,10 @@ fun indexDesc(vararg fields: String, caseInsensitive: Boolean = false): List.textIndex(): IndexModel = textIndex(*this.toTypedArray()) -fun Collection>.text() = this.map { it.name }.textIndex() - -fun MongoCollection.createIndexes(vararg indexes: IndexModel) { - createIndexes(indexes.toList()) -} - -fun MongoCollection.createIndexes(clientSession: ClientSession, vararg indexes: IndexModel) { - createIndexes(clientSession, indexes.toList()) -} - -fun MongoCollection.createIndexes(build: IndexesBuilder.() -> Unit) { +fun MongoCollection.createIndexes( + clientSession: ClientSession? = null, + build: IndexesBuilder.() -> Unit +) { val indexesBuilder = IndexesBuilder() indexesBuilder.asc(StoredEntity::version) indexesBuilder.desc(StoredEntity::createdAt) @@ -53,7 +45,11 @@ fun MongoCollection.createIndexes(build: IndexesBuilder.() "indexes" to indexesBuilder.indexes ) } - createIndexes(indexesBuilder.indexes) + if (clientSession != null) { + createIndexes(clientSession, indexesBuilder.indexes) + } else { + createIndexes(indexesBuilder.indexes) + } } private fun indexOptions(caseInsensitive: Boolean): IndexOptions {