@cyber-rom/nestjs-scylladb
Version:
Based on https://www.npmjs.com/package/@ouato/nestjs-express-cassandra With support columns name mapping
35 lines (30 loc) • 1.14 kB
text/typescript
import {DynamicModule, Module} from '@nestjs/common';
import {ScyllaModuleOptions, ScyllaModuleAsyncOptions, ScyllaFeaturesModuleOptions} from './interfaces';
import {createScyllaProviders} from './scylla.providers';
import {ScyllaCoreModule} from './scylla-core.module';
export class ScyllaModule {
static forRoot(options: ScyllaModuleOptions): DynamicModule {
return {
module: ScyllaModule,
imports: [ScyllaCoreModule.forRoot(options)],
global: options.isGlobal,
};
}
static forFeature(options: ScyllaFeaturesModuleOptions): DynamicModule {
const providers = createScyllaProviders(options.entities || [], options.connection || 'default');
return {
module: ScyllaModule,
exports: providers,
providers,
global: options.isGlobal,
};
}
static forRootAsync(options: ScyllaModuleAsyncOptions): DynamicModule {
return {
module: ScyllaModule,
global: options.isGlobal,
imports: [ScyllaCoreModule.forRootAsync(options)],
};
}
}