@shopify/shopify-api 7.5.1 → 7.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"storefront_client.d.ts","sourceRoot":"","sources":["storefront_client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAC,aAAa,EAAE,wBAAwB,EAAC,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAC,sBAAsB,EAAC,MAAM,SAAS,CAAC;AAE/C,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,WAAW,SAAU;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;gBAE3B,MAAM,EAAE,sBAAsB;IA0B1C,SAAS,CAAC,aAAa,IAAI,YAAY;IAcvC,OAAO,CAAC,eAAe;CAGxB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,wBAAwB,2BAgBrE"}
1
+ {"version":3,"file":"storefront_client.d.ts","sourceRoot":"","sources":["storefront_client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAC,YAAY,EAAC,MAAM,sBAAsB,CAAC;AAGlD,OAAO,EAAC,aAAa,EAAE,wBAAwB,EAAC,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAC,sBAAsB,EAAC,MAAM,SAAS,CAAC;AAE/C,qBAAa,gBAAiB,SAAQ,aAAa;IACjD,WAAW,SAAU;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;gBAE3B,MAAM,EAAE,sBAAsB;IA0B1C,SAAS,CAAC,aAAa,IAAI,YAAY;IAyBvC,OAAO,CAAC,eAAe;CAGxB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,wBAAwB,2BAgBrE"}
@@ -30,15 +30,16 @@ class StorefrontClient extends graphql_client_1.GraphqlClient {
30
30
  }
31
31
  getApiHeaders() {
32
32
  const sdkVariant = types_1.LIBRARY_NAME.toLowerCase().split(' ').join('-');
33
- return {
34
- [types_1.ShopifyHeader.StorefrontAccessToken]: this.storefrontClass().config
35
- .isCustomStoreApp
36
- ? this.storefrontClass().config.privateAppStorefrontAccessToken ||
37
- this.storefrontAccessToken
38
- : this.storefrontAccessToken,
39
- [types_1.ShopifyHeader.StorefrontSDKVariant]: sdkVariant,
40
- [types_1.ShopifyHeader.StorefrontSDKVersion]: version_1.SHOPIFY_API_LIBRARY_VERSION,
41
- };
33
+ const privateToken = this.storefrontClass().config.privateAppStorefrontAccessToken;
34
+ if (this.storefrontAccessToken && privateToken) {
35
+ (0, logger_1.logger)(this.storefrontClass().config).warning('You have both private and public storefront access tokens. The private token will be used.');
36
+ }
37
+ const tokenHeaderParam = privateToken === undefined
38
+ ? { [types_1.ShopifyHeader.StorefrontAccessToken]: this.storefrontAccessToken }
39
+ : {
40
+ [types_1.ShopifyHeader.StorefrontPrivateToken]: privateToken,
41
+ };
42
+ return Object.assign(Object.assign({}, tokenHeaderParam), { [types_1.ShopifyHeader.StorefrontSDKVariant]: sdkVariant, [types_1.ShopifyHeader.StorefrontSDKVersion]: version_1.SHOPIFY_API_LIBRARY_VERSION });
42
43
  }
43
44
  storefrontClass() {
44
45
  return this.constructor;
@@ -1 +1 @@
1
- {"version":3,"file":"storefront_client.js","sourceRoot":"","sources":["storefront_client.ts"],"names":[],"mappings":";;;AAAA,2CAA0D;AAC1D,uCAAwD;AACxD,4DAA2D;AAC3D,mDAA8C;AAE9C,yCAAoC;AAEpC,qDAAyE;AAGzE,MAAa,gBAAiB,SAAQ,8BAAa;IAKjD,YAAY,MAA8B;QACxC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC;YAC1B,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,MAAM,CAAC,qBAAqB;SAC1C,CAAC,CAAC;QAEH,KAAK,CAAC,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAC,CAAC,CAAC;QAblD,gBAAW,GAAG,MAAM,CAAC;QAenB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC;QAE7C,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,MAAM,OAAO,GACX,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU;gBACrC,CAAC,CAAC,yEAAyE,MAAM,CAAC,UAAU,EAAE;gBAC9F,CAAC,CAAC,oDAAoD,MAAM,CAAC,UAAU,SAAS,MAAM,CAAC,UAAU,EAAE,CAAC;YAExG,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC/B;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;IAC5D,CAAC;IAES,aAAa;QACrB,MAAM,UAAU,GAAG,oBAAY,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEnE,OAAO;YACL,CAAC,qBAAa,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM;iBACjE,gBAAgB;gBACjB,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,+BAA+B;oBAC7D,IAAI,CAAC,qBAAqB;gBAC5B,CAAC,CAAC,IAAI,CAAC,qBAAqB;YAC9B,CAAC,qBAAa,CAAC,oBAAoB,CAAC,EAAE,UAAU;YAChD,CAAC,qBAAa,CAAC,oBAAoB,CAAC,EAAE,qCAA2B;SAClE,CAAC;IACJ,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,WAAsC,CAAC;IACrD,CAAC;CACF;AAhDD,4CAgDC;AAED,SAAgB,qBAAqB,CAAC,MAAgC;IACpE,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;IACxB,IAAI,EAAC,UAAU,EAAC,GAAG,MAAM,CAAC;IAC1B,IAAI,CAAC,UAAU,EAAE;QACf,UAAU,GAAG,IAAA,6BAAe,EAAC,MAAM,CAAC,CAAC;KACtC;IACD,MAAM,mBAAoB,SAAQ,gBAAgB;;IAClC,0BAAM,GAAG,MAAM,CAAC;IAChB,8BAAU,GAAG,UAAW,CAAC;IAGzC,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,MAAM,EAAE;QAClD,KAAK,EAAE,kBAAkB;KAC1B,CAAC,CAAC;IAEH,OAAO,mBAA8C,CAAC;AACxD,CAAC;AAhBD,sDAgBC"}
1
+ {"version":3,"file":"storefront_client.js","sourceRoot":"","sources":["storefront_client.ts"],"names":[],"mappings":";;;AAAA,2CAA0D;AAC1D,uCAAwD;AACxD,4DAA2D;AAC3D,mDAA8C;AAE9C,yCAAoC;AAEpC,qDAAyE;AAGzE,MAAa,gBAAiB,SAAQ,8BAAa;IAKjD,YAAY,MAA8B;QACxC,MAAM,OAAO,GAAG,IAAI,iBAAO,CAAC;YAC1B,IAAI,EAAE,MAAM,CAAC,MAAM;YACnB,EAAE,EAAE,EAAE;YACN,KAAK,EAAE,EAAE;YACT,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,MAAM,CAAC,qBAAqB;SAC1C,CAAC,CAAC;QAEH,KAAK,CAAC,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAC,CAAC,CAAC;QAblD,gBAAW,GAAG,MAAM,CAAC;QAenB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC;QAE7C,IAAI,MAAM,CAAC,UAAU,EAAE;YACrB,MAAM,OAAO,GACX,MAAM,CAAC,UAAU,KAAK,MAAM,CAAC,UAAU;gBACrC,CAAC,CAAC,yEAAyE,MAAM,CAAC,UAAU,EAAE;gBAC9F,CAAC,CAAC,oDAAoD,MAAM,CAAC,UAAU,SAAS,MAAM,CAAC,UAAU,EAAE,CAAC;YAExG,IAAA,eAAM,EAAC,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC/B;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;IAC5D,CAAC;IAES,aAAa;QACrB,MAAM,UAAU,GAAG,oBAAY,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnE,MAAM,YAAY,GAChB,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,+BAA+B,CAAC;QAEhE,IAAI,IAAI,CAAC,qBAAqB,IAAI,YAAY,EAAE;YAC9C,IAAA,eAAM,EAAC,IAAI,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,CAAC,OAAO,CAC3C,4FAA4F,CAC7F,CAAC;SACH;QAED,MAAM,gBAAgB,GACpB,YAAY,KAAK,SAAS;YACxB,CAAC,CAAC,EAAC,CAAC,qBAAa,CAAC,qBAAqB,CAAC,EAAE,IAAI,CAAC,qBAAqB,EAAC;YACrE,CAAC,CAAE;gBACC,CAAC,qBAAa,CAAC,sBAAsB,CAAC,EAAE,YAAY;aACpC,CAAC;QAEzB,uCACK,gBAAgB,KACnB,CAAC,qBAAa,CAAC,oBAAoB,CAAC,EAAE,UAAU,EAChD,CAAC,qBAAa,CAAC,oBAAoB,CAAC,EAAE,qCAA2B,IACjE;IACJ,CAAC;IAEO,eAAe;QACrB,OAAO,IAAI,CAAC,WAAsC,CAAC;IACrD,CAAC;CACF;AA3DD,4CA2DC;AAED,SAAgB,qBAAqB,CAAC,MAAgC;IACpE,MAAM,EAAC,MAAM,EAAC,GAAG,MAAM,CAAC;IACxB,IAAI,EAAC,UAAU,EAAC,GAAG,MAAM,CAAC;IAC1B,IAAI,CAAC,UAAU,EAAE;QACf,UAAU,GAAG,IAAA,6BAAe,EAAC,MAAM,CAAC,CAAC;KACtC;IACD,MAAM,mBAAoB,SAAQ,gBAAgB;;IAClC,0BAAM,GAAG,MAAM,CAAC;IAChB,8BAAU,GAAG,UAAW,CAAC;IAGzC,OAAO,CAAC,cAAc,CAAC,mBAAmB,EAAE,MAAM,EAAE;QAClD,KAAK,EAAE,kBAAkB;KAC1B,CAAC,CAAC;IAEH,OAAO,mBAA8C,CAAC;AACxD,CAAC;AAhBD,sDAgBC"}
package/lib/types.d.ts CHANGED
@@ -23,6 +23,7 @@ export declare enum ShopifyHeader {
23
23
  Topic = "X-Shopify-Topic",
24
24
  WebhookId = "X-Shopify-Webhook-Id",
25
25
  StorefrontAccessToken = "X-Shopify-Storefront-Access-Token",
26
+ StorefrontPrivateToken = "Shopify-Storefront-Private-Token",
26
27
  StorefrontSDKVariant = "X-SDK-Variant",
27
28
  StorefrontSDKVersion = "X-SDK-Version"
28
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,KAAK,IAAA;IACL,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,KAAK,IAAA;CACN;AAED,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,MAAM,YAAY;IAClB,SAAS,YAAY;IACrB,SAAS,YAAY;IACrB,OAAO,YAAY;IACnB,MAAM,YAAY;IAClB,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,YAAY,wBAAwB,CAAC;AAClD,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AAGpD,oBAAY,aAAa;IACvB,WAAW,2BAA2B;IACtC,UAAU,0BAA0B;IACpC,MAAM,0BAA0B;IAChC,IAAI,0BAA0B;IAC9B,KAAK,oBAAoB;IACzB,SAAS,yBAAyB;IAClC,qBAAqB,sCAAsC;IAC3D,oBAAoB,kBAAkB;IACtC,oBAAoB,kBAAkB;CACvC;AAGD,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,UAAU,EAAE,MAAM,EAI9B,CAAC;AAEF,oBAAY,eAAe;IACzB,OAAO,aAAa;IACpB,WAAW,kBAAkB;IAC7B,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,yBAAyB,GAAG,OAAO,CAC7C,eAAe,EACf,eAAe,CAAC,OAAO,CACxB,CAAC;AAEF,oBAAY,0BAA0B;IACpC,gBAAgB,sBAAsB;IACtC,uBAAuB,gCAAgC;IACvD,QAAQ,aAAa;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW;IACrB,KAAK,IAAA;IACL,OAAO,IAAA;IACP,IAAI,IAAA;IACJ,KAAK,IAAA;CACN;AAED,oBAAY,UAAU;IACpB,OAAO,YAAY;IACnB,MAAM,YAAY;IAClB,SAAS,YAAY;IACrB,SAAS,YAAY;IACrB,OAAO,YAAY;IACnB,MAAM,YAAY;IAClB,QAAQ,aAAa;CACtB;AAED,eAAO,MAAM,YAAY,wBAAwB,CAAC;AAClD,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AAGpD,oBAAY,aAAa;IACvB,WAAW,2BAA2B;IACtC,UAAU,0BAA0B;IACpC,MAAM,0BAA0B;IAChC,IAAI,0BAA0B;IAC9B,KAAK,oBAAoB;IACzB,SAAS,yBAAyB;IAClC,qBAAqB,sCAAsC;IAC3D,sBAAsB,qCAAqC;IAC3D,oBAAoB,kBAAkB;IACtC,oBAAoB,kBAAkB;CACvC;AAGD,oBAAY,UAAU;IACpB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,UAAU,EAAE,MAAM,EAI9B,CAAC;AAEF,oBAAY,eAAe;IACzB,OAAO,aAAa;IACpB,WAAW,kBAAkB;IAC7B,MAAM,WAAW;IACjB,KAAK,UAAU;CAChB;AAED,oBAAY,yBAAyB,GAAG,OAAO,CAC7C,eAAe,EACf,eAAe,CAAC,OAAO,CACxB,CAAC;AAEF,oBAAY,0BAA0B;IACpC,gBAAgB,sBAAsB;IACtC,uBAAuB,gCAAgC;IACvD,QAAQ,aAAa;CACtB"}
package/lib/types.js CHANGED
@@ -30,6 +30,7 @@ var ShopifyHeader;
30
30
  ShopifyHeader["Topic"] = "X-Shopify-Topic";
31
31
  ShopifyHeader["WebhookId"] = "X-Shopify-Webhook-Id";
32
32
  ShopifyHeader["StorefrontAccessToken"] = "X-Shopify-Storefront-Access-Token";
33
+ ShopifyHeader["StorefrontPrivateToken"] = "Shopify-Storefront-Private-Token";
33
34
  ShopifyHeader["StorefrontSDKVariant"] = "X-SDK-Variant";
34
35
  ShopifyHeader["StorefrontSDKVersion"] = "X-SDK-Version";
35
36
  })(ShopifyHeader = exports.ShopifyHeader || (exports.ShopifyHeader = {}));
package/lib/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,+CAAK,CAAA;IACL,mDAAO,CAAA;IACP,6CAAI,CAAA;IACJ,+CAAK,CAAA;AACP,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAED,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,gCAAkB,CAAA;IAClB,mCAAqB,CAAA;IACrB,mCAAqB,CAAA;IACrB,iCAAmB,CAAA;IACnB,gCAAkB,CAAA;IAClB,mCAAqB,CAAA;AACvB,CAAC,EARW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAQrB;AAEY,QAAA,YAAY,GAAG,qBAAqB,CAAC;AACrC,QAAA,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC;AAEpD,iEAAiE;AACjE,IAAY,aAUX;AAVD,WAAY,aAAa;IACvB,uDAAsC,CAAA;IACtC,qDAAoC,CAAA;IACpC,iDAAgC,CAAA;IAChC,+CAA8B,CAAA;IAC9B,0CAAyB,CAAA;IACzB,mDAAkC,CAAA;IAClC,4EAA2D,CAAA;IAC3D,uDAAsC,CAAA;IACtC,uDAAsC,CAAA;AACxC,CAAC,EAVW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAUxB;AACD,gEAAgE;AAEhE,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,iCAAmB,CAAA;AACrB,CAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB;AAEY,QAAA,UAAU,GAAa;IAClC,wBAAwB;IACxB,kBAAkB;IAClB,aAAa;CACd,CAAC;AAEF,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,uCAAoB,CAAA;IACpB,gDAA6B,CAAA;IAC7B,oCAAiB,CAAA;IACjB,kCAAe,CAAA;AACjB,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AAOD,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,oEAAsC,CAAA;IACtC,qFAAuD,CAAA;IACvD,mDAAqB,CAAA;AACvB,CAAC,EAJW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAIrC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["types.ts"],"names":[],"mappings":";;;AAAA,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,+CAAK,CAAA;IACL,mDAAO,CAAA;IACP,6CAAI,CAAA;IACJ,+CAAK,CAAA;AACP,CAAC,EALW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAKtB;AAED,IAAY,UAQX;AARD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,gCAAkB,CAAA;IAClB,mCAAqB,CAAA;IACrB,mCAAqB,CAAA;IACrB,iCAAmB,CAAA;IACnB,gCAAkB,CAAA;IAClB,mCAAqB,CAAA;AACvB,CAAC,EARW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAQrB;AAEY,QAAA,YAAY,GAAG,qBAAqB,CAAC;AACrC,QAAA,kBAAkB,GAAG,UAAU,CAAC,MAAM,CAAC;AAEpD,iEAAiE;AACjE,IAAY,aAWX;AAXD,WAAY,aAAa;IACvB,uDAAsC,CAAA;IACtC,qDAAoC,CAAA;IACpC,iDAAgC,CAAA;IAChC,+CAA8B,CAAA;IAC9B,0CAAyB,CAAA;IACzB,mDAAkC,CAAA;IAClC,4EAA2D,CAAA;IAC3D,4EAA2D,CAAA;IAC3D,uDAAsC,CAAA;IACtC,uDAAsC,CAAA;AACxC,CAAC,EAXW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAWxB;AACD,gEAAgE;AAEhE,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,2BAAa,CAAA;IACb,iCAAmB,CAAA;AACrB,CAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB;AAEY,QAAA,UAAU,GAAa;IAClC,wBAAwB;IACxB,kBAAkB;IAClB,aAAa;CACd,CAAC;AAEF,IAAY,eAKX;AALD,WAAY,eAAe;IACzB,uCAAoB,CAAA;IACpB,gDAA6B,CAAA;IAC7B,oCAAiB,CAAA;IACjB,kCAAe,CAAA;AACjB,CAAC,EALW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAK1B;AAOD,IAAY,0BAIX;AAJD,WAAY,0BAA0B;IACpC,oEAAsC,CAAA;IACtC,qFAAuD,CAAA;IACvD,mDAAqB,CAAA;AACvB,CAAC,EAJW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAIrC"}
@@ -1,6 +1,9 @@
1
1
  import { ConfigInterface } from '../base-types';
2
2
  import { AuthQuery } from '../auth/oauth/types';
3
- export declare function generateLocalHmac(config: ConfigInterface): (params: AuthQuery) => Promise<string>;
4
- export declare function validateHmac(config: ConfigInterface): (query: AuthQuery) => Promise<boolean>;
3
+ export declare type HMACSignator = 'admin' | 'appProxy';
4
+ export declare function generateLocalHmac(config: ConfigInterface): (params: AuthQuery, signator?: HMACSignator) => Promise<string>;
5
+ export declare function validateHmac(config: ConfigInterface): (query: AuthQuery, { signator }?: {
6
+ signator: HMACSignator;
7
+ }) => Promise<boolean>;
5
8
  export declare function getCurrentTimeInSec(): number;
6
9
  //# sourceMappingURL=hmac-validator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hmac-validator.d.ts","sourceRoot":"","sources":["hmac-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAG9C,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAiB9C,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,YACjC,SAAS,KAAG,QAAQ,MAAM,CAAC,CAMlD;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,WAC7B,SAAS,KAAG,QAAQ,OAAO,CAAC,CAclD;AAED,wBAAgB,mBAAmB,WAElC"}
1
+ {"version":3,"file":"hmac-validator.d.ts","sourceRoot":"","sources":["hmac-validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAG9C,OAAO,EAAC,SAAS,EAAC,MAAM,qBAAqB,CAAC;AAQ9C,oBAAY,YAAY,GAAG,OAAO,GAAG,UAAU,CAAC;AAmBhD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,YAE7C,SAAS,aACP,YAAY,KACrB,QAAQ,MAAM,CAAC,CAUnB;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,WAEzC,SAAS;cACO,YAAY;MAClC,QAAQ,OAAO,CAAC,CAoBpB;AAED,wBAAgB,mBAAmB,WAElC"}
@@ -8,30 +8,41 @@ const ShopifyErrors = tslib_1.__importStar(require("../error"));
8
8
  const safe_compare_1 = require("../auth/oauth/safe-compare");
9
9
  const processed_query_1 = tslib_1.__importDefault(require("./processed-query"));
10
10
  const HMAC_TIMESTAMP_PERMITTED_CLOCK_TOLERANCE_SEC = 90;
11
- function stringifyQuery(query) {
11
+ function stringifyQueryForAdmin(query) {
12
12
  const processedQuery = new processed_query_1.default();
13
13
  Object.keys(query)
14
14
  .sort((val1, val2) => val1.localeCompare(val2))
15
15
  .forEach((key) => processedQuery.put(key, query[key]));
16
16
  return processedQuery.stringify(true);
17
17
  }
18
+ function stringifyQueryForAppProxy(query) {
19
+ return Object.entries(query)
20
+ .sort(([val1], [val2]) => val1.localeCompare(val2))
21
+ .reduce((acc, [key, value]) => {
22
+ return `${acc}${key}=${Array.isArray(value) ? value.join(',') : value}`;
23
+ }, '');
24
+ }
18
25
  function generateLocalHmac(config) {
19
- return (params) => tslib_1.__awaiter(this, void 0, void 0, function* () {
20
- // assumes that 'signature' (from Shopify) will only ever be a hmac value
26
+ return (params, signator = 'admin') => tslib_1.__awaiter(this, void 0, void 0, function* () {
21
27
  const { hmac, signature } = params, query = tslib_1.__rest(params, ["hmac", "signature"]);
22
- const queryString = stringifyQuery(query);
28
+ const queryString = signator === 'admin'
29
+ ? stringifyQueryForAdmin(query)
30
+ : stringifyQueryForAppProxy(query);
23
31
  return (0, crypto_1.createSHA256HMAC)(config.apiSecretKey, queryString, types_1.HashFormat.Hex);
24
32
  });
25
33
  }
26
34
  exports.generateLocalHmac = generateLocalHmac;
27
35
  function validateHmac(config) {
28
- return (query) => tslib_1.__awaiter(this, void 0, void 0, function* () {
29
- if (!query.hmac && !query.signature) {
36
+ return (query, { signator } = { signator: 'admin' }) => tslib_1.__awaiter(this, void 0, void 0, function* () {
37
+ if (signator === 'admin' && !query.hmac) {
30
38
  throw new ShopifyErrors.InvalidHmacError('Query does not contain an HMAC value.');
31
39
  }
40
+ if (signator === 'appProxy' && !query.signature) {
41
+ throw new ShopifyErrors.InvalidHmacError('Query does not contain a signature value.');
42
+ }
32
43
  validateHmacTimestamp(query);
33
- const hmac = query.signature || query.hmac;
34
- const localHmac = yield generateLocalHmac(config)(query);
44
+ const hmac = signator === 'appProxy' ? query.signature : query.hmac;
45
+ const localHmac = yield generateLocalHmac(config)(query, signator);
35
46
  return (0, safe_compare_1.safeCompare)(hmac, localHmac);
36
47
  });
37
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"hmac-validator.js","sourceRoot":"","sources":["hmac-validator.ts"],"names":[],"mappings":";;;;AACA,iDAAsD;AACtD,sDAAsD;AAEtD,gEAA0C;AAC1C,6DAAuD;AAEvD,gFAA+C;AAE/C,MAAM,4CAA4C,GAAG,EAAE,CAAC;AAExD,SAAS,cAAc,CAAC,KAAgB;IACtC,MAAM,cAAc,GAAG,IAAI,yBAAc,EAAE,CAAC;IAC5C,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;SACf,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;SAC9C,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEjE,OAAO,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,iBAAiB,CAAC,MAAuB;IACvD,OAAO,CAAO,MAAiB,EAAmB,EAAE;QAClD,yEAAyE;QACzE,MAAM,EAAC,IAAI,EAAE,SAAS,KAAc,MAAM,EAAf,KAAK,kBAAI,MAAM,EAApC,qBAA2B,CAAS,CAAC;QAC3C,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,IAAA,yBAAgB,EAAC,MAAM,CAAC,YAAY,EAAE,WAAW,EAAE,kBAAU,CAAC,GAAG,CAAC,CAAC;IAC5E,CAAC,CAAA,CAAC;AACJ,CAAC;AAPD,8CAOC;AAED,SAAgB,YAAY,CAAC,MAAuB;IAClD,OAAO,CAAO,KAAgB,EAAoB,EAAE;QAClD,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACnC,MAAM,IAAI,aAAa,CAAC,gBAAgB,CACtC,uCAAuC,CACxC,CAAC;SACH;QAED,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAE7B,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC;QAC3C,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC;QAEzD,OAAO,IAAA,0BAAW,EAAC,IAAc,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC,CAAA,CAAC;AACJ,CAAC;AAfD,oCAeC;AAED,SAAgB,mBAAmB;IACjC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACvC,CAAC;AAFD,kDAEC;AAED,SAAS,qBAAqB,CAAC,KAAgB;IAC7C,IACE,IAAI,CAAC,GAAG,CAAC,mBAAmB,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzD,4CAA4C,EAC5C;QACA,MAAM,IAAI,aAAa,CAAC,gBAAgB,CACtC,kDAAkD,CACnD,CAAC;KACH;AACH,CAAC"}
1
+ {"version":3,"file":"hmac-validator.js","sourceRoot":"","sources":["hmac-validator.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,9 @@ import { ConfigInterface } from '../base-types';
2
2
  export declare function shopifyUtils(config: ConfigInterface): {
3
3
  sanitizeShop: (shop: string, throwOnInvalid?: boolean) => string | null;
4
4
  sanitizeHost: (host: string, throwOnInvalid?: boolean) => string | null;
5
- validateHmac: (query: import("..").AuthQuery) => Promise<boolean>;
5
+ validateHmac: (query: import("..").AuthQuery, { signator }?: {
6
+ signator: import("./hmac-validator").HMACSignator;
7
+ }) => Promise<boolean>;
6
8
  versionCompatible: (referenceVersion: import("..").ApiVersion, currentVersion?: import("..").ApiVersion) => boolean;
7
9
  versionPriorTo: (referenceVersion: import("..").ApiVersion, currentVersion?: import("..").ApiVersion) => boolean;
8
10
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAM9C,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe;;;;;;EAQnD;AAED,oBAAY,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,eAAe,CAAC;AAM9C,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe;;;;;;;;EAQnD;AAED,oBAAY,YAAY,GAAG,UAAU,CAAC,OAAO,YAAY,CAAC,CAAC"}
package/lib/version.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- export declare const SHOPIFY_API_LIBRARY_VERSION = "7.5.1";
1
+ export declare const SHOPIFY_API_LIBRARY_VERSION = "7.6.0";
2
2
  //# sourceMappingURL=version.d.ts.map
package/lib/version.js CHANGED
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SHOPIFY_API_LIBRARY_VERSION = void 0;
4
- exports.SHOPIFY_API_LIBRARY_VERSION = '7.5.1';
4
+ exports.SHOPIFY_API_LIBRARY_VERSION = '7.6.0';
5
5
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shopify/shopify-api",
3
- "version": "7.5.1",
3
+ "version": "7.6.0",
4
4
  "description": "Shopify API Library for Node - accelerate development with support for authentication, graphql proxy, webhooks",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",