package Ġorg . ag or ah q . ag ora . comment . operations Ċ Ċ import Ġcom . so y wiz . k lock . DateTime Ċ import Ġorg . ag or ah q . ag ora . comment . domain . Comment Ċ import Ġorg . ag or ah q . ag ora . comment . domain . Update Comment URL Ċ import Ġorg . ag or ah q . ag ora . comment . view model . Comment ViewModel Ċ import Ġorg . ag or ah q . ag ora . core . api . data . Element Source Ċ import Ġorg . ag or ah q . ag ora . core . api . extensions . to UUID Ċ import Ġorg . ag or ah q . ag ora . core . api . operation . Attributes Ċ import Ġorg . ag or ah q . ag ora . core . api . operation . Command Ċ import Ġorg . ag or ah q . ag ora . core . api . operation . context . Operation Context Ċ import Ġorg . ag or ah q . ag ora . core . api . operation . types . Procedure Ċ import Ġorg . ag or ah q . ag ora . core . api . operation . types . Procedure Descriptor Ċ import Ġorg . ag or ah q . ag ora . core . api . service . Query Service Ċ import Ġorg . ag or ah q . ag ora . core . api . service . Storage Service Ċ Ċ class ĠUpdate Comment ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcomment Query Service : ĠQuery Service < Comment >, ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġcomment Storage : ĠStorage Service < Comment > Ċ ) Ġ: ĠProcedure < Comment , ĠComment ViewModel >, ĠProcedure Descriptor < Comment , ĠComment ViewModel > Ġby ĠComp anion Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġfetch Resource ( context : ĠOperation Context < out ĠComment ViewModel >): ĠElement Source < Comment > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmodel Ġ= Ġcontext . input ĊĠĠĠĠĠĠĠ Ġreturn ĠElement Source . of Maybe ( comment Query Service . findById ( model . id . to UUID ()). map Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠupdatedAt Ġ= ĠDateTime . now (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublished At Ġ= ĠDateTime . now (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontent Ġ= Ġmodel . content ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Command ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext : ĠOperation Context < out ĠComment ViewModel >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdata : ĠElement Source < Comment > ĊĠĠĠ Ġ) Ġ= ĠCommand . of Ġ{ ĊĠĠĠĠĠĠĠ Ġcomment Storage . update ( data . as Single ()) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ: ĠProcedure Descriptor < Comment , ĠComment ViewModel > Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġname Ġ= Ġ" Update Ġcomment " ĊĠĠĠĠĠĠĠ Ġoverride Ġval Ġattributes Ġ= ĠAttributes . create < Comment , ĠComment ViewModel , ĠUnit >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġroute Ġ= ĠUpdate Comment URL . route , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġurl Class Ġ= ĠUpdate Comment URL :: class , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadditional Attributes Ġ= ĠlistOf () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ