UNPKG

1.27 kBPlain TextView Raw
1import { DatabaseModule } from '@lxdhub/db';
2import { DynamicModule } from '@nestjs/common';
3
4import { LXDHubAPISettings } from '.';
5import { AppSettingsModule } from './app-settings';
6import { AppController } from './app.controller';
7import { ImageAvailabilityModule } from './image-availability';
8import { ImageModule } from './image/image.module';
9import { LogModule } from './log';
10import { LXDModule } from './lxd';
11import { RemoteModule } from './remote';
12import { SearchModule } from './search/search.module';
13import { ThirdPartyModule } from './third-party/third-party.module';
14
15/**
16 * The main appliaction module for LXDHub
17 */
18export class AppModule {
19 static forRoot(settings: LXDHubAPISettings): DynamicModule {
20 return {
21 module: AppModule,
22 imports: [
23 AppSettingsModule.forRoot(settings),
24 DatabaseModule.forRoot({ ...settings.database, logLevel: settings.logLevel }),
25 LogModule,
26 ImageModule,
27 ImageAvailabilityModule,
28 RemoteModule,
29 SearchModule,
30 LXDModule,
31 RemoteModule,
32 ThirdPartyModule
33 ],
34 controllers: [AppController]
35 };
36 }
37}