<?php

/**
 * module.php -b='blueprint.php'
 */

require(__DIR__ . '/../../../modules/blueprint_helpers.php');

$moduleName = 'Src\Modules\Auth';

$conf = [
    '_templates' => __DIR__ . '/../../../modules/templates',
];

$parts = [];
$parts[] = getModuleFactoryConf($moduleName);
$parts[] = getApplicationDirConf($moduleName);
$parts[] = getApplicationSubdirConf($moduleName, 'Admin');
// $parts[] = getApplicationDomainConf($moduleName, 'User');
// $parts[] = getApplicationValidatorConf($moduleName, 'User');
$parts[] = getInfrastructureDirConf($moduleName);
$parts[] = getInfrastructureSubdirConf($moduleName, 'Storage');
$parts[] = getStorageConf('AdminsStorage', $moduleName);
$parts[] = getInfrastructureSubdirConf($moduleName, 'Queries');
$parts[] = getQueryConf('AdminsQuery', $moduleName);
$parts[] = getInfrastructureSubdirConf($moduleName, 'PersistLayer');
$parts[] = getPersistLayerConf('AdminsLayer', $moduleName);
$parts[] = getDtoDirConf($moduleName);
$parts[] = getDtoSubdirConf($moduleName, 'Admin');
$parts[] = getPagesDirConf($moduleName);
$parts[] = getLaravelController($moduleName, 'AdminsListController');
$parts[] = getLaravelController($moduleName, 'AdminFormController');
$parts[] = getLaravelController($moduleName, 'LoginController');
$parts[] = getLaravelViewConf('adminsList', 'admin');
$parts[] = getLaravelViewConf('adminForm', 'admin');
$parts[] = getPagesSubdirConf($moduleName, 'Admin');
$parts[] = getPageClassConf($moduleName, 'AdminsList', 'Admin');
$parts[] = getPageClassConf($moduleName, 'AdminForm', 'Admin');
$parts[] = getPageClassConf($moduleName, 'LoginForm', 'Admin');

foreach($parts as $part){
    $conf = array_merge_recursive($conf, $part);
}

return $conf;