import { SERVER_MAIN_SRC_DIR, SERVER_MAIN_RES_DIR, SERVER_TEST_SRC_DIR } from '../generator-constants.js';
import { moveToJavaPackageSrcDir, moveToJavaPackageTestDir } from '../server/support/index.js';
export const cassandraFiles = {
    serverFiles: [
        {
            path: `${SERVER_MAIN_SRC_DIR}_package_/`,
            renameTo: moveToJavaPackageSrcDir,
            templates: ['config/DatabaseConfiguration.java'],
        },
    ],
    serverResource: [
        {
            path: SERVER_MAIN_RES_DIR,
            templates: [
                'config/cql/create-keyspace-prod.cql',
                'config/cql/create-keyspace.cql',
                'config/cql/drop-keyspace.cql',
                'config/cql/changelog/README.md',
            ],
        },
        {
            condition: ctx => !ctx.applicationTypeMicroservice && ctx.generateBuiltInUserEntity,
            path: SERVER_MAIN_RES_DIR,
            templates: [
                { file: 'config/cql/changelog/create-tables.cql', renameTo: () => 'config/cql/changelog/00000000000000_create-tables.cql' },
                {
                    file: 'config/cql/changelog/insert_default_users.cql',
                    renameTo: () => 'config/cql/changelog/00000000000001_insert_default_users.cql',
                },
            ],
        },
    ],
    serverTestFw: [
        {
            path: `${SERVER_TEST_SRC_DIR}_package_/`,
            renameTo: moveToJavaPackageTestDir,
            templates: [
                'CassandraKeyspaceIT.java',
                'config/CassandraTestContainer.java',
                'config/CassandraTestContainersSpringContextCustomizerFactory.java',
                'config/EmbeddedCassandra.java',
            ],
        },
    ],
};
export default async function writeCassandraFilesTask({ application }) {
    await this.writeFiles({
        sections: cassandraFiles,
        context: application,
    });
}
