@adtrackify/at-service-common 3.1.3 → 3.1.5

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 (57) hide show
  1. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.d.ts +1 -0
  2. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js +109 -0
  3. package/dist/cjs/clients/third-party/shopify/graphql-product-queries.js.map +1 -0
  4. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -0
  5. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js +97 -0
  6. package/dist/cjs/clients/third-party/shopify/shopify-graphql-client.js.map +1 -0
  7. package/dist/cjs/clients/third-party/shopify-client.d.ts +0 -2
  8. package/dist/cjs/clients/third-party/shopify-client.js +0 -54
  9. package/dist/cjs/clients/third-party/shopify-client.js.map +1 -1
  10. package/dist/cjs/services/cache/product-cache-service.d.ts +9 -0
  11. package/dist/cjs/services/cache/product-cache-service.js +32 -0
  12. package/dist/cjs/services/cache/product-cache-service.js.map +1 -0
  13. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +2 -6
  14. package/dist/cjs/services/db/shopify-products-cache-db-service.js +16 -64
  15. package/dist/cjs/services/db/shopify-products-cache-db-service.js.map +1 -1
  16. package/dist/cjs/services/generic-cache-service.d.ts +8 -0
  17. package/dist/cjs/services/generic-cache-service.js +31 -0
  18. package/dist/cjs/services/generic-cache-service.js.map +1 -0
  19. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +7 -0
  20. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +48 -0
  21. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js.map +1 -0
  22. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +6 -0
  23. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +80 -0
  24. package/dist/cjs/services/shopify/shopify-graphql-transformer.js.map +1 -0
  25. package/dist/cjs/services/shopify/types/product.d.ts +83 -0
  26. package/dist/cjs/services/shopify/types/product.js +10 -0
  27. package/dist/cjs/services/shopify/types/product.js.map +1 -0
  28. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +34 -3
  29. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +1 -0
  30. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +106 -0
  31. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js.map +1 -0
  32. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -0
  33. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +93 -0
  34. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js.map +1 -0
  35. package/dist/esm/clients/third-party/shopify-client.d.ts +0 -2
  36. package/dist/esm/clients/third-party/shopify-client.js +0 -54
  37. package/dist/esm/clients/third-party/shopify-client.js.map +1 -1
  38. package/dist/esm/services/cache/product-cache-service.d.ts +9 -0
  39. package/dist/esm/services/cache/product-cache-service.js +28 -0
  40. package/dist/esm/services/cache/product-cache-service.js.map +1 -0
  41. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +2 -6
  42. package/dist/esm/services/db/shopify-products-cache-db-service.js +16 -64
  43. package/dist/esm/services/db/shopify-products-cache-db-service.js.map +1 -1
  44. package/dist/esm/services/generic-cache-service.d.ts +8 -0
  45. package/dist/esm/services/generic-cache-service.js +27 -0
  46. package/dist/esm/services/generic-cache-service.js.map +1 -0
  47. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +7 -0
  48. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +44 -0
  49. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js.map +1 -0
  50. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +6 -0
  51. package/dist/esm/services/shopify/shopify-graphql-transformer.js +77 -0
  52. package/dist/esm/services/shopify/shopify-graphql-transformer.js.map +1 -0
  53. package/dist/esm/services/shopify/types/product.d.ts +83 -0
  54. package/dist/esm/services/shopify/types/product.js +7 -0
  55. package/dist/esm/services/shopify/types/product.js.map +1 -0
  56. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +34 -3
  57. package/package.json +6 -1
@@ -0,0 +1 @@
1
+ export declare const graphqlProductQueryByProductId = "\n#graphql\nquery GetProduct($id: ID!, $first: Int!, $after: String) {\n product(id: $id) { \n id\n handle\n productType\n hasOnlyDefaultVariant\n isGiftCard\n legacyResourceId\n onlineStoreUrl\n productType\n publishedAt\n requiresSellingPlan\n status\n tags\n title\n totalInventory\n tracksInventory\n vendor\n createdAt\n updatedAt\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 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 image {\n id\n url \n }\n inventoryQuantity\n price \n media (first: 10) {\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 media (first: 10) {\n nodes {\n id\n mediaContentType\n status\n preview {\n image {\n id\n url\n }\n status\n }\n }\n }\n category {\n id\n name\n fullName\n parentId\n }\n }\n}\n";
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.graphqlProductQueryByProductId = void 0;
4
+ exports.graphqlProductQueryByProductId = `
5
+ #graphql
6
+ query GetProduct($id: ID!, $first: Int!, $after: String) {
7
+ product(id: $id) {
8
+ id
9
+ handle
10
+ productType
11
+ hasOnlyDefaultVariant
12
+ isGiftCard
13
+ legacyResourceId
14
+ onlineStoreUrl
15
+ productType
16
+ publishedAt
17
+ requiresSellingPlan
18
+ status
19
+ tags
20
+ title
21
+ totalInventory
22
+ tracksInventory
23
+ vendor
24
+ createdAt
25
+ updatedAt
26
+ priceRangeV2 {
27
+ maxVariantPrice {
28
+ amount
29
+ currencyCode
30
+ }
31
+ minVariantPrice {
32
+ amount
33
+ currencyCode
34
+ }
35
+ }
36
+ variantsCount {
37
+ count
38
+ }
39
+ seo {
40
+ title
41
+ description
42
+ }
43
+ variants (first: $first, after: $after) {
44
+ pageInfo {
45
+ hasNextPage
46
+ endCursor
47
+ }
48
+ nodes {
49
+ availableForSale
50
+ barcode
51
+ compareAtPrice
52
+ createdAt
53
+ displayName
54
+ id
55
+ image {
56
+ id
57
+ url
58
+ }
59
+ inventoryQuantity
60
+ price
61
+ media (first: 10) {
62
+ nodes {
63
+ id
64
+ mediaContentType
65
+ status
66
+ preview {
67
+ image {
68
+ id
69
+ url
70
+ }
71
+ status
72
+ }
73
+ }
74
+ }
75
+ selectedOptions {
76
+ name
77
+ value
78
+ }
79
+ sellableOnlineQuantity
80
+ sku
81
+ taxable
82
+ title
83
+ updatedAt
84
+ }
85
+ }
86
+ media (first: 10) {
87
+ nodes {
88
+ id
89
+ mediaContentType
90
+ status
91
+ preview {
92
+ image {
93
+ id
94
+ url
95
+ }
96
+ status
97
+ }
98
+ }
99
+ }
100
+ category {
101
+ id
102
+ name
103
+ fullName
104
+ parentId
105
+ }
106
+ }
107
+ }
108
+ `;
109
+ //# sourceMappingURL=graphql-product-queries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphql-product-queries.js","sourceRoot":"","sources":["../../../../../src/clients/third-party/shopify/graphql-product-queries.ts"],"names":[],"mappings":";;;AAAa,QAAA,8BAA8B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwG7C,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { AdminApiClient } from '@shopify/admin-api-client';
2
+ import { Product } from '../../../types';
3
+ export declare class ShopifyGraphQLClient {
4
+ static _shopify_api_version: string;
5
+ static getClient: (shop: string, accessToken: string) => AdminApiClient;
6
+ static getProductWithVariantsGraphQL: (shop: string, accessToken: string, productId: string, pageSize?: number) => Promise<Product | undefined>;
7
+ private static executePagedProductQuery;
8
+ private static executeProductQuery;
9
+ }
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShopifyGraphQLClient = void 0;
4
+ const admin_api_client_1 = require("@shopify/admin-api-client");
5
+ const helpers_1 = require("../../../helpers");
6
+ const graphql_product_queries_1 = require("./graphql-product-queries");
7
+ class ShopifyGraphQLClient {
8
+ static _shopify_api_version = process.env.SHOPIFY_API_VERSION;
9
+ static getClient = (shop, accessToken) => {
10
+ const client = (0, admin_api_client_1.createAdminApiClient)({
11
+ storeDomain: shop,
12
+ accessToken: accessToken,
13
+ apiVersion: '2024-10',
14
+ retries: 1
15
+ });
16
+ return client;
17
+ };
18
+ static getProductWithVariantsGraphQL = async (shop, accessToken, productId, pageSize = 100) => {
19
+ try {
20
+ const client = this.getClient(shop, accessToken);
21
+ const product = await this.executePagedProductQuery(client, productId, pageSize, null);
22
+ return product ?? undefined;
23
+ }
24
+ catch (error) {
25
+ helpers_1.Logger.error('Failed getProductWithVariantsGraphQL', {
26
+ error,
27
+ shop,
28
+ accessToken,
29
+ productId
30
+ });
31
+ return undefined;
32
+ }
33
+ };
34
+ static executePagedProductQuery = async (client, productId, pageSize, cursor) => {
35
+ try {
36
+ let product = null;
37
+ const allVariants = [];
38
+ let hasNextPage = true;
39
+ while (hasNextPage) {
40
+ helpers_1.Logger.info('executePagedProductQuery', { productId, pageSize, cursor });
41
+ product = await this.executeProductQuery(client, productId, pageSize, cursor ?? null);
42
+ if (!product) {
43
+ helpers_1.Logger.error('Product not found', { product, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
44
+ break;
45
+ }
46
+ allVariants.push(...(product?.variants?.nodes ?? []));
47
+ hasNextPage = product?.variants?.pageInfo?.hasNextPage;
48
+ cursor = product?.variants?.pageInfo?.endCursor;
49
+ if (hasNextPage) {
50
+ helpers_1.Logger.info('hasNextPage product variants', { hasNextPage, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
51
+ }
52
+ }
53
+ if (product) {
54
+ product.variants.nodes = allVariants;
55
+ }
56
+ return product ?? undefined;
57
+ }
58
+ catch (error) {
59
+ helpers_1.Logger.error('Failed to execute paged product query', { error, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
60
+ throw error;
61
+ }
62
+ };
63
+ static executeProductQuery = async (client, productId, pageSize, cursor) => {
64
+ try {
65
+ let product = null;
66
+ const result = await client.request(graphql_product_queries_1.graphqlProductQueryByProductId, {
67
+ variables: {
68
+ id: `gid://shopify/Product/${productId}`,
69
+ first: pageSize,
70
+ after: cursor
71
+ }
72
+ });
73
+ if (result?.errors) {
74
+ helpers_1.Logger.error('Failed to executeProductQuery -- response errors', {
75
+ result,
76
+ responseErrors: result.errors,
77
+ shop: client.config.storeDomain,
78
+ productId,
79
+ cursor
80
+ });
81
+ throw result.errors;
82
+ }
83
+ product = result?.data?.product;
84
+ if (!product) {
85
+ helpers_1.Logger.error('Failed to get product', { result, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
86
+ throw new Error('Failed to get product - No product found');
87
+ }
88
+ return product;
89
+ }
90
+ catch (error) {
91
+ helpers_1.Logger.error('Failed to executeProductQuery -- exception', { error, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
92
+ throw error;
93
+ }
94
+ };
95
+ }
96
+ exports.ShopifyGraphQLClient = ShopifyGraphQLClient;
97
+ //# sourceMappingURL=shopify-graphql-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shopify-graphql-client.js","sourceRoot":"","sources":["../../../../../src/clients/third-party/shopify/shopify-graphql-client.ts"],"names":[],"mappings":";;;AAAA,gEAAiF;AACjF,8CAA0C;AAE1C,uEAA2E;AAE3E,MAAa,oBAAoB;IAC/B,MAAM,CAAC,oBAAoB,GAAG,OAAO,CAAC,GAAG,CAAC,mBAA6B,CAAC;IAExE,MAAM,CAAC,SAAS,GAAG,CAAC,IAAY,EAAE,WAAmB,EAAE,EAAE;QACvD,MAAM,MAAM,GAAG,IAAA,uCAAoB,EAAC;YAClC,WAAW,EAAE,IAAI;YACjB,WAAW,EAAE,WAAW;YACxB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,CAAC;SACX,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC;IAEF,MAAM,CAAC,6BAA6B,GAAG,KAAK,EAAE,IAAY,EAAE,WAAmB,EAAE,SAAiB,EAAE,QAAQ,GAAG,GAAG,EAAgC,EAAE;QAClJ,IAAI;YACF,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAEjD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAEvF,OAAO,OAAO,IAAI,SAAS,CAAC;SAE7B;QAAC,OAAO,KAAK,EAAE;YACd,gBAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE;gBACnD,KAAK;gBACL,IAAI;gBACJ,WAAW;gBACX,SAAS;aACV,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;SAClB;IACH,CAAC,CAAC;IAEM,MAAM,CAAC,wBAAwB,GAAG,KAAK,EAAE,MAAsB,EAAE,SAAiB,EAAE,QAAgB,EAAE,MAAiC,EAAgC,EAAE;QAC/K,IAAI;YACF,IAAI,OAAO,GAA+B,IAAI,CAAC;YAC/C,MAAM,WAAW,GAAqB,EAAE,CAAC;YACzC,IAAI,WAAW,GAAG,IAAI,CAAC;YACvB,OAAO,WAAW,EAAE;gBAClB,gBAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;gBACzE,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,IAAI,IAAI,CAAC,CAAC;gBACtF,IAAI,CAAC,OAAO,EAAE;oBACZ,gBAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;oBACnI,MAAM;iBACP;gBACD,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;gBACtD,WAAW,GAAG,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,CAAC;gBACvD,MAAM,GAAG,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC;gBAEhD,IAAI,WAAW,EAAE;oBACf,gBAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;iBAElJ;aACF;YACD,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,QAAQ,CAAC,KAAK,GAAG,WAAW,CAAC;aACtC;YACD,OAAO,OAAO,IAAI,SAAS,CAAC;SAC7B;QAAC,OAAO,KAAK,EAAE;YACd,gBAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YACrJ,MAAM,KAAK,CAAC;SACb;IACH,CAAC,CAAC;IAEM,MAAM,CAAC,mBAAmB,GAAG,KAAK,EAAE,MAAsB,EAAE,SAAiB,EAAE,QAAgB,EAAE,MAAqB,EAAgC,EAAE;QAC9J,IAAI;YACF,IAAI,OAAO,GAAmB,IAAI,CAAC;YACnC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAkB,wDAA8B,EAAE;gBACnF,SAAS,EAAE;oBACT,EAAE,EAAE,yBAAyB,SAAS,EAAE;oBACxC,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,MAAM;iBACd;aACF,CAAC,CAAC;YAEH,IAAI,MAAM,EAAE,MAAM,EAAE;gBAClB,gBAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE;oBAC/D,MAAM;oBACN,cAAc,EAAE,MAAM,CAAC,MAAM;oBAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW;oBAC/B,SAAS;oBACT,MAAM;iBACP,CAAC,CAAC;gBACH,MAAM,MAAM,CAAC,MAAM,CAAC;aACrB;YACD,OAAO,GAAG,MAAM,EAAE,IAAI,EAAE,OAAkB,CAAC;YAC3C,IAAI,CAAC,OAAO,EAAE;gBACZ,gBAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;gBACtI,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;aAC7D;YACD,OAAO,OAAO,CAAC;SAChB;QAAC,OAAO,KAAU,EAAE;YACnB,gBAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;YAC1J,MAAM,KAAK,CAAC;SACb;IACH,CAAC,CAAC;;AA9FJ,oDAyHC"}
@@ -1,7 +1,6 @@
1
1
  import { GenericHttpClient } from '../generic/http-client.js';
2
2
  import { IOrder, IProduct } from 'shopify-api-node';
3
3
  import { ApiResponse } from '../../types/api-response.js';
4
- import { GetProductQuery } from '../../types/shopify-graphql-types/admin.generated.js';
5
4
  export declare class ShopifyClient {
6
5
  static _shopify_api_version: string;
7
6
  static client: GenericHttpClient;
@@ -196,5 +195,4 @@ export declare class ShopifyClient {
196
195
  };
197
196
  headers?: undefined;
198
197
  }>;
199
- static getProductGraphQL: (shop: string, accessToken: string, productId: string) => Promise<GetProductQuery | undefined>;
200
198
  }
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ShopifyClient = void 0;
4
4
  const http_client_js_1 = require("../generic/http-client.js");
5
5
  const index_js_1 = require("../../index.js");
6
- const admin_api_client_1 = require("@shopify/admin-api-client");
7
6
  class ShopifyClient {
8
7
  static _shopify_api_version = process.env.SHOPIFY_API_VERSION;
9
8
  static client;
@@ -147,59 +146,6 @@ class ShopifyClient {
147
146
  index_js_1.Logger.debug('Shopify Client Response', { res });
148
147
  return res;
149
148
  };
150
- static getProductGraphQL = async (shop, accessToken, productId) => {
151
- const client = (0, admin_api_client_1.createAdminApiClient)({
152
- storeDomain: shop,
153
- accessToken: accessToken,
154
- apiVersion: '2024-10'
155
- });
156
- const query = `
157
- #graphql
158
- query GetProduct($id: ID!) {
159
- product(id: $id) {
160
- id
161
- handle
162
- title
163
- productType
164
- variantsCount {
165
- count
166
- }
167
- variants (first: 100) {
168
- nodes {
169
- id
170
- title
171
- sku
172
- }
173
- }
174
- media (first: 10) {
175
- nodes {
176
- id
177
- mediaContentType
178
- status
179
- preview {
180
- image {
181
- id
182
- url
183
- }
184
- status
185
- }
186
- }
187
- }
188
- tags
189
- }
190
- }
191
- `;
192
- const { data, errors } = await client.request(query, {
193
- variables: {
194
- id: `gid://shopify/Product/${productId}`
195
- }
196
- });
197
- if (errors?.networkStatusCode) {
198
- index_js_1.Logger.error('Failed to get Product', { errors });
199
- return;
200
- }
201
- return data;
202
- };
203
149
  }
204
150
  exports.ShopifyClient = ShopifyClient;
205
151
  //# sourceMappingURL=shopify-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shopify-client.js","sourceRoot":"","sources":["../../../../src/clients/third-party/shopify-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shopify-client.js","sourceRoot":"","sources":["../../../../src/clients/third-party/shopify-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { InternalProduct } from '../shopify/types/product';
2
+ export declare class ProductCacheService {
3
+ private genericCacheService;
4
+ constructor(cacheLambdaFunctionArn: string);
5
+ getCacheKey: (pixelId: string, productId: string) => string;
6
+ getProductFromCache: (pixelId: string, productId: string) => Promise<InternalProduct | undefined>;
7
+ putProductInCache: (pixelId: string, productId: string, product: InternalProduct, ttlInDays?: number) => Promise<void>;
8
+ deleteProductFromCache: (pixelId: string, productId: string) => Promise<void>;
9
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProductCacheService = void 0;
4
+ const luxon_1 = require("luxon");
5
+ const generic_cache_service_1 = require("../generic-cache-service");
6
+ const libs_1 = require("../../libs");
7
+ class ProductCacheService {
8
+ genericCacheService;
9
+ constructor(cacheLambdaFunctionArn) {
10
+ this.genericCacheService = new generic_cache_service_1.GenericCacheService(cacheLambdaFunctionArn);
11
+ }
12
+ getCacheKey = (pixelId, productId) => {
13
+ return `internal:product:${pixelId}_${productId}`;
14
+ };
15
+ getProductFromCache = async (pixelId, productId) => {
16
+ const cacheKey = this.getCacheKey(pixelId, productId);
17
+ return this.genericCacheService.getCachedData(cacheKey);
18
+ };
19
+ putProductInCache = async (pixelId, productId, product, ttlInDays) => {
20
+ const cacheKey = this.getCacheKey(pixelId, productId);
21
+ const ttl = ttlInDays || 7;
22
+ const expiresAt = luxon_1.DateTime.now().plus({ days: ttl }).toSeconds();
23
+ const productCompressed = (0, libs_1.compressJSON)(product);
24
+ await this.genericCacheService.putCachedData(cacheKey, { productCompressed, expiresAt });
25
+ };
26
+ deleteProductFromCache = async (pixelId, productId) => {
27
+ const cacheKey = this.getCacheKey(pixelId, productId);
28
+ await this.genericCacheService.deleteCachedData(cacheKey);
29
+ };
30
+ }
31
+ exports.ProductCacheService = ProductCacheService;
32
+ //# sourceMappingURL=product-cache-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-cache-service.js","sourceRoot":"","sources":["../../../../src/services/cache/product-cache-service.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,oEAA+D;AAE/D,qCAA0C;AAE1C,MAAa,mBAAmB;IACtB,mBAAmB,CAAsB;IACjD,YAAY,sBAA8B;QACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,2CAAmB,CAAC,sBAAsB,CAAC,CAAC;IAC7E,CAAC;IACM,WAAW,GAAG,CAAC,OAAe,EAAE,SAAiB,EAAE,EAAE;QAC1D,OAAO,oBAAoB,OAAO,IAAI,SAAS,EAAE,CAAC;IACpD,CAAC,CAAA;IACM,mBAAmB,GAAG,KAAK,EAAE,OAAe,EAAE,SAAiB,EAAwC,EAAE;QAC9G,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAkB,QAAQ,CAAC,CAAC;IAC3E,CAAC,CAAA;IACM,iBAAiB,GAAG,KAAK,EAAE,OAAe,EAAE,SAAiB,EAAE,OAAwB,EAAE,SAAkB,EAAE,EAAE;QACpH,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACtD,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC,CAAC;QAC3B,MAAM,SAAS,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;QACjE,MAAM,iBAAiB,GAAG,IAAA,mBAAY,EAAC,OAAO,CAAC,CAAC;QAChD,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3F,CAAC,CAAA;IACM,sBAAsB,GAAG,KAAK,EAAE,OAAe,EAAE,SAAiB,EAAE,EAAE;QAC3E,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC5D,CAAC,CAAA;CACF;AAvBD,kDAuBC"}
@@ -1,13 +1,9 @@
1
- import { Product } from '../../types/shopify-graphql-types/admin.types';
2
1
  import Shopify from 'shopify-api-node';
3
2
  export declare class ShopifyProductsCacheDbService {
4
3
  TABLE_NAME: string;
5
4
  KEY_NAME: string;
6
5
  constructor(tableName: string, keyName: string);
7
- getShopifyProductCacheREST: (pixelId: string, productId: string) => Promise<Record<string, any> | null>;
6
+ getShopifyProductWithCachingREST: (pixelId: string, shop: string, accessToken: string, productId: string) => Promise<Shopify.IProduct | null>;
7
+ getShopifyProductFromCacheREST: (pixelId: string, productId: string) => Promise<Record<string, any> | null>;
8
8
  putShopifyProductCacheREST: (pixelId: string, productId: string, product: Shopify.IProduct, ttlInDays?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null>;
9
- lookupShopifyProductCacheREST: (pixelId: string, shop: string, accessToken: string, productId: string) => Promise<Shopify.IProduct | null>;
10
- putShopifyProductCacheGraphQL: (pixelId: string, productId: string, product: Partial<Product>, ttlInDays?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null>;
11
- getShopifyProductCacheGraphQL: (pixelId: string, productId: string) => Promise<Record<string, any> | null>;
12
- lookupShopifyProductCacheGraphQL: (pixelId: string, shop: string, accessToken: string, productId: string) => Promise<Partial<Product> | null>;
13
9
  }
@@ -12,36 +12,9 @@ class ShopifyProductsCacheDbService {
12
12
  this.TABLE_NAME = tableName;
13
13
  this.KEY_NAME = keyName;
14
14
  }
15
- getShopifyProductCacheREST = async (pixelId, productId) => {
15
+ getShopifyProductWithCachingREST = async (pixelId, shop, accessToken, productId) => {
16
16
  try {
17
- const cachedProduct = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, `${pixelId}_${productId}`);
18
- if (cachedProduct) {
19
- cachedProduct.product = (0, libs_1.decompressJSON)(cachedProduct.productCompressed);
20
- return cachedProduct;
21
- }
22
- return null;
23
- }
24
- catch (error) {
25
- helpers_1.Logger.error('Failed getShopifyProductCacheREST', { keyName: this.KEY_NAME, pixelId, productId, error });
26
- return null;
27
- }
28
- };
29
- putShopifyProductCacheREST = async (pixelId, productId, product, ttlInDays) => {
30
- const ttl = ttlInDays || 7;
31
- const expiresAt = luxon_1.DateTime.now().plus({ days: ttl }).toSeconds();
32
- const shopifyProductCache = {
33
- pixelId_productId: `${pixelId}_${productId}`,
34
- pixelId,
35
- productId,
36
- productCompressed: (0, libs_1.compressJSON)(product),
37
- createdAt: (0, libs_1.getCurrentTimestamp)(),
38
- expiresAt
39
- };
40
- return await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, shopifyProductCache);
41
- };
42
- lookupShopifyProductCacheREST = async (pixelId, shop, accessToken, productId) => {
43
- try {
44
- const cachedShopifyProduct = await this.getShopifyProductCacheREST(pixelId, productId);
17
+ const cachedShopifyProduct = await this.getShopifyProductFromCacheREST(pixelId, productId);
45
18
  if (cachedShopifyProduct) {
46
19
  return cachedShopifyProduct.product;
47
20
  }
@@ -60,20 +33,7 @@ class ShopifyProductsCacheDbService {
60
33
  return null;
61
34
  }
62
35
  };
63
- putShopifyProductCacheGraphQL = async (pixelId, productId, product, ttlInDays) => {
64
- const ttl = ttlInDays || 7;
65
- const expiresAt = luxon_1.DateTime.now().plus({ days: ttl }).toSeconds();
66
- const shopifyProductCache = {
67
- pixelId_productId: `${pixelId}_${productId}`,
68
- pixelId,
69
- productId,
70
- productCompressed: (0, libs_1.compressJSON)(product),
71
- createdAt: (0, libs_1.getCurrentTimestamp)(),
72
- expiresAt
73
- };
74
- return await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, shopifyProductCache);
75
- };
76
- getShopifyProductCacheGraphQL = async (pixelId, productId) => {
36
+ getShopifyProductFromCacheREST = async (pixelId, productId) => {
77
37
  try {
78
38
  const cachedProduct = await clients_1.DynamoDbClient.safeGet(this.TABLE_NAME, this.KEY_NAME, `${pixelId}_${productId}`);
79
39
  if (cachedProduct) {
@@ -83,30 +43,22 @@ class ShopifyProductsCacheDbService {
83
43
  return null;
84
44
  }
85
45
  catch (error) {
86
- helpers_1.Logger.error('Failed getShopifyProductCacheGraphQL', { keyName: this.KEY_NAME, pixelId, productId, error });
46
+ helpers_1.Logger.error('Failed getShopifyProductCacheREST', { keyName: this.KEY_NAME, pixelId, productId, error });
87
47
  return null;
88
48
  }
89
49
  };
90
- lookupShopifyProductCacheGraphQL = async (pixelId, shop, accessToken, productId) => {
91
- try {
92
- const cachedShopifyProduct = await this.getShopifyProductCacheGraphQL(pixelId, productId);
93
- if (cachedShopifyProduct) {
94
- return cachedShopifyProduct.product;
95
- }
96
- else {
97
- const productRes = await clients_1.ShopifyClient.getProductGraphQL(shop, accessToken, productId);
98
- if (productRes?.product) {
99
- const product = productRes.product;
100
- await this.putShopifyProductCacheGraphQL(pixelId, productId, product);
101
- return product;
102
- }
103
- }
104
- return null;
105
- }
106
- catch (error) {
107
- helpers_1.Logger.error('Failed lookupShopifyProductCacheGraphQL', { error });
108
- return null;
109
- }
50
+ putShopifyProductCacheREST = async (pixelId, productId, product, ttlInDays) => {
51
+ const ttl = ttlInDays || 7;
52
+ const expiresAt = luxon_1.DateTime.now().plus({ days: ttl }).toSeconds();
53
+ const shopifyProductCache = {
54
+ pixelId_productId: `${pixelId}_${productId}`,
55
+ pixelId,
56
+ productId,
57
+ productCompressed: (0, libs_1.compressJSON)(product),
58
+ createdAt: (0, libs_1.getCurrentTimestamp)(),
59
+ expiresAt
60
+ };
61
+ return await clients_1.DynamoDbClient.safePut(this.TABLE_NAME, shopifyProductCache);
110
62
  };
111
63
  }
112
64
  exports.ShopifyProductsCacheDbService = ShopifyProductsCacheDbService;
@@ -1 +1 @@
1
- {"version":3,"file":"shopify-products-cache-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/shopify-products-cache-db-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shopify-products-cache-db-service.js","sourceRoot":"","sources":["../../../../src/services/db/shopify-products-cache-db-service.ts"],"names":[],"mappings":";;;AAAA,2CAA8D;AAC9D,qCAA+E;AAC/E,iCAAiC;AACjC,2CAAuC;AAGvC,MAAa,6BAA6B;IACjC,UAAU,CAAS;IACnB,QAAQ,CAAS;IAExB,YAAY,SAAiB,EAAE,OAAe;QAC5C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;IAC1B,CAAC;IACM,gCAAgC,GAAG,KAAK,EAAE,OAAe,EAAE,IAAY,EAAE,WAAmB,EAAE,SAAiB,EAAoC,EAAE;QAC1J,IAAI;YACF,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,8BAA8B,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;YAC3F,IAAI,oBAAoB,EAAE;gBACxB,OAAO,oBAAoB,CAAC,OAA2B,CAAC;aACzD;iBAAM;gBACL,MAAM,UAAU,GAAG,MAAM,uBAAa,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;gBACpF,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,IAAI,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;oBAC1D,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC;oBACxC,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;oBACnE,OAAO,OAAO,CAAC;iBAChB;aACF;YAED,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,KAAK,EAAE;YACd,gBAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YAChE,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;IAEK,8BAA8B,GAAG,KAAK,EAAE,OAAe,EAAE,SAAiB,EAAE,EAAE;QACnF,IAAI;YACF,MAAM,aAAa,GAAG,MAAM,wBAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;YAC9G,IAAI,aAAa,EAAE;gBACjB,aAAa,CAAC,OAAO,GAAG,IAAA,qBAAc,EAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;gBACxE,OAAO,aAAa,CAAC;aACtB;YACD,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,KAAK,EAAE;YACd,gBAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACzG,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;IAEK,0BAA0B,GAAG,KAAK,EAAE,OAAe,EAAE,SAAiB,EAAE,OAAyB,EAAE,SAAkB,EAAE,EAAE;QAC9H,MAAM,GAAG,GAAG,SAAS,IAAI,CAAC,CAAC;QAC3B,MAAM,SAAS,GAAG,gBAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;QAEjE,MAAM,mBAAmB,GAAG;YAC1B,iBAAiB,EAAE,GAAG,OAAO,IAAI,SAAS,EAAE;YAC5C,OAAO;YACP,SAAS;YACT,iBAAiB,EAAE,IAAA,mBAAY,EAAC,OAAO,CAAC;YACxC,SAAS,EAAE,IAAA,0BAAmB,GAAE;YAChC,SAAS;SACV,CAAC;QACF,OAAO,MAAM,wBAAc,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAC;IAC5E,CAAC,CAAC;CA8DH;AAtHD,sEAsHC"}
@@ -0,0 +1,8 @@
1
+ export declare class GenericCacheService {
2
+ private cacheLambdaClient;
3
+ private lambdaInvokeClient;
4
+ constructor(cacheLambdaFunctionArn: string);
5
+ getCachedData: <T>(cacheKey: string) => Promise<T | undefined>;
6
+ putCachedData: <T>(cacheKey: string, data: T) => Promise<void>;
7
+ deleteCachedData: (cacheKey: string) => Promise<void>;
8
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GenericCacheService = void 0;
4
+ const clients_1 = require("../clients");
5
+ const helpers_1 = require("../helpers");
6
+ class GenericCacheService {
7
+ cacheLambdaClient;
8
+ lambdaInvokeClient;
9
+ constructor(cacheLambdaFunctionArn) {
10
+ this.cacheLambdaClient = new clients_1.CacheLambdaClient(cacheLambdaFunctionArn);
11
+ this.lambdaInvokeClient = new clients_1.LambdaInvokeClient();
12
+ }
13
+ getCachedData = async (cacheKey) => {
14
+ const start = performance.now();
15
+ const cacheResponse = await this.cacheLambdaClient.invokeGet(cacheKey);
16
+ const end = performance.now();
17
+ helpers_1.Logger.debug('getCachedData', { cacheKey, cacheResponse, duration: end - start });
18
+ if (cacheResponse && cacheResponse.responseData) {
19
+ return cacheResponse.responseData;
20
+ }
21
+ return undefined;
22
+ };
23
+ putCachedData = async (cacheKey, data) => {
24
+ await this.cacheLambdaClient.invokeSet(cacheKey, JSON.stringify(data));
25
+ };
26
+ deleteCachedData = async (cacheKey) => {
27
+ await this.cacheLambdaClient.invokeDelete(cacheKey);
28
+ };
29
+ }
30
+ exports.GenericCacheService = GenericCacheService;
31
+ //# sourceMappingURL=generic-cache-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generic-cache-service.js","sourceRoot":"","sources":["../../../src/services/generic-cache-service.ts"],"names":[],"mappings":";;;AAAA,wCAAmE;AACnE,wCAAoC;AAEpC,MAAa,mBAAmB;IAEtB,iBAAiB,CAAoB;IACrC,kBAAkB,CAAqB;IAE/C,YAAY,sBAA8B;QACxC,IAAI,CAAC,iBAAiB,GAAG,IAAI,2BAAiB,CAAC,sBAAsB,CAAC,CAAC;QACvE,IAAI,CAAC,kBAAkB,GAAG,IAAI,4BAAkB,EAAE,CAAC;IACrD,CAAC;IAEM,aAAa,GAAG,KAAK,EAAK,QAAgB,EAA0B,EAAE;QAC3E,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAChC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACvE,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAC9B,gBAAM,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;QAClF,IAAI,aAAa,IAAI,aAAa,CAAC,YAAY,EAAE;YAC/C,OAAO,aAAa,CAAC,YAAiB,CAAC;SACxC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC,CAAA;IACM,aAAa,GAAG,KAAK,EAAK,QAAgB,EAAE,IAAO,EAAE,EAAE;QAC5D,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IACzE,CAAC,CAAA;IACM,gBAAgB,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;QACnD,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC,CAAA;CACF;AA1BD,kDA0BC"}
@@ -0,0 +1,7 @@
1
+ import { InternalProduct } from '../types/product';
2
+ export declare class ShopifyProductsServiceV2 {
3
+ private productCacheService;
4
+ constructor(cacheLambdaFunctionArn: string);
5
+ getShopifyProduct: (pixelId: string, shop: string, accessToken: string, productId: string, useCache?: boolean, updateCache?: boolean) => Promise<InternalProduct | undefined | null>;
6
+ private getShopifyProductFromAPI;
7
+ }
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShopifyProductsServiceV2 = void 0;
4
+ const helpers_1 = require("../../../helpers");
5
+ const product_cache_service_1 = require("../../cache/product-cache-service");
6
+ const shopify_graphql_transformer_1 = require("../shopify-graphql-transformer");
7
+ const shopify_graphql_client_1 = require("../../../clients/third-party/shopify/shopify-graphql-client");
8
+ class ShopifyProductsServiceV2 {
9
+ productCacheService;
10
+ constructor(cacheLambdaFunctionArn) {
11
+ this.productCacheService = new product_cache_service_1.ProductCacheService(cacheLambdaFunctionArn);
12
+ }
13
+ getShopifyProduct = async (pixelId, shop, accessToken, productId, useCache = true, updateCache = true) => {
14
+ try {
15
+ let product = null;
16
+ if (useCache) {
17
+ product = await this.productCacheService.getProductFromCache(pixelId, productId);
18
+ if (product) {
19
+ return product;
20
+ }
21
+ }
22
+ product = await this.getShopifyProductFromAPI(pixelId, shop, accessToken, productId, true);
23
+ if (product && updateCache) {
24
+ await this.productCacheService.putProductInCache(pixelId, productId, product);
25
+ }
26
+ return product;
27
+ }
28
+ catch (error) {
29
+ helpers_1.Logger.error('Failed getShopifyProductWithCachingGraphQL', { error });
30
+ return null;
31
+ }
32
+ };
33
+ getShopifyProductFromAPI = async (pixelId, shop, accessToken, productId, useTransformer = true) => {
34
+ try {
35
+ const product = await shopify_graphql_client_1.ShopifyGraphQLClient.getProductWithVariantsGraphQL(shop, accessToken, productId, 100);
36
+ if (product) {
37
+ return useTransformer ? shopify_graphql_transformer_1.ShopifyGraphQLTransformer.transformToInternalProduct(product) : product;
38
+ }
39
+ return null;
40
+ }
41
+ catch (error) {
42
+ helpers_1.Logger.error('Failed getShopifyProductFromAPI', { e: error, pixelId, shop, accessToken, productId, useTransformer, error });
43
+ return null;
44
+ }
45
+ };
46
+ }
47
+ exports.ShopifyProductsServiceV2 = ShopifyProductsServiceV2;
48
+ //# sourceMappingURL=shopify-products-serviceV2.js.map