Files
learn-languages/src/modules/translator/translator-repository.ts
2026-02-02 23:57:01 +08:00

42 lines
1.1 KiB
TypeScript

import {
RepoInputCreateTranslationHistory,
RepoInputSelectLatestTranslation,
RepoOutputSelectLatestTranslation,
} from "./translator-repository-dto";
import { prisma } from "@/lib/db";
export async function repoSelectLatestTranslation(
dto: RepoInputSelectLatestTranslation
): Promise<RepoOutputSelectLatestTranslation> {
const result = await prisma.translationHistory.findFirst({
where: {
sourceText: dto.sourceText,
targetLanguage: dto.targetLanguage,
},
orderBy: {
createdAt: "desc",
},
});
if (!result) {
return null;
}
return {
id: result.id,
translatedText: result.translatedText,
sourceLanguage: result.sourceLanguage,
targetLanguage: result.targetLanguage,
sourceIpa: result.sourceIpa,
targetIpa: result.targetIpa,
};
}
export async function repoCreateTranslationHistory(
data: RepoInputCreateTranslationHistory
) {
return await prisma.translationHistory.create({
data: data,
});
}