@lxdhub/api
Version:
Display, search and copy LXD-images using a web interface.
43 lines (40 loc) • 1.26 kB
text/typescript
import { DatabaseModule } from '@lxdhub/db';
import { DynamicModule } from '@nestjs/common';
import { LXDHubAPISettings } from '.';
import { AppSettingsModule } from './app-settings';
import { AppController } from './app.controller';
import { ImageAvailabilityModule } from './image-availability';
import { ImageModule } from './image/image.module';
import { LogModule } from './log';
import { LXDModule } from './lxd';
import { RemoteModule } from './remote';
import { SearchModule } from './search/search.module';
import { ThirdPartyModule } from './third-party/third-party.module';
import { SyncRunModule } from './sync-run/sync-run.module';
/**
* The main appliaction module for LXDHub
*/
export class AppModule {
static forRoot(settings: LXDHubAPISettings): DynamicModule {
return {
module: AppModule,
imports: [
AppSettingsModule.forRoot(settings),
DatabaseModule.forRoot({
...settings.database,
logLevel: settings.logLevel
}),
LogModule,
ImageModule,
ImageAvailabilityModule,
SyncRunModule,
RemoteModule,
SearchModule,
LXDModule,
RemoteModule,
ThirdPartyModule
],
controllers: [AppController]
};
}
}