@adtrackify/at-service-common 3.1.4 → 3.1.6

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 (87) 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 -127
  9. package/dist/cjs/clients/third-party/shopify-client.js.map +1 -1
  10. package/dist/cjs/services/cache/index.d.ts +1 -0
  11. package/dist/cjs/services/cache/index.js +18 -0
  12. package/dist/cjs/services/cache/index.js.map +1 -0
  13. package/dist/cjs/services/cache/product-cache-service.d.ts +9 -0
  14. package/dist/cjs/services/cache/product-cache-service.js +32 -0
  15. package/dist/cjs/services/cache/product-cache-service.js.map +1 -0
  16. package/dist/cjs/services/db/shopify-products-cache-db-service.d.ts +0 -11
  17. package/dist/cjs/services/db/shopify-products-cache-db-service.js +0 -43
  18. package/dist/cjs/services/db/shopify-products-cache-db-service.js.map +1 -1
  19. package/dist/cjs/services/generic-cache-service.d.ts +8 -0
  20. package/dist/cjs/services/generic-cache-service.js +31 -0
  21. package/dist/cjs/services/generic-cache-service.js.map +1 -0
  22. package/dist/cjs/services/index.d.ts +3 -0
  23. package/dist/cjs/services/index.js +3 -0
  24. package/dist/cjs/services/index.js.map +1 -1
  25. package/dist/cjs/services/shopify/index.d.ts +3 -0
  26. package/dist/cjs/services/shopify/index.js +20 -0
  27. package/dist/cjs/services/shopify/index.js.map +1 -0
  28. package/dist/cjs/services/shopify/products/index.d.ts +1 -0
  29. package/dist/cjs/services/shopify/products/index.js +18 -0
  30. package/dist/cjs/services/shopify/products/index.js.map +1 -0
  31. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.d.ts +7 -0
  32. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js +53 -0
  33. package/dist/cjs/services/shopify/products/shopify-products-serviceV2.js.map +1 -0
  34. package/dist/cjs/services/shopify/shopify-graphql-transformer.d.ts +6 -0
  35. package/dist/cjs/services/shopify/shopify-graphql-transformer.js +80 -0
  36. package/dist/cjs/services/shopify/shopify-graphql-transformer.js.map +1 -0
  37. package/dist/cjs/services/shopify/types/index.d.ts +1 -0
  38. package/dist/cjs/services/shopify/types/index.js +18 -0
  39. package/dist/cjs/services/shopify/types/index.js.map +1 -0
  40. package/dist/cjs/services/shopify/types/product.d.ts +83 -0
  41. package/dist/cjs/services/shopify/types/product.js +10 -0
  42. package/dist/cjs/services/shopify/types/product.js.map +1 -0
  43. package/dist/cjs/types/shopify-graphql-types/admin.generated.d.ts +4 -1
  44. package/dist/esm/clients/third-party/shopify/graphql-product-queries.d.ts +1 -0
  45. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js +106 -0
  46. package/dist/esm/clients/third-party/shopify/graphql-product-queries.js.map +1 -0
  47. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.d.ts +9 -0
  48. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js +93 -0
  49. package/dist/esm/clients/third-party/shopify/shopify-graphql-client.js.map +1 -0
  50. package/dist/esm/clients/third-party/shopify-client.d.ts +0 -2
  51. package/dist/esm/clients/third-party/shopify-client.js +0 -127
  52. package/dist/esm/clients/third-party/shopify-client.js.map +1 -1
  53. package/dist/esm/services/cache/index.d.ts +1 -0
  54. package/dist/esm/services/cache/index.js +2 -0
  55. package/dist/esm/services/cache/index.js.map +1 -0
  56. package/dist/esm/services/cache/product-cache-service.d.ts +9 -0
  57. package/dist/esm/services/cache/product-cache-service.js +28 -0
  58. package/dist/esm/services/cache/product-cache-service.js.map +1 -0
  59. package/dist/esm/services/db/shopify-products-cache-db-service.d.ts +0 -11
  60. package/dist/esm/services/db/shopify-products-cache-db-service.js +0 -43
  61. package/dist/esm/services/db/shopify-products-cache-db-service.js.map +1 -1
  62. package/dist/esm/services/generic-cache-service.d.ts +8 -0
  63. package/dist/esm/services/generic-cache-service.js +27 -0
  64. package/dist/esm/services/generic-cache-service.js.map +1 -0
  65. package/dist/esm/services/index.d.ts +3 -0
  66. package/dist/esm/services/index.js +3 -0
  67. package/dist/esm/services/index.js.map +1 -1
  68. package/dist/esm/services/shopify/index.d.ts +3 -0
  69. package/dist/esm/services/shopify/index.js +4 -0
  70. package/dist/esm/services/shopify/index.js.map +1 -0
  71. package/dist/esm/services/shopify/products/index.d.ts +1 -0
  72. package/dist/esm/services/shopify/products/index.js +2 -0
  73. package/dist/esm/services/shopify/products/index.js.map +1 -0
  74. package/dist/esm/services/shopify/products/shopify-products-serviceV2.d.ts +7 -0
  75. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js +49 -0
  76. package/dist/esm/services/shopify/products/shopify-products-serviceV2.js.map +1 -0
  77. package/dist/esm/services/shopify/shopify-graphql-transformer.d.ts +6 -0
  78. package/dist/esm/services/shopify/shopify-graphql-transformer.js +77 -0
  79. package/dist/esm/services/shopify/shopify-graphql-transformer.js.map +1 -0
  80. package/dist/esm/services/shopify/types/index.d.ts +1 -0
  81. package/dist/esm/services/shopify/types/index.js +2 -0
  82. package/dist/esm/services/shopify/types/index.js.map +1 -0
  83. package/dist/esm/services/shopify/types/product.d.ts +83 -0
  84. package/dist/esm/services/shopify/types/product.js +7 -0
  85. package/dist/esm/services/shopify/types/product.js.map +1 -0
  86. package/dist/esm/types/shopify-graphql-types/admin.generated.d.ts +4 -1
  87. package/package.json +1 -1
@@ -1,6 +1,5 @@
1
1
  import { axiosHttpService } from '../generic/http-client.js';
2
2
  import { Logger } from '../../index.js';
3
- import { createAdminApiClient } from '@shopify/admin-api-client';
4
3
  export class ShopifyClient {
5
4
  static _shopify_api_version = process.env.SHOPIFY_API_VERSION;
6
5
  static client;
@@ -144,131 +143,5 @@ export class ShopifyClient {
144
143
  Logger.debug('Shopify Client Response', { res });
145
144
  return res;
146
145
  };
147
- static getProductGraphQL = async (shop, accessToken, productId) => {
148
- try {
149
- const client = createAdminApiClient({
150
- storeDomain: shop,
151
- accessToken: accessToken,
152
- apiVersion: '2024-10'
153
- });
154
- const query = `
155
- #graphql
156
- query GetProduct($id: ID!) {
157
- product(id: $id) {
158
-
159
- id
160
- handle
161
- productType
162
- hasOnlyDefaultVariant
163
- isGiftCard
164
- legacyResourceId
165
- onlineStoreUrl
166
- productType
167
- publishedAt
168
- requiresSellingPlan
169
- status
170
- tags
171
- title
172
- totalInventory
173
- tracksInventory
174
- vendor
175
- createdAt
176
- updatedAt
177
- priceRangeV2 {
178
- maxVariantPrice {
179
- amount
180
- currencyCode
181
- }
182
- minVariantPrice {
183
- amount
184
- currencyCode
185
- }
186
- }
187
- variantsCount {
188
- count
189
- }
190
- seo {
191
- title
192
- description
193
- }
194
- variants (first: 100) {
195
- nodes {
196
- availableForSale
197
- barcode
198
- compareAtPrice
199
- createdAt
200
- displayName
201
- id
202
- image {
203
- id
204
- url
205
- }
206
- inventoryQuantity
207
- price
208
- media (first: 10) {
209
- nodes {
210
- id
211
- mediaContentType
212
- status
213
- preview {
214
- image {
215
- id
216
- url
217
- }
218
- status
219
- }
220
- }
221
- }
222
- selectedOptions {
223
- name
224
- value
225
- }
226
- sellableOnlineQuantity
227
- sku
228
- taxable
229
- title
230
- updatedAt
231
- }
232
- }
233
- media (first: 10) {
234
- nodes {
235
- id
236
- mediaContentType
237
- status
238
- preview {
239
- image {
240
- id
241
- url
242
- }
243
- status
244
- }
245
- }
246
- }
247
- category {
248
- id
249
- name
250
- fullName
251
- parentId
252
- }
253
- }
254
- }
255
- `;
256
- const result = await client.request(query, {
257
- variables: {
258
- id: `gid://shopify/Product/${productId}`
259
- }
260
- });
261
- Logger.info('getProductGraphQL - result', { result });
262
- if (result?.errors) {
263
- Logger.error('Failed to get Product', { result, errors: result.errors, shop, accessToken, productId, query, data: result?.data });
264
- throw result.errors;
265
- }
266
- return result.data;
267
- }
268
- catch (error) {
269
- Logger.error('Failed to getProductGraphQL', { error, e: error, shop, accessToken, productId });
270
- throw error;
271
- }
272
- };
273
146
  }
274
147
  //# 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 @@
1
+ export * from './product-cache-service.js';
@@ -0,0 +1,2 @@
1
+ export * from './product-cache-service.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/cache/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC"}
@@ -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,28 @@
1
+ import { DateTime } from 'luxon';
2
+ import { GenericCacheService } from '../generic-cache-service';
3
+ import { compressJSON } from '../../libs';
4
+ export class ProductCacheService {
5
+ genericCacheService;
6
+ constructor(cacheLambdaFunctionArn) {
7
+ this.genericCacheService = new GenericCacheService(cacheLambdaFunctionArn);
8
+ }
9
+ getCacheKey = (pixelId, productId) => {
10
+ return `internal:product:${pixelId}_${productId}`;
11
+ };
12
+ getProductFromCache = async (pixelId, productId) => {
13
+ const cacheKey = this.getCacheKey(pixelId, productId);
14
+ return this.genericCacheService.getCachedData(cacheKey);
15
+ };
16
+ putProductInCache = async (pixelId, productId, product, ttlInDays) => {
17
+ const cacheKey = this.getCacheKey(pixelId, productId);
18
+ const ttl = ttlInDays || 7;
19
+ const expiresAt = DateTime.now().plus({ days: ttl }).toSeconds();
20
+ const productCompressed = compressJSON(product);
21
+ await this.genericCacheService.putCachedData(cacheKey, { productCompressed, expiresAt });
22
+ };
23
+ deleteProductFromCache = async (pixelId, productId) => {
24
+ const cacheKey = this.getCacheKey(pixelId, productId);
25
+ await this.genericCacheService.deleteCachedData(cacheKey);
26
+ };
27
+ }
28
+ //# 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,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,OAAO,mBAAmB;IACtB,mBAAmB,CAAsB;IACjD,YAAY,sBAA8B;QACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,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,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC;QACjE,MAAM,iBAAiB,GAAG,YAAY,CAAC,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"}
@@ -1,4 +1,3 @@
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;
@@ -7,14 +6,4 @@ export declare class ShopifyProductsCacheDbService {
7
6
  getShopifyProductWithCachingREST: (pixelId: string, shop: string, accessToken: string, productId: string) => Promise<Shopify.IProduct | null>;
8
7
  getShopifyProductFromCacheREST: (pixelId: string, productId: string) => Promise<Record<string, any> | null>;
9
8
  putShopifyProductCacheREST: (pixelId: string, productId: string, product: Shopify.IProduct, ttlInDays?: number) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput | null>;
10
- getShopifyProductWithCachingGraphQL: (pixelId: string, shop: string, accessToken: string, productId: string) => Promise<Partial<Product> | null>;
11
- putShopifyProductCacheGraphQL: (pixelId: string, productId: string, product: Partial<Product>, ttlInDays?: number) => Promise<{
12
- pixelId_productId: string;
13
- pixelId: string;
14
- productId: string;
15
- productCompressed: string | null;
16
- createdAt: string;
17
- expiresAt: number;
18
- }>;
19
- getShopifyProductFromCacheGraphQL: (pixelId: string, productId: string) => Promise<null>;
20
9
  }
@@ -57,48 +57,5 @@ export class ShopifyProductsCacheDbService {
57
57
  };
58
58
  return await DynamoDbClient.safePut(this.TABLE_NAME, shopifyProductCache);
59
59
  };
60
- getShopifyProductWithCachingGraphQL = async (pixelId, shop, accessToken, productId) => {
61
- try {
62
- const cachedShopifyProduct = await this.getShopifyProductFromCacheGraphQL(pixelId, productId);
63
- if (cachedShopifyProduct) {
64
- return cachedShopifyProduct;
65
- }
66
- else {
67
- const productRes = await ShopifyClient.getProductGraphQL(shop, accessToken, productId);
68
- if (productRes?.product) {
69
- Logger.info('getShopifyProductWithCachingGraphQL - productRes', { productRes });
70
- const product = productRes.product;
71
- return product;
72
- }
73
- }
74
- return null;
75
- }
76
- catch (error) {
77
- Logger.error('Failed getShopifyProductWithCachingGraphQL', { error });
78
- return null;
79
- }
80
- };
81
- putShopifyProductCacheGraphQL = async (pixelId, productId, product, ttlInDays) => {
82
- const ttl = ttlInDays || 7;
83
- const expiresAt = DateTime.now().plus({ days: ttl }).toSeconds();
84
- const shopifyProductCache = {
85
- pixelId_productId: `${pixelId}_${productId}`,
86
- pixelId,
87
- productId,
88
- productCompressed: compressJSON(product),
89
- createdAt: getCurrentTimestamp(),
90
- expiresAt
91
- };
92
- return shopifyProductCache;
93
- };
94
- getShopifyProductFromCacheGraphQL = async (pixelId, productId) => {
95
- try {
96
- return null;
97
- }
98
- catch (error) {
99
- Logger.error('Failed getShopifyProductCacheGraphQL', { keyName: this.KEY_NAME, pixelId, productId, error });
100
- return null;
101
- }
102
- };
103
60
  }
104
61
  //# sourceMappingURL=shopify-products-cache-db-service.js.map
@@ -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":"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"}
@@ -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,27 @@
1
+ import { CacheLambdaClient, LambdaInvokeClient } from '../clients';
2
+ import { Logger } from '../helpers';
3
+ export class GenericCacheService {
4
+ cacheLambdaClient;
5
+ lambdaInvokeClient;
6
+ constructor(cacheLambdaFunctionArn) {
7
+ this.cacheLambdaClient = new CacheLambdaClient(cacheLambdaFunctionArn);
8
+ this.lambdaInvokeClient = new LambdaInvokeClient();
9
+ }
10
+ getCachedData = async (cacheKey) => {
11
+ const start = performance.now();
12
+ const cacheResponse = await this.cacheLambdaClient.invokeGet(cacheKey);
13
+ const end = performance.now();
14
+ Logger.debug('getCachedData', { cacheKey, cacheResponse, duration: end - start });
15
+ if (cacheResponse && cacheResponse.responseData) {
16
+ return cacheResponse.responseData;
17
+ }
18
+ return undefined;
19
+ };
20
+ putCachedData = async (cacheKey, data) => {
21
+ await this.cacheLambdaClient.invokeSet(cacheKey, JSON.stringify(data));
22
+ };
23
+ deleteCachedData = async (cacheKey) => {
24
+ await this.cacheLambdaClient.invokeDelete(cacheKey);
25
+ };
26
+ }
27
+ //# 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,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,OAAO,mBAAmB;IAEtB,iBAAiB,CAAoB;IACrC,kBAAkB,CAAqB;IAE/C,YAAY,sBAA8B;QACxC,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,sBAAsB,CAAC,CAAC;QACvE,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,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,MAAM,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"}
@@ -2,4 +2,7 @@ export * from './eventbridge-integration-service.js';
2
2
  export * from './ipdata-lookup-service.js';
3
3
  export * from './log-event-service.js';
4
4
  export * from './metric-event-service.js';
5
+ export * from './generic-cache-service.js';
5
6
  export * from './db';
7
+ export * from './shopify';
8
+ export * from './cache';
@@ -2,5 +2,8 @@ export * from './eventbridge-integration-service.js';
2
2
  export * from './ipdata-lookup-service.js';
3
3
  export * from './log-event-service.js';
4
4
  export * from './metric-event-service.js';
5
+ export * from './generic-cache-service.js';
5
6
  export * from './db';
7
+ export * from './shopify';
8
+ export * from './cache';
6
9
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,sCAAsC,CAAC;AACrD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,MAAM,CAAC;AACrB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,3 @@
1
+ export * from './products';
2
+ export * from './types';
3
+ export * from './shopify-graphql-transformer.js';
@@ -0,0 +1,4 @@
1
+ export * from './products';
2
+ export * from './types';
3
+ export * from './shopify-graphql-transformer.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/shopify/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,kCAAkC,CAAC"}
@@ -0,0 +1 @@
1
+ export * from './shopify-products-serviceV2.js';
@@ -0,0 +1,2 @@
1
+ export * from './shopify-products-serviceV2.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/shopify/products/index.ts"],"names":[],"mappings":"AAAA,cAAc,iCAAiC,CAAC"}
@@ -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,49 @@
1
+ import { Logger } from '../../../helpers';
2
+ import { ProductCacheService } from '../../cache/product-cache-service';
3
+ import { ShopifyGraphQLTransformer } from '../shopify-graphql-transformer';
4
+ import { ShopifyGraphQLClient } from '../../../clients/third-party/shopify/shopify-graphql-client';
5
+ export class ShopifyProductsServiceV2 {
6
+ productCacheService;
7
+ constructor(cacheLambdaFunctionArn) {
8
+ this.productCacheService = new ProductCacheService(cacheLambdaFunctionArn);
9
+ }
10
+ getShopifyProduct = async (pixelId, shop, accessToken, productId, useCache = true, updateCache = true) => {
11
+ try {
12
+ let product = null;
13
+ if (useCache) {
14
+ Logger.info('Getting product from cache', { pixelId, shop, productId });
15
+ product = await this.productCacheService.getProductFromCache(pixelId, productId);
16
+ if (product) {
17
+ Logger.info('Product found in cache', { pixelId, shop, productId });
18
+ return product;
19
+ }
20
+ }
21
+ Logger.info('Getting product from ShopifyAPI', { pixelId, shop, productId });
22
+ product = await this.getShopifyProductFromAPI(pixelId, shop, accessToken, productId, true);
23
+ if (product && updateCache) {
24
+ Logger.info('Product found in ShopifyAPI, putting in cache', { pixelId, productId });
25
+ await this.productCacheService.putProductInCache(pixelId, productId, product);
26
+ }
27
+ Logger.info('Returning product', { pixelId, shop, productId, product });
28
+ return product;
29
+ }
30
+ catch (error) {
31
+ Logger.error('Failed getShopifyProductWithCachingGraphQL', { error });
32
+ return null;
33
+ }
34
+ };
35
+ getShopifyProductFromAPI = async (pixelId, shop, accessToken, productId, useTransformer = true) => {
36
+ try {
37
+ const product = await ShopifyGraphQLClient.getProductWithVariantsGraphQL(shop, accessToken, productId, 100);
38
+ if (product) {
39
+ return useTransformer ? ShopifyGraphQLTransformer.transformToInternalProduct(product) : product;
40
+ }
41
+ return null;
42
+ }
43
+ catch (error) {
44
+ Logger.error('Failed getShopifyProductFromAPI', { e: error, pixelId, shop, accessToken, productId, useTransformer, error });
45
+ return null;
46
+ }
47
+ };
48
+ }
49
+ //# sourceMappingURL=shopify-products-serviceV2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shopify-products-serviceV2.js","sourceRoot":"","sources":["../../../../../src/services/shopify/products/shopify-products-serviceV2.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAC;AAEnG,MAAM,OAAO,wBAAwB;IAE3B,mBAAmB,CAAsB;IACjD,YAAY,sBAA8B;QACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,sBAAsB,CAAC,CAAC;IAC7E,CAAC;IAEM,iBAAiB,GAAG,KAAK,EAAE,OAAe,EAAE,IAAY,EAAE,WAAmB,EAAE,SAAiB,EAAE,QAAQ,GAAG,IAAI,EAAE,WAAW,GAAG,IAAI,EAA+C,EAAE;QAC3L,IAAI;YACF,IAAI,OAAO,GAAuC,IAAI,CAAC;YACvD,IAAI,QAAQ,EAAE;gBACZ,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;gBACxE,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACjF,IAAI,OAAO,EAAE;oBACX,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;oBACpE,OAAO,OAAO,CAAC;iBAChB;aACF;YACD,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YAC7E,OAAO,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAoB,CAAC;YAC9G,IAAI,OAAO,IAAI,WAAW,EAAE;gBAC1B,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gBACrF,MAAM,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aAC/E;YACD,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;YACxE,OAAO,OAAO,CAAC;SAChB;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;YACtE,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;IAEM,wBAAwB,GAAG,KAAK,EAAE,OAAe,EAAE,IAAY,EAAE,WAAmB,EAAE,SAAiB,EAAE,cAAc,GAAG,IAAI,EAAkE,EAAE;QACxM,IAAI;YACF,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,6BAA6B,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAC5G,IAAI,OAAO,EAAE;gBACX,OAAO,cAAc,CAAC,CAAC,CAAC,yBAAyB,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aACjG;YACD,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,KAAK,EAAE;YACd,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5H,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAA;CAGF"}
@@ -0,0 +1,6 @@
1
+ import { Product, ProductVariant } from '../../types/shopify-graphql-types/admin.types';
2
+ import { InternalProduct, InternalProductVariant } from './types/product';
3
+ export declare const ShopifyGraphQLTransformer: {
4
+ transformToInternalProduct: (product: Partial<Product>) => InternalProduct | undefined;
5
+ transformToInternalProductVariant: (variant: Partial<ProductVariant>) => InternalProductVariant | undefined;
6
+ };
@@ -0,0 +1,77 @@
1
+ export const ShopifyGraphQLTransformer = {
2
+ transformToInternalProduct: (product) => {
3
+ if (!product)
4
+ return undefined;
5
+ const internalProduct = {
6
+ id: product?.id,
7
+ legacyResourceId: Number(product.legacyResourceId),
8
+ title: product.title,
9
+ description: product.description,
10
+ handle: product?.handle,
11
+ productType: product?.productType,
12
+ vendor: product.vendor,
13
+ status: product.status,
14
+ createdAt: product.createdAt,
15
+ updatedAt: product.updatedAt,
16
+ publishedAt: product.publishedAt,
17
+ hasOnlyDefaultVariant: product?.hasOnlyDefaultVariant ?? false,
18
+ hasOutOfStockVariants: product?.hasOutOfStockVariants ?? false,
19
+ hasVariantsThatRequiresComponents: product?.hasVariantsThatRequiresComponents ?? false,
20
+ isGiftCard: product?.isGiftCard ?? false,
21
+ onlineStoreUrl: product.onlineStoreUrl,
22
+ tags: product.tags || [],
23
+ totalInventory: product.totalInventory || 0,
24
+ tracksInventory: product.tracksInventory || false,
25
+ featuredImageUrl: product.featuredImage?.url,
26
+ images: product.images?.nodes?.map(image => image.url) || [],
27
+ variantsCount: product?.variantsCount?.count,
28
+ maxVariantCompareAtPrice: Number(product.compareAtPriceRange?.maxVariantCompareAtPrice?.amount || 0),
29
+ minVariantCompareAtPrice: Number(product.compareAtPriceRange?.minVariantCompareAtPrice?.amount || 0),
30
+ maxVariantPrice: Number(product.priceRangeV2?.maxVariantPrice?.amount || 0),
31
+ minVariantPrice: Number(product.priceRangeV2?.minVariantPrice?.amount || 0),
32
+ variants: product?.variants?.nodes
33
+ ?.map(variant => ShopifyGraphQLTransformer.transformToInternalProductVariant(variant))
34
+ .filter(variant => variant !== undefined) || [],
35
+ category: product.category ? {
36
+ id: product.category.id,
37
+ name: product.category.name,
38
+ fullName: product.category.fullName,
39
+ ancestorIds: product.category.ancestorIds,
40
+ childrenIds: product.category.childrenIds,
41
+ } : undefined,
42
+ };
43
+ return internalProduct;
44
+ },
45
+ transformToInternalProductVariant: (variant) => {
46
+ if (!variant)
47
+ return undefined;
48
+ const internalVariant = {
49
+ availableForSale: variant.availableForSale || false,
50
+ id: variant.id,
51
+ legacyResourceId: variant?.legacyResourceId,
52
+ title: variant.title,
53
+ displayName: variant.displayName,
54
+ sku: variant?.sku,
55
+ barcode: variant?.barcode,
56
+ price: variant.price,
57
+ amount: Number(variant.price || 0),
58
+ compareAtPrice: variant.compareAtPrice,
59
+ createdAt: variant.createdAt,
60
+ updatedAt: variant.updatedAt,
61
+ position: variant.position || 0,
62
+ inventoryQuantity: variant?.inventoryQuantity,
63
+ sellableOnlineQuantity: variant.sellableOnlineQuantity || 0,
64
+ taxable: variant.taxable || false,
65
+ taxCode: variant?.taxCode,
66
+ productId: variant.product?.id || '',
67
+ legacyProductResourceId: Number(variant.product?.legacyResourceId || 0),
68
+ featuredImageUrl: variant.image?.url,
69
+ selectedOptions: variant.selectedOptions?.map(option => ({
70
+ name: option.name,
71
+ value: option.value
72
+ })) || [],
73
+ };
74
+ return internalVariant;
75
+ },
76
+ };
77
+ //# sourceMappingURL=shopify-graphql-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shopify-graphql-transformer.js","sourceRoot":"","sources":["../../../../src/services/shopify/shopify-graphql-transformer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './product.js';
@@ -0,0 +1,2 @@
1
+ export * from './product.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/shopify/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}