diff --git a/prisma/migrations/20240723084219_add_service_ref/migration.sql b/prisma/migrations/20240723084219_add_service_ref/migration.sql new file mode 100644 index 0000000..7505e27 --- /dev/null +++ b/prisma/migrations/20240723084219_add_service_ref/migration.sql @@ -0,0 +1,11 @@ +/* + Warnings: + + - Added the required column `refServiceId` to the `QuotationService` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +ALTER TABLE "QuotationService" ADD COLUMN "refServiceId" TEXT NOT NULL; + +-- AddForeignKey +ALTER TABLE "QuotationService" ADD CONSTRAINT "QuotationService_refServiceId_fkey" FOREIGN KEY ("refServiceId") REFERENCES "Service"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 8faedfe..328b6b6 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -718,7 +718,8 @@ model Service { status Status @default(CREATED) statusOrder Int @default(0) - work Work[] + work Work[] + quotationService QuotationService[] productType ProductType? @relation(fields: [productTypeId], references: [id], onDelete: SetNull) productTypeId String? @@ -854,8 +855,12 @@ model QuotationService { work QuotationServiceWork[] + refServiceId String + refService Service @relation(fields: [refServiceId], references: [id]) + quotation Quotation @relation(fields: [quotationId], references: [id]) quotationId String + serviceId String } model QuotationServiceWork { diff --git a/src/controllers/quotation-controller.ts b/src/controllers/quotation-controller.ts index 02e4347..f586168 100644 --- a/src/controllers/quotation-controller.ts +++ b/src/controllers/quotation-controller.ts @@ -420,6 +420,7 @@ export class QuotationController extends Controller { detail: a.detail, attributes: a.attributes, quotationId: quotation.id, + refServiceId: a.id, }, });