diff --git a/admin/src/components/UserTable.vue b/admin/src/components/UserTable.vue
index e518ac6d1..fb24cf0f1 100644
--- a/admin/src/components/UserTable.vue
+++ b/admin/src/components/UserTable.vue
@@ -64,6 +64,13 @@
+
+
+
+
diff --git a/admin/src/graphql/searchUsers.js b/admin/src/graphql/searchUsers.js
index 2bd6d2004..68b6efc82 100644
--- a/admin/src/graphql/searchUsers.js
+++ b/admin/src/graphql/searchUsers.js
@@ -16,6 +16,7 @@ export const searchUsers = gql`
email
creation
emailChecked
+ hasElopage
}
}
}
diff --git a/admin/src/pages/UserSearch.vue b/admin/src/pages/UserSearch.vue
index 28e1a7774..2efe9f8e8 100644
--- a/admin/src/pages/UserSearch.vue
+++ b/admin/src/pages/UserSearch.vue
@@ -106,6 +106,7 @@ export default {
},
{ key: 'show_details', label: this.$t('details') },
{ key: 'confirm_mail', label: this.$t('confirmed') },
+ { key: 'has_elopage', label: 'elopage' },
{ key: 'transactions_list', label: this.$t('transaction') },
]
},
diff --git a/backend/src/graphql/model/UserAdmin.ts b/backend/src/graphql/model/UserAdmin.ts
index 9e28a33d6..27dfe96f1 100644
--- a/backend/src/graphql/model/UserAdmin.ts
+++ b/backend/src/graphql/model/UserAdmin.ts
@@ -19,6 +19,9 @@ export class UserAdmin {
@Field(() => Boolean)
emailChecked: boolean
+
+ @Field(() => Boolean)
+ hasElopage: boolean
}
@ObjectType()
diff --git a/backend/src/graphql/resolver/AdminResolver.ts b/backend/src/graphql/resolver/AdminResolver.ts
index bc07c79ec..54fe9335e 100644
--- a/backend/src/graphql/resolver/AdminResolver.ts
+++ b/backend/src/graphql/resolver/AdminResolver.ts
@@ -21,6 +21,7 @@ import { UserTransactionRepository } from '../../typeorm/repository/UserTransact
import { BalanceRepository } from '../../typeorm/repository/Balance'
import { calculateDecay } from '../../util/decay'
import { AdminPendingCreation } from '@entity/AdminPendingCreation'
+import { hasElopageBuys } from '../../util/hasElopageBuys'
import { User as dbUser } from '@entity/User'
@Resolver()
@@ -41,6 +42,7 @@ export class AdminResolver {
adminUser.email = user.email
adminUser.creation = await getUserCreations(user.id)
adminUser.emailChecked = await hasActivatedEmail(user.email)
+ adminUser.hasElopage = await hasElopageBuys(user.email)
return adminUser
}),
)
diff --git a/backend/src/graphql/resolver/UserResolver.ts b/backend/src/graphql/resolver/UserResolver.ts
index 5c9230b22..5bc30f6b4 100644
--- a/backend/src/graphql/resolver/UserResolver.ts
+++ b/backend/src/graphql/resolver/UserResolver.ts
@@ -21,7 +21,7 @@ import { sendAccountActivationEmail } from '../../mailer/sendAccountActivationEm
import { klicktippSignIn } from '../../apis/KlicktippController'
import { RIGHTS } from '../../auth/RIGHTS'
import { ROLE_ADMIN } from '../../auth/ROLES'
-import { LoginElopageBuys } from '@entity/LoginElopageBuys'
+import { hasElopageBuys } from '../../util/hasElopageBuys'
import { ServerUser } from '@entity/ServerUser'
const EMAIL_OPT_IN_RESET_PASSWORD = 2
@@ -661,7 +661,6 @@ export class UserResolver {
return false
}
- const elopageBuyCount = await LoginElopageBuys.count({ payerEmail: userEntity.email })
- return elopageBuyCount > 0
+ return hasElopageBuys(userEntity.email)
}
}
diff --git a/backend/src/util/hasElopageBuys.ts b/backend/src/util/hasElopageBuys.ts
new file mode 100644
index 000000000..4e23e717c
--- /dev/null
+++ b/backend/src/util/hasElopageBuys.ts
@@ -0,0 +1,6 @@
+import { LoginElopageBuys } from '@entity/LoginElopageBuys'
+
+export async function hasElopageBuys(email: string): Promise {
+ const elopageBuyCount = await LoginElopageBuys.count({ payerEmail: email })
+ return elopageBuyCount > 0
+}