31 lines
933 B
TypeScript
31 lines
933 B
TypeScript
import { DynamicModule, Module } from '@nestjs/common';
|
|
|
|
import { MeiliService } from '@/modules/meilisearch/meili.service';
|
|
|
|
import { Configure } from '../config/configure';
|
|
import { panic } from '../core/helpers';
|
|
|
|
@Module({})
|
|
export class MeiliModule {
|
|
static forRoot(configure: Configure): DynamicModule {
|
|
if (!configure.has('meili')) {
|
|
panic({ message: 'MeilliSearch config not exists' });
|
|
}
|
|
return {
|
|
global: true,
|
|
module: MeiliModule,
|
|
providers: [
|
|
{
|
|
provide: MeiliService,
|
|
useFactory: async () => {
|
|
const service = new MeiliService(await configure.get('meili'));
|
|
await service.createClients();
|
|
return service;
|
|
},
|
|
},
|
|
],
|
|
exports: [MeiliService],
|
|
};
|
|
}
|
|
}
|