summaryrefslogtreecommitdiff
path: root/packages/backend/src/GlobalModule.ts
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-05-05 08:52:14 +0900
committerGitHub <noreply@github.com>2023-05-05 08:52:14 +0900
commit5c08f2b93b4a9f5bac0718d5b202b83314f4cb7c (patch)
treefdcb2c93859c85b3541f3571974f330f836641ec /packages/backend/src/GlobalModule.ts
parentUpdate CHANGELOG.md (diff)
downloadsharkey-5c08f2b93b4a9f5bac0718d5b202b83314f4cb7c.tar.gz
sharkey-5c08f2b93b4a9f5bac0718d5b202b83314f4cb7c.tar.bz2
sharkey-5c08f2b93b4a9f5bac0718d5b202b83314f4cb7c.zip
feat: Introduce Meilisearch (#10755)
* wip * wip * Update SearchService.ts * Update SearchService.ts * wip * wip * Update SearchService.ts * Update CHANGELOG.md * wip * Update SearchService.ts * Update docker-compose.yml.example
Diffstat (limited to 'packages/backend/src/GlobalModule.ts')
-rw-r--r--packages/backend/src/GlobalModule.ts20
1 files changed, 18 insertions, 2 deletions
diff --git a/packages/backend/src/GlobalModule.ts b/packages/backend/src/GlobalModule.ts
index 4574429c43..2f4862285d 100644
--- a/packages/backend/src/GlobalModule.ts
+++ b/packages/backend/src/GlobalModule.ts
@@ -2,6 +2,7 @@ import { setTimeout } from 'node:timers/promises';
import { Global, Inject, Module } from '@nestjs/common';
import * as Redis from 'ioredis';
import { DataSource } from 'typeorm';
+import { MeiliSearch } from 'meilisearch';
import { DI } from './di-symbols.js';
import { loadConfig } from './config.js';
import { createPostgresDataSource } from './postgres.js';
@@ -22,6 +23,21 @@ const $db: Provider = {
inject: [DI.config],
};
+const $meilisearch: Provider = {
+ provide: DI.meilisearch,
+ useFactory: (config) => {
+ if (config.meilisearch) {
+ return new MeiliSearch({
+ host: `http://${config.meilisearch.host}:${config.meilisearch.port}`,
+ apiKey: config.meilisearch.apiKey,
+ });
+ } else {
+ return null;
+ }
+ },
+ inject: [DI.config],
+};
+
const $redis: Provider = {
provide: DI.redis,
useFactory: (config) => {
@@ -73,8 +89,8 @@ const $redisForSub: Provider = {
@Global()
@Module({
imports: [RepositoryModule],
- providers: [$config, $db, $redis, $redisForPub, $redisForSub],
- exports: [$config, $db, $redis, $redisForPub, $redisForSub, RepositoryModule],
+ providers: [$config, $db, $meilisearch, $redis, $redisForPub, $redisForSub],
+ exports: [$config, $db, $meilisearch, $redis, $redisForPub, $redisForSub, RepositoryModule],
})
export class GlobalModule implements OnApplicationShutdown {
constructor(