nestapp/src/modules/meilisearch/meili.module.ts
2025-06-08 14:26:04 +08:00

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],
};
}
}