Corected return type for getPendingCreations and corected query.

This commit is contained in:
Hannes Heine 2021-11-26 12:36:01 +01:00 committed by ogerly
parent 99749eebb2
commit 602dfd64f1
3 changed files with 61 additions and 5 deletions

View File

@ -2,6 +2,14 @@ import gql from 'graphql-tag'
export const getPendingCreations = gql`
query {
getPendingCreations
getPendingCreations {
firstName
lastName
email
amount
note
date
moderator
}
}
`

View File

@ -0,0 +1,31 @@
import { ObjectType, Field, Int } from 'type-graphql'
@ObjectType()
export class PendingCreation {
@Field(() => String)
firstName: string
@Field(() => Int)
id?: number
@Field(() => String)
lastName: string
@Field(() => Number)
userId: number
@Field(() => String)
email: string
@Field(() => Date)
date: Date
@Field(() => String)
note: string
@Field(() => Number)
amount: BigInt
@Field(() => Number)
moderator: number
}

View File

@ -1,6 +1,7 @@
import { Resolver, Query, Arg, Args, Authorized } from 'type-graphql'
import { getCustomRepository, Raw, Any } from 'typeorm'
import { UserAdmin } from '../model/UserAdmin'
import { PendingCreation } from '../model/PendingCreation'
import { LoginUserRepository } from '../../typeorm/repository/LoginUser'
import { RIGHTS } from '../../auth/RIGHTS'
import { TransactionCreationRepository } from '../../typeorm/repository/TransactionCreation'
@ -54,12 +55,28 @@ export class AdminResolver {
return await getUserCreations(user.id)
}
@Query(() => String)
async getPendingCreations(): Promise<string> {
@Query(() => [PendingCreation])
async getPendingCreations(): Promise<PendingCreation[]> {
const pendingCreationRepository = getCustomRepository(PendingCreationRepository)
const pendingCreations = await pendingCreationRepository.find()
console.log('pendingCreations', pendingCreations)
return pendingCreations.toString()
const pendingCreationsPromise = await Promise.all(
pendingCreations.map(async (pendingCreation) => {
const userRepository = getCustomRepository(UserRepository)
const user = await userRepository.findOneOrFail({ id: pendingCreation.userId })
const newPendingCreation = {
...pendingCreation,
firstName: user.firstName,
lastName: user.lastName,
email: user.email,
}
return newPendingCreation
}),
)
console.log('pendingCreations', pendingCreationsPromise)
return pendingCreationsPromise
}
}