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