package Ġcz . eman . ka al sample . domain . feature . user management . use case Ċ Ċ import Ġcz . eman . ka al . domain . use cases . UseCase Result Ċ import Ġcz . eman . ka al sample . domain . feature . user management . model . User Ċ import Ġcz . eman . ka al sample . domain . feature . user management . repository . UserRepository Ċ Ċ /** Ċ Ġ* Ġ@ author Ġvs ou h rada Ġ( v acl av . s ou h rada @ eman . cz ) Ċ Ġ*/ Ċ class ĠRegister User UseCase ( private Ġval Ġuser Repository : ĠUser Repository ) Ġ: ĊĠĠĠĠĠĠĠ ĠUse Case Result < User , ĠRegister User UseCase . Params >() Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġdo Work ( params : ĠParams ) Ġ= Ġuser Repository . register User ( user Ġ= Ġparams . user ) ĊĊĠĠĠ Ġdata Ġclass ĠParams ( val Ġuser : ĠUser ) Ċ }