package Ġtech . sal vat ore . liv ro _ android _ kotlin _ p au lo _ sal vat ore . model . source . local Ċ Ċ import Ġio . reactivex . rx java 3 . core . Flow able Ċ import Ġtech . sal vat ore . liv ro _ android _ kotlin _ p au lo _ sal vat ore . model . domain . Creature Ċ import Ġtech . sal vat ore . liv ro _ android _ kotlin _ p au lo _ sal vat ore . model . source . local . db . App Database Ċ import Ġtech . sal vat ore . liv ro _ android _ kotlin _ p au lo _ sal vat ore . model . source . local . db . dao . User Creature Dao Ċ import Ġtech . sal vat ore . liv ro _ android _ kotlin _ p au lo _ sal vat ore . model . source . local . db . entity . User Creature Entity Ċ import Ġjavax . inject . Inject Ċ import Ġjavax . inject . Singleton Ċ Ċ @ Singleton Ċ class ĠUser Creature Local DataSource Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġdb : ĠApp Database Ċ ) Ġ{ ĊĠĠĠ Ġprivate Ġval Ġuser Creature Dao : ĠUser Creature Dao Ġ= Ġdb . user Creature Dao () ĊĊĠĠĠ Ġfun Ġcreate ( creature Number : ĠLong ): ĠFlow able < Creature > Ġ{ ĊĠĠĠĠĠĠĠ Ġ// ĠTODO : ĠH un gry , ĠSt rength Ġand ĠHum or Ġshould Ġbe Ġrandom ĊĊĠĠĠĠĠĠĠ Ġval Ġuser Creature Entity Ġ= ĠUser Creature Entity ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= Ġ 0 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcreature Number Ġ= Ġcreature Number , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġh un gry Ġ= Ġ 1 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstrength Ġ= Ġ 2 , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhum or Ġ= Ġ 3 ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġreturn Ġuser Creature Dao . insert ( user Creature Entity ). flatMap Publisher Ġ{ Ġnew User Creature Id Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuser Creature Dao . findById ( new User Creature Id ). map Ġ{ Ġit . to Domain () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠUser Creature Entity . to Domain (): ĠCre ature Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠCre ature ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnumber Ġ= Ġthis . creature Number , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" TODO : ĠGet Ġfrom ĠFK ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠimageUrl Ġ= Ġ" TODO : ĠGet Ġfrom ĠFK ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġh un gry Ġ= Ġthis . hun gry , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstrength Ġ= Ġthis . strength , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhum or Ġ= Ġthis . hum or , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Feed Ġ= Ġthis . last Feed , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Train Ġ= Ġthis . last Train , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlast Play Ġ= Ġthis . last Play ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ