diff --git a/admin/src/graphql/getPendingCreations.js b/admin/src/graphql/getPendingCreations.js index 322d46269..c387c368e 100644 --- a/admin/src/graphql/getPendingCreations.js +++ b/admin/src/graphql/getPendingCreations.js @@ -2,6 +2,14 @@ import gql from 'graphql-tag' export const getPendingCreations = gql` query { - getPendingCreations + getPendingCreations { + firstName + lastName + email + amount + note + date + moderator + } } ` diff --git a/backend/src/graphql/model/PendingCreation.ts b/backend/src/graphql/model/PendingCreation.ts new file mode 100644 index 000000000..56bbe6d27 --- /dev/null +++ b/backend/src/graphql/model/PendingCreation.ts @@ -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 +} diff --git a/backend/src/graphql/resolver/AdminResolver.ts b/backend/src/graphql/resolver/AdminResolver.ts index 6b81ce220..8dd0293ce 100644 --- a/backend/src/graphql/resolver/AdminResolver.ts +++ b/backend/src/graphql/resolver/AdminResolver.ts @@ -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 { + @Query(() => [PendingCreation]) + async getPendingCreations(): Promise { 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 } }