@shopify/koa-shopify-webhooks
Advanced tools
Comparing version 1.0.1 to 1.1.0
@@ -8,2 +8,6 @@ # Changelog | ||
## [1.1.0] | ||
- Updates webhook registration to use GraphQL | ||
## [1.0.1] | ||
@@ -10,0 +14,0 @@ |
@@ -12,14 +12,8 @@ "use strict"; | ||
switch (_c.label) { | ||
case 0: return [4 /*yield*/, fetch("https://" + shop + "/admin/webhooks.json", { | ||
case 0: return [4 /*yield*/, fetch("https://" + shop + "/admin/api/graphql.json", { | ||
method: network_1.Method.Post, | ||
body: JSON.stringify({ | ||
webhook: { | ||
topic: topic, | ||
address: address, | ||
format: 'json', | ||
}, | ||
}), | ||
body: buildQuery(topic, address), | ||
headers: (_b = {}, | ||
_b[types_1.WebhookHeader.AccessToken] = accessToken, | ||
_b[network_1.Header.ContentType] = 'application/json', | ||
_b[network_1.Header.ContentType] = 'application/graphql', | ||
_b), | ||
@@ -32,3 +26,4 @@ })]; | ||
data = _c.sent(); | ||
if (response.status === network_1.StatusCode.Created) { | ||
if (response.status === network_1.StatusCode.Created || | ||
response.status === network_1.StatusCode.Ok) { | ||
return [2 /*return*/, { success: true, data: data }]; | ||
@@ -45,1 +40,4 @@ } | ||
exports.registerWebhook = registerWebhook; | ||
function buildQuery(topic, callbackUrl) { | ||
return "\n mutation webhookSubscriptionCreate {\n webhookSubscriptionCreate(topic: " + topic + ", webhookSubscription: {callbackUrl: \"" + callbackUrl + "\"}) {\n userErrors {\n field\n message\n }\n webhookSubscription {\n id\n }\n }\n }\n "; | ||
} |
@@ -7,2 +7,2 @@ export declare enum WebhookHeader { | ||
} | ||
export declare type Topic = 'app/uninstalled' | 'carts/create' | 'carts/update' | 'checkouts/create' | 'checkouts/delete' | 'checkouts/update' | 'collection_listings/add' | 'collection_listings/remove' | 'collection_listings/update' | 'collections/create' | 'collections/delete' | 'collections/update' | 'customer_groups/create' | 'customer_groups/delete' | 'customer_groups/update' | 'customers/create' | 'customers/delete' | 'customers/disable' | 'customers/enable' | 'customers/update' | 'draft_orders/create' | 'draft_orders/delete' | 'draft_orders/update' | 'fulfillment_events/create' | 'fulfillment_events/delete' | 'fulfillments/create' | 'fulfillments/update' | 'order_transactions/create' | 'orders/cancelled' | 'orders/create' | 'orders/delete' | 'orders/fulfilled' | 'orders/paid' | 'orders/partially_fulfilled' | 'orders/updated' | 'product_listings/add' | 'product_listings/remove' | 'product_listings/update' | 'products/create' | 'products/delete' | 'products/update' | 'refunds/create' | 'shop/update' | 'themes/create' | 'themes/delete' | 'themes/publish' | 'themes/update' | 'inventory_levels/connect' | 'inventory_levels/update' | 'inventory_levels/disconnect' | 'inventory_items/create' | 'inventory_items/update' | 'inventory_items/delete' | 'locations/create' | 'locations/update' | 'locations/delete'; | ||
export declare type Topic = 'APP_UNINSTALLED' | 'CARTS_CREATE' | 'CARTS_UPDATE' | 'CHECKOUTS_CREATE' | 'CHECKOUTS_DELETE' | 'CHECKOUTS_UPDATE' | 'COLLECTION_LISTINGS_ADD' | 'COLLECTION_LISTINGS_REMOVE' | 'COLLECTION_LISTINGS_UPDATE' | 'COLLECTIONS_CREATE' | 'COLLECTIONS_DELETE' | 'COLLECTIONS_UPDATE' | 'CUSTOMER_GROUPS_CREATE' | 'CUSTOMER_GROUPS_DELETE' | 'CUSTOMER_GROUPS_UPDATE' | 'CUSTOMERS_CREATE' | 'CUSTOMERS_DELETE' | 'CUSTOMERS_DISABLE' | 'CUSTOMERS_ENABLE' | 'CUSTOMERS_UPDATE' | 'DRAFT_ORDERS_CREATE' | 'DRAFT_ORDERS_DELETE' | 'DRAFT_ORDERS_UPDATE' | 'FULFILLMENT_EVENTS_CREATE' | 'FULFILLMENT_EVENTS_DELETE' | 'FULFILLMENTS_CREATE' | 'FULFILLMENTS_UPDATE' | 'ORDER_TRANSACTIONS_CREATE' | 'ORDERS_CANCELLED' | 'ORDERS_CREATE' | 'ORDERS_DELETE' | 'ORDERS_FULFILLED' | 'ORDERS_PAID' | 'ORDERS_PARTIALLY_FULFILLED' | 'ORDERS_UPDATED' | 'PRODUCT_LISTINGS_ADD' | 'PRODUCT_LISTINGS_REMOVE' | 'PRODUCT_LISTINGS_UPDATE' | 'PRODUCTS_CREATE' | 'PRODUCTS_DELETE' | 'PRODUCTS_UPDATE' | 'REFUNDS_CREATE' | 'SHOP_UPDATE' | 'THEMES_CREATE' | 'THEMES_DELETE' | 'THEMES_PUBLISH' | 'THEMES_UPDATE' | 'INVENTORY_LEVELS_CONNECT' | 'INVENTORY_LEVELS_UPDATE' | 'INVENTORY_LEVELS_DISCONNECT' | 'INVENTORY_ITEMS_CREATE' | 'INVENTORY_ITEMS_UPDATE' | 'INVENTORY_ITEMS_DELETE' | 'LOCATIONS_CREATE' | 'LOCATIONS_UPDATE' | 'LOCATIONS_DELETE'; |
{ | ||
"name": "@shopify/koa-shopify-webhooks", | ||
"version": "1.0.1", | ||
"version": "1.1.0", | ||
"license": "MIT", | ||
@@ -5,0 +5,0 @@ "description": "Receive webhooks from Shopify with ease.", |
13808
146