package Ġru . d tx 1 2 . cool blue . core . domain . use cases Ċ Ċ import Ġru . d tx 1 2 . cool blue . core . domain . models . Products Page Ċ import Ġru . d tx 1 2 . cool blue . core . domain . repositories . Products Repository Ċ import Ġru . d tx 1 2 . cool blue . core . inter actor . UseCase Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠFind Products UseCase Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġrepository : ĠProducts Repository Ċ ) Ġ: ĠUse Case < Products Page , ĠFind Products UseCase Parameters >() Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġrun ( params : ĠFind Products UseCase Parameters ): ĠProducts Page Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġrepository . find Products ( params . query , Ġparams . page ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠFind Products UseCase Parameters ( ĊĠĠĠ Ġval Ġquery : ĠString , ĊĠĠĠ Ġval Ġpage : ĠInt Ċ )