package Ġio . hol unda . poly flow . example . process . approval . service Ċ Ċ import Ġio . hol ix on . ax on . gateway . query . Query Response Message ResponseType Ċ import Ġio . hol ix on . ax on . gateway . query . Revision Query Parameters Ċ import Ġio . hol ix on . ax on . gateway . query . Revision Value Ċ import Ġio . hol unda . poly flow . datap ool . sender . Data Entry Command Sender Ċ import Ġio . hol unda . camunda . task pool . api . business .* Ċ import Ġio . hol unda . poly flow . view . Data Entry Ċ import Ġio . hol unda . poly flow . view . auth . User Ċ import Ġio . hol unda . poly flow . view . query . data . Data Entries ForUser Query Ċ import Ġio . hol unda . poly flow . view . query . data . Data Entries Query Ċ import Ġio . hol unda . poly flow . view . query . data . Data Entries QueryResult Ċ import Ġorg . ax on framework . messaging . Generic Message Ċ import Ġorg . ax on framework . messaging . MetaData Ċ import Ġorg . ax on framework . query handling . Query Gateway Ċ import Ġorg . springframework . stereotype . Component Ċ Ċ /** Ċ Ġ* ĠRepository Ġfor Ġstoring Ġand Ġretrie vi eng Ġdata Ġentries Ġusing Ġdata Ġentry Ċ Ġ* Ġprojection Ġof Ġdata Ġpool . Ċ Ġ*/ Ċ @ Component Ċ class ĠRequest Data Entry Repository ( ĊĠ Ġprivate Ġval Ġquery Gateway : ĠQuery Gateway , ĊĠ Ġprivate Ġval Ġsender : ĠData Entry Command Sender Ċ ) Ġ{ ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠStores Ġa Ġdata Ġentry . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġsave ( data Entry Change : ĠData Entry Change , Ġrevision : ĠRevision Value ) Ġ{ ĊĠĠĠ Ġsender . send Data Entry Change ( command Ġ= ĠCreate OrUpdate Data Entry Command ( data Entry Change ), ĠmetaData Ġ= Ġrevision . to MetaData ()) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠSave Ġthe Ġentry . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġsave ( ĊĠĠĠ Ġentry Type : ĠString , ĊĠĠĠ Ġentry Id : ĠString , ĊĠĠĠ Ġpayload : ĠAny , ĊĠĠĠ Ġstate : ĠData Entry State , ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġdescription : ĠString , ĊĠĠĠ Ġtype : ĠString , ĊĠĠĠ Ġmodification : ĠMod ification , ĊĠĠĠ Ġauthorization Changes : ĠList < Authorization Change >, ĊĠĠĠ ĠmetaData : ĠMeta Data ) Ġ{ ĊĠĠĠ Ġsender . send Data Entry Change ( entry Type Ġ= Ġentry Type , Ġentry Id Ġ= Ġentry Id , Ġpayload Ġ= Ġpayload , Ġstate Ġ= Ġstate , Ġname Ġ= Ġname , Ġdescription Ġ= Ġdescription , Ġtype Ġ= Ġtype , Ġmodification Ġ= Ġmodification , Ġauthorization Changes Ġ= Ġauthorization Changes , ĠmetaData Ġ= ĠmetaData ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠGet Ġall Ġdata Ġentries Ġvisible Ġfor Ġone Ġuser . ĊĠĠ Ġ*/ ĊĠ Ġfun ĠgetAll ForUser ( user : ĠUser , Ġrevision Query : ĠRevision Query Parameters ): ĠList < Data Entry > Ġ= Ġquery Gateway . query ( ĊĠĠĠ ĠGeneric Message . as Message ( Data Entries ForUser Query ( user Ġ= Ġuser , Ġpage Ġ= Ġ 1 , Ġsize Ġ= ĠInt . MAX _ VALUE , Ġsort Ġ= Ġ"", Ġfilters Ġ= ĠlistOf ())). and MetaData ( revision Query . to MetaData ()), ĊĠĠĠ ĠQuery Response Message ResponseType . query Response Message ResponseType < Data Entries QueryResult >() ĊĠ Ġ). join (). elements ĊĊĊĠ Ġ/** ĊĠĠ Ġ* ĠGet Ġall Ġdata Ġentries . ĊĠĠ Ġ*/ ĊĠ Ġfun ĠgetAll ( revision Query : ĠRevision Query Parameters ): ĠList < Data Entry > Ġ= Ġquery Gateway . query ( ĊĠĠĠ ĠGeneric Message . as Message ( Data Entries Query ( page Ġ= Ġ 1 , Ġsize Ġ= ĠInt . MAX _ VALUE , Ġsort Ġ= Ġ"", Ġfilters Ġ= ĠlistOf ())). and MetaData ( revision Query . to MetaData ()), ĊĠĠĠ ĠQuery Response Message ResponseType . query Response Message ResponseType < Data Entries QueryResult >() ĊĠ Ġ). join (). elements Ċ Ċ } ĊĊ