@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
+ {"version":3,"file":"shopify-products-serviceV2.js","sourceRoot":"","sources":["../../../../../src/services/shopify/products/shopify-products-serviceV2.ts"],"names":[],"mappings":";;;AAAA,8CAA0C;AAG1C,6EAAwE;AACxE,gFAA2E;AAC3E,wGAAmG;AAEnG,MAAa,wBAAwB;IAE3B,mBAAmB,CAAsB;IACjD,YAAY,sBAA8B;QACxC,IAAI,CAAC,mBAAmB,GAAG,IAAI,2CAAmB,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,OAAO,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;gBACjF,IAAI,OAAO,EAAE;oBACX,OAAO,OAAO,CAAC;iBAChB;aACF;YAED,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,IAAI,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;aAC/E;YACD,OAAO,OAAO,CAAC;SAChB;QAAC,OAAO,KAAK,EAAE;YACd,gBAAM,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,6CAAoB,CAAC,6BAA6B,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;YAC5G,IAAI,OAAO,EAAE;gBACX,OAAO,cAAc,CAAC,CAAC,CAAC,uDAAyB,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aACjG;YACD,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,KAAK,EAAE;YACd,gBAAM,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;AA1CD,4DA0CC"}
@@ -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,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ShopifyGraphQLTransformer = void 0;
4
+ exports.ShopifyGraphQLTransformer = {
5
+ transformToInternalProduct: (product) => {
6
+ if (!product)
7
+ return undefined;
8
+ const internalProduct = {
9
+ id: product?.id,
10
+ legacyResourceId: Number(product.legacyResourceId),
11
+ title: product.title,
12
+ description: product.description,
13
+ handle: product?.handle,
14
+ productType: product?.productType,
15
+ vendor: product.vendor,
16
+ status: product.status,
17
+ createdAt: product.createdAt,
18
+ updatedAt: product.updatedAt,
19
+ publishedAt: product.publishedAt,
20
+ hasOnlyDefaultVariant: product?.hasOnlyDefaultVariant ?? false,
21
+ hasOutOfStockVariants: product?.hasOutOfStockVariants ?? false,
22
+ hasVariantsThatRequiresComponents: product?.hasVariantsThatRequiresComponents ?? false,
23
+ isGiftCard: product?.isGiftCard ?? false,
24
+ onlineStoreUrl: product.onlineStoreUrl,
25
+ tags: product.tags || [],
26
+ totalInventory: product.totalInventory || 0,
27
+ tracksInventory: product.tracksInventory || false,
28
+ featuredImageUrl: product.featuredImage?.url,
29
+ images: product.images?.nodes?.map(image => image.url) || [],
30
+ variantsCount: product?.variantsCount?.count,
31
+ maxVariantCompareAtPrice: Number(product.compareAtPriceRange?.maxVariantCompareAtPrice?.amount || 0),
32
+ minVariantCompareAtPrice: Number(product.compareAtPriceRange?.minVariantCompareAtPrice?.amount || 0),
33
+ maxVariantPrice: Number(product.priceRangeV2?.maxVariantPrice?.amount || 0),
34
+ minVariantPrice: Number(product.priceRangeV2?.minVariantPrice?.amount || 0),
35
+ variants: product?.variants?.nodes
36
+ ?.map(variant => exports.ShopifyGraphQLTransformer.transformToInternalProductVariant(variant))
37
+ .filter(variant => variant !== undefined) || [],
38
+ category: product.category ? {
39
+ id: product.category.id,
40
+ name: product.category.name,
41
+ fullName: product.category.fullName,
42
+ ancestorIds: product.category.ancestorIds,
43
+ childrenIds: product.category.childrenIds,
44
+ } : undefined,
45
+ };
46
+ return internalProduct;
47
+ },
48
+ transformToInternalProductVariant: (variant) => {
49
+ if (!variant)
50
+ return undefined;
51
+ const internalVariant = {
52
+ availableForSale: variant.availableForSale || false,
53
+ id: variant.id,
54
+ legacyResourceId: variant?.legacyResourceId,
55
+ title: variant.title,
56
+ displayName: variant.displayName,
57
+ sku: variant?.sku,
58
+ barcode: variant?.barcode,
59
+ price: variant.price,
60
+ amount: Number(variant.price || 0),
61
+ compareAtPrice: variant.compareAtPrice,
62
+ createdAt: variant.createdAt,
63
+ updatedAt: variant.updatedAt,
64
+ position: variant.position || 0,
65
+ inventoryQuantity: variant?.inventoryQuantity,
66
+ sellableOnlineQuantity: variant.sellableOnlineQuantity || 0,
67
+ taxable: variant.taxable || false,
68
+ taxCode: variant?.taxCode,
69
+ productId: variant.product?.id || '',
70
+ legacyProductResourceId: Number(variant.product?.legacyResourceId || 0),
71
+ featuredImageUrl: variant.image?.url,
72
+ selectedOptions: variant.selectedOptions?.map(option => ({
73
+ name: option.name,
74
+ value: option.value
75
+ })) || [],
76
+ };
77
+ return internalVariant;
78
+ },
79
+ };
80
+ //# 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,83 @@
1
+ export interface InternalProductOption {
2
+ name: string;
3
+ value: string;
4
+ }
5
+ export interface InternalProductCollection {
6
+ id: string;
7
+ legacyResourceId: number;
8
+ title: string;
9
+ handle: string;
10
+ imageUrl?: string;
11
+ productsCount?: number;
12
+ }
13
+ export interface InteralProductCategory {
14
+ id: string;
15
+ name: string;
16
+ fullName: string;
17
+ ancestorIds?: string[];
18
+ childrenIds?: string[];
19
+ productsCount?: number;
20
+ }
21
+ export declare enum InternalProductStatus {
22
+ Active = "ACTIVE",
23
+ Archived = "ARCHIVED",
24
+ Draft = "DRAFT"
25
+ }
26
+ export interface InternalProduct {
27
+ __typename?: 'Product';
28
+ category?: InteralProductCategory;
29
+ collections?: InternalProductCollection[];
30
+ maxVariantCompareAtPrice?: number;
31
+ minVariantCompareAtPrice?: number;
32
+ createdAt?: string;
33
+ description?: string;
34
+ featuredImageUrl?: string;
35
+ handle?: string;
36
+ hasOnlyDefaultVariant?: boolean;
37
+ hasOutOfStockVariants?: boolean;
38
+ hasVariantsThatRequiresComponents?: boolean;
39
+ id?: string;
40
+ legacyResourceId: number;
41
+ images?: string[];
42
+ inCollection?: boolean;
43
+ isGiftCard?: boolean;
44
+ onlineStoreUrl?: string;
45
+ minVariantPrice?: number;
46
+ maxVariantPrice?: number;
47
+ productType?: string;
48
+ publishedAt?: string;
49
+ status?: InternalProductStatus;
50
+ tags?: Array<string>;
51
+ title?: string;
52
+ totalInventory?: number;
53
+ tracksInventory?: boolean;
54
+ updatedAt?: string;
55
+ variantsCount?: number;
56
+ vendor?: string;
57
+ variants?: InternalProductVariant[];
58
+ }
59
+ export interface InternalProductVariant {
60
+ availableForSale: boolean;
61
+ barcode?: string;
62
+ compareAtPrice?: string;
63
+ createdAt: string;
64
+ displayName?: string;
65
+ id?: string;
66
+ featuredImageUrl?: string;
67
+ inventoryQuantity?: number;
68
+ legacyResourceId: number;
69
+ position: number;
70
+ price: string;
71
+ currency?: string;
72
+ amount: number;
73
+ productId?: string;
74
+ legacyProductResourceId: number;
75
+ selectedOptions?: InternalProductOption[];
76
+ sellableOnlineQuantity: number;
77
+ sellingPlanGroupsCount?: number;
78
+ sku?: string;
79
+ taxCode?: string;
80
+ taxable?: boolean;
81
+ title?: string;
82
+ updatedAt?: string;
83
+ }
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InternalProductStatus = void 0;
4
+ var InternalProductStatus;
5
+ (function (InternalProductStatus) {
6
+ InternalProductStatus["Active"] = "ACTIVE";
7
+ InternalProductStatus["Archived"] = "ARCHIVED";
8
+ InternalProductStatus["Draft"] = "DRAFT";
9
+ })(InternalProductStatus = exports.InternalProductStatus || (exports.InternalProductStatus = {}));
10
+ //# sourceMappingURL=product.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product.js","sourceRoot":"","sources":["../../../../../src/services/shopify/types/product.ts"],"names":[],"mappings":";;;AAuBA,IAAY,qBAOX;AAPD,WAAY,qBAAqB;IAE/B,0CAAiB,CAAA;IAEjB,8CAAqB,CAAA;IAErB,wCAAe,CAAA;AACjB,CAAC,EAPW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAOhC"}
@@ -1,12 +1,42 @@
1
1
  import * as AdminTypes from './admin.types';
2
2
  export type GetProductQueryVariables = AdminTypes.Exact<{
3
3
  id: AdminTypes.Scalars['ID']['input'];
4
+ first: AdminTypes.Scalars['Int']['input'];
5
+ after?: AdminTypes.InputMaybe<AdminTypes.Scalars['String']['input']>;
4
6
  }>;
5
7
  export type GetProductQuery = {
6
- product?: AdminTypes.Maybe<(Pick<AdminTypes.Product, 'id' | 'handle' | 'title' | 'productType' | 'tags'> & {
8
+ product?: AdminTypes.Maybe<(Pick<AdminTypes.Product, 'id' | 'handle' | 'productType' | 'hasOnlyDefaultVariant' | 'isGiftCard' | 'legacyResourceId' | 'onlineStoreUrl' | 'publishedAt' | 'requiresSellingPlan' | 'status' | 'tags' | 'title' | 'totalInventory' | 'tracksInventory' | 'vendor' | 'createdAt' | 'updatedAt'> & {
9
+ priceRangeV2: {
10
+ maxVariantPrice: Pick<AdminTypes.MoneyV2, 'amount' | 'currencyCode'>;
11
+ minVariantPrice: Pick<AdminTypes.MoneyV2, 'amount' | 'currencyCode'>;
12
+ };
7
13
  variantsCount?: AdminTypes.Maybe<Pick<AdminTypes.Count, 'count'>>;
14
+ seo: Pick<AdminTypes.Seo, 'title' | 'description'>;
8
15
  variants: {
9
- nodes: Array<Pick<AdminTypes.ProductVariant, 'id' | 'title' | 'sku'>>;
16
+ pageInfo: Pick<AdminTypes.PageInfo, 'hasNextPage' | 'endCursor'>;
17
+ nodes: Array<(Pick<AdminTypes.ProductVariant, 'availableForSale' | 'barcode' | 'compareAtPrice' | 'createdAt' | 'displayName' | 'id' | 'inventoryQuantity' | 'price' | 'sellableOnlineQuantity' | 'sku' | 'taxable' | 'title' | 'updatedAt'> & {
18
+ image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
19
+ media: {
20
+ nodes: Array<(Pick<AdminTypes.ExternalVideo, 'id' | 'mediaContentType' | 'status'> & {
21
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
22
+ image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
23
+ })>;
24
+ }) | (Pick<AdminTypes.MediaImage, 'id' | 'mediaContentType' | 'status'> & {
25
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
26
+ image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
27
+ })>;
28
+ }) | (Pick<AdminTypes.Model3d, 'id' | 'mediaContentType' | 'status'> & {
29
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
30
+ image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
31
+ })>;
32
+ }) | (Pick<AdminTypes.Video, 'id' | 'mediaContentType' | 'status'> & {
33
+ preview?: AdminTypes.Maybe<(Pick<AdminTypes.MediaPreviewImage, 'status'> & {
34
+ image?: AdminTypes.Maybe<Pick<AdminTypes.Image, 'id' | 'url'>>;
35
+ })>;
36
+ })>;
37
+ };
38
+ selectedOptions: Array<Pick<AdminTypes.SelectedOption, 'name' | 'value'>>;
39
+ })>;
10
40
  };
11
41
  media: {
12
42
  nodes: Array<(Pick<AdminTypes.ExternalVideo, 'id' | 'mediaContentType' | 'status'> & {
@@ -27,10 +57,11 @@ export type GetProductQuery = {
27
57
  })>;
28
58
  })>;
29
59
  };
60
+ category?: AdminTypes.Maybe<Pick<AdminTypes.TaxonomyCategory, 'id' | 'name' | 'fullName' | 'parentId'>>;
30
61
  })>;
31
62
  };
32
63
  interface GeneratedQueryTypes {
33
- "\n #graphql\n query GetProduct($id: ID!) {\n product(id: $id) {\n id\n handle\n title\n productType\n variantsCount {\n count\n }\n variants (first: 100) {\n nodes {\n id\n title\n sku\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 tags\n }\n }\n ": {
64
+ "\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": {
34
65
  return: GetProductQuery;
35
66
  variables: GetProductQueryVariables;
36
67
  };
@@ -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,106 @@
1
+ export const graphqlProductQueryByProductId = `
2
+ #graphql
3
+ query GetProduct($id: ID!, $first: Int!, $after: String) {
4
+ product(id: $id) {
5
+ id
6
+ handle
7
+ productType
8
+ hasOnlyDefaultVariant
9
+ isGiftCard
10
+ legacyResourceId
11
+ onlineStoreUrl
12
+ productType
13
+ publishedAt
14
+ requiresSellingPlan
15
+ status
16
+ tags
17
+ title
18
+ totalInventory
19
+ tracksInventory
20
+ vendor
21
+ createdAt
22
+ updatedAt
23
+ priceRangeV2 {
24
+ maxVariantPrice {
25
+ amount
26
+ currencyCode
27
+ }
28
+ minVariantPrice {
29
+ amount
30
+ currencyCode
31
+ }
32
+ }
33
+ variantsCount {
34
+ count
35
+ }
36
+ seo {
37
+ title
38
+ description
39
+ }
40
+ variants (first: $first, after: $after) {
41
+ pageInfo {
42
+ hasNextPage
43
+ endCursor
44
+ }
45
+ nodes {
46
+ availableForSale
47
+ barcode
48
+ compareAtPrice
49
+ createdAt
50
+ displayName
51
+ id
52
+ image {
53
+ id
54
+ url
55
+ }
56
+ inventoryQuantity
57
+ price
58
+ media (first: 10) {
59
+ nodes {
60
+ id
61
+ mediaContentType
62
+ status
63
+ preview {
64
+ image {
65
+ id
66
+ url
67
+ }
68
+ status
69
+ }
70
+ }
71
+ }
72
+ selectedOptions {
73
+ name
74
+ value
75
+ }
76
+ sellableOnlineQuantity
77
+ sku
78
+ taxable
79
+ title
80
+ updatedAt
81
+ }
82
+ }
83
+ media (first: 10) {
84
+ nodes {
85
+ id
86
+ mediaContentType
87
+ status
88
+ preview {
89
+ image {
90
+ id
91
+ url
92
+ }
93
+ status
94
+ }
95
+ }
96
+ }
97
+ category {
98
+ id
99
+ name
100
+ fullName
101
+ parentId
102
+ }
103
+ }
104
+ }
105
+ `;
106
+ //# 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,MAAM,CAAC,MAAM,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,93 @@
1
+ import { createAdminApiClient } from '@shopify/admin-api-client';
2
+ import { Logger } from '../../../helpers';
3
+ import { graphqlProductQueryByProductId } from './graphql-product-queries';
4
+ export class ShopifyGraphQLClient {
5
+ static _shopify_api_version = process.env.SHOPIFY_API_VERSION;
6
+ static getClient = (shop, accessToken) => {
7
+ const client = createAdminApiClient({
8
+ storeDomain: shop,
9
+ accessToken: accessToken,
10
+ apiVersion: '2024-10',
11
+ retries: 1
12
+ });
13
+ return client;
14
+ };
15
+ static getProductWithVariantsGraphQL = async (shop, accessToken, productId, pageSize = 100) => {
16
+ try {
17
+ const client = this.getClient(shop, accessToken);
18
+ const product = await this.executePagedProductQuery(client, productId, pageSize, null);
19
+ return product ?? undefined;
20
+ }
21
+ catch (error) {
22
+ Logger.error('Failed getProductWithVariantsGraphQL', {
23
+ error,
24
+ shop,
25
+ accessToken,
26
+ productId
27
+ });
28
+ return undefined;
29
+ }
30
+ };
31
+ static executePagedProductQuery = async (client, productId, pageSize, cursor) => {
32
+ try {
33
+ let product = null;
34
+ const allVariants = [];
35
+ let hasNextPage = true;
36
+ while (hasNextPage) {
37
+ Logger.info('executePagedProductQuery', { productId, pageSize, cursor });
38
+ product = await this.executeProductQuery(client, productId, pageSize, cursor ?? null);
39
+ if (!product) {
40
+ Logger.error('Product not found', { product, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
41
+ break;
42
+ }
43
+ allVariants.push(...(product?.variants?.nodes ?? []));
44
+ hasNextPage = product?.variants?.pageInfo?.hasNextPage;
45
+ cursor = product?.variants?.pageInfo?.endCursor;
46
+ if (hasNextPage) {
47
+ Logger.info('hasNextPage product variants', { hasNextPage, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
48
+ }
49
+ }
50
+ if (product) {
51
+ product.variants.nodes = allVariants;
52
+ }
53
+ return product ?? undefined;
54
+ }
55
+ catch (error) {
56
+ Logger.error('Failed to execute paged product query', { error, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
57
+ throw error;
58
+ }
59
+ };
60
+ static executeProductQuery = async (client, productId, pageSize, cursor) => {
61
+ try {
62
+ let product = null;
63
+ const result = await client.request(graphqlProductQueryByProductId, {
64
+ variables: {
65
+ id: `gid://shopify/Product/${productId}`,
66
+ first: pageSize,
67
+ after: cursor
68
+ }
69
+ });
70
+ if (result?.errors) {
71
+ Logger.error('Failed to executeProductQuery -- response errors', {
72
+ result,
73
+ responseErrors: result.errors,
74
+ shop: client.config.storeDomain,
75
+ productId,
76
+ cursor
77
+ });
78
+ throw result.errors;
79
+ }
80
+ product = result?.data?.product;
81
+ if (!product) {
82
+ Logger.error('Failed to get product', { result, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
83
+ throw new Error('Failed to get product - No product found');
84
+ }
85
+ return product;
86
+ }
87
+ catch (error) {
88
+ Logger.error('Failed to executeProductQuery -- exception', { error, shop: client.config.storeDomain, productId, accessToken: client.config.accessToken });
89
+ throw error;
90
+ }
91
+ };
92
+ }
93
+ //# 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":"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"}
@@ -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
  }
@@ -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,58 +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
- const client = createAdminApiClient({
149
- storeDomain: shop,
150
- accessToken: accessToken,
151
- apiVersion: '2024-10'
152
- });
153
- const query = `
154
- #graphql
155
- query GetProduct($id: ID!) {
156
- product(id: $id) {
157
- id
158
- handle
159
- title
160
- productType
161
- variantsCount {
162
- count
163
- }
164
- variants (first: 100) {
165
- nodes {
166
- id
167
- title
168
- sku
169
- }
170
- }
171
- media (first: 10) {
172
- nodes {
173
- id
174
- mediaContentType
175
- status
176
- preview {
177
- image {
178
- id
179
- url
180
- }
181
- status
182
- }
183
- }
184
- }
185
- tags
186
- }
187
- }
188
- `;
189
- const { data, errors } = await client.request(query, {
190
- variables: {
191
- id: `gid://shopify/Product/${productId}`
192
- }
193
- });
194
- if (errors?.networkStatusCode) {
195
- Logger.error('Failed to get Product', { errors });
196
- return;
197
- }
198
- return data;
199
- };
200
146
  }
201
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,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"}