86 lines
4.9 KiB
TypeScript
86 lines
4.9 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
import { JwtModule } from '@nestjs/jwt';
|
|
import { PassportModule } from '@nestjs/passport';
|
|
import { ScheduleModule } from '@nestjs/schedule';
|
|
|
|
import { User } from './domain/entities/user.entity';
|
|
import { KycSubmission } from './domain/entities/kyc-submission.entity';
|
|
import { Wallet } from './domain/entities/wallet.entity';
|
|
import { Transaction } from './domain/entities/transaction.entity';
|
|
import { Message } from './domain/entities/message.entity';
|
|
import { AppVersion } from './domain/entities/app-version.entity';
|
|
import { TelemetryEvent } from './domain/entities/telemetry-event.entity';
|
|
import { OnlineSnapshot } from './domain/entities/online-snapshot.entity';
|
|
import { DailyActiveStats } from './domain/entities/daily-active-stats.entity';
|
|
|
|
import { UserRepository } from './infrastructure/persistence/user.repository';
|
|
import { KycRepository } from './infrastructure/persistence/kyc.repository';
|
|
import { WalletRepository } from './infrastructure/persistence/wallet.repository';
|
|
import { TransactionRepository } from './infrastructure/persistence/transaction.repository';
|
|
import { MessageRepository } from './infrastructure/persistence/message.repository';
|
|
|
|
import { PresenceRedisService } from './infrastructure/redis/presence-redis.service';
|
|
import { TelemetryMetricsService } from './infrastructure/metrics/telemetry-metrics.service';
|
|
import { TelemetryProducerService } from './infrastructure/kafka/telemetry-producer.service';
|
|
import { PackageParserService } from './infrastructure/parsers/package-parser.service';
|
|
|
|
import { UserProfileService } from './application/services/user-profile.service';
|
|
import { KycService } from './application/services/kyc.service';
|
|
import { WalletService } from './application/services/wallet.service';
|
|
import { MessageService } from './application/services/message.service';
|
|
import { AdminDashboardService } from './application/services/admin-dashboard.service';
|
|
import { AdminUserService } from './application/services/admin-user.service';
|
|
import { AdminSystemService } from './application/services/admin-system.service';
|
|
import { AdminAnalyticsService } from './application/services/admin-analytics.service';
|
|
import { TelemetryService } from './application/services/telemetry.service';
|
|
import { TelemetrySchedulerService } from './application/services/telemetry-scheduler.service';
|
|
import { AppVersionService } from './application/services/app-version.service';
|
|
import { FileStorageService } from './application/services/file-storage.service';
|
|
|
|
import { UserController } from './interface/http/controllers/user.controller';
|
|
import { KycController } from './interface/http/controllers/kyc.controller';
|
|
import { WalletController } from './interface/http/controllers/wallet.controller';
|
|
import { MessageController } from './interface/http/controllers/message.controller';
|
|
import { AdminDashboardController } from './interface/http/controllers/admin-dashboard.controller';
|
|
import { AdminUserController } from './interface/http/controllers/admin-user.controller';
|
|
import { AdminSystemController } from './interface/http/controllers/admin-system.controller';
|
|
import { AdminAnalyticsController } from './interface/http/controllers/admin-analytics.controller';
|
|
import { TelemetryController } from './interface/http/controllers/telemetry.controller';
|
|
import { AdminTelemetryController } from './interface/http/controllers/admin-telemetry.controller';
|
|
import { AppVersionController } from './interface/http/controllers/app-version.controller';
|
|
import { AdminVersionController } from './interface/http/controllers/admin-version.controller';
|
|
import { MetricsController } from './interface/http/controllers/metrics.controller';
|
|
|
|
@Module({
|
|
imports: [
|
|
TypeOrmModule.forFeature([
|
|
User, KycSubmission, Wallet, Transaction, Message, AppVersion,
|
|
TelemetryEvent, OnlineSnapshot, DailyActiveStats,
|
|
]),
|
|
PassportModule.register({ defaultStrategy: 'jwt' }),
|
|
JwtModule.register({
|
|
secret: process.env.JWT_ACCESS_SECRET || 'dev-access-secret',
|
|
}),
|
|
ScheduleModule.forRoot(),
|
|
],
|
|
controllers: [
|
|
UserController, KycController, WalletController, MessageController,
|
|
AdminDashboardController, AdminUserController, AdminSystemController, AdminAnalyticsController,
|
|
TelemetryController, AdminTelemetryController,
|
|
AppVersionController, AdminVersionController,
|
|
MetricsController,
|
|
],
|
|
providers: [
|
|
UserRepository, KycRepository, WalletRepository, TransactionRepository, MessageRepository,
|
|
PresenceRedisService,
|
|
UserProfileService, KycService, WalletService, MessageService,
|
|
AdminDashboardService, AdminUserService, AdminSystemService, AdminAnalyticsService,
|
|
TelemetryService, TelemetrySchedulerService,
|
|
AppVersionService, FileStorageService, PackageParserService,
|
|
TelemetryMetricsService, TelemetryProducerService,
|
|
],
|
|
exports: [UserProfileService, WalletService, MessageService],
|
|
})
|
|
export class UserModule {}
|