Extract the logic for storing pending/loaded records in lazy_state in GraphQL aggregators to separate concern

The following discussion from !45518 (merged) should be addressed:

Implementation plan

  • backend Create a base class for aggregations by extracting common logic from all lazy aggregate classes mentioned above
  • backend Update all the classes mentioned above in ee/lib/gitlab/graphql/aggregations/ by using inheritance (using super) to DRY up (e.g., class LazyBlockAggregate < BaseAggregate)
Edited by Ugo Nnanna Okeadu