From 753fa8b1ef8fb7cc747e2d08d1bb0eb082abf36b Mon Sep 17 00:00:00 2001 From: Alon Peretz <8467965+alonp99@users.noreply.github.com> Date: Wed, 7 Aug 2024 02:31:05 +0300 Subject: [PATCH] fix(data-migrations): transaction creation --- .../scripts/alerts/generate-alerts.ts | 2 +- .../scripts/alerts/generate-transactions.ts | 72 +++++++++---------- .../src/data-migration/scripts/migrate.ts | 1 + 3 files changed, 38 insertions(+), 37 deletions(-) diff --git a/services/workflows-service/scripts/alerts/generate-alerts.ts b/services/workflows-service/scripts/alerts/generate-alerts.ts index 0308dd4813..9895ebffd9 100644 --- a/services/workflows-service/scripts/alerts/generate-alerts.ts +++ b/services/workflows-service/scripts/alerts/generate-alerts.ts @@ -842,7 +842,7 @@ const generateFakeAlert = ( }; export const seedTransactionsAlerts = async ( - prisma: PrismaClient, + prisma: PrismaClient | PrismaTransaction, { project, businessIds, diff --git a/services/workflows-service/scripts/alerts/generate-transactions.ts b/services/workflows-service/scripts/alerts/generate-transactions.ts index f7a524396e..c6b6067ddc 100644 --- a/services/workflows-service/scripts/alerts/generate-transactions.ts +++ b/services/workflows-service/scripts/alerts/generate-transactions.ts @@ -14,6 +14,7 @@ import { } from '@prisma/client'; import { faker } from '@faker-js/faker'; import { generateBusiness, generateEndUser } from '../generate-end-user'; +import { PrismaTransaction } from '@/types'; const PaymentChannel = { online: 'online', @@ -24,7 +25,7 @@ const PaymentChannel = { }; export const generateTransactions = async ( - prismaClient: PrismaClient, + prismaClient: PrismaClient | PrismaTransaction, { projectId, }: { @@ -32,47 +33,46 @@ export const generateTransactions = async ( }, ) => { // Create counterparties and collect their IDs - const counterpartyIds = await prismaClient.$transaction(async prisma => { - const businessCounterparties: string[] = []; - const endUserCounterparties: string[] = []; - for (let i = 0; i < 100; i++) { - const correlationId = faker.datatype.uuid(); - const counterparty = await prisma.counterparty.create({ - data: { - correlationId: correlationId, - project: { connect: { id: projectId } }, - business: { - create: generateBusiness({ - correlationId, - projectId, - }), - }, + const businessCounterparties: string[] = []; + const endUserCounterparties: string[] = []; + + for (let i = 0; i < 100; i++) { + const correlationId = faker.datatype.uuid(); + const counterparty = await prismaClient.counterparty.create({ + data: { + correlationId: correlationId, + project: { connect: { id: projectId } }, + business: { + create: generateBusiness({ + correlationId, + projectId, + }), }, - }); + }, + }); - businessCounterparties.push(counterparty.id); - } - for (let i = 0; i < 100; i++) { - const correlationId = faker.datatype.uuid(); - const counterparty = await prisma.counterparty.create({ - data: { - correlationId: correlationId, - project: { connect: { id: projectId } }, - endUser: { - create: generateEndUser({ - correlationId, - projectId, - }), - }, + businessCounterparties.push(counterparty.id); + } + for (let i = 0; i < 100; i++) { + const correlationId = faker.datatype.uuid(); + const counterparty = await prismaClient.counterparty.create({ + data: { + correlationId: correlationId, + project: { connect: { id: projectId } }, + endUser: { + create: generateEndUser({ + correlationId, + projectId, + }), }, - }); + }, + }); - endUserCounterparties.push(counterparty.id); - } + endUserCounterparties.push(counterparty.id); + } - return { endUserCounterparties, businessCounterparties }; - }); + const counterpartyIds = { endUserCounterparties, businessCounterparties }; const ids: Array<{ counterpartyOriginatorId?: string; diff --git a/services/workflows-service/src/data-migration/scripts/migrate.ts b/services/workflows-service/src/data-migration/scripts/migrate.ts index c4c315dbe2..6d8573bc42 100644 --- a/services/workflows-service/src/data-migration/scripts/migrate.ts +++ b/services/workflows-service/src/data-migration/scripts/migrate.ts @@ -190,6 +190,7 @@ const main = async () => { }, 2000); } catch (error: unknown) { logger.error('Error during running migration', { error }); + console.error(error); if (error instanceof Error || typeof error === 'string') { sentryService.captureException(error);