@adtrackify/at-service-common 3.19.16 → 3.19.18

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.
Files changed (73) hide show
  1. package/dist/cjs/__tests__/clients/cross-platform-compression.spec.js +1 -1
  2. package/dist/cjs/__tests__/clients/cross-platform-compression.spec.js.map +1 -1
  3. package/dist/cjs/__tests__/clients/dynamodb-client.spec.js +161 -121
  4. package/dist/cjs/__tests__/clients/dynamodb-client.spec.js.map +1 -1
  5. package/dist/cjs/__tests__/db/destinations-db-service.spec.d.ts +1 -0
  6. package/dist/cjs/__tests__/db/destinations-db-service.spec.js +126 -0
  7. package/dist/cjs/__tests__/db/destinations-db-service.spec.js.map +1 -0
  8. package/dist/cjs/__tests__/db/shopify-app-installs-db-service.spec.d.ts +1 -0
  9. package/dist/cjs/__tests__/db/shopify-app-installs-db-service.spec.js +105 -0
  10. package/dist/cjs/__tests__/db/shopify-app-installs-db-service.spec.js.map +1 -0
  11. package/dist/cjs/__tests__/db/subscriptions-db-service.spec.d.ts +1 -0
  12. package/dist/cjs/__tests__/db/subscriptions-db-service.spec.js +96 -0
  13. package/dist/cjs/__tests__/db/subscriptions-db-service.spec.js.map +1 -0
  14. package/dist/cjs/__tests__/db/user-accounts-db-service.spec.d.ts +1 -0
  15. package/dist/cjs/__tests__/db/user-accounts-db-service.spec.js +77 -0
  16. package/dist/cjs/__tests__/db/user-accounts-db-service.spec.js.map +1 -0
  17. package/dist/cjs/clients/generic/dynamodb-client.d.ts +1 -1
  18. package/dist/cjs/clients/generic/dynamodb-client.js +24 -17
  19. package/dist/cjs/clients/generic/dynamodb-client.js.map +1 -1
  20. package/dist/cjs/services/db/destinations-db-service.d.ts +1 -0
  21. package/dist/cjs/services/db/destinations-db-service.js +6 -8
  22. package/dist/cjs/services/db/destinations-db-service.js.map +1 -1
  23. package/dist/cjs/services/db/index.d.ts +1 -0
  24. package/dist/cjs/services/db/index.js +1 -0
  25. package/dist/cjs/services/db/index.js.map +1 -1
  26. package/dist/cjs/services/db/shopify-app-installs-db-service.d.ts +3 -1
  27. package/dist/cjs/services/db/shopify-app-installs-db-service.js +12 -11
  28. package/dist/cjs/services/db/shopify-app-installs-db-service.js.map +1 -1
  29. package/dist/cjs/services/db/subscriptions-db-service.d.ts +1 -0
  30. package/dist/cjs/services/db/subscriptions-db-service.js +4 -0
  31. package/dist/cjs/services/db/subscriptions-db-service.js.map +1 -1
  32. package/dist/cjs/services/db/user-accounts-db-service.d.ts +7 -0
  33. package/dist/cjs/services/db/user-accounts-db-service.js +18 -0
  34. package/dist/cjs/services/db/user-accounts-db-service.js.map +1 -0
  35. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +38 -38
  36. package/dist/cjs/types/shopify-graphql-types/admin.types.js.map +1 -1
  37. package/dist/esm/__tests__/clients/cross-platform-compression.spec.js +1 -1
  38. package/dist/esm/__tests__/clients/cross-platform-compression.spec.js.map +1 -1
  39. package/dist/esm/__tests__/clients/dynamodb-client.spec.js +161 -121
  40. package/dist/esm/__tests__/clients/dynamodb-client.spec.js.map +1 -1
  41. package/dist/esm/__tests__/db/destinations-db-service.spec.d.ts +1 -0
  42. package/dist/esm/__tests__/db/destinations-db-service.spec.js +124 -0
  43. package/dist/esm/__tests__/db/destinations-db-service.spec.js.map +1 -0
  44. package/dist/esm/__tests__/db/shopify-app-installs-db-service.spec.d.ts +1 -0
  45. package/dist/esm/__tests__/db/shopify-app-installs-db-service.spec.js +103 -0
  46. package/dist/esm/__tests__/db/shopify-app-installs-db-service.spec.js.map +1 -0
  47. package/dist/esm/__tests__/db/subscriptions-db-service.spec.d.ts +1 -0
  48. package/dist/esm/__tests__/db/subscriptions-db-service.spec.js +94 -0
  49. package/dist/esm/__tests__/db/subscriptions-db-service.spec.js.map +1 -0
  50. package/dist/esm/__tests__/db/user-accounts-db-service.spec.d.ts +1 -0
  51. package/dist/esm/__tests__/db/user-accounts-db-service.spec.js +75 -0
  52. package/dist/esm/__tests__/db/user-accounts-db-service.spec.js.map +1 -0
  53. package/dist/esm/clients/generic/dynamodb-client.d.ts +1 -1
  54. package/dist/esm/clients/generic/dynamodb-client.js +24 -17
  55. package/dist/esm/clients/generic/dynamodb-client.js.map +1 -1
  56. package/dist/esm/services/db/destinations-db-service.d.ts +1 -0
  57. package/dist/esm/services/db/destinations-db-service.js +6 -8
  58. package/dist/esm/services/db/destinations-db-service.js.map +1 -1
  59. package/dist/esm/services/db/index.d.ts +1 -0
  60. package/dist/esm/services/db/index.js +1 -0
  61. package/dist/esm/services/db/index.js.map +1 -1
  62. package/dist/esm/services/db/shopify-app-installs-db-service.d.ts +3 -1
  63. package/dist/esm/services/db/shopify-app-installs-db-service.js +12 -11
  64. package/dist/esm/services/db/shopify-app-installs-db-service.js.map +1 -1
  65. package/dist/esm/services/db/subscriptions-db-service.d.ts +1 -0
  66. package/dist/esm/services/db/subscriptions-db-service.js +4 -0
  67. package/dist/esm/services/db/subscriptions-db-service.js.map +1 -1
  68. package/dist/esm/services/db/user-accounts-db-service.d.ts +7 -0
  69. package/dist/esm/services/db/user-accounts-db-service.js +14 -0
  70. package/dist/esm/services/db/user-accounts-db-service.js.map +1 -0
  71. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +38 -38
  72. package/dist/esm/types/shopify-graphql-types/admin.types.js.map +1 -1
  73. package/package.json +1 -1
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UserAccountsDbService = void 0;
4
+ const dynamodb_client_js_1 = require("../../clients/generic/dynamodb-client.js");
5
+ class UserAccountsDbService {
6
+ TABLE_NAME;
7
+ TABLE_KEY;
8
+ constructor(tableName, tableKey = 'userId') {
9
+ this.TABLE_NAME = tableName;
10
+ this.TABLE_KEY = tableKey;
11
+ }
12
+ batchGetByAccountIds = async (indexName, accountIdKey, accountIds, concurrency = 10) => {
13
+ const records = await dynamodb_client_js_1.DynamoDbClient.safeBatchQueryByGSI(this.TABLE_NAME, indexName, accountIdKey, accountIds, concurrency);
14
+ return records;
15
+ };
16
+ }
17
+ exports.UserAccountsDbService = UserAccountsDbService;
18
+ //# sourceMappingURL=user-accounts-db-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-accounts-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/user-accounts-db-service.ts"],"names":[],"mappings":";;;AACA,iFAA0E;AAE1E,MAAa,qBAAqB;IACzB,UAAU,CAAS;IACnB,SAAS,CAAS;IAEzB,YAAY,SAAiB,EAAE,QAAQ,GAAG,QAAQ;QAChD,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAMM,oBAAoB,GAAG,KAAK,EACjC,SAAiB,EACjB,YAAoB,EACpB,UAAoB,EACpB,WAAW,GAAG,EAAE,EACc,EAAE;QAChC,MAAM,OAAO,GAAG,MAAM,mCAAc,CAAC,mBAAmB,CACtD,IAAI,CAAC,UAAU,EACf,SAAS,EACT,YAAY,EACZ,UAAU,EACV,WAAW,CACZ,CAAC;QACF,OAAO,OAA8B,CAAC;IACxC,CAAC,CAAC;CACH;AA5BD,sDA4BC"}
@@ -3,15 +3,15 @@ export type GetOrderLineItemsSellingPlanQueryVariables = AdminTypes.Exact<{
3
3
  id: AdminTypes.Scalars['ID']['input'];
4
4
  }>;
5
5
  export type GetOrderLineItemsSellingPlanQuery = {
6
- order?: AdminTypes.Maybe<Pick<AdminTypes.Order, 'id' | 'legacyResourceId' | 'name'> & {
6
+ order?: AdminTypes.Maybe<(Pick<AdminTypes.Order, 'id' | 'legacyResourceId' | 'name'> & {
7
7
  lineItems: {
8
- nodes: Array<Pick<AdminTypes.LineItem, 'id'> & {
8
+ nodes: Array<(Pick<AdminTypes.LineItem, 'id'> & {
9
9
  product?: AdminTypes.Maybe<Pick<AdminTypes.Product, 'id' | 'legacyResourceId'>>;
10
10
  variant?: AdminTypes.Maybe<Pick<AdminTypes.ProductVariant, 'id' | 'legacyResourceId'>>;
11
11
  sellingPlan?: AdminTypes.Maybe<Pick<AdminTypes.LineItemSellingPlan, 'sellingPlanId' | 'name'>>;
12
- }>;
12
+ })>;
13
13
  };
14
- }>;
14
+ })>;
15
15
  };
16
16
  export type GetProductQueryVariables = AdminTypes.Exact<{
17
17
  id: AdminTypes.Scalars['ID']['input'];
@@ -19,13 +19,13 @@ export type GetProductQueryVariables = AdminTypes.Exact<{
19
19
  after?: AdminTypes.InputMaybe<AdminTypes.Scalars['String']['input']>;
20
20
  }>;
21
21
  export type GetProductQuery = {
22
- product?: AdminTypes.Maybe<Pick<AdminTypes.Product, 'id' | 'handle' | 'productType' | 'hasOnlyDefaultVariant' | 'hasOutOfStockVariants' | 'isGiftCard' | 'legacyResourceId' | 'onlineStoreUrl' | 'onlineStorePreviewUrl' | 'publishedAt' | 'requiresSellingPlan' | 'status' | 'tags' | 'title' | 'totalInventory' | 'tracksInventory' | 'vendor' | 'createdAt' | 'updatedAt'> & {
22
+ product?: AdminTypes.Maybe<(Pick<AdminTypes.Product, 'id' | 'handle' | 'productType' | 'hasOnlyDefaultVariant' | 'hasOutOfStockVariants' | 'isGiftCard' | 'legacyResourceId' | 'onlineStoreUrl' | 'onlineStorePreviewUrl' | 'publishedAt' | 'requiresSellingPlan' | 'status' | 'tags' | 'title' | 'totalInventory' | 'tracksInventory' | 'vendor' | 'createdAt' | 'updatedAt'> & {
23
23
  category?: AdminTypes.Maybe<Pick<AdminTypes.TaxonomyCategory, 'id' | 'name' | 'fullName' | 'parentId'>>;
24
24
  collections: {
25
- nodes: Array<Pick<AdminTypes.Collection, 'handle' | 'id' | 'legacyResourceId' | 'title'> & {
25
+ nodes: Array<(Pick<AdminTypes.Collection, 'handle' | 'id' | 'legacyResourceId' | 'title'> & {
26
26
  image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'url'>>;
27
27
  productsCount?: AdminTypes.Maybe<Pick<AdminTypes.Count, 'count' | 'precision'>>;
28
- }>;
28
+ })>;
29
29
  };
30
30
  priceRangeV2: {
31
31
  maxVariantPrice: Pick<AdminTypes.MoneyV2, 'amount' | 'currencyCode'>;
@@ -34,79 +34,79 @@ export type GetProductQuery = {
34
34
  variantsCount?: AdminTypes.Maybe<Pick<AdminTypes.Count, 'count'>>;
35
35
  seo: Pick<AdminTypes.Seo, 'title' | 'description'>;
36
36
  featuredMedia?: AdminTypes.Maybe<(Pick<AdminTypes.ExternalVideo, 'id' | 'mediaContentType' | 'status'> & {
37
- preview?: AdminTypes.Maybe<Pick<AdminTypes.MediaPreviewImage, 'status'> & {
37
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
38
38
  image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
39
- }>;
39
+ })>;
40
40
  }) | (Pick<AdminTypes.MediaImage, 'id' | 'mediaContentType' | 'status'> & {
41
- preview?: AdminTypes.Maybe<Pick<AdminTypes.MediaPreviewImage, 'status'> & {
41
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
42
42
  image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
43
- }>;
43
+ })>;
44
44
  }) | (Pick<AdminTypes.Model3d, 'id' | 'mediaContentType' | 'status'> & {
45
- preview?: AdminTypes.Maybe<Pick<AdminTypes.MediaPreviewImage, 'status'> & {
45
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
46
46
  image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
47
- }>;
47
+ })>;
48
48
  }) | (Pick<AdminTypes.Video, 'id' | 'mediaContentType' | 'status'> & {
49
- preview?: AdminTypes.Maybe<Pick<AdminTypes.MediaPreviewImage, 'status'> & {
49
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
50
50
  image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
51
- }>;
51
+ })>;
52
52
  })>;
53
53
  media: {
54
54
  nodes: Array<(Pick<AdminTypes.ExternalVideo, 'id' | 'mediaContentType' | 'status'> & {
55
- preview?: AdminTypes.Maybe<Pick<AdminTypes.MediaPreviewImage, 'status'> & {
55
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
56
56
  image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
57
- }>;
57
+ })>;
58
58
  }) | (Pick<AdminTypes.MediaImage, 'id' | 'mediaContentType' | 'status'> & {
59
- preview?: AdminTypes.Maybe<Pick<AdminTypes.MediaPreviewImage, 'status'> & {
59
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
60
60
  image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
61
- }>;
61
+ })>;
62
62
  }) | (Pick<AdminTypes.Model3d, 'id' | 'mediaContentType' | 'status'> & {
63
- preview?: AdminTypes.Maybe<Pick<AdminTypes.MediaPreviewImage, 'status'> & {
63
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
64
64
  image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
65
- }>;
65
+ })>;
66
66
  }) | (Pick<AdminTypes.Video, 'id' | 'mediaContentType' | 'status'> & {
67
- preview?: AdminTypes.Maybe<Pick<AdminTypes.MediaPreviewImage, 'status'> & {
67
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
68
68
  image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
69
- }>;
69
+ })>;
70
70
  })>;
71
71
  };
72
72
  variants: {
73
73
  pageInfo: Pick<AdminTypes.PageInfo, 'hasNextPage' | 'endCursor'>;
74
- nodes: Array<Pick<AdminTypes.ProductVariant, 'availableForSale' | 'barcode' | 'compareAtPrice' | 'createdAt' | 'displayName' | 'id' | 'legacyResourceId' | 'inventoryPolicy' | 'inventoryQuantity' | 'price' | 'sellableOnlineQuantity' | 'sku' | 'taxable' | 'title' | 'updatedAt'> & {
74
+ nodes: Array<(Pick<AdminTypes.ProductVariant, 'availableForSale' | 'barcode' | 'compareAtPrice' | 'createdAt' | 'displayName' | 'id' | 'legacyResourceId' | 'inventoryPolicy' | 'inventoryQuantity' | 'price' | 'sellableOnlineQuantity' | 'sku' | 'taxable' | 'title' | 'updatedAt'> & {
75
75
  product: Pick<AdminTypes.Product, 'id' | 'handle' | 'legacyResourceId'>;
76
76
  image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
77
- inventoryItem: Pick<AdminTypes.InventoryItem, 'createdAt' | 'id' | 'legacyResourceId' | 'requiresShipping' | 'sku' | 'tracked' | 'updatedAt'> & {
77
+ inventoryItem: (Pick<AdminTypes.InventoryItem, 'createdAt' | 'id' | 'legacyResourceId' | 'requiresShipping' | 'sku' | 'tracked' | 'updatedAt'> & {
78
78
  unitCost?: AdminTypes.Maybe<Pick<AdminTypes.MoneyV2, 'amount' | 'currencyCode'>>;
79
- };
79
+ });
80
80
  media: {
81
81
  nodes: Array<(Pick<AdminTypes.ExternalVideo, 'id' | 'mediaContentType' | 'status'> & {
82
- preview?: AdminTypes.Maybe<Pick<AdminTypes.MediaPreviewImage, 'status'> & {
82
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
83
83
  image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
84
- }>;
84
+ })>;
85
85
  }) | (Pick<AdminTypes.MediaImage, 'id' | 'mediaContentType' | 'status'> & {
86
- preview?: AdminTypes.Maybe<Pick<AdminTypes.MediaPreviewImage, 'status'> & {
86
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
87
87
  image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
88
- }>;
88
+ })>;
89
89
  }) | (Pick<AdminTypes.Model3d, 'id' | 'mediaContentType' | 'status'> & {
90
- preview?: AdminTypes.Maybe<Pick<AdminTypes.MediaPreviewImage, 'status'> & {
90
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
91
91
  image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
92
- }>;
92
+ })>;
93
93
  }) | (Pick<AdminTypes.Video, 'id' | 'mediaContentType' | 'status'> & {
94
- preview?: AdminTypes.Maybe<Pick<AdminTypes.MediaPreviewImage, 'status'> & {
94
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
95
95
  image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
96
- }>;
96
+ })>;
97
97
  })>;
98
98
  };
99
99
  selectedOptions: Array<Pick<AdminTypes.SelectedOption, 'name' | 'value'>>;
100
- }>;
100
+ })>;
101
101
  };
102
- }>;
102
+ })>;
103
103
  };
104
104
  interface GeneratedQueryTypes {
105
- '\n#graphql\nquery GetOrderLineItemsSellingPlan($id: ID!) {\n order(id: $id) {\n id\n legacyResourceId\n name\n lineItems(first: 100) {\n nodes {\n id\n product {\n id\n legacyResourceId\n }\n variant {\n id\n legacyResourceId\n }\n sellingPlan {\n sellingPlanId\n name\n }\n }\n }\n }\n}\n': {
105
+ "\n#graphql\nquery GetOrderLineItemsSellingPlan($id: ID!) {\n order(id: $id) {\n id\n legacyResourceId\n name\n lineItems(first: 100) {\n nodes {\n id\n product {\n id\n legacyResourceId\n }\n variant {\n id\n legacyResourceId\n }\n sellingPlan {\n sellingPlanId\n name\n }\n }\n }\n }\n}\n": {
106
106
  return: GetOrderLineItemsSellingPlanQuery;
107
107
  variables: GetOrderLineItemsSellingPlanQueryVariables;
108
108
  };
109
- '\n#graphql\nquery GetProduct($id: ID!, $first: Int!, $after: String) {\n product(id: $id) {\n id\n handle\n productType\n hasOnlyDefaultVariant\n hasOutOfStockVariants\n isGiftCard\n legacyResourceId\n onlineStoreUrl\n onlineStorePreviewUrl\n productType\n publishedAt\n requiresSellingPlan\n status\n tags\n title\n totalInventory\n tracksInventory\n vendor\n createdAt\n updatedAt\n category {\n id\n name\n fullName\n parentId\n }\n collections (first: 250) {\n nodes {\n handle\n id\n image {\n url\n }\n legacyResourceId\n productsCount {\n count\n precision\n }\n title\n }\n }\n priceRangeV2 {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n variantsCount {\n count\n }\n seo {\n title\n description\n }\n featuredMedia {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n }\n media (first: 3) {\n nodes {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n\n }\n }\n variants (first: $first, after: $after) {\n pageInfo {\n hasNextPage\n endCursor\n }\n nodes {\n availableForSale\n barcode\n compareAtPrice\n createdAt\n displayName\n id\n legacyResourceId\n product {\n id\n handle\n legacyResourceId\n }\n image {\n id\n url\n }\n inventoryItem {\n createdAt\n id\n legacyResourceId\n requiresShipping\n sku\n tracked\n unitCost {\n amount\n currencyCode\n }\n updatedAt\n }\n inventoryPolicy\n inventoryQuantity\n price\n media (first: 3) {\n nodes {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n }\n }\n selectedOptions {\n name\n value\n }\n sellableOnlineQuantity\n sku\n taxable\n title\n updatedAt\n }\n }\n }\n}\n': {
109
+ "\n#graphql\nquery GetProduct($id: ID!, $first: Int!, $after: String) {\n product(id: $id) {\n id\n handle\n productType\n hasOnlyDefaultVariant\n hasOutOfStockVariants\n isGiftCard\n legacyResourceId\n onlineStoreUrl\n onlineStorePreviewUrl\n productType\n publishedAt\n requiresSellingPlan\n status\n tags\n title\n totalInventory\n tracksInventory\n vendor\n createdAt\n updatedAt\n category {\n id\n name\n fullName\n parentId\n }\n collections (first: 250) {\n nodes {\n handle\n id\n image {\n url\n }\n legacyResourceId\n productsCount {\n count\n precision\n }\n title\n }\n }\n priceRangeV2 {\n maxVariantPrice {\n amount\n currencyCode\n }\n minVariantPrice {\n amount\n currencyCode\n }\n }\n variantsCount {\n count\n }\n seo {\n title\n description\n }\n featuredMedia {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n }\n media (first: 3) {\n nodes {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n\n }\n }\n variants (first: $first, after: $after) {\n pageInfo {\n hasNextPage\n endCursor\n }\n nodes {\n availableForSale\n barcode\n compareAtPrice\n createdAt\n displayName\n id\n legacyResourceId\n product {\n id\n handle\n legacyResourceId\n }\n image {\n id\n url\n }\n inventoryItem {\n createdAt\n id\n legacyResourceId\n requiresShipping\n sku\n tracked\n unitCost {\n amount\n currencyCode\n }\n updatedAt\n }\n inventoryPolicy\n inventoryQuantity\n price\n media (first: 3) {\n nodes {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n }\n }\n selectedOptions {\n name\n value\n }\n sellableOnlineQuantity\n sku\n taxable\n title\n updatedAt\n }\n }\n }\n}\n": {
110
110
  return: GetProductQuery;
111
111
  variables: GetProductQueryVariables;
112
112
  };