diff --git a/backend/src/federation/client/1_0/SendCoinsClient.ts b/backend/src/federation/client/1_0/SendCoinsClient.ts index f9c318e81..c03755c16 100644 --- a/backend/src/federation/client/1_0/SendCoinsClient.ts +++ b/backend/src/federation/client/1_0/SendCoinsClient.ts @@ -34,18 +34,21 @@ export class SendCoinsClient { voteForSendCoins = async (args: SendCoinsArgs): Promise => { logger.debug('X-Com: voteForSendCoins against endpoint=', this.endpoint) try { + logger.debug(`SendCoinsClient: voteForSendCoins with args=`, args) // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment const { data } = await this.client.rawRequest(voteForSendCoins, { args }) + logger.debug(`SendCoinsClient: after rawRequest...`, data) + const sendCoinsResult = data as SendCoinsResult // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - if (!data?.voteForSendCoins?.vote) { + if (!sendCoinsResult.vote) { logger.warn( 'X-Com: voteForSendCoins failed with: ', // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - data.voteForSendCoins.recipGradidoID, + sendCoinsResult.recipGradidoID, // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access - data.voteForSendCoins.recipName, + sendCoinsResult.recipName, ) - return new SendCoinsResult() + return sendCoinsResult } const result = new SendCoinsResult() result.vote = true diff --git a/backend/src/graphql/resolver/util/processXComSendCoins.ts b/backend/src/graphql/resolver/util/processXComSendCoins.ts index 8b94e03c5..5f1349b70 100644 --- a/backend/src/graphql/resolver/util/processXComSendCoins.ts +++ b/backend/src/graphql/resolver/util/processXComSendCoins.ts @@ -121,7 +121,7 @@ export async function processXComPendingSendCoins( } } } catch (err) { - logger.error(`Error:`, err) + throw new LogError(`Error:`, err) } return sendCoinsResult } diff --git a/federation/src/graphql/api/1_0/model/SendCoinsResult.ts b/federation/src/graphql/api/1_0/model/SendCoinsResult.ts index 3eb1419b5..749ca87cb 100644 --- a/federation/src/graphql/api/1_0/model/SendCoinsResult.ts +++ b/federation/src/graphql/api/1_0/model/SendCoinsResult.ts @@ -1,6 +1,6 @@ -import { ArgsType, Field } from 'type-graphql' +import { Field, ObjectType } from 'type-graphql' -@ArgsType() +@ObjectType() export class SendCoinsResult { constructor() { this.vote = false @@ -9,9 +9,9 @@ export class SendCoinsResult { @Field(() => Boolean) vote: boolean - @Field(() => String, { nullable: true }) + @Field(() => String) recipGradidoID: string | null - @Field(() => String, { nullable: true }) + @Field(() => String) recipName: string | null } diff --git a/federation/src/graphql/api/1_0/resolver/SendCoinsResolver.test.ts b/federation/src/graphql/api/1_0/resolver/SendCoinsResolver.test.ts index 5120391d6..c84965ce2 100644 --- a/federation/src/graphql/api/1_0/resolver/SendCoinsResolver.test.ts +++ b/federation/src/graphql/api/1_0/resolver/SendCoinsResolver.test.ts @@ -68,8 +68,13 @@ describe('SendCoinsResolver', () => { senderCommunityUuid: $senderCommunityUuid senderUserUuid: $senderUserUuid senderUserName: $senderUserName - ) - }` + ) { + vote + recipGradidoID + recipName + } + } +` const settleSendCoinsMutation = ` mutation ( @@ -220,7 +225,11 @@ describe('SendCoinsResolver', () => { ).toEqual( expect.objectContaining({ data: { - voteForSendCoins: 'recipUser-FirstName recipUser-LastName', + voteForSendCoins: { + recipGradidoID: '56a55482-909e-46a4-bfa2-cd025e894ebd', + recipName: 'recipUser-FirstName recipUser-LastName', + vote: true, + }, }, }), ) diff --git a/federation/src/graphql/api/1_0/resolver/SendCoinsResolver.ts b/federation/src/graphql/api/1_0/resolver/SendCoinsResolver.ts index 0f6f38633..ccae52edc 100644 --- a/federation/src/graphql/api/1_0/resolver/SendCoinsResolver.ts +++ b/federation/src/graphql/api/1_0/resolver/SendCoinsResolver.ts @@ -19,7 +19,7 @@ import { SendCoinsResult } from '../model/SendCoinsResult' @Resolver() // eslint-disable-next-line @typescript-eslint/no-unused-vars export class SendCoinsResolver { - @Mutation(() => String) + @Mutation(() => SendCoinsResult) async voteForSendCoins( @Args() {