package Ġf ima . api . transaction Ċ Ċ import Ġf ima . api . utils . From Proto Con ver table Ċ import Ġjava . time . LocalDate Ċ import Ġjava . time . format . DateTime Formatter Ċ import Ġjava . util . UUID Ċ import Ġf ima . domain . transaction . Transaction Ġas ĠProto Transaction Ċ Ċ data Ġclass ĠTransaction ( ĊĠĠĠ Ġval Ġid : ĠUUID , ĊĠĠĠ Ġval Ġdate : ĠString , ĊĠĠĠ Ġval Ġtype : ĠTransaction Type , ĊĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠ Ġval Ġdescription : ĠString , ĊĠĠĠ Ġval Ġto Account : ĠString , ĊĠĠĠ Ġval Ġfrom Account : ĠString , ĊĠĠĠ Ġval Ġamount : ĠFloat , ĊĠĠĠ Ġval Ġtags : ĠMap < String , ĠString > Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject : ĠFrom Proto Con ver table < Proto Transaction , ĠTransaction > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġfrom Proto ( proto : ĠProto Transaction ): ĠTransaction Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransaction Date Ġ= ĠLocalDate . of ( proto . date . year , Ġproto . date . month , Ġproto . date . day ). format ( DateTime Formatter . of Pattern (" dd - MM - yyyy ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠTransaction ( UUID . fromString ( proto . id ), Ġtransaction Date , Ġproto . type . let ( Transaction Type :: from Proto ), Ġproto . name , Ġproto . description , Ġproto . to Account , Ġproto . from Account , Ġproto . amount , Ġproto . tags Map ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } ĊĊ