"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;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.RouterModule = void 0;
const common_1 = require("@nestjs/common");
const typeorm_1 = require("@nestjs/typeorm");
const router_entity_1 = require("../database/entities/router.entity");
const wifi_session_entity_1 = require("../database/entities/wifi-session.entity");
const customer_entity_1 = require("../database/entities/customer.entity");
const customer_device_entity_1 = require("../database/entities/customer-device.entity");
const radius_account_entity_1 = require("../database/entities/radius-account.entity");
const location_entity_1 = require("../database/entities/location.entity");
const audit_log_entity_1 = require("../database/entities/audit-log.entity");
const package_entity_1 = require("../database/entities/package.entity");
const router_service_1 = require("./router.service");
const router_controller_1 = require("./router.controller");
const provider_factory_1 = require("./providers/provider.factory");
const mikrotik_provider_1 = require("./providers/mikrotik.provider");
const radius_provider_1 = require("./providers/radius.provider");
const freeradius_provider_1 = require("./providers/freeradius.provider");
const unifi_provider_1 = require("./providers/unifi.provider");
const openwrt_provider_1 = require("./providers/openwrt.provider");
const mock_provider_1 = require("./providers/mock.provider");
let RouterModule = class RouterModule {
};
exports.RouterModule = RouterModule;
exports.RouterModule = RouterModule = __decorate([
    (0, common_1.Module)({
        imports: [
            typeorm_1.TypeOrmModule.forFeature([
                router_entity_1.Router,
                wifi_session_entity_1.WifiSession,
                customer_entity_1.Customer,
                customer_device_entity_1.CustomerDevice,
                radius_account_entity_1.RadiusAccount,
                location_entity_1.Location,
                audit_log_entity_1.AuditLog,
                package_entity_1.Package,
            ]),
        ],
        controllers: [router_controller_1.RouterController],
        providers: [
            router_service_1.RouterService,
            provider_factory_1.ProviderFactory,
            mikrotik_provider_1.MikroTikProvider,
            radius_provider_1.RadiusProvider,
            freeradius_provider_1.FreeRadiusProvider,
            unifi_provider_1.UnifiProvider,
            openwrt_provider_1.OpenWrtProvider,
            mock_provider_1.MockProvider,
        ],
        exports: [router_service_1.RouterService, provider_factory_1.ProviderFactory],
    })
], RouterModule);
