"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
    return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.SolidCoreCliModule = void 0;
const common_1 = require("@nestjs/common");
const solid_core_cli_db_module_1 = require("./solid-core-cli-db.module");
const solid_core_module_1 = require("./solid-core.module");
const winston_logger_1 = require("./winston.logger");
const nest_winston_1 = require("nest-winston");
const cache_manager_1 = require("@nestjs/cache-manager");
const event_emitter_1 = require("@nestjs/event-emitter");
const cache_options_1 = require("./config/cache.options");
const config_1 = require("@nestjs/config");
const joi_1 = __importDefault(require("@hapi/joi"));
let SolidCoreCliModule = class SolidCoreCliModule {
};
exports.SolidCoreCliModule = SolidCoreCliModule;
exports.SolidCoreCliModule = SolidCoreCliModule = __decorate([
    (0, common_1.Module)({
        imports: [
            nest_winston_1.WinstonModule.forRoot(winston_logger_1.WinstonLoggerConfig),
            config_1.ConfigModule.forRoot({
                isGlobal: true,
                validationSchema: joi_1.default.object({
                    DEFAULT_DATABASE_HOST: joi_1.default.required(),
                    DEFAULT_DATABASE_PORT: joi_1.default.number().default(5432),
                }),
            }),
            solid_core_cli_db_module_1.SolidCoreCliDBModule,
            cache_manager_1.CacheModule.registerAsync(cache_options_1.CacheManagerOptions),
            event_emitter_1.EventEmitterModule.forRoot(),
            solid_core_module_1.SolidCoreModule,
        ],
        exports: [solid_core_module_1.SolidCoreModule],
    })
], SolidCoreCliModule);
//# sourceMappingURL=solid-core-cli.module.js.map