Skip to content

Commit a924aa6

Browse files
committed
add withChildren to getObjectTypesBySchema
1 parent 1524b02 commit a924aa6

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed

kotlin-insight-client/kotlin-insight-client-api/src/main/kotlin/com/linkedplanet/kotlininsightclient/api/interfaces/InsightObjectTypeOperator.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,10 @@ interface InsightObjectTypeOperator {
4545
* @param schemaId The ID of the schema.
4646
* @return either an [InsightClientError] or a list of [ObjectTypeSchema] objects representing the object types in the schema.
4747
*/
48-
suspend fun getObjectTypesBySchema(schemaId: InsightSchemaId): Either<InsightClientError, List<ObjectTypeSchema>>
48+
suspend fun getObjectTypesBySchema(
49+
schemaId: InsightSchemaId,
50+
withChildren: Boolean = true
51+
): Either<InsightClientError, List<ObjectTypeSchema>>
4952

5053
/**
5154
* Retrieves a list of Insight object types that belong to the schema with the specified ID and have the specified root object type.

kotlin-insight-client/kotlin-insight-client-http/src/main/kotlin/com/linkedplanet/kotlininsightclient/http/HttpInsightObjectTypeOperator.kt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,10 @@ class HttpInsightObjectTypeOperator(private val context: HttpInsightClientContex
7171
?: ObjectTypeNotFoundError(rootObjectTypeId).asEither<List<ObjectTypeSchema>>().bind()
7272
}
7373

74-
override suspend fun getObjectTypesBySchema(schemaId: InsightSchemaId): Either<InsightClientError, List<ObjectTypeSchema>> =
74+
override suspend fun getObjectTypesBySchema(
75+
schemaId: InsightSchemaId,
76+
withChildren: Boolean
77+
): Either<InsightClientError, List<ObjectTypeSchema>> =
7578
either {
7679
context.httpClient.executeRestList<ObjectTypeSchemaApiResponse>(
7780
"GET",

kotlin-insight-client/kotlin-insight-client-sdk/src/main/kotlin/com/linkedplanet/kotlininsightclient/sdk/SdkInsightObjectTypeOperator.kt

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,17 @@ object SdkInsightObjectTypeOperator : InsightObjectTypeOperator {
4646
objectTypeSchemaForBean(objectTypeBean)
4747
}
4848

49-
override suspend fun getObjectTypesBySchema(schemaId: InsightSchemaId): Either<InsightClientError, List<ObjectTypeSchema>> =
49+
override suspend fun getObjectTypesBySchema(
50+
schemaId: InsightSchemaId,
51+
withChildren: Boolean
52+
): Either<InsightClientError, List<ObjectTypeSchema>> =
5053
catchAsInsightClientError {
51-
objectTypeFacade.findObjectTypeBeansFlat(schemaId.raw)
54+
val objectTypeBeans: List<ObjectTypeBean> = if (withChildren) {
55+
objectTypeFacade.findObjectTypeBeansFlat(schemaId.raw)
56+
} else {
57+
objectTypeFacade.findObjectTypeBeans(schemaId.raw)
58+
}
59+
objectTypeBeans
5260
.map(::objectTypeSchemaForBean)
5361
}
5462

0 commit comments

Comments
 (0)