package Ġdev . iz umin . sandbox . re join er . bff . schema Ċ Ċ import Ġcom . google . api . graphql . re join er . Grpc Schema Module Ċ import Ġcom . google . api . graphql . re join er . Query Ċ import Ġcom . google . api . graphql . re join er . Schema Modification Ċ import Ġcom . google . common . base . Function Ċ import Ġcom . google . common . util . concurrent . F utures Ċ import Ġcom . google . common . util . concurrent . List enable Future Ċ import Ġcom . google . common . util . concurrent . More Executors Ċ import Ġdev . iz umin 5 2 1 0 . sandbox . qi ita . Item Ċ import Ġdev . iz umin 5 2 1 0 . sandbox . qi ita . Item Service Grpc Ċ import Ġdev . iz umin 5 2 1 0 . sandbox . qi ita . List Items Request Ċ import Ġdev . iz umin 5 2 1 0 . sandbox . qi ita . List Stock ers Request Ċ import Ġdev . iz umin 5 2 1 0 . sandbox . qi ita . User Ċ import Ġdev . iz umin 5 2 1 0 . sandbox . qi ita . UserService Grpc Ċ Ċ class ĠQ i ita Item Schema Module Ġ: ĠGr pc Schema Module () Ġ{ ĊĠĠĠ Ġ@ Query (" list Qi ita Items ") ĊĠĠĠ Ġfun Ġlist Items ( req : ĠList Items Request , Ġclient : ĠItem Service Grpc . Item Service Future Stub ): ĠList enable Future < List < Item >> Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠF utures . transform ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient . list Items ( req ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFunction Ġ{ Ġit !!. items List Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMore Executors . direct Executor () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Schema Modification ( addField Ġ= Ġ" items ", Ġon Type Ġ= ĠUser :: class ) ĊĠĠĠ Ġprivate Ġfun Ġuser To Items ( user : ĠUser , Ġclient : ĠItem Service Grpc . Item Service Future Stub ): ĠList enable Future < List < Item >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreq Ġ= ĠList Items Request . newBuilder (). set UserId ( user . id ). build () ĊĠĠĠĠĠĠĠ Ġreturn Ġlist Items ( req , Ġclient ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Schema Modification ( addField Ġ= Ġ" followers ", Ġon Type Ġ= ĠItem :: class ) ĊĠĠĠ Ġprivate Ġfun Ġuser To Stock ers ( item : ĠItem , Ġclient : ĠUserService Grpc . UserService Future Stub ): ĠList enable Future < List < User >> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġreq Ġ= ĠList Stock ers Request . newBuilder (). setItem Id ( item . id ). build () ĊĠĠĠĠĠĠĠ Ġreturn ĠF utures . transform ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient . list Stock ers ( req ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠFunction Ġ{ Ġit !!. users List Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠMore Executors . direct Executor () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ