From 6f5d69c0303be5443ec07faad5b1e18fe4c3f4d8 Mon Sep 17 00:00:00 2001 From: einhorn_b Date: Fri, 5 Jan 2024 11:12:51 +0100 Subject: [PATCH 1/5] update also linked gradido id and linked name --- backend/src/config/index.ts | 2 +- .../graphql/resolver/ContributionResolver.ts | 4 +++- ..._linked_user_gradidoId_of_contributions.ts | 19 +++++++++++++++++++ dht-node/src/config/index.ts | 2 +- federation/src/config/index.ts | 2 +- 5 files changed, 25 insertions(+), 4 deletions(-) create mode 100644 database/migrations/0080-fill_linked_user_gradidoId_of_contributions.ts diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index ed415da08..8960b9e97 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -12,7 +12,7 @@ Decimal.set({ }) const constants = { - DB_VERSION: '0079-fill_linked_user_id_of_contributions', + DB_VERSION: '0080-0080-fill_linked_user_gradidoId_of_contributions', DECAY_START_TIME: new Date('2021-05-13 17:46:31-0000'), // GMT+0 LOG4JS_CONFIG: 'log4js-config.json', // default log level on production should be info diff --git a/backend/src/graphql/resolver/ContributionResolver.ts b/backend/src/graphql/resolver/ContributionResolver.ts index c07a691a3..850a715b7 100644 --- a/backend/src/graphql/resolver/ContributionResolver.ts +++ b/backend/src/graphql/resolver/ContributionResolver.ts @@ -451,7 +451,9 @@ export class ContributionResolver { transaction.userId = contribution.userId transaction.userGradidoID = user.gradidoID transaction.userName = fullName(user.firstName, user.lastName) - transaction.linkedUserId = contribution.moderatorId + transaction.linkedUserId = moderatorUser.id + transaction.linkedUserGradidoID = moderatorUser.gradidoID + transaction.linkedUserName = fullName(moderatorUser.firstName, moderatorUser.lastName) transaction.previous = lastTransaction ? lastTransaction.id : null transaction.amount = contribution.amount transaction.creationDate = contribution.contributionDate diff --git a/database/migrations/0080-fill_linked_user_gradidoId_of_contributions.ts b/database/migrations/0080-fill_linked_user_gradidoId_of_contributions.ts new file mode 100644 index 000000000..ab76a09d6 --- /dev/null +++ b/database/migrations/0080-fill_linked_user_gradidoId_of_contributions.ts @@ -0,0 +1,19 @@ +export async function upgrade(queryFn: (query: string, values?: any[]) => Promise>) { + await queryFn( + `UPDATE \`transactions\` AS t + JOIN \`contributions\` AS c ON t.id = c.transaction_id + JOIN \`users\` AS u ON u.id = c.confirmed_by + SET + t.linked_user_gradido_id = u.gradido_id, + t.linked_user_name = CONCAT(u.first_name, ' ', u.last_name) + WHERE t.type_id = ?`, + [1], + ) +} + +export async function downgrade(queryFn: (query: string, values?: any[]) => Promise>) { + await queryFn( + `UPDATE \`transactions\` SET \`linked_user_gradido_id\` = NULL, \`linked_user_name\` = NULL where \`type_id\` = ?;`, + [1], + ) +} diff --git a/dht-node/src/config/index.ts b/dht-node/src/config/index.ts index b0661126f..3459ec058 100644 --- a/dht-node/src/config/index.ts +++ b/dht-node/src/config/index.ts @@ -4,7 +4,7 @@ import dotenv from 'dotenv' dotenv.config() const constants = { - DB_VERSION: '0079-fill_linked_user_id_of_contributions', + DB_VERSION: '0080-fill_linked_user_gradidoId_of_contributions', LOG4JS_CONFIG: 'log4js-config.json', // default log level on production should be info LOG_LEVEL: process.env.LOG_LEVEL || 'info', diff --git a/federation/src/config/index.ts b/federation/src/config/index.ts index 9ce6f18e3..5f1b2e0c6 100644 --- a/federation/src/config/index.ts +++ b/federation/src/config/index.ts @@ -10,7 +10,7 @@ Decimal.set({ }) const constants = { - DB_VERSION: '0079-fill_linked_user_id_of_contributions', + DB_VERSION: '0080-fill_linked_user_gradidoId_of_contributions', DECAY_START_TIME: new Date('2021-05-13 17:46:31-0000'), // GMT+0 LOG4JS_CONFIG: 'log4js-config.json', // default log level on production should be info From d0d18518d361a93432ff979e31f919b883758612 Mon Sep 17 00:00:00 2001 From: einhorn_b Date: Fri, 5 Jan 2024 11:21:08 +0100 Subject: [PATCH 2/5] fix spelling --- backend/src/config/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/config/index.ts b/backend/src/config/index.ts index 8960b9e97..7fbc0aae0 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -12,7 +12,7 @@ Decimal.set({ }) const constants = { - DB_VERSION: '0080-0080-fill_linked_user_gradidoId_of_contributions', + DB_VERSION: '0080-fill_linked_user_gradidoId_of_contributions', DECAY_START_TIME: new Date('2021-05-13 17:46:31-0000'), // GMT+0 LOG4JS_CONFIG: 'log4js-config.json', // default log level on production should be info From 1300e9670d87b6190bd3cbaa1925a177429771de Mon Sep 17 00:00:00 2001 From: einhorn_b Date: Fri, 5 Jan 2024 11:52:11 +0100 Subject: [PATCH 3/5] add community uuid --- .../resolver/ContributionResolver.test.ts | 2 +- .../graphql/resolver/ContributionResolver.ts | 1 + .../src/graphql/resolver/TransactionResolver.ts | 4 ++++ ...ll_linked_user_gradidoId_of_contributions.ts | 17 ++++++++++++++++- 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/backend/src/graphql/resolver/ContributionResolver.test.ts b/backend/src/graphql/resolver/ContributionResolver.test.ts index 8b2bf141e..a188c5d2c 100644 --- a/backend/src/graphql/resolver/ContributionResolver.test.ts +++ b/backend/src/graphql/resolver/ContributionResolver.test.ts @@ -2609,7 +2609,7 @@ describe('ContributionResolver', () => { expect(transaction[0].linkedTransactionId).toEqual(null) expect(transaction[0].transactionLinkId).toEqual(null) expect(transaction[0].previous).toEqual(null) - expect(transaction[0].linkedUserId).toEqual(null) + expect(transaction[0].linkedUserId).toEqual(admin.id) expect(transaction[0].typeId).toEqual(1) }) diff --git a/backend/src/graphql/resolver/ContributionResolver.ts b/backend/src/graphql/resolver/ContributionResolver.ts index 850a715b7..d560d3ade 100644 --- a/backend/src/graphql/resolver/ContributionResolver.ts +++ b/backend/src/graphql/resolver/ContributionResolver.ts @@ -454,6 +454,7 @@ export class ContributionResolver { transaction.linkedUserId = moderatorUser.id transaction.linkedUserGradidoID = moderatorUser.gradidoID transaction.linkedUserName = fullName(moderatorUser.firstName, moderatorUser.lastName) + transaction.linkedUserCommunityUuid = moderatorUser.communityUuid transaction.previous = lastTransaction ? lastTransaction.id : null transaction.amount = contribution.amount transaction.creationDate = contribution.contributionDate diff --git a/backend/src/graphql/resolver/TransactionResolver.ts b/backend/src/graphql/resolver/TransactionResolver.ts index d379efef3..b4fd5c4e3 100644 --- a/backend/src/graphql/resolver/TransactionResolver.ts +++ b/backend/src/graphql/resolver/TransactionResolver.ts @@ -109,9 +109,11 @@ export const executeTransaction = async ( transactionSend.userId = sender.id transactionSend.userGradidoID = sender.gradidoID transactionSend.userName = fullName(sender.firstName, sender.lastName) + transactionSend.userCommunityUuid = sender.communityUuid transactionSend.linkedUserId = recipient.id transactionSend.linkedUserGradidoID = recipient.gradidoID transactionSend.linkedUserName = fullName(recipient.firstName, recipient.lastName) + transactionSend.linkedUserCommunityUuid = recipient.communityUuid transactionSend.amount = amount.mul(-1) transactionSend.balance = sendBalance.balance transactionSend.balanceDate = receivedCallDate @@ -129,9 +131,11 @@ export const executeTransaction = async ( transactionReceive.userId = recipient.id transactionReceive.userGradidoID = recipient.gradidoID transactionReceive.userName = fullName(recipient.firstName, recipient.lastName) + transactionReceive.userCommunityUuid = recipient.communityUuid transactionReceive.linkedUserId = sender.id transactionReceive.linkedUserGradidoID = sender.gradidoID transactionReceive.linkedUserName = fullName(sender.firstName, sender.lastName) + transactionReceive.linkedUserCommunityUuid = sender.communityUuid transactionReceive.amount = amount const receiveBalance = await calculateBalance(recipient.id, amount, receivedCallDate) transactionReceive.balance = receiveBalance ? receiveBalance.balance : amount diff --git a/database/migrations/0080-fill_linked_user_gradidoId_of_contributions.ts b/database/migrations/0080-fill_linked_user_gradidoId_of_contributions.ts index ab76a09d6..815d2e113 100644 --- a/database/migrations/0080-fill_linked_user_gradidoId_of_contributions.ts +++ b/database/migrations/0080-fill_linked_user_gradidoId_of_contributions.ts @@ -5,10 +5,21 @@ export async function upgrade(queryFn: (query: string, values?: any[]) => Promis JOIN \`users\` AS u ON u.id = c.confirmed_by SET t.linked_user_gradido_id = u.gradido_id, - t.linked_user_name = CONCAT(u.first_name, ' ', u.last_name) + t.linked_user_name = CONCAT(u.first_name, ' ', u.last_name), + t.linked_user_community_uuid = u.community_uuid WHERE t.type_id = ?`, [1], ) + + // fill user community uuid fields in transactions + await queryFn( + `UPDATE \`transactions\` AS t + JOIN \`users\` AS u ON u.id = t.user_id, + JOIN \`users\` AS lu ON lu.id = t.linked_user_id, + SET + t.user_community_uuid = u.community_uuid, + t.linked_user_community_uuid = lu.community_uuid`, + ) } export async function downgrade(queryFn: (query: string, values?: any[]) => Promise>) { @@ -16,4 +27,8 @@ export async function downgrade(queryFn: (query: string, values?: any[]) => Prom `UPDATE \`transactions\` SET \`linked_user_gradido_id\` = NULL, \`linked_user_name\` = NULL where \`type_id\` = ?;`, [1], ) + + await queryFn( + `UPDATE \`transactions\` SET \`user_community_uuid\` = NULL, \`linked_user_community_uuid\` = NULL;`, + ) } From 01bd9ac7ff0276b5779252f4783fdb8f16bb7076 Mon Sep 17 00:00:00 2001 From: einhorn_b Date: Fri, 5 Jan 2024 11:53:37 +0100 Subject: [PATCH 4/5] fill also user_community_id on contributions --- backend/src/graphql/resolver/ContributionResolver.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/graphql/resolver/ContributionResolver.ts b/backend/src/graphql/resolver/ContributionResolver.ts index d560d3ade..5684835e4 100644 --- a/backend/src/graphql/resolver/ContributionResolver.ts +++ b/backend/src/graphql/resolver/ContributionResolver.ts @@ -451,6 +451,7 @@ export class ContributionResolver { transaction.userId = contribution.userId transaction.userGradidoID = user.gradidoID transaction.userName = fullName(user.firstName, user.lastName) + transaction.userCommunityUuid = user.communityUuid transaction.linkedUserId = moderatorUser.id transaction.linkedUserGradidoID = moderatorUser.gradidoID transaction.linkedUserName = fullName(moderatorUser.firstName, moderatorUser.lastName) From de2384d8a7ea2338fcff2b48f2958b174d286676 Mon Sep 17 00:00:00 2001 From: einhorn_b Date: Fri, 5 Jan 2024 12:40:17 +0100 Subject: [PATCH 5/5] fix mysql syntax error --- .../0080-fill_linked_user_gradidoId_of_contributions.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/database/migrations/0080-fill_linked_user_gradidoId_of_contributions.ts b/database/migrations/0080-fill_linked_user_gradidoId_of_contributions.ts index 815d2e113..ae5ef6ccf 100644 --- a/database/migrations/0080-fill_linked_user_gradidoId_of_contributions.ts +++ b/database/migrations/0080-fill_linked_user_gradidoId_of_contributions.ts @@ -14,8 +14,8 @@ export async function upgrade(queryFn: (query: string, values?: any[]) => Promis // fill user community uuid fields in transactions await queryFn( `UPDATE \`transactions\` AS t - JOIN \`users\` AS u ON u.id = t.user_id, - JOIN \`users\` AS lu ON lu.id = t.linked_user_id, + JOIN \`users\` AS u ON u.id = t.user_id + JOIN \`users\` AS lu ON lu.id = t.linked_user_id SET t.user_community_uuid = u.community_uuid, t.linked_user_community_uuid = lu.community_uuid`,