feat: Auto add new users and statuses to Meilisearch

This commit is contained in:
Jesse Wierzbinski 2023-12-02 18:45:01 -10:00
parent 553b558c1a
commit b5913b163c
No known key found for this signature in database
3 changed files with 38 additions and 1 deletions

View file

@ -2,6 +2,7 @@ import { getConfig } from "@config";
import chalk from "chalk";
import { client } from "~database/datasource";
import { Meilisearch } from "meilisearch";
import type { Status, User } from "@prisma/client";
const config = getConfig();
@ -48,6 +49,32 @@ export enum MeiliIndexType {
Statuses = "statuses",
}
export const addStausToMeilisearch = async (status: Status) => {
if (!config.meilisearch.enabled) return;
await meilisearch.index(MeiliIndexType.Statuses).addDocuments([
{
id: status.id,
content: status.content,
createdAt: status.createdAt,
},
]);
};
export const addUserToMeilisearch = async (user: User) => {
if (!config.meilisearch.enabled) return;
await meilisearch.index(MeiliIndexType.Accounts).addDocuments([
{
id: user.id,
username: user.username,
displayName: user.displayName,
note: user.note,
createdAt: user.createdAt,
},
]);
};
export const getNthDatabaseAccountBatch = (
n: number,
batchSize = 1000