package Ġde . sch net t ler . sc ro bb ler . details . db Ċ Ċ import Ġandroidx . room . Dao Ċ import Ġandroidx . room . Query Ċ import Ġandroidx . room . Transaction Ċ import Ġde . sch net t ler . sc ro bb ler . details . model . Artist Detail Entity Ċ import Ġde . sch net t ler . sc ro bb ler . model . Entity With Stats Ċ import Ġde . sch net t ler . sc ro bb ler . model . Last Fm Entity . Artist Ċ import Ġde . sch net t ler . sc ro bb ler . persistence . dao . Base Dao Ċ import Ġkotlinx . coroutines . flow . Flow Ċ Ċ @ Dao Ċ @ Suppress (" Max Line Length ") Ċ abstract Ġclass ĠArtist Detail Dao Ġ: ĠBase Dao < Artist > Ġ{ ĊĠĠĠ Ġ@ Transaction ĊĠĠĠ Ġ@ Query (" SELECT Ġ* ĠFROM Ġartists ĠWHERE Ġid Ġ= Ġ: id ") ĊĠĠĠ Ġabstract Ġfun Ġget Artist Details ( id : ĠString ): ĠFlow < Artist Detail Entity ?> ĊĊĠĠĠ Ġ@ Transaction ĊĠĠĠ Ġ@ Query (" SELECT Ġ* ĠFROM Ġalbum s ĠINNER ĠJOIN Ġstats ĠON Ġalbum s . id Ġ= Ġstats . id ĠWHERE Ġalbum s . artist Ġ= Ġ: artist ĠORDER ĠBY Ġstats . play s ĠDESC ĠLIMIT Ġ 5 ") ĊĠĠĠ Ġabstract Ġfun Ġget Top Album s Of Artist ( artist : ĠString ): ĠFlow < List < Entity With Stats . Album With Stats >> ĊĊĠĠĠ Ġ@ Transaction ĊĠĠĠ Ġ@ Query (" SELECT Ġ* ĠFROM Ġtracks ĠINNER ĠJOIN Ġstats ĠON Ġtracks . id Ġ= Ġstats . id ĠWHERE Ġtracks . artist Ġ= Ġ: artist ĠORDER ĠBY Ġstats . play s ĠDESC ĠLIMIT Ġ 5 ") ĊĠĠĠ Ġabstract Ġfun Ġget Top Tracks Of Artist ( artist : ĠString ): ĠFlow < List < Entity With Stats . Track With Stats >> Ċ }