services:
    _defaults:
        public: true
        autowire: true
        autoconfigure: true

    GatoGraphQL\GatoGraphQL\Container\CompilerPasses\:
        resource: '../src/Container/CompilerPasses/*'

    GatoGraphQL\GatoGraphQL\Container\HybridCompilerPasses\:
        resource: '../src/Container/HybridCompilerPasses/*'

    # All these services are required to maybe execute ModuleListTableAction in Plugin.php
    # Hence, they are defined both in the Application and System containers
    # Please notice: they must NOT be autoconfigured!
    # Otherwise, they will also be initialized twice.
    # @see https://github.com/GatoGraphQL/GatoGraphQL/issues/636
    GatoGraphQL\GatoGraphQL\Services\Helpers\MenuPageHelper:
        class: ~
        autoconfigure: false
    GatoGraphQL\GatoGraphQL\Services\Menus\PluginMenu:
        class: ~
        autoconfigure: false
    GatoGraphQL\GatoGraphQL\Services\Helpers\EndpointHelpers:
        class: ~
        autoconfigure: false
    GatoGraphQL\GatoGraphQL\Services\MenuPages\ModulesMenuPage:
        class: ~
        autoconfigure: false
    
    # These services are referenced when storing the Settings (via options.php)
    GatoGraphQL\GatoGraphQL\Services\CustomPostTypes\GraphQLSchemaConfigurationCustomPostType:
        class: ~
        autoconfigure: false
    
    PoPCMSSchema\CustomPosts\TypeResolvers\UnionType\CustomPostUnionTypeResolver:
        class: ~
        autoconfigure: false
    
    PoPCMSSchema\Posts\TypeResolvers\ObjectType\PostObjectTypeResolver:
        class: ~
        autoconfigure: false
    
    PoPCMSSchema\Pages\TypeResolvers\ObjectType\PageObjectTypeResolver:
        class: ~
        autoconfigure: false
    
    PoPCMSSchema\CustomPosts\TypeResolvers\ObjectType\GenericCustomPostObjectTypeResolver:
        class: ~
        autoconfigure: false
    
    PoPCMSSchema\Categories\TypeResolvers\UnionType\CategoryUnionTypeResolver:
        class: ~
        autoconfigure: false
    
    PoPCMSSchema\PostCategories\TypeResolvers\ObjectType\PostCategoryObjectTypeResolver:
        class: ~
        autoconfigure: false
    
    PoPCMSSchema\Categories\TypeResolvers\ObjectType\GenericCategoryObjectTypeResolver:
        class: ~
        autoconfigure: false
    
    PoPCMSSchema\Tags\TypeResolvers\UnionType\TagUnionTypeResolver:
        class: ~
        autoconfigure: false
    
    PoPCMSSchema\PostTags\TypeResolvers\ObjectType\PostTagObjectTypeResolver:
        class: ~
        autoconfigure: false
    
    PoPCMSSchema\Tags\TypeResolvers\ObjectType\GenericTagObjectTypeResolver:
        class: ~
        autoconfigure: false

