package Ġcom . notes ync . notes . framework . dataSource . network . map pers Ċ Ċ import Ġcom . notes ync . notes . business . domain . model . Note Ċ import Ġcom . notes ync . notes . business . domain . util . Date Util Ċ import Ġcom . notes ync . notes . business . domain . util . Entity Mapper Ċ import Ġcom . notes ync . notes . framework . dataSource . network . model . Note Network Entity Ċ import Ġjavax . inject . Inject Ċ import Ġkotlin . collections . ArrayList Ċ Ċ /** Ċ Ġ* ĠMaps ĠNote Ġto ĠNote Network Entity Ġor ĠNote Network Entity Ġto ĠNote . Ċ Ġ*/ Ċ class ĠNetwork Mapper Ċ @ Inject Ċ constructor ( ĊĠĠĠ Ġprivate Ġval Ġdate Util : ĠDate Util Ċ ) Ġ: ĠEntity Mapper < Note Network Entity , ĠNote > Ġ{ ĊĊĠĠĠ Ġfun Ġentity List To Note List ( entities : ĠList < Note Network Entity >, sk : String ): ĠList < Note > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġlist : ĠArrayList < Note > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġfor Ġ( entity Ġin Ġentities ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist . add ( map From Entity ( entity , sk )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġlist ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġnote List To Entity List ( notes : ĠList < Note >, sk : ĠString ): ĠList < Note Network Entity > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġentities : ĠArrayList < Note Network Entity > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġfor Ġ( note Ġin Ġnotes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentities . add ( map To Entity ( note , sk )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġentities ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmap From Entity ( entity : ĠNote Network Entity , Ġkey : ĠString ?): ĠNote Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠNote ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġentity . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġentity . title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= Ġentity . body , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdated _ at Ġ= Ġdate Util . co vert Firebase TimeStamp ToString Date ( entity . updated _ at ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreated _ at Ġ= Ġdate Util . co vert Firebase TimeStamp ToString Date ( entity . created _ at ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice _ id Ġ= Ġentity . device _ id ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmap To Entity ( domain Model : ĠNote , Ġkey : ĠString ?): ĠNote Network Entity Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠNote Network Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġid Ġ= Ġdomain Model . id , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġdomain Model . title , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbody Ġ= Ġ Ġdomain Model . body , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdated _ at Ġ= Ġdate Util . convert String Date To Firebase Timestamp ( domain Model . updated _ at ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreated _ at Ġ= Ġdate Util . convert String Date To Firebase Timestamp ( domain Model . created _ at ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdevice _ id Ġ= Ġdomain Model . device _ id ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊ Ċ }