mirror of
https://github.com/bookorbit/bookorbit.git
synced 2026-11-03 00:11:37 -06:00
74 lines
2.9 KiB
TypeScript
74 lines
2.9 KiB
TypeScript
import { Module } from '@nestjs/common';
|
|
import { ConfigModule } from '@nestjs/config';
|
|
import { APP_GUARD } from '@nestjs/core';
|
|
import { ScheduleModule } from '@nestjs/schedule';
|
|
|
|
import { appConfig, authConfig, dbConfig, externalApiConfig, mailerConfig, storageConfig } from './config/config';
|
|
import { CommonModule } from './common/common.module';
|
|
import { JwtAuthGuard } from './common/guards/jwt-auth.guard';
|
|
import { LibraryAccessGuard } from './common/guards/library-access.guard';
|
|
import { PermissionGuard } from './common/guards/permission.guard';
|
|
import { DbModule } from './db/db.module';
|
|
import { AnnotationModule } from './modules/annotation/annotation.module';
|
|
import { AppSettingsModule } from './modules/app-settings/app-settings.module';
|
|
import { CollectionModule } from './modules/collection/collection.module';
|
|
import { AuthModule } from './modules/auth/auth.module';
|
|
import { CbzModule } from './modules/cbz/cbz.module';
|
|
import { BookmarkModule } from './modules/bookmark/bookmark.module';
|
|
import { BookModule } from './modules/book/book.module';
|
|
import { CatalogModule } from './modules/catalog/catalog.module';
|
|
import { CoverModule } from './modules/cover/cover.module';
|
|
import { KoboModule } from './modules/kobo/kobo.module';
|
|
import { LibraryModule } from './modules/library/library.module';
|
|
import { LensModule } from './modules/lens/lens.module';
|
|
import { OpdsModule } from './modules/opds/opds.module';
|
|
import { PathModule } from './modules/path/path.module';
|
|
import { MetadataFetchModule } from './modules/metadata-fetch/metadata-fetch.module';
|
|
import { MetadataModule } from './modules/metadata/metadata.module';
|
|
import { ReaderPreferencesModule } from './modules/reader-preferences/reader-preferences.module';
|
|
import { RecommendationModule } from './modules/recommendation/recommendation.module';
|
|
import { RoleModule } from './modules/role/role.module';
|
|
import { ScannerModule } from './modules/scanner/scanner.module';
|
|
import { SeedModule } from './modules/seed/seed.module';
|
|
import { UserModule } from './modules/user/user.module';
|
|
|
|
@Module({
|
|
imports: [
|
|
ConfigModule.forRoot({
|
|
isGlobal: true,
|
|
load: [appConfig, dbConfig, authConfig, storageConfig, mailerConfig, externalApiConfig],
|
|
}),
|
|
ScheduleModule.forRoot(),
|
|
DbModule,
|
|
CommonModule,
|
|
SeedModule,
|
|
AuthModule,
|
|
AppSettingsModule,
|
|
UserModule,
|
|
RoleModule,
|
|
LibraryModule,
|
|
PathModule,
|
|
BookModule,
|
|
CatalogModule,
|
|
CoverModule,
|
|
CollectionModule,
|
|
LensModule,
|
|
ScannerModule,
|
|
MetadataModule,
|
|
MetadataFetchModule,
|
|
RecommendationModule,
|
|
KoboModule,
|
|
OpdsModule,
|
|
BookmarkModule,
|
|
AnnotationModule,
|
|
CbzModule,
|
|
ReaderPreferencesModule,
|
|
],
|
|
providers: [
|
|
{ provide: APP_GUARD, useClass: JwtAuthGuard },
|
|
{ provide: APP_GUARD, useClass: PermissionGuard },
|
|
{ provide: APP_GUARD, useClass: LibraryAccessGuard },
|
|
],
|
|
})
|
|
export class AppModule {}
|