package Ġpl . adam ch od era . github consumer . data Ċ Ċ import Ġpl . adam ch od era . github consumer . data . source . remote . GitHub Api Constants Ċ import Ġpl . adam ch od era . github consumer . data . source . remote . GitHub ApiService Ċ import Ġjava . lang . Exception Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* ĠCreated Ġby ĠAdam ĠCh od era Ġon Ġ 2 0 / 0 6 / 2 0 2 1 . Ċ Ġ*/ Ċ class ĠDefault GitHub Repository Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġgit Hub ApiService : ĠGitHub ApiService , ĊĠĠĠ Ġprivate Ġval Ġrepository Mapper : ĠRepository Mapper , ĊĠĠĠ Ġprivate Ġval Ġcommit Mapper : ĠCommit Mapper Ċ ) Ġ{ ĊĊĠĠĠ Ġsuspend Ġfun Ġget Public Repos ForUser ( userName : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgit Hub ApiService . list Repos ( userName , ĠGitHub Api Constants . REPOSITORY _ LIST _ SORT _ ORDER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . map Ġ{ Ġrepository Mapper . transform ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġget Commits ForUser Repository ( userName : ĠString , Ġrepository Name : ĠString ) Ġ= ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġgit Hub ApiService . list Commits ( userName , Ġrepository Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . map Ġ{ Ġcommit Mapper . transform ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf () ĊĠĠĠĠĠĠĠ Ġ} Ċ }