mirror of
https://github.com/benjamin-wilson/public-pool.git
synced 2026-09-29 09:05:06 -07:00
82 lines
2.7 KiB
TypeScript
82 lines
2.7 KiB
TypeScript
import { HttpModule } from '@nestjs/axios';
|
|
import { CacheModule } from '@nestjs/cache-manager';
|
|
import { Module } from '@nestjs/common';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { ScheduleModule } from '@nestjs/schedule';
|
|
import { TypeOrmModule } from '@nestjs/typeorm';
|
|
|
|
import { AppController } from './app.controller';
|
|
import { AddressController } from './controllers/address/address.controller';
|
|
import { ClientController } from './controllers/client/client.controller';
|
|
import { BitcoinAddressValidator } from './models/validators/bitcoin-address.validator';
|
|
import { AddressSettingsModule } from './ORM/address-settings/address-settings.module';
|
|
import { BlocksModule } from './ORM/blocks/blocks.module';
|
|
import { ClientStatisticsModule } from './ORM/client-statistics/client-statistics.module';
|
|
import { ClientModule } from './ORM/client/client.module';
|
|
import { RpcBlocksModule } from './ORM/rpc-block/rpc-block.module';
|
|
import { TelegramSubscriptionsModule } from './ORM/telegram-subscriptions/telegram-subscriptions.module';
|
|
import { AppService } from './services/app.service';
|
|
import { BitcoinRpcService } from './services/bitcoin-rpc.service';
|
|
import { BraiinsService } from './services/braiins.service';
|
|
import { BTCPayService } from './services/btc-pay.service';
|
|
import { DiscordService } from './services/discord.service';
|
|
import { NotificationService } from './services/notification.service';
|
|
import { ProxyService } from './services/proxy.service';
|
|
import { StratumV1JobsService } from './services/stratum-v1-jobs.service';
|
|
import { StratumV1Service } from './services/stratum-v1.service';
|
|
import { TelegramService } from './services/telegram.service';
|
|
|
|
|
|
const ORMModules = [
|
|
ClientStatisticsModule,
|
|
ClientModule,
|
|
AddressSettingsModule,
|
|
TelegramSubscriptionsModule,
|
|
BlocksModule,
|
|
RpcBlocksModule
|
|
]
|
|
|
|
@Module({
|
|
imports: [
|
|
ConfigModule.forRoot(),
|
|
TypeOrmModule.forRoot({
|
|
type: 'sqlite',
|
|
database: './DB/public-pool.sqlite',
|
|
synchronize: true,
|
|
autoLoadEntities: true,
|
|
cache: true,
|
|
logging: false,
|
|
enableWAL: true,
|
|
busyTimeout: 30 * 1000,
|
|
|
|
}),
|
|
CacheModule.register(),
|
|
ScheduleModule.forRoot(),
|
|
HttpModule,
|
|
...ORMModules
|
|
],
|
|
controllers: [
|
|
AppController,
|
|
ClientController,
|
|
AddressController
|
|
],
|
|
providers: [
|
|
DiscordService,
|
|
AppService,
|
|
StratumV1Service,
|
|
TelegramService,
|
|
BitcoinRpcService,
|
|
NotificationService,
|
|
BitcoinAddressValidator,
|
|
StratumV1JobsService,
|
|
ProxyService,
|
|
BTCPayService,
|
|
BraiinsService
|
|
],
|
|
})
|
|
export class AppModule {
|
|
constructor() {
|
|
|
|
}
|
|
}
|