"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.AppModule = void 0;
const common_1 = require("@nestjs/common");
const typeorm_1 = require("@nestjs/typeorm");
const config_1 = require("@nestjs/config");
const user_module_1 = require("./appapi/user/user.module");
const category_module_1 = require("./common/category/category.module");
const banner_module_1 = require("./common/banner/banner.module");
const shop_module_1 = require("./common/shop/shop.module");
const service_module_1 = require("./common/service/service.module");
const upload_module_1 = require("./appapi/image/upload.module");
const toppick_module_1 = require("./common/toppick/toppick.module");
const shopcontact_module_1 = require("./common/shopcontact/shopcontact.module");
const schedule_module_1 = require("./common/schedule/schedule.module");
const review_module_1 = require("./common/review/review.module");
const serve_static_1 = require("@nestjs/serve-static");
const path_1 = require("path");
const coupon_module_1 = require("./common/coupon/coupon.module");
const highlight_module_1 = require("./common/highlight/highlight.module");
const offer_module_1 = require("./common/offer/offer.module");
const productrequest_module_1 = require("./common/productrequest/productrequest.module");
const role_module_1 = require("./common/role/role.module");
const plan_module_1 = require("./common/plan/plan.module");
const vendor_module_1 = require("./common/vendor/vendor.module");
const favorite_module_1 = require("./common/favorite/favorite.module");
const rolepermission_module_1 = require("./common/rolepermission/rolepermission.module");
const module_module_1 = require("./common/module/module.module");
const page_module_1 = require("./common/page/page.module");
const document_module_1 = require("./common/document/document.module");
const shopoffer_module_1 = require("./common/shopoffer/shopoffer.module");
const driver_module_1 = require("./common/driver/driver.module");
const userlocation_module_1 = require("./common/userlocation/userlocation.module");
const booking_module_1 = require("./common/booking/booking.module");
const cms_module_1 = require("./common/cms/cms.module");
const payment_module_1 = require("./common/payment/payment.module");
const driver_review_module_1 = require("./common/driverreview/driver-review.module");
const sms_module_1 = require("./appapi/smsgetway/sms.module");
const appconfigration_module_1 = require("./appapi/appconfigration/appconfigration.module");
const FirebaseModule_1 = require("./appapi/fcm/FirebaseModule");
const otp_email_module_1 = require("./appapi/emailotp/otp-email.module");
const dashboard_module_1 = require("./adminapi/dashboard/dashboard.module");
const support_module_1 = require("./adminapi/support/support.module");
const NotificationModule_1 = require("./adminapi/pushnotification/NotificationModule");
const complaint_module_1 = require("./common/complaint/complaint.module");
const suggestion_module_1 = require("./common/suggestion/suggestion.module");
const user_support_module_1 = require("./appapi/support/user-support.module");
const numberplate_module_1 = require("./appapi/numberplate/numberplate.module");
const kyc_module_1 = require("./appapi/kyc/kyc.module");
const car_listing_module_1 = require("./appapi/carlisting/car-listing.module");
let AppModule = class AppModule {
};
exports.AppModule = AppModule;
exports.AppModule = AppModule = __decorate([
    (0, common_1.Module)({
        imports: [
            config_1.ConfigModule.forRoot(),
            typeorm_1.TypeOrmModule.forRootAsync({
                imports: [config_1.ConfigModule],
                useFactory: (configService) => ({
                    type: 'mysql',
                    host: configService.get('DB_HOST'),
                    port: +configService.get('DB_PORT'),
                    username: configService.get('DB_USERNAME'),
                    password: configService.get('DB_PASSWORD'),
                    database: configService.get('DB_NAME'),
                    charset: 'utf8mb4',
                    entities: [__dirname + '/**/*.entity{.ts,.js}'],
                    synchronize: true,
                    extra: {
                        connectTimeout: 10000,
                        supportBigNumbers: true,
                        bigNumberStrings: false,
                    },
                }),
                inject: [config_1.ConfigService],
            }),
            serve_static_1.ServeStaticModule.forRoot({
                rootPath: (0, path_1.join)(__dirname, '..', 'uploads'),
                serveRoot: '/uploads',
            }),
            user_module_1.UserModule,
            category_module_1.CategoryModule,
            banner_module_1.BannerModule,
            shop_module_1.ShopModule,
            shopcontact_module_1.ShopContactModule,
            service_module_1.ServiceModule,
            toppick_module_1.TopPickModule,
            schedule_module_1.ScheduleModule,
            review_module_1.ReviewModule,
            coupon_module_1.CouponModule,
            highlight_module_1.HighlightModule,
            offer_module_1.OfferModule,
            productrequest_module_1.ProductRequestModule,
            role_module_1.RoleModule,
            plan_module_1.PlanModule,
            vendor_module_1.VendorModule,
            favorite_module_1.FavoriteModule,
            rolepermission_module_1.RolePermissionModule,
            module_module_1.ModuleModule,
            page_module_1.PageModule,
            document_module_1.DocumentModule,
            shopoffer_module_1.ShopOfferModule,
            driver_module_1.DriverModule,
            userlocation_module_1.UserLocationModule,
            booking_module_1.BookingModule,
            cms_module_1.CmsModule,
            payment_module_1.PaymentModule,
            upload_module_1.UploadModule,
            driver_review_module_1.DriverReviewModule,
            sms_module_1.SmsModule,
            appconfigration_module_1.AppconfigrationModule,
            FirebaseModule_1.FirebaseModule,
            otp_email_module_1.OtpEmailModule,
            dashboard_module_1.DashboardModule,
            support_module_1.SupportModule,
            NotificationModule_1.NotificationModule,
            complaint_module_1.ComplaintModule,
            suggestion_module_1.SuggestionModule,
            user_support_module_1.UserSupportModule,
            numberplate_module_1.NumberPlateModule,
            kyc_module_1.KycModule,
            car_listing_module_1.CarListingModule,
        ],
        controllers: [],
        providers: [],
    })
], AppModule);
//# sourceMappingURL=app.module.js.map