package Ġde . tom . demo . task app . entities . tasks Ċ Ċ import Ġde . tom . demo . task app . entities . Task Ċ import Ġorg . springframework . data . mongodb . repository . Mongo Repository Ċ import Ġorg . springframework . data . mongodb . repository . Query Ċ import Ġorg . springframework . stereotype . Repository Ċ Ċ /** Ċ Ġ* Ġ ĠJ PA ĠRepository : Ġto Ġinteract Ġwith ĠH 2 Ġdatabase Ċ Ġ*/ Ċ @ Repository Ċ interface ĠTask Repository Ġ: ĠMongo Repository < Task , ĠString > Ġ{ ĊĠĠĠ Ġ@ Query ("{ Ġ\$ or Ġ: Ġ[{' assign ees ' Ġ: Ġ{ Ġ\$ elem Match Ġ: Ġ{' email ': Ġ'? 0 ' Ġ}} }, Ġ{' report edBy . email ' Ġ: Ġ'? 0 ' Ġ} ]} ") ĊĠĠĠ Ġfun ĠfindAll User Tasks ( email : ĠString ): ĠList < Task > ĊĊĠĠĠ Ġ@ Query (" {' report edBy . email ' Ġ: Ġ'? 0 ' Ġ} ") ĊĠĠĠ Ġfun ĠfindAll Tasks Report edBy User ( email : ĠString ): ĠList < Task > ĊĊĠĠĠ Ġ@ Query (" {' assign ees ' Ġ: Ġ{ Ġ\$ elem Match Ġ: Ġ{' email ': Ġ'? 0 ' Ġ}}} ") ĊĠĠĠ Ġfun ĠfindAll Tasks Assigned To User ( email : ĠString ): ĠList < Task > Ċ Ċ } Ċ