package Ġcom . r 3 . demo . chat api . data Ċ Ċ import Ġcom . r 3 . cord a . lib . chat . contracts . ChatMessage Contract Ċ import Ġcom . r 3 . cord a . lib . chat . contracts . states . ChatMessage Ċ import Ġcom . r 3 . cord a . lib . chat . workflows . flows . service . Chat Status Ċ import Ġnet . cord a . core . contracts . Bel ongsTo Contract Ċ import Ġnet . cord a . core . contracts . Unique Identifier Ċ import Ġjava . time . Instant Ċ Ċ @ Bel ongsTo Contract ( ChatMessage Contract :: class ) Ċ data Ġclass ĠChat Message Data ( ĊĠĠĠĠĠĠĠ Ġval Ġchat Id : ĠUnique Identifier , ĊĠĠĠĠĠĠĠ Ġval Ġparticipants : ĠList < String >, ĊĠĠĠĠĠĠĠ Ġval Ġcreated : ĠInstant , ĊĠĠĠĠĠĠĠ Ġval Ġcontent : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġsender : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġstatus : ĠString Ċ ) Ġ{ ĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġfun Ġfrom State ( chat MessageState : ĠChat Message , Ġstatus : ĠChat Status Ġ= ĠChat Status . ACTIVE ): ĠChat Message Data Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠChat Message Data ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġchat Id Ġ= ĠUnique Identifier . fromString ( chat MessageState . token . token Identifier ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparticipants Ġ= Ġchat MessageState . participants . map Ġ{ Ġit . name OrNull () !!. organisation Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcreated Ġ= Ġchat MessageState . created , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġchat MessageState . content , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsender Ġ= Ġchat MessageState . sender . name . organisation , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstatus Ġ= Ġstatus . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} Ċ } Ċ