Method to retrieve not registered emails.

This commit is contained in:
elweyn 2022-08-15 11:02:05 +02:00
parent eed27a82d5
commit 3f950a9bb8
2 changed files with 20 additions and 0 deletions

View File

@ -48,4 +48,5 @@ export enum RIGHTS {
LIST_CONTRIBUTION_LINKS = 'LIST_CONTRIBUTION_LINKS', LIST_CONTRIBUTION_LINKS = 'LIST_CONTRIBUTION_LINKS',
DELETE_CONTRIBUTION_LINK = 'DELETE_CONTRIBUTION_LINK', DELETE_CONTRIBUTION_LINK = 'DELETE_CONTRIBUTION_LINK',
UPDATE_CONTRIBUTION_LINK = 'UPDATE_CONTRIBUTION_LINK', UPDATE_CONTRIBUTION_LINK = 'UPDATE_CONTRIBUTION_LINK',
ADMIN_RETRIEVE_NOT_REGISTERED_EMAILS = 'ADMIN_RETRIEVE_NOT_REGISTERED_EMAILS',
} }

View File

@ -7,6 +7,8 @@ import {
} from '@/apis/KlicktippController' } from '@/apis/KlicktippController'
import { RIGHTS } from '@/auth/RIGHTS' import { RIGHTS } from '@/auth/RIGHTS'
import SubscribeNewsletterArgs from '@arg/SubscribeNewsletterArgs' import SubscribeNewsletterArgs from '@arg/SubscribeNewsletterArgs'
import { User } from '@entity/User'
import { backendLogger } from '@/server/logger'
@Resolver() @Resolver()
export class KlicktippResolver { export class KlicktippResolver {
@ -35,4 +37,21 @@ export class KlicktippResolver {
): Promise<boolean> { ): Promise<boolean> {
return await klicktippSignIn(email, language) return await klicktippSignIn(email, language)
} }
@Authorized([RIGHTS.ADMIN_RETRIEVE_NOT_REGISTERED_EMAILS])
@Query(() => [String])
async retrieveNotRegisteredEmails(): Promise<string[]> {
const users = await User.find()
const notRegisteredUser = []
for (let i = 0; i < users.length; i++) {
const user = users[i]
try {
await getKlickTippUser(user.email)
} catch (err) {
notRegisteredUser.push(user.email)
backendLogger.error(`Error with email: ${user.email}; ${err}`)
}
}
return notRegisteredUser
}
} }