From eb404cf8b3e0d106f18a12883a00bccb4e9dfc57 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Wed, 13 Jul 2022 14:30:46 +0200 Subject: [PATCH 01/36] add migrations to insert contributions to all transactions with type creation that do not have a contribution yet --- .../0043-insert_missing_contributions.ts | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 database/migrations/0043-insert_missing_contributions.ts diff --git a/database/migrations/0043-insert_missing_contributions.ts b/database/migrations/0043-insert_missing_contributions.ts new file mode 100644 index 000000000..a14141498 --- /dev/null +++ b/database/migrations/0043-insert_missing_contributions.ts @@ -0,0 +1,34 @@ +/* MIGRATION TO INSERT contributions for all transactions with type creation that do not have a contribution yet */ + +/* eslint-disable @typescript-eslint/explicit-module-boundary-types */ +/* eslint-disable @typescript-eslint/no-explicit-any */ + +export async function upgrade(queryFn: (query: string, values?: any[]) => Promise>) { + await queryFn( + `INSERT INTO gradido_community.contributions + (user_id, created_at, contribution_date, memo, amount, moderator_id, confirmed_by, confirmed_at, transaction_id) +SELECT + user_id, + balance_date, + creation_date AS contribution_date, + memo, + amount, + 20 AS moderator_id, + 502 AS confirmed_by, + balance_date AS confirmed_at, + id +FROM + gradido_community.transactions +WHERE + type_id = 1 + AND NOT EXISTS( + SELECT * FROM gradido_community.contributions + WHERE gradido_community.contributions.transaction_id = gradido_community.transactions.id);`, + ) +} + +export async function downgrade(queryFn: (query: string, values?: any[]) => Promise>) { + await queryFn( + 'DELETE FROM `contributions` WHERE `contributions`.`moderator_id` = 20 AND `contributions`.`confirmed_by` = 502 AND `contributions`.`created_at` = `contributions`.`confirmed_at`;', + ) +} From bdcbb196b77fc16cd165e898c7d54bf9b5aef6f1 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Wed, 13 Jul 2022 14:31:31 +0200 Subject: [PATCH 02/36] update database version --- 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 8b84c059d..208425792 100644 --- a/backend/src/config/index.ts +++ b/backend/src/config/index.ts @@ -10,7 +10,7 @@ Decimal.set({ }) const constants = { - DB_VERSION: '0042-update_transactions_for_blockchain', + DB_VERSION: '0043-insert_missing_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 af9d874fea27cdb1e69bf83a9b635686d6a7f53a Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Mon, 25 Jul 2022 13:29:45 +0200 Subject: [PATCH 03/36] fix: Update contribution_date when Moved by Seed --- backend/src/seeds/factory/creation.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/backend/src/seeds/factory/creation.ts b/backend/src/seeds/factory/creation.ts index 75a765fae..d3f0f78ca 100644 --- a/backend/src/seeds/factory/creation.ts +++ b/backend/src/seeds/factory/creation.ts @@ -35,12 +35,17 @@ export const creationFactory = async ( if (creation.confirmed) { await mutate({ mutation: confirmContribution, variables: { id: pendingCreation.id } }) + const confirmedCreation = await Contribution.findOneOrFail({ id: pendingCreation.id }) + if (creation.moveCreationDate) { const transaction = await Transaction.findOneOrFail({ where: { userId: user.id, creationDate: new Date(creation.creationDate) }, order: { balanceDate: 'DESC' }, }) if (transaction.decay.equals(0) && transaction.creationDate) { + confirmedCreation.contributionDate = new Date( + nMonthsBefore(transaction.creationDate, creation.moveCreationDate), + ) transaction.creationDate = new Date( nMonthsBefore(transaction.creationDate, creation.moveCreationDate), ) @@ -48,6 +53,7 @@ export const creationFactory = async ( nMonthsBefore(transaction.balanceDate, creation.moveCreationDate), ) await transaction.save() + await confirmedCreation.save() } } } else { From ae6fdd51e97c448f99efd7ee1d0a6f46c58aa1a1 Mon Sep 17 00:00:00 2001 From: Moriz Wahl Date: Mon, 25 Jul 2022 14:00:26 +0200 Subject: [PATCH 04/36] use camel case instead of snake case for edit creation field --- admin/src/components/Tables/OpenCreationsTable.spec.js | 2 +- admin/src/components/Tables/OpenCreationsTable.vue | 2 +- admin/src/pages/CreationConfirm.vue | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/admin/src/components/Tables/OpenCreationsTable.spec.js b/admin/src/components/Tables/OpenCreationsTable.spec.js index 2b41a9b96..05f4506d0 100644 --- a/admin/src/components/Tables/OpenCreationsTable.spec.js +++ b/admin/src/components/Tables/OpenCreationsTable.spec.js @@ -66,7 +66,7 @@ const propsData = { }, }, { key: 'moderator', label: 'moderator' }, - { key: 'edit_creation', label: 'edit' }, + { key: 'editCreation', label: 'edit' }, { key: 'confirm', label: 'save' }, ], toggleDetails: false, diff --git a/admin/src/components/Tables/OpenCreationsTable.vue b/admin/src/components/Tables/OpenCreationsTable.vue index 1e61f00b0..dd9ee5015 100644 --- a/admin/src/components/Tables/OpenCreationsTable.vue +++ b/admin/src/components/Tables/OpenCreationsTable.vue @@ -11,7 +11,7 @@ -