package Ġcom . ct ech . eat y . repository . mapper Ċ Ċ import Ġcom . ct ech . eat y . Home Cards Query Ċ import Ġcom . ct ech . eat y . entity . COLLECTION Ċ import Ġcom . ct ech . eat y . entity . Collection Card Ċ import Ġcom . ct ech . eat y . entity . Home Card Ċ import Ġcom . ct ech . eat y . entity . Home Card Type Ċ import Ġcom . ct ech . eat y . entity . JOB S Ċ import Ġcom . ct ech . eat y . entity . Job Ċ import Ġcom . ct ech . eat y . entity . Job Card Ċ import Ġcom . ct ech . eat y . entity . NEW _ POST S Ċ import Ġcom . ct ech . eat y . entity . New Post Card Ċ import Ġcom . ct ech . eat y . entity . SU G GEST ED _ PRODUCT S Ċ import Ġcom . ct ech . eat y . entity . SU G GEST ED _ TOPIC Ċ import Ġcom . ct ech . eat y . entity . Topic Ċ import Ġcom . ct ech . eat y . entity . Topic Card Ċ import Ġcom . ct ech . eat y . entity . Topics Card Ċ import Ġcom . ct ech . eat y . entity . UP COM ING _ PAGE Ċ import Ġcom . ct ech . eat y . entity . Up coming Product Card Ċ import Ġcom . ct ech . eat y . util . Constants Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠHome Card Mapper Ġ@ Inject Ġconstructor ( private Ġval Ġproduct Mapper : ĠProduct Mapper ) Ġ{ ĊĊĠĠĠ Ġfun Ġto Card (@ Home Card Type Ġtype : ĠString , Ġdata : ĠHome Cards Query . Data ): ĠHome Card Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġedges Ġ= Ġdata . cards () !!. edges () !! ĊĊĠĠĠĠĠĠĠ Ġval Ġhandled Nodes Ġ= ĠArrayList < Home Card >() ĊĠĠĠĠĠĠĠ Ġedges . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . node () !! .__ typename () Ġ== ĠUP COM ING _ PAGE Ġ-> Ġhandled Nodes . add ( to Up coming Products ( it !! )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . node () !! .__ typename () Ġ== ĠNEW _ POST S Ġ-> Ġhandled Nodes . add ( to New Posts ( it !! )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . node () !! .__ typename () Ġ== ĠSU G GEST ED _ TOPIC Ġ-> Ġhandled Nodes . add ( to Topics ( it !! )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . node () !! .__ typename () Ġ== ĠSU G GEST ED _ PRODUCT S Ġ-> Ġhandled Nodes . add ( to Suggest ed Products ( it !! )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . node () !! .__ typename () Ġ== ĠJOB S Ġ-> Ġhandled Nodes . add ( to Jobs ( it !! )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . node () !! .__ typename () Ġ== ĠCOL LECTION Ġ-> Ġhandled Nodes . add ( to Collection ( it !! )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġhandled Nodes . first Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . type Ġ== Ġtype ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġto Collection ( edge : ĠHome Cards Query . Edge ): ĠCollection Card Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcard Ġ= Ġedge . node () !!. fragments (). feed Cards (). fragments (). collection Feed Card () !! ĊĠĠĠĠĠĠĠ Ġval Ġcollection Ġ= Ġcard . collection () !! ĊĠĠĠĠĠĠĠ Ġreturn ĠCollection Card ( collection . id (), Ġcollection . name (), Ġcollection . title () Ġ?: Ġ"", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcollection . background _ image _ banner _ url () !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcollection . items () !!. edges () !!. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Mapper . to Product ( it . node () !!. post ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġto Suggest ed Products ( edge : ĠHome Cards Query . Edge ): ĠTopic Card Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcard Ġ= Ġedge . node () !!. fragments (). feed Cards (). fragments (). topic Card () !! ĊĠĠĠĠĠĠĠ Ġreturn ĠTopic Card ( card . topic () !!. posts () !!. edges () !!. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Mapper . to Product ( it . node () !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġto Topics ( edge : ĠHome Cards Query . Edge ): ĠTop ics Card Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcard Ġ= Ġedge . node () !!. fragments (). feed Cards (). fragments (). topics Card () !! ĊĊĠĠĠĠĠĠĠ Ġreturn ĠTop ics Card ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcard . topics () !!. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠimageUrl Ġ= ĠStringBuilder ( Constants . PRODUCT _ CD N _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("/") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( it . fragments (). topic Image (). image _ uuid ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTopic ( it . id (). toInt (), Ġit . name (), ĠimageUrl . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġto New Posts ( edge : ĠHome Cards Query . Edge ): ĠNew Post Card Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcard Ġ= Ġedge . node () !!. fragments (). feed Cards (). fragments (). new Posts Card () !! ĊĠĠĠĠĠĠĠ Ġreturn ĠNew Post Card ( card . posts () !!. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġproduct Ġ= Ġit . fragments (). post ItemList (). fragments (). post Item () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Mapper . to Product ( product !! ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġto Up coming Products ( edge : ĠHome Cards Query . Edge ): ĠUp coming Product Card Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcard Ġ= Ġedge . node () !!. fragments (). feed Cards (). fragments (). feed Up coming Pages Card () !! ĊĠĠĠĠĠĠĠ Ġreturn ĠUp coming Product Card ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcard . up coming _ pages () !!. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproduct Mapper . to Up coming Product ( it . fragments (). up coming Page Item ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġto Jobs ( edge : ĠHome Cards Query . Edge ): ĠJob Card Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcard Ġ= Ġedge . node () !!. fragments (). feed Cards (). fragments (). jobs Card () !! ĊĠĠĠĠĠĠĠ Ġreturn ĠJob Card ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcard . jobs () !!. edges () !!. map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnode Ġ= Ġit . node () !! ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval ĠimageUrl Ġ= ĠStringBuilder ( Constants . PRODUCT _ CD N _ URL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ("/") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. append ( node . image _ uuid ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJob ( node . id (), Ġnode . company _ name (), Ġnode . job _ title (), ĠimageUrl . toString (), Ġnode . url ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ Ċ }