package Ġio . mor fly . client . grpc Ċ Ċ import Ġcom . google . protobuf . Timestamp Ċ import Ġio . mor fly . client . domain .* Ċ import Ġio . mor fly . comments . Comments Ċ import Ġio . mor fly . posts . Posts Ċ import Ġio . mor fly . users . Users Ċ import Ġkotlinx . datetime . Instant ĊĊ Ċ fun ĠTimestamp . to Instant () Ġ= ĊĠĠĠ ĠInstant . from Epoch Seconds ( seconds ) Ċ Ċ fun ĠInstant . to GRP CT ime stamp (): ĠTimestamp Ġ= ĠTimestamp ĊĠĠĠ Ġ. newBuilder () ĊĠĠĠ Ġ. set Seconds ( epoch Seconds ) ĊĠĠĠ Ġ. build () Ċ Ċ // Ġ===== ĠUser Ġ===== Ċ Ċ fun ĠUsers . User . to User () Ġ= ĠUser ( ĊĠĠĠ Ġid Ġ= Ġid , ĊĠĠĠ ĠuserName Ġ= ĠuserName , ĊĠĠĠ ĠdisplayName Ġ= ĠdisplayName , ĊĠĠĠ Ġavatar Url Ġ= Ġavatar Url Ċ ) Ċ Ċ fun ĠNew User . to GRPC New UserRequest (): ĠUsers . New UserRequest Ġ= ĠUsers . New UserRequest ĊĠĠĠ Ġ. newBuilder () ĊĠĠĠ Ġ. set UserName ( userName ) ĊĠĠĠ Ġ. set DisplayName ( displayName ) ĊĠĠĠ Ġ. set Avatar Url ( avatar Url ) ĊĠĠĠ Ġ. build () Ċ Ċ // Ġ===== ĠPost Ġ===== Ċ Ċ fun ĠPosts . Post . to Post () Ġ= ĠPost ( ĊĠĠĠ Ġid Ġ= Ġid , ĊĠĠĠ Ġauthor Ġ= Ġauthor . to User (), ĊĠĠĠ Ġcontent Ġ= Ġcontent , ĊĠĠĠ Ġtimestamp Ġ= Ġtimestamp . to Instant (), ĊĠĠĠ Ġcomments Ġ= Ġcomments List . map Ġ{ Ġit . to Comment () Ġ} Ċ ) Ċ Ċ fun ĠNew Post . to GRPC New Post Request (): ĠPosts . New Post Request Ġ= ĠPosts . New Post Request ĊĠĠĠ Ġ. newBuilder () ĊĠĠĠ Ġ. set Author Id ( author Id ) ĊĠĠĠ Ġ. setContent ( content ) ĊĠĠĠ Ġ. set Timestamp ( timestamp . to GRP CT ime stamp ()) ĊĠĠĠ Ġ. build () Ċ Ċ // Ġ===== ĠComment Ġ===== Ċ Ċ fun ĠComments . Comment . to Comment () Ġ= ĠComment ( ĊĠĠĠ Ġid Ġ= Ġid , ĊĠĠĠ Ġpost Id Ġ= Ġpost Id , ĊĠĠĠ Ġauthor Ġ= Ġauthor . to User (), ĊĠĠĠ Ġcontent Ġ= Ġcontent , ĊĠĠĠ Ġtimestamp Ġ= Ġtimestamp . to Instant () Ċ ) Ċ Ċ fun ĠNew Comment . to GRPC New Comment Request (): ĠComments . New Comment Request Ġ= ĠComments . New Comment Request ĊĠĠĠ Ġ. newBuilder () ĊĠĠĠ Ġ. set Post Id ( post Id ) ĊĠĠĠ Ġ. set Author Id ( author Id ) ĊĠĠĠ Ġ. setContent ( content ) ĊĠĠĠ Ġ. set Timestamp ( timestamp . to GRP CT ime stamp ()) ĊĠĠĠ Ġ. build ()