package Ġcom . office 1 4 . co ff eed ose . repository Ċ Ċ import Ġcom . office 1 4 . co ff eed ose . database . User Dao Ċ import Ġcom . office 1 4 . co ff eed ose . database . User D bo Ċ import Ġcom . office 1 4 . co ff eed ose . domain . User Ċ import Ġjavax . inject . Inject Ċ Ċ class ĠUsers Repository Ġ@ Inject Ġconstructor ( private Ġval Ġusers Dao : ĠUser Dao ) Ġ{ ĊĊĠĠĠ Ġfun ĠgetUser By Email ( email : ĠString ): ĠUser ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġusers Ġ= Ġusers Dao . getBy Email ( email ). value ĊĠĠĠĠĠĠĠ Ġif Ġ( users ?. size Ġ== Ġ 1 ) Ġreturn Ġusers [ 0 ]. to Domain Model () ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġupdate User ( user : ĠUser ) Ġ{ ĊĠĠĠĠĠĠĠ Ġusers Dao . insert All Users ( User D bo ( user )) ĊĠĠĠ Ġ} Ċ }