Skip to content

Commit 386ba03

Browse files
authored
Merge pull request #754 from modelix/feature/modelClient-initRepository-useRoleids
feat(model-client): let the user set useRoleIds in the initRepository call
2 parents 7f338b5 + bcb6191 commit 386ba03

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

model-client/src/commonMain/kotlin/org/modelix/model/client2/IModelClientV2.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ interface IModelClientV2 {
3939
fun getIdGenerator(): IIdGenerator
4040
fun getUserId(): String?
4141

42-
suspend fun initRepository(repository: RepositoryId): IVersion
42+
suspend fun initRepository(repository: RepositoryId, useRoleIds: Boolean = true): IVersion
4343
suspend fun listRepositories(): List<RepositoryId>
4444
suspend fun deleteRepository(repository: RepositoryId): Boolean
4545
suspend fun listBranches(repository: RepositoryId): List<BranchReference>

model-client/src/commonMain/kotlin/org/modelix/model/client2/ModelClientV2.kt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import io.ktor.client.plugins.expectSuccess
2424
import io.ktor.client.request.HttpRequestBuilder
2525
import io.ktor.client.request.delete
2626
import io.ktor.client.request.get
27+
import io.ktor.client.request.parameter
2728
import io.ktor.client.request.post
2829
import io.ktor.client.request.prepareGet
2930
import io.ktor.client.request.preparePost
@@ -125,9 +126,10 @@ class ModelClientV2(
125126

126127
override fun getUserId(): String? = clientProvidedUserId ?: serverProvidedUserId
127128

128-
override suspend fun initRepository(repository: RepositoryId): IVersion {
129+
override suspend fun initRepository(repository: RepositoryId, useRoleIds: Boolean): IVersion {
129130
return httpClient.preparePost {
130131
url {
132+
parameter("useRoleIds", useRoleIds)
131133
takeFrom(baseUrl)
132134
appendPathSegmentsEncodingSlash("repositories", repository.id, "init")
133135
}

model-server/src/test/kotlin/org/modelix/model/server/ModelClientV2Test.kt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,4 +276,22 @@ class ModelClientV2Test {
276276

277277
assertEquals(initialVersion.getContentHash(), loadedVersion.getContentHash())
278278
}
279+
280+
@Test
281+
fun `create repository with useRoleIds true`() = runTest {
282+
val modelClient = createModelClient()
283+
val repositoryId = RepositoryId("useRoleIdsTrue")
284+
val initialVersion = modelClient.initRepository(repositoryId)
285+
286+
assertTrue(initialVersion.getTree().usesRoleIds())
287+
}
288+
289+
@Test
290+
fun `create repository with useRoleIds false`() = runTest {
291+
val modelClient = createModelClient()
292+
val repositoryId = RepositoryId("useRoleIdsFalse")
293+
val initialVersion = modelClient.initRepository(repositoryId, useRoleIds = false)
294+
295+
assertFalse(initialVersion.getTree().usesRoleIds())
296+
}
279297
}

0 commit comments

Comments
 (0)