From b167fe1b4ae826dc1182835d3863c61141dbe019 Mon Sep 17 00:00:00 2001 From: Adrian Pilarczyk Date: Fri, 28 Jul 2023 13:37:23 +0200 Subject: [PATCH] feat: :sparkles: add readExternalIdFromOrderMetadata --- .../graphql/queries/FetchOrderExternalId.graphql | 5 +++++ .../src/modules/app/order-metadata-manager.ts | 14 ++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 apps/taxes/graphql/queries/FetchOrderExternalId.graphql diff --git a/apps/taxes/graphql/queries/FetchOrderExternalId.graphql b/apps/taxes/graphql/queries/FetchOrderExternalId.graphql new file mode 100644 index 0000000..c0d7173 --- /dev/null +++ b/apps/taxes/graphql/queries/FetchOrderExternalId.graphql @@ -0,0 +1,5 @@ +query FetchOrderExternalId($orderId: ID!) { + order(id: $orderId) { + externalId: metafield(key: "externalId") + } +} diff --git a/apps/taxes/src/modules/app/order-metadata-manager.ts b/apps/taxes/src/modules/app/order-metadata-manager.ts index 7c579bc..0ae137e 100644 --- a/apps/taxes/src/modules/app/order-metadata-manager.ts +++ b/apps/taxes/src/modules/app/order-metadata-manager.ts @@ -1,4 +1,6 @@ import { + FetchOrderExternalIdDocument, + FetchOrderExternalIdQuery, UpdateMetadataDocument, UpdateMetadataMutation, UpdateMetadataMutationVariables, @@ -35,4 +37,16 @@ export class OrderMetadataManager { return { ok: true }; } + + async readExternalIdFromOrderMetadata(orderId: string) { + const { error, data } = await this.client + .query(FetchOrderExternalIdDocument, { id: orderId }) + .toPromise(); + + if (error) { + throw error; + } + + return data?.order?.externalId; + } }