in core/search/src/main/kotlin/io/klibs/core/search/ProjectSearchRepositoryJdbc.kt [15:40]
override fun findRandomByStars(minStars: Int, maxStars: Int, limit: Int): List<SearchProjectResult> {
val sql = """
SELECT project_id,
owner_type,
owner_login,
name,
stars,
license_name,
latest_version,
latest_version_ts,
array_to_string(platforms, ',') AS platforms,
plain_description,
tags
FROM project_index
WHERE stars BETWEEN :minStars AND :maxStars
ORDER BY random()
LIMIT :limit
""".trimIndent()
return jdbcClient.sql(sql)
.param("minStars", minStars)
.param("maxStars", maxStars)
.param("limit", limit)
.query(PROJECT_OVERVIEW_ROW_MAPPER)
.list()
}