package Ġru . bre ffi . story id . profile . mapper Ċ Ċ import Ġru . bre ffi . story id . profile . util . File Helper Ċ import Ġru . bre ffi . story id . profile . db . dto .* Ċ import Ġru . bre ffi . story id . profile . model .* Ċ import Ġru . bre ffi . story id . profile . model . internal . Metadata Ċ Ċ internal Ġclass ĠProfile Db Mapper ( private Ġval Ġfile Helper : ĠFile Helper , Ġprivate Ġval Ġmetadata : ĠMetadata ) Ġ{ ĊĊĠĠĠ Ġfun Ġget Profile Model ( ĊĠĠĠĠĠĠĠ Ġprofile Id Model : ĠProfile Id Model , ĊĠĠĠĠĠĠĠ Ġdemo graphics Model : ĠDemo graphics Model , ĊĠĠĠĠĠĠĠ Ġit n Model : ĠI tn Model , ĊĠĠĠĠĠĠĠ Ġs nil s Model : ĠS nil s Model , ĊĠĠĠĠĠĠĠ Ġpassport Model : ĠPass port Model ĊĠĠĠ Ġ): ĠProfile Model Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠProfile Model ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprofile Id Ġ= Ġprofile Id Model , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdemo graphics Ġ= Ġdemo graphics Model , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit n Ġ= Ġit n Model , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs nil s Ġ= Ġs nil s Model , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpassport Ġ= Ġpassport Model ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Profile Id Model ( db Model : ĠProfile Db Model ?): ĠProfile Id Model Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdb Model ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProfile Id Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= Ġdb Model . userId , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġphone Ġ= Ġdb Model . phone , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġphone Verified Ġ= Ġdb Model . phone Verified , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġusername Ġ= Ġdb Model . username , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail Ġ= Ġdb Model . email , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemail Verified Ġ= Ġdb Model . email Verified ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: ĠProfile Id Model ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= Ġmetadata . userId ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Demo graphics Model ( db Model : ĠDemo graphics Db Model ?): ĠDemo graphics Model Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdb Model ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDemo graphics Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġdb Model . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs urname Ġ= Ġdb Model . surname , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpat ronym ic Ġ= Ġdb Model . pat ronym ic , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbirthday Ġ= Ġdb Model . birthday , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgender Ġ= Ġdb Model . gender , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverified Ġ= Ġdb Model . verified ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: ĠDemo graphics Model () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget It n Model ( db Model : ĠI tn Db Model ?): ĠI tn Model Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdb Model ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠI tn Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit n Ġ= Ġdb Model . it n , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfile Ġ= Ġdb Model . fileName ?. let Ġ{ Ġfile Helper . getFile ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: It n Model () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetS nil s Model ( db Model : ĠS nil s Db Model ?): ĠS nil s Model Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdb Model ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠS nil s Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġs nil s Ġ= Ġdb Model . sn ils , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfile Ġ= Ġdb Model . fileName ?. let Ġ{ Ġfile Helper . getFile ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: ĠS nil s Model () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Passport Model ( db Model : ĠPass port Db Model ?, Ġpassport Page Models : ĠList < Passport Page Model >): ĠPass port Model Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġdb Model ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPass port Model ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpassport Data Ġ= ĠPass port DataModel ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsn Ġ= Ġdb Model . sn , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcode Ġ= Ġdb Model . code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġissued By Ġ= Ġdb Model . iss ued By , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġissued At Ġ= Ġdb Model . iss ued At , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġverified Ġ= Ġdb Model . verified ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpages Ġ= Ġpassport Page Models ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} Ġ?: ĠPass port Model ( passport Data Ġ= ĠPass port DataModel (), Ġpages Ġ= Ġpassport Page Models ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Passport Page Model ( db Model : ĠPass port Page Db Model ): ĠPass port Page Model Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPass port Page Model ( page Ġ= Ġdb Model . page , Ġfile Ġ= Ġdb Model . fileName ?. let Ġ{ Ġfile Helper . getFile ( it ) Ġ}) ĊĠĠĠ Ġ} Ċ }