Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
66 / 66
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2// apie config file.
3
4use Apie\AiInstructor\AiInstructor;
5use Apie\ApieCommonPlugin\ApieCommonPlugin;
6use Apie\Cms\RouteDefinitions\CmsRouteDefinitionProvider;
7use Apie\CmsApiDropdownOption\RouteDefinitions\DropdownOptionsForExistingObjectRouteDefinition;
8use Apie\Common\Wrappers\RequestAwareInMemoryDatalayer;
9use Apie\Console\ConsoleCommandFactory;
10use Apie\DoctrineEntityConverter\OrmBuilder;
11use Apie\DoctrineEntityDatalayer\DoctrineEntityDatalayer;
12use Apie\Export\ExportServiceProvider;
13use Apie\Faker\ApieObjectFaker;
14use Apie\FtpServer\FtpServerCommand;
15use Apie\Graphql\RouteDefinitions\GraphqlRouteDefinition;
16use Apie\LaravelApie\Config\ValidateAndSanitizeConfig;
17use Apie\Maker\Utils;
18use Apie\McpServer\Controllers\RemoteMcpController;
19use Apie\RestApi\OpenApi\OpenApiGenerator;
20use Apie\TwigTemplateLayoutRenderer\TwigRenderer;
21use Apie\TypescriptClientBuilder\RouteDefinitions\CodeRouteDefinitionProvider;
22use Apie\Webdav\Dav\ApieDirectory;
23use Symfony\Component\Lock\Store\FlockStore;
24
25return ValidateAndSanitizeConfig::process([
26    'cms' => [
27        'base_url' => '/cms',
28        'dashboard_template' => 'apie::dashboard',
29        'error_template' => 'apie::error',
30        'asset_folders' => [
31            // storage_path('overrides')
32        ],
33        'laravel_middleware' => [],
34    ],
35    'lock_store' => FlockStore::class,
36    'rest_api' => [
37        'base_url' => '/api',
38        'laravel_middleware' => [],
39    ],
40    'datalayers' => [
41        'default_datalayer' => RequestAwareInMemoryDatalayer::class,
42        'context_mapping' => [
43            // 'bounded context id' => [
44            //  'default_datalayer' => DataLayer::class,
45            //  'entity_mapping' => [
46            //    ClassName::class => DataLayer::class,
47            //  ]
48            //]
49        ]
50    ],
51    'doctrine' => [
52        'build_once' => false,
53        'run_migrations' => false,
54        'connection_params' => [],
55    ],
56    'storage' => null,
57    'maker' => [
58        'target_path' => false,
59        'target_namespace' => 'App\Apie',
60    ],
61    'bounded_contexts' => [
62        'default' => [
63            'entities_folder' => app_path('Apie/Entities'),
64            'entities_namespace' => 'App\\Apie\\Entities\\',
65            'actions_folder' => app_path('Apie/Actions'),
66            'actions_namespace' => 'App\\Apie\\Actions\\',
67            'policy_folder' => app_path('Apie/Policies'),
68            'policy_namespace' => 'App\\Apie\\Policies\\',
69        ]
70    ],
71    'enable_ai_instructor' => class_exists(AiInstructor::class),
72    'enable_core' => true,
73    'enable_common_plugin' => class_exists(ApieCommonPlugin::class),
74    'enable_cms' => class_exists(CmsRouteDefinitionProvider::class),
75    'enable_cms_dropdown' => class_exists(DropdownOptionsForExistingObjectRouteDefinition::class),
76    'enable_doctrine_entity_converter' => class_exists(OrmBuilder::class),
77    'enable_doctrine_entity_datalayer' => class_exists(DoctrineEntityDatalayer::class),
78    /* 'enable_doctrine_bundle_connection'  symfony only*/
79    'enable_export' => class_exists(ExportServiceProvider::class),
80    'enable_faker' => class_exists(ApieObjectFaker::class),
81    'enable_ftp' => class_exists(FtpServerCommand::class),
82    'enable_graphql' => class_exists(GraphqlRouteDefinition::class),
83    'enable_maker' => class_exists(Utils::class),
84    'enable_mcp_server' => class_exists(RemoteMcpController::class),
85    'remote_mcp_path' => null,
86    'enable_rest_api' => class_exists(OpenApiGenerator::class),
87    'enable_console' => class_exists(ConsoleCommandFactory::class),
88    'enable_twig_template_layout_renderer' => class_exists(TwigRenderer::class),
89    'enable_typescript_client_builder' => class_exists(CodeRouteDefinitionProvider::class),
90    'enable_webdav' => class_exists(ApieDirectory::class),
91]);