TypeScript - วิธีแยกตรรกะทางธุรกิจออกจากตรรกะของ Prisma
ฉันเพิ่งเริ่มใช้ Prisma เป็น ORM ในโปรเจกต์ของฉัน แต่ฉันไม่แน่ใจว่าจะคั่นแยกโค้ดคำสั่ง Prisma และโค้ดโลจิกออกจากโลจิกของเซอร์วิสที่ใช้ Prisma อย่างไร เนื่องจากเราไม่สามารถใช้วิธี generic repositories ได้ ฉันอยากหาวิธีแก้ปัญหาเพื่อให้เกิดการแยกส่วนนี้ มีไอเดียบ้างไหม?
นี่คือตัวอย่างของ 'application. service' ที่ใช้ 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,
> }); }
วิธีแก้ปัญหาที่ฉันต้องการให้เกิดขึ้นคือการมีคำสั่งค้นหาเหล่านั้นเป็นฟังก์ชันในคลังเก็บแยกต่างหาก โดยแยกออกจากบริการนี้อย่างสิ้นเชิง ขอบคุณล่วงหน้า