package Ġio . thumb cat . oss . gt comp anion . app Ċ Ċ import Ġio . thumb cat . oss . gt comp anion . domain . entity . Champ ion Ċ import Ġio . thumb cat . oss . gt comp anion . domain . entity . Co hort Ċ import Ġio . thumb cat . oss . gt comp anion . domain . entity . Co hort Category Ċ import Ġio . thumb cat . oss . gt comp anion . domain . entity . Follower Unit Ċ import Ġio . thumb cat . oss . gt comp anion . domain . gateway . Co hort s Repository Ċ import Ġio . thumb cat . oss . gt comp anion . domain . use case . Get Co hort s Ċ Ċ class ĠGet Co hort s From Repository ( ĊĠĠĠ Ġprivate Ġval Ġco hort s Repository : ĠCo hort s Repository Ċ ) Ġ: ĠGet Co hort s Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget ( request : ĠGet Co hort s . Request ): ĠGet Co hort s . Response Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġco hort s Ġ= Ġco hort s Repository . getAll ( version Ġ= Ġrequest . version ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġco hort Ġ-> Ġco hort . to Output Boundary () Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠGet Co hort s . Response ( co hort s ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ private Ġfun ĠCo hort . to Output Boundary (): ĠGet Co hort s . Response . Co hort Ġ{ ĊĠĠĠ Ġreturn ĠGet Co hort s . Response . Co hort ( ĊĠĠĠĠĠĠĠ Ġchamp ion Ġ= Ġchamp ion . to Output Boundary (), ĊĠĠĠĠĠĠĠ Ġfollow er Unit Ġ= Ġfollow er Unit . to Output Boundary (), ĊĠĠĠĠĠĠĠ Ġcategory Ġ= Ġcategory . to Output Boundary () ĊĠĠĠ Ġ) Ċ } Ċ Ċ private Ġfun ĠCh amp ion . to Output Boundary (): ĠGet Co hort s . Response . Champ ion Ġ{ ĊĠĠĠ Ġreturn ĠGet Co hort s . Response . Champ ion ( ĊĠĠĠĠĠĠĠ Ġkey Ġ= Ġkey , ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġname ĊĠĠĠ Ġ) Ċ } Ċ Ċ private Ġfun ĠFollow er Unit . to Output Boundary (): ĠGet Co hort s . Response . Follower Unit Ġ{ ĊĠĠĠ Ġreturn ĠGet Co hort s . Response . Follower Unit ( ĊĠĠĠĠĠĠĠ Ġkey Ġ= Ġkey , ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġname ĊĠĠĠ Ġ) Ċ } Ċ Ċ private Ġfun ĠCo hort Category . to Output Boundary (): ĠGet Co hort s . Response . Co hort Category Ġ{ ĊĠĠĠ Ġreturn ĠGet Co hort s . Response . Co hort Category ( ĊĠĠĠĠĠĠĠ Ġkey Ġ= Ġkey , ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġname ĊĠĠĠ Ġ) Ċ } Ċ