ウェブサイト検索

TypeScript - Prismaロジックからビジネスロジックを分離する方法


私はプロジェクトでORMとしてPrismaの使用を始めたばかりですが、Prismaを使用しているサービスロジックからPrismaのクエリやロジックコードをどのように分離すればよいか分かりません。汎用リポジトリのアプローチを使えないため、この分離を達成するための回避策を見つけたいのですが、何かアイデアはありますか?

これはPrismaを使用した「アプリケーション・サービス」の例です

>  async findByIdPrisma(applicationId: number):
> Promise<ApplicationModel> {
>     const application = await this.prismaService.application.findUnique({
>       where: { id: applicationId },
>     });
>     if (application) {
>       return application;
>     }
>     throw new DataIsForbiddenOrNotFoundException('Application', {
>       Application: applicationId,
>     });   }

私が達成したい解決策は、それらのクエリを別のリポジトリの関数として持ち、このサービスから完全に切り離すことです。事前にありがとうございます。