package Ġnet . nem eros a . on track . graphql . schema . security Ċ Ċ import Ġnet . nem eros a . on track . graphql . schema . Mutation Ċ import Ġnet . nem eros a . on track . graphql . support . Typed Mutation Provider Ċ import Ġnet . nem eros a . on track . model . annotations . AP ID escription Ċ import Ġnet . nem eros a . on track . model . security . Account Ċ import Ġnet . nem eros a . on track . model . security . Account Service Ċ import Ġnet . nem eros a . on track . model . structure . ID Ċ import Ġorg . springframework . stereotype . Component Ċ Ċ @ Component Ċ class ĠAccount Mut ations ( ĊĠĠĠ Ġprivate Ġval Ġaccount Service : ĠAccount Service , Ċ ) Ġ: ĠTyped Mutation Provider () Ġ{ ĊĠĠĠ Ġoverride Ġval Ġmutations : ĠList < Mutation > Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠDis abling Ġan Ġaccount ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġsimple Mutation (" disable Account ", Ġ" Dis ables Ġan Ġaccount ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠDisable Account Input :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" account ", Ġ" Updated Ġaccount ", ĠAccount :: class ) Ġ{ Ġinput Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠID . of ( input . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Service . set Account Disabled ( id , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Service . get Account ( id ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠEn abling Ġan Ġaccount ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġsimple Mutation (" enable Account ", Ġ" Enable s Ġan Ġaccount ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠEnable Account Input :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" account ", Ġ" Updated Ġaccount ", ĠAccount :: class ) Ġ{ Ġinput Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠID . of ( input . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Service . set Account Disabled ( id , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Service . get Account ( id ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠLock ing Ġan Ġaccount ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġsimple Mutation (" lock Account ", Ġ" Locks Ġan Ġaccount ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLock Account Input :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" account ", Ġ" Updated Ġaccount ", ĠAccount :: class ) Ġ{ Ġinput Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠID . of ( input . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Service . set Account Locked ( id , Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Service . get Account ( id ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠUn lock ing Ġan Ġaccount ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġsimple Mutation (" unlock Account ", Ġ" Unlock s Ġan Ġaccount ", ĊĠĠĠĠĠĠĠĠĠĠĠ ĠUn lock Account Input :: class , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" account ", Ġ" Updated Ġaccount ", ĠAccount :: class ) Ġ{ Ġinput Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= ĠID . of ( input . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Service . set Account Locked ( id , Ġfalse ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġaccount Service . get Account ( id ) ĊĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠ Ġ) Ċ } Ċ Ċ abstract Ġclass ĠAbstract Account Input ( ĊĠĠĠ Ġ@ AP ID escription (" ID Ġof Ġthe Ġaccount ") ĊĠĠĠ Ġval Ġid : ĠInt , Ċ ) Ċ Ċ class ĠDisable Account Input ( id : ĠInt ) Ġ: ĠAbstract Account Input ( id ) Ċ class ĠEnable Account Input ( id : ĠInt ) Ġ: ĠAbstract Account Input ( id ) Ċ class ĠLock Account Input ( id : ĠInt ) Ġ: ĠAbstract Account Input ( id ) Ċ class ĠUn lock Account Input ( id : ĠInt ) Ġ: ĠAbstract Account Input ( id ) Ċ