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; + } }