package Ġcom . n iel sm asd orp . lv b notifier . data . stock Ċ Ċ import Ġcom . n iel sm asd orp . domain . buy box . Buy Box Repository Ċ import Ġcom . n iel sm asd orp . domain . stock . Stock Ċ import Ġcom . n iel sm asd orp . domain . stock . Stock Repository Ċ import Ġcom . n iel sm asd orp . lv b notifier . data . stock . network . Stock Service Ċ import Ġcom . n iel sm asd orp . lv b notifier . data . stock . network . response . Single Stock Response Ċ Ċ class ĠApi Stock Repository ( ĊĠĠĠ Ġprivate Ġval Ġstock Service : ĠStock Service , ĊĠĠĠ Ġprivate Ġval Ġbuy Box Repository : ĠBu y Box Repository Ċ ) Ġ: ĠStock Repository Ġ{ ĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġget Latest Stock (): ĠList < Stock > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġmutable ListOf < Single Stock Response >(). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( page Ġin Ġ 1 .. 2 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġstock Ġ= Ġstock Service . get Stock ( page ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! stock . offers . isNull OrEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd All ( stock . offers ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak Ġ// Ġreached Ġend Ġof Ġstock ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ}. map Ġ{ Ġproduct Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ ĠStock ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġproduct . e an , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Title Ġ= Ġproduct . product Title , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġamount Ġ= Ġproduct . stock , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhas Buy Box Ġ= Ġif Ġ( product . stock Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuy Box Repository . has Buy Box ( product . e an ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }