module Hasura.Services (module Services, ProvidesHasuraServices) where import Hasura.Services.Network as Services {- Note [Services] Different editions of the GraphQL Engine use the same common core, but provide different features. To avoid having logic deep within the common core that decides whether a feature is active or not, we favour an "injection" approach: the core of the engine delegates the implementation details of features / external dependencies to class constraints, and it's the role of the top-level caller to implement those constraints. Those services are implemented on the base monad on which we run the engine. See 'PGMetadataStorageT' in Hasura/App. -} -- | A constraint alias that groups all services together. type ProvidesHasuraServices m = ( ProvidesNetwork m )