From 5ab02950516fbe52b55703080b96d99dd94ace09 Mon Sep 17 00:00:00 2001 From: ogerly Date: Tue, 22 Mar 2022 09:31:23 +0100 Subject: [PATCH 01/36] add graphql query listTransactionLinks --- admin/src/graphql/getListTransactionLinks.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 admin/src/graphql/getListTransactionLinks.js diff --git a/admin/src/graphql/getListTransactionLinks.js b/admin/src/graphql/getListTransactionLinks.js new file mode 100644 index 000000000..6268615fe --- /dev/null +++ b/admin/src/graphql/getListTransactionLinks.js @@ -0,0 +1,16 @@ +import gql from 'graphql-tag' + +export const listTransactionLinks = gql` +query($currentPage: Int = 1, $pageSize: Int = 25) { + listTransactionLinks(currentPage: $currentPage, pageSize: $pageSize) { + id + amount + holdAvailableAmount + memo + code + createdAt + validUntil + redeemedAt + } +} +` From b5a5c2174405a52216d0d9b36027cee328a878c4 Mon Sep 17 00:00:00 2001 From: ogerly Date: Tue, 22 Mar 2022 09:32:15 +0100 Subject: [PATCH 02/36] add component LinksTransactionListFormular --- .../LinksTransactionListFormular.vue | 75 +++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 admin/src/components/LinksTransactionListFormular.vue diff --git a/admin/src/components/LinksTransactionListFormular.vue b/admin/src/components/LinksTransactionListFormular.vue new file mode 100644 index 000000000..390f576da --- /dev/null +++ b/admin/src/components/LinksTransactionListFormular.vue @@ -0,0 +1,75 @@ + + From 942d4d2d3a5c703f82a4d3327cd86516a484e01f Mon Sep 17 00:00:00 2001 From: ogerly Date: Tue, 22 Mar 2022 11:10:04 +0100 Subject: [PATCH 03/36] rename from getListTransactionLinks to listTransactionLinks --- admin/src/components/Tables/SearchUserTable.vue | 4 ++++ admin/src/graphql/listTransactionLinks.js | 16 ++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 admin/src/graphql/listTransactionLinks.js diff --git a/admin/src/components/Tables/SearchUserTable.vue b/admin/src/components/Tables/SearchUserTable.vue index c71f79aa3..445db6211 100644 --- a/admin/src/components/Tables/SearchUserTable.vue +++ b/admin/src/components/Tables/SearchUserTable.vue @@ -73,6 +73,8 @@ v-if="!row.item.deletedAt" :userId="row.item.userId" /> + + @@ -83,6 +85,7 @@ import CreationFormular from '../CreationFormular.vue' import ConfirmRegisterMailFormular from '../ConfirmRegisterMailFormular.vue' import CreationTransactionListFormular from '../CreationTransactionListFormular.vue' +import LinksTransactionListFormular from '../LinksTransactionListFormular.vue' import DeletedUserFormular from '../DeletedUserFormular.vue' export default { @@ -91,6 +94,7 @@ export default { CreationFormular, ConfirmRegisterMailFormular, CreationTransactionListFormular, + LinksTransactionListFormular, DeletedUserFormular, }, props: { diff --git a/admin/src/graphql/listTransactionLinks.js b/admin/src/graphql/listTransactionLinks.js new file mode 100644 index 000000000..b1017a711 --- /dev/null +++ b/admin/src/graphql/listTransactionLinks.js @@ -0,0 +1,16 @@ +import gql from 'graphql-tag' + +export const listTransactionLinks = gql` +query($currentPage: Int = 1, $pageSize: Int = 5) { + listTransactionLinks(currentPage: $currentPage, pageSize: $pageSize) { + id + amount + holdAvailableAmount + memo + code + createdAt + validUntil + redeemedAt + } +} +` From af7105191e127906480981780cb284e096535c3d Mon Sep 17 00:00:00 2001 From: ogerly Date: Tue, 22 Mar 2022 11:10:44 +0100 Subject: [PATCH 04/36] show table with transaction links from user --- .../LinksTransactionListFormular.vue | 29 +++++++------------ .../src/components/Tables/SearchUserTable.vue | 2 +- admin/src/graphql/getListTransactionLinks.js | 16 ---------- admin/src/locales/de.json | 5 ++++ admin/src/locales/en.json | 5 ++++ 5 files changed, 22 insertions(+), 35 deletions(-) delete mode 100644 admin/src/graphql/getListTransactionLinks.js diff --git a/admin/src/components/LinksTransactionListFormular.vue b/admin/src/components/LinksTransactionListFormular.vue index 390f576da..8512a41a1 100644 --- a/admin/src/components/LinksTransactionListFormular.vue +++ b/admin/src/components/LinksTransactionListFormular.vue @@ -1,12 +1,11 @@ From 76d6b308cf53da269e708ff01d3c3d97e7f6dd11 Mon Sep 17 00:00:00 2001 From: ogerly Date: Fri, 25 Mar 2022 08:27:36 +0100 Subject: [PATCH 16/36] add deletedAt in query, change locales expired to valid_until --- admin/src/components/TransactionLinkList.vue | 2 +- admin/src/graphql/listTransactionLinksAdmin.js | 1 + frontend/src/components/TransactionRows/DateRow.vue | 4 +++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/admin/src/components/TransactionLinkList.vue b/admin/src/components/TransactionLinkList.vue index 2b73b4e35..bd7f8e1de 100644 --- a/admin/src/components/TransactionLinkList.vue +++ b/admin/src/components/TransactionLinkList.vue @@ -41,7 +41,7 @@ export default { { key: 'memo', label: this.$t('transactionlist.memo') }, { key: 'validUntil', - label: this.$t('transactionlink.expired'), + label: this.$t('transactionlink.valid_until'), formatter: (value, key, item) => { return this.$d(new Date(value)) }, diff --git a/admin/src/graphql/listTransactionLinksAdmin.js b/admin/src/graphql/listTransactionLinksAdmin.js index 0e83018db..bfb4bf47f 100644 --- a/admin/src/graphql/listTransactionLinksAdmin.js +++ b/admin/src/graphql/listTransactionLinksAdmin.js @@ -11,6 +11,7 @@ export const listTransactionLinksAdmin = gql` createdAt validUntil redeemedAt + deletedAt } } ` diff --git a/frontend/src/components/TransactionRows/DateRow.vue b/frontend/src/components/TransactionRows/DateRow.vue index 0c72907fe..7f93656f7 100644 --- a/frontend/src/components/TransactionRows/DateRow.vue +++ b/frontend/src/components/TransactionRows/DateRow.vue @@ -2,7 +2,9 @@
-
{{ diffNow ? $t('gdd_per_link.expired') : $t('form.date') }}
+
+ {{ diffNow ? $t('gdd_per_link.valid_until') : $t('form.date') }} +
From 56cfd93985cd6ce8a07c0babd90db7ece24640aa Mon Sep 17 00:00:00 2001 From: ogerly Date: Fri, 25 Mar 2022 08:41:35 +0100 Subject: [PATCH 17/36] change locales vrom expired to valid_until --- admin/src/locales/de.json | 2 +- admin/src/locales/en.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/admin/src/locales/de.json b/admin/src/locales/de.json index 9e5bfb54f..fb3c70e20 100644 --- a/admin/src/locales/de.json +++ b/admin/src/locales/de.json @@ -75,7 +75,7 @@ "text": "Text", "transactionlink": { "created": "Erstellt", - "expired": "Gültig bis", + "valid_until": "Gültig bis", "form_header": "Transaktion-Links" }, "transactionlist": { diff --git a/admin/src/locales/en.json b/admin/src/locales/en.json index 09e77ec91..b9a348e10 100644 --- a/admin/src/locales/en.json +++ b/admin/src/locales/en.json @@ -75,7 +75,7 @@ "text": "Text", "transactionlink": { "created": "Created", - "expired": "Valid until", + "valid_until": "Valid until", "form_header": "Transaction links" }, "transactionlist": { From 9332f8118791723c43ac074c4fa1aa44074e978a Mon Sep 17 00:00:00 2001 From: ogerly Date: Fri, 25 Mar 2022 08:42:52 +0100 Subject: [PATCH 18/36] yarn lint && yarn locales --fix --- admin/src/locales/de.json | 4 ++-- admin/src/locales/en.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/admin/src/locales/de.json b/admin/src/locales/de.json index fb3c70e20..3148d828c 100644 --- a/admin/src/locales/de.json +++ b/admin/src/locales/de.json @@ -75,8 +75,8 @@ "text": "Text", "transactionlink": { "created": "Erstellt", - "valid_until": "Gültig bis", - "form_header": "Transaktion-Links" + "form_header": "Transaktion-Links", + "valid_until": "Gültig bis" }, "transactionlist": { "amount": "Betrag", diff --git a/admin/src/locales/en.json b/admin/src/locales/en.json index b9a348e10..8386bcfd3 100644 --- a/admin/src/locales/en.json +++ b/admin/src/locales/en.json @@ -75,8 +75,8 @@ "text": "Text", "transactionlink": { "created": "Created", - "valid_until": "Valid until", - "form_header": "Transaction links" + "form_header": "Transaction links", + "valid_until": "Valid until" }, "transactionlist": { "amount": "Amount", From 549a36cb56f692c0a2e1fc92661e223340c36a58 Mon Sep 17 00:00:00 2001 From: ogerly Date: Fri, 25 Mar 2022 20:17:33 +0100 Subject: [PATCH 19/36] add linkCount and linkList in query --- backend/src/graphql/model/TransactionLink.ts | 11 ++++++++++- backend/src/graphql/resolver/AdminResolver.ts | 14 +++++++++----- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/backend/src/graphql/model/TransactionLink.ts b/backend/src/graphql/model/TransactionLink.ts index 414bba73f..5081ffd7d 100644 --- a/backend/src/graphql/model/TransactionLink.ts +++ b/backend/src/graphql/model/TransactionLink.ts @@ -1,4 +1,4 @@ -import { ObjectType, Field } from 'type-graphql' +import { ObjectType, Field, Int } from 'type-graphql' import Decimal from 'decimal.js-light' import { TransactionLink as dbTransactionLink } from '@entity/TransactionLink' import { User } from './User' @@ -52,3 +52,12 @@ export class TransactionLink { @Field(() => User, { nullable: true }) redeemedBy: User | null } + +@ObjectType() +export class TransactionLinkResult { + @Field(() => Int) + linkCount: number + + @Field(() => [TransactionLink]) + linkList: TransactionLink[] +} diff --git a/backend/src/graphql/resolver/AdminResolver.ts b/backend/src/graphql/resolver/AdminResolver.ts index 6760338bf..283a4ed5a 100644 --- a/backend/src/graphql/resolver/AdminResolver.ts +++ b/backend/src/graphql/resolver/AdminResolver.ts @@ -23,7 +23,7 @@ import UpdatePendingCreationArgs from '@arg/UpdatePendingCreationArgs' import SearchUsersArgs from '@arg/SearchUsersArgs' import { Transaction as DbTransaction } from '@entity/Transaction' import { Transaction } from '@model/Transaction' -import { TransactionLink } from '@model/TransactionLink' +import { TransactionLink, TransactionLinkResult } from '@model/TransactionLink' import { TransactionLink as dbTransactionLink } from '@entity/TransactionLink' import { TransactionRepository } from '@repository/Transaction' import { calculateDecay } from '@/util/decay' @@ -376,14 +376,14 @@ export class AdminResolver { } @Authorized([RIGHTS.LIST_TRANSACTION_LINKS_ADMIN]) - @Query(() => [TransactionLink]) + @Query(() => TransactionLinkResult) async listTransactionLinksAdmin( @Args() { currentPage = 1, pageSize = 5, order = Order.DESC }: Paginated, @Args() filters: TransactionLinkFilters, @Arg('userId', () => Int) userId: number, - ): Promise { + ): Promise { const user = await dbUser.findOneOrFail({ id: userId }) const where: { userId: number @@ -394,7 +394,7 @@ export class AdminResolver { } if (!filters.withRedeemed) where.redeemedBy = null if (!filters.withExpired) where.validUntil = MoreThan(new Date()) - const transactionLinks = await dbTransactionLink.find({ + const [transactionLinks, count] = await dbTransactionLink.findAndCount({ where, withDeleted: filters.withDeleted, order: { @@ -403,7 +403,11 @@ export class AdminResolver { skip: (currentPage - 1) * pageSize, take: pageSize, }) - return transactionLinks.map((tl) => new TransactionLink(tl, new User(user))) + + return { + linkCount: count, + linkList: transactionLinks.map((tl) => new TransactionLink(tl, new User(user))), + } } } From 95e7aeacdc14757c742ff7597924b9bbb8fe2590 Mon Sep 17 00:00:00 2001 From: ogerly Date: Fri, 25 Mar 2022 20:18:04 +0100 Subject: [PATCH 20/36] add locales for transactionlist status --- admin/src/locales/de.json | 2 ++ admin/src/locales/en.json | 2 ++ 2 files changed, 4 insertions(+) diff --git a/admin/src/locales/de.json b/admin/src/locales/de.json index 3148d828c..6e3cc7fc0 100644 --- a/admin/src/locales/de.json +++ b/admin/src/locales/de.json @@ -47,6 +47,7 @@ "moderator": "Moderator", "multiple_creation_text": "Bitte wähle ein oder mehrere Mitglieder aus für die du Schöpfen möchtest.", "name": "Name", + "open":"offen", "navbar": { "logout": "Abmelden", "multi_creation": "Mehrfachschöpfung", @@ -66,6 +67,7 @@ "yes": "Ja, Schöpfung bestätigen und speichern!" } }, + "redeemed":"eingelöst", "remove": "Entfernen", "removeNotSelf": "Als Admin / Moderator kannst du dich nicht selber löschen.", "remove_all": "alle Nutzer entfernen", diff --git a/admin/src/locales/en.json b/admin/src/locales/en.json index 8386bcfd3..9d46f11c2 100644 --- a/admin/src/locales/en.json +++ b/admin/src/locales/en.json @@ -47,6 +47,7 @@ "moderator": "Moderator", "multiple_creation_text": "Please select one or more members for which you would like to perform creations.", "name": "Name", + "open":"open", "navbar": { "logout": "Logout", "multi_creation": "Multiple creation", @@ -66,6 +67,7 @@ "yes": "Yes, confirm and save creation!" } }, + "redeemed":"redeemed", "remove": "Remove", "removeNotSelf": "As admin / moderator you cannot delete yourself.", "remove_all": "Remove all users", From db8e11264869f0919bb9c3cea97f657ff5e5158b Mon Sep 17 00:00:00 2001 From: ogerly Date: Fri, 25 Mar 2022 20:19:01 +0100 Subject: [PATCH 21/36] add count in graphql query --- .../src/graphql/listTransactionLinksAdmin.js | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/admin/src/graphql/listTransactionLinksAdmin.js b/admin/src/graphql/listTransactionLinksAdmin.js index bfb4bf47f..3c9eae100 100644 --- a/admin/src/graphql/listTransactionLinksAdmin.js +++ b/admin/src/graphql/listTransactionLinksAdmin.js @@ -3,15 +3,18 @@ import gql from 'graphql-tag' export const listTransactionLinksAdmin = gql` query ($currentPage: Int = 1, $pageSize: Int = 5, $userId: Int!) { listTransactionLinksAdmin(currentPage: $currentPage, pageSize: $pageSize, userId: $userId) { - id - amount - holdAvailableAmount - memo - code - createdAt - validUntil - redeemedAt - deletedAt + linkCount + linkList { + id + amount + holdAvailableAmount + memo + code + createdAt + validUntil + redeemedAt + deletedAt + } } } ` From 3f19a3c871439c83ce299bcbd36338621342c36d Mon Sep 17 00:00:00 2001 From: ogerly Date: Fri, 25 Mar 2022 20:24:38 +0100 Subject: [PATCH 22/36] add table field status of link, deletedAt or redeemedAt or open --- admin/src/components/TransactionLinkList.vue | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/admin/src/components/TransactionLinkList.vue b/admin/src/components/TransactionLinkList.vue index bd7f8e1de..4d5051c92 100644 --- a/admin/src/components/TransactionLinkList.vue +++ b/admin/src/components/TransactionLinkList.vue @@ -1,14 +1,14 @@