override fun findRandomByStars()

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()
    }