"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.generateModuleFiles = void 0;
const node_path_1 = require("node:path");
const config_1 = require("../../config");
const types_1 = require("../../types");
const utils_1 = require("../../utils");
const generateModuleFiles = async (generateCommandState) => {
    // create directory application container, normally src/app/modules/admin/apps
    await utils_1.TemplateGenerator.createDirectory((0, node_path_1.join)('src', config_1.cliterConfig.dashboardContainer), generateCommandState.schema.boundedContextName.toLowerCase().toKebabCase());
    // create module files
    await utils_1.TemplateGenerator.generateStaticContents(generateCommandState.command, types_1.TemplateElement.FRONT_MODULE, (0, node_path_1.join)('src', config_1.cliterConfig.dashboardContainer), generateCommandState.schema.boundedContextName.toLowerCase().toKebabCase(), {
        boundedContextName: generateCommandState.schema.boundedContextName,
        moduleName: generateCommandState.schema.moduleName,
        moduleNames: generateCommandState.schema.moduleNames,
        force: generateCommandState.flags.force,
        verbose: generateCommandState.flags.verbose,
        excludeFiles: generateCommandState.schema.excluded,
        lockFiles: generateCommandState.lockFiles,
        templateData: { ...generateCommandState },
    });
};
exports.generateModuleFiles = generateModuleFiles;
