@savafeed/shopify-driver 1.1.44 → 1.1.56

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@savafeed/shopify-driver",
3
- "version": "1.1.44",
3
+ "version": "1.1.56",
4
4
  "main": "shopify.driver.cjs.js",
5
5
  "module": "shopify.driver.esm.js",
6
6
  "umd": "shopify.driver.umd.js",
@@ -83,7 +83,6 @@ let CartService = class CartService {
83
83
  if (!this.environments.eCommerceData?.shopUrl) {
84
84
  throw new Error('Shop URL is not defined');
85
85
  }
86
- console.log('[Cart Service] this.cartRepository', this.cartRepository);
87
86
  this.shopUrl = this.environments.eCommerceData?.shopUrl;
88
87
  }
89
88
  ;
@@ -194,10 +193,6 @@ ReturnToEditController = __decorate([
194
193
  __metadata("design:paramtypes", [])
195
194
  ], ReturnToEditController);
196
195
 
197
- [
198
- CartRepository,
199
- CartService,
200
- ].map((provider) => moduleManager.container.addProviderToPool("injectable" /* E_PROVIDER_TYPES.INJECTABLE */, provider));
201
196
  exports.ShopifyDriver = class ShopifyDriver {
202
197
  };
203
198
  exports.ShopifyDriver = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"shopify.driver.cjs.js","sources":["../../src/types/mandatory-controllers.enum.ts","../../src/types/tokens.enum.ts","../../src/drivers/shopify/repositories/cart.repository.ts","../../src/drivers/shopify/services/cart.service.ts","../../src/drivers/shopify/controllers/line-items.controller.ts","../../src/drivers/shopify/controllers/preview.controller.ts","../../src/drivers/shopify/controllers/pricing.controller.ts","../../src/drivers/shopify/controllers/return-to-edit.controller.ts","../../src/drivers/shopify/index.driver.ts"],"sourcesContent":["export enum E_MANDATORY_CONTROLLERS {\r\n LINE_ITEMS = 'line-items',\r\n PREVIEW = 'preview',\r\n PRICING = 'pricing',\r\n RETURN_TO_EDIT = 'return-to-edit',\r\n};","export enum E_DRIVER_TOKENS {\r\n ENVIRONMENTS = 'ENVIRONMENTS',\r\n};","import { Injectable } from \"@savafeed/module-manager\";\r\n\r\n@Injectable()\r\nexport class CartRepository {\r\n\r\n constructor() {};\r\n\r\n private _cartData: any;\r\n\r\n public get cartData() {\r\n return this._cartData;\r\n };\r\n\r\n public set cartData(value: any) {\r\n this._cartData = value;\r\n };\r\n\r\n public get lineItems() {\r\n return this._cartData.items;\r\n }\r\n \r\n};","import { Inject, Injectable } from \"@savafeed/module-manager\";\r\nimport { E_DRIVER_TOKENS } from \"#types/tokens.enum\";\r\nimport { CartRepository } from \"@shopify.driver/repositories/cart.repository\";\r\nimport { IEnvironments } from \"@core/types\";\r\n\r\n@Injectable()\r\nexport class CartService {\r\n private shopUrl: string;\r\n\r\n constructor(\r\n @Inject(E_DRIVER_TOKENS.ENVIRONMENTS) private environments: IEnvironments,\r\n private cartRepository: CartRepository,\r\n ) {\r\n if (!this.environments.eCommerceData?.shopUrl) {\r\n throw new Error('Shop URL is not defined');\r\n }\r\n console.log('[Cart Service] this.cartRepository', this.cartRepository);\r\n this.shopUrl = this.environments.eCommerceData?.shopUrl;\r\n };\r\n\r\n async getCart() {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart.js';\r\n const response = await fetch(requestUrl.href);\r\n const data = await response.json();\r\n this.cartRepository.cartData = response;\r\n return data;\r\n };\r\n\r\n async updateCart(cart: any) {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart/update.js';\r\n const response = await fetch(requestUrl.href, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(cart),\r\n });\r\n const data = await response.json();\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n async changeLineItemQuantity(lineItemId: string, quantity: number) {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart/change.js';\r\n const response = await fetch(requestUrl.href, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n id: lineItemId,\r\n quantity: quantity,\r\n }),\r\n });\r\n const data = await response.json();\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n async removeLineItem(lineItemId: string) {\r\n const data = this.changeLineItemQuantity(lineItemId, 0);\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n};","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { ILineItemsController } from \"#types/abstract-controllers\";\r\nimport { CartService } from \"@shopify.driver/services/cart.service\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.LINE_ITEMS)\r\nexport class LineItemsController implements ILineItemsController {\r\n constructor(\r\n private cartService: CartService,\r\n ) {};\r\n\r\n async getLineItems() {\r\n const lineItems = this.cartService.getCart();\r\n return lineItems;\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { IPreviewController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.PREVIEW)\r\nexport class PreviewController implements IPreviewController {\r\n constructor() {};\r\n\r\n async getPreviewLink() {\r\n return 'https://www.google.com/preview';\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { AbstractPricingController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.PRICING)\r\nexport class PricingController implements AbstractPricingController { \r\n constructor() {};\r\n\r\n async getPrice() {\r\n return 100;\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { IReturnToEditController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.RETURN_TO_EDIT)\r\nexport class ReturnToEditController implements IReturnToEditController {\r\n constructor() {};\r\n\r\n async getReturnToEditLink() {\r\n return 'https://www.google.com/return-to-edit';\r\n }\r\n}","import { container, Module as Driver, E_PROVIDER_TYPES } from '@savafeed/module-manager';\r\nimport { LineItemsController } from '@shopify.driver/controllers/line-items.controller';\r\nimport { PreviewController } from '@shopify.driver/controllers/preview.controller';\r\nimport { PricingController } from '@shopify.driver/controllers/pricing.controller';\r\nimport { ReturnToEditController } from '@shopify.driver/controllers/return-to-edit.controller';\r\nimport { CartRepository } from '@shopify.driver/repositories/cart.repository';\r\nimport { CartService } from '@shopify.driver/services/cart.service';\r\n\r\n[\r\n CartRepository,\r\n CartService,\r\n].map((provider) => container.addProviderToPool(E_PROVIDER_TYPES.INJECTABLE, provider));\r\n\r\n@Driver({\r\n name: 'shopify-driver',\r\n providers: [\r\n CartRepository,\r\n CartService,\r\n ],\r\n controllers: [\r\n LineItemsController,\r\n PreviewController,\r\n PricingController,\r\n ReturnToEditController,\r\n ],\r\n})\r\nexport class ShopifyDriver { };"],"names":["Injectable","Inject","Controller","container","ShopifyDriver","Driver"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAY,uBAKX;AALD,CAAA,UAAY,uBAAuB,EAAA;AACjC,IAAA,uBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,uBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,uBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,uBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC;AACnC,CAAC,EALW,uBAAuB,KAAvB,uBAAuB,GAKlC,EAAA,CAAA,CAAA;;ACLD,IAAY,eAEX;AAFD,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC/B,CAAC,EAFW,eAAe,KAAf,eAAe,GAE1B,EAAA,CAAA,CAAA;;ACCM,IAAM,cAAc,GAApB,MAAM,cAAc,CAAA;AAEzB,IAAA,WAAA,GAAA;;AAEQ,IAAA,SAAS;AAEjB,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS;;;IAGvB,IAAW,QAAQ,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;;AAGxB,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK;;CAG9B;AAlBY,cAAc,GAAA,UAAA,CAAA;AAD1B,IAAAA,wBAAU,EAAE;;AACA,CAAA,EAAA,cAAc,CAkB1B;;ACfM,IAAM,WAAW,GAAjB,MAAM,WAAW,CAAA;AAI0B,IAAA,YAAA;AACtC,IAAA,cAAA;AAJF,IAAA,OAAO;IAEf,WACgD,CAAA,YAA2B,EACjE,cAA8B,EAAA;QADQ,IAAY,CAAA,YAAA,GAAZ,YAAY;QAClD,IAAc,CAAA,cAAA,GAAd,cAAc;QAEtB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE;AAC7C,YAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;;QAE5C,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,IAAI,CAAC,cAAc,CAAC;QACtE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO;;;AAGzD,IAAA,MAAM,OAAO,GAAA;QACX,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACxC,QAAA,UAAU,CAAC,QAAQ,GAAG,UAAU;QAChC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;AAC7C,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AAClC,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,QAAQ;AACvC,QAAA,OAAO,IAAI;;;IAGb,MAAM,UAAU,CAAC,IAAS,EAAA;QACxB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACxC,QAAA,UAAU,CAAC,QAAQ,GAAG,iBAAiB;QACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;AAC5C,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,kBAAkB;AACnC,aAAA;AACD,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAC3B,SAAA,CAAC;AACF,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AAClC,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI;AACnC,QAAA,OAAO,IAAI;;;AAGb,IAAA,MAAM,sBAAsB,CAAC,UAAkB,EAAE,QAAgB,EAAA;QAC/D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACxC,QAAA,UAAU,CAAC,QAAQ,GAAG,iBAAiB;QACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;AAC5C,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,kBAAkB;AACnC,aAAA;AACD,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACnB,gBAAA,EAAE,EAAE,UAAU;AACd,gBAAA,QAAQ,EAAE,QAAQ;aACnB,CAAC;AACH,SAAA,CAAC;AACF,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AAClC,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI;AACnC,QAAA,OAAO,IAAI;;;IAGb,MAAM,cAAc,CAAC,UAAkB,EAAA;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI;AACnC,QAAA,OAAO,IAAI;;;CAGd;AA9DY,WAAW,GAAA,UAAA,CAAA;AADvB,IAAAA,wBAAU,EAAE;AAKR,IAAA,OAAA,CAAA,CAAA,EAAAC,oBAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;6CACb,cAAc,CAAA;AAL7B,CAAA,EAAA,WAAW,CA8DvB;;AC9DM,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB,CAAA;AAEpB,IAAA,WAAA;AADV,IAAA,WAAA,CACU,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW;;;AAGrB,IAAA,MAAM,YAAY,GAAA;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;AAC5C,QAAA,OAAO,SAAS;;CAEnB;AATY,mBAAmB,GAAA,UAAA,CAAA;AAD/B,IAAAC,wBAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC;qCAGtB,WAAW,CAAA;AAFvB,CAAA,EAAA,mBAAmB,CAS/B;;ACVM,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB,CAAA;AAC5B,IAAA,WAAA,GAAA;;AAEA,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,OAAO,gCAAgC;;CAE1C;AANY,iBAAiB,GAAA,UAAA,CAAA;AAD7B,IAAAA,wBAAU,CAAC,uBAAuB,CAAC,OAAO,CAAC;;AAC/B,CAAA,EAAA,iBAAiB,CAM7B;;ACNM,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB,CAAA;AAC5B,IAAA,WAAA,GAAA;;AAEA,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,OAAO,GAAG;;CAEb;AANY,iBAAiB,GAAA,UAAA,CAAA;AAD7B,IAAAA,wBAAU,CAAC,uBAAuB,CAAC,OAAO,CAAC;;AAC/B,CAAA,EAAA,iBAAiB,CAM7B;;ACNM,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB,CAAA;AACjC,IAAA,WAAA,GAAA;;AAEA,IAAA,MAAM,mBAAmB,GAAA;AACvB,QAAA,OAAO,uCAAuC;;CAEjD;AANY,sBAAsB,GAAA,UAAA,CAAA;AADlC,IAAAA,wBAAU,CAAC,uBAAuB,CAAC,cAAc,CAAC;;AACtC,CAAA,EAAA,sBAAsB,CAMlC;;ACHD;IACE,cAAc;IACd,WAAW;AACZ,CAAA,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAKC,uBAAS,CAAC,iBAAiB,CAAA,YAAA,oCAA8B,QAAQ,CAAC,CAAC;AAe1EC,qBAAa,GAAnB,MAAM,aAAa,CAAA;;AAAbA,qBAAa,GAAA,UAAA,CAAA;AAbzB,IAAAC,oBAAM,CAAC;AACN,QAAA,IAAI,EAAE,gBAAgB;AACtB,QAAA,SAAS,EAAE;YACT,cAAc;YACd,WAAW;AACZ,SAAA;AACD,QAAA,WAAW,EAAE;YACX,mBAAmB;YACnB,iBAAiB;YACjB,iBAAiB;YACjB,sBAAsB;AACvB,SAAA;KACF;AACY,CAAA,EAAAD,qBAAa,CAAI;;"}
1
+ {"version":3,"file":"shopify.driver.cjs.js","sources":["../../src/types/mandatory-controllers.enum.ts","../../src/types/tokens.enum.ts","../../src/drivers/shopify/repositories/cart.repository.ts","../../src/drivers/shopify/services/cart.service.ts","../../src/drivers/shopify/controllers/line-items.controller.ts","../../src/drivers/shopify/controllers/preview.controller.ts","../../src/drivers/shopify/controllers/pricing.controller.ts","../../src/drivers/shopify/controllers/return-to-edit.controller.ts","../../src/drivers/shopify/index.driver.ts"],"sourcesContent":["export enum E_MANDATORY_CONTROLLERS {\r\n LINE_ITEMS = 'line-items',\r\n PREVIEW = 'preview',\r\n PRICING = 'pricing',\r\n RETURN_TO_EDIT = 'return-to-edit',\r\n};","export enum E_DRIVER_TOKENS {\r\n ENVIRONMENTS = 'ENVIRONMENTS',\r\n};","import { Injectable } from \"@savafeed/module-manager\";\r\n\r\n@Injectable()\r\nexport class CartRepository {\r\n\r\n constructor() {};\r\n\r\n private _cartData: any;\r\n\r\n public get cartData() {\r\n return this._cartData;\r\n };\r\n\r\n public set cartData(value: any) {\r\n this._cartData = value;\r\n };\r\n\r\n public get lineItems() {\r\n return this._cartData.items;\r\n }\r\n \r\n};","import { Inject, Injectable } from \"@savafeed/module-manager\";\r\nimport { E_DRIVER_TOKENS } from \"#types/tokens.enum\";\r\nimport { CartRepository } from \"@shopify.driver/repositories/cart.repository\";\r\nimport { IEnvironments } from \"@core/types\";\r\n\r\n@Injectable()\r\nexport class CartService {\r\n private shopUrl: string;\r\n\r\n constructor(\r\n @Inject(E_DRIVER_TOKENS.ENVIRONMENTS) private environments: IEnvironments,\r\n private cartRepository: CartRepository,\r\n ) {\r\n if (!this.environments.eCommerceData?.shopUrl) {\r\n throw new Error('Shop URL is not defined');\r\n }\r\n this.shopUrl = this.environments.eCommerceData?.shopUrl;\r\n };\r\n\r\n async getCart() {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart.js';\r\n const response = await fetch(requestUrl.href);\r\n const data = await response.json();\r\n this.cartRepository.cartData = response;\r\n return data;\r\n };\r\n\r\n async updateCart(cart: any) {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart/update.js';\r\n const response = await fetch(requestUrl.href, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(cart),\r\n });\r\n const data = await response.json();\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n async changeLineItemQuantity(lineItemId: string, quantity: number) {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart/change.js';\r\n const response = await fetch(requestUrl.href, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n id: lineItemId,\r\n quantity: quantity,\r\n }),\r\n });\r\n const data = await response.json();\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n async removeLineItem(lineItemId: string) {\r\n const data = this.changeLineItemQuantity(lineItemId, 0);\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n};","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { ILineItemsController } from \"#types/abstract-controllers\";\r\nimport { CartService } from \"@shopify.driver/services/cart.service\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.LINE_ITEMS)\r\nexport class LineItemsController implements ILineItemsController {\r\n constructor(\r\n private cartService: CartService,\r\n ) {};\r\n\r\n async getLineItems() {\r\n const lineItems = this.cartService.getCart();\r\n return lineItems;\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { IPreviewController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.PREVIEW)\r\nexport class PreviewController implements IPreviewController {\r\n constructor() {};\r\n\r\n async getPreviewLink() {\r\n return 'https://www.google.com/preview';\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { AbstractPricingController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.PRICING)\r\nexport class PricingController implements AbstractPricingController { \r\n constructor() {};\r\n\r\n async getPrice() {\r\n return 100;\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { IReturnToEditController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.RETURN_TO_EDIT)\r\nexport class ReturnToEditController implements IReturnToEditController {\r\n constructor() {};\r\n\r\n async getReturnToEditLink() {\r\n return 'https://www.google.com/return-to-edit';\r\n }\r\n}","import { container, Module as Driver, E_PROVIDER_TYPES } from '@savafeed/module-manager';\r\nimport { LineItemsController } from '@shopify.driver/controllers/line-items.controller';\r\nimport { PreviewController } from '@shopify.driver/controllers/preview.controller';\r\nimport { PricingController } from '@shopify.driver/controllers/pricing.controller';\r\nimport { ReturnToEditController } from '@shopify.driver/controllers/return-to-edit.controller';\r\nimport { CartRepository } from '@shopify.driver/repositories/cart.repository';\r\nimport { CartService } from '@shopify.driver/services/cart.service';\r\n\r\n\r\n@Driver({\r\n name: 'shopify-driver',\r\n providers: [\r\n CartRepository,\r\n CartService,\r\n ],\r\n controllers: [\r\n LineItemsController,\r\n PreviewController,\r\n PricingController,\r\n ReturnToEditController,\r\n ],\r\n})\r\nexport class ShopifyDriver { };"],"names":["Injectable","Inject","Controller","ShopifyDriver","Driver"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAY,uBAKX;AALD,CAAA,UAAY,uBAAuB,EAAA;AACjC,IAAA,uBAAA,CAAA,YAAA,CAAA,GAAA,YAAyB;AACzB,IAAA,uBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,uBAAA,CAAA,SAAA,CAAA,GAAA,SAAmB;AACnB,IAAA,uBAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC;AACnC,CAAC,EALW,uBAAuB,KAAvB,uBAAuB,GAKlC,EAAA,CAAA,CAAA;;ACLD,IAAY,eAEX;AAFD,CAAA,UAAY,eAAe,EAAA;AACzB,IAAA,eAAA,CAAA,cAAA,CAAA,GAAA,cAA6B;AAC/B,CAAC,EAFW,eAAe,KAAf,eAAe,GAE1B,EAAA,CAAA,CAAA;;ACCM,IAAM,cAAc,GAApB,MAAM,cAAc,CAAA;AAEzB,IAAA,WAAA,GAAA;;AAEQ,IAAA,SAAS;AAEjB,IAAA,IAAW,QAAQ,GAAA;QACjB,OAAO,IAAI,CAAC,SAAS;;;IAGvB,IAAW,QAAQ,CAAC,KAAU,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,GAAG,KAAK;;;AAGxB,IAAA,IAAW,SAAS,GAAA;AAClB,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK;;CAG9B;AAlBY,cAAc,GAAA,UAAA,CAAA;AAD1B,IAAAA,wBAAU,EAAE;;AACA,CAAA,EAAA,cAAc,CAkB1B;;ACfM,IAAM,WAAW,GAAjB,MAAM,WAAW,CAAA;AAI0B,IAAA,YAAA;AACtC,IAAA,cAAA;AAJF,IAAA,OAAO;IAEf,WACgD,CAAA,YAA2B,EACjE,cAA8B,EAAA;QADQ,IAAY,CAAA,YAAA,GAAZ,YAAY;QAClD,IAAc,CAAA,cAAA,GAAd,cAAc;QAEtB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,EAAE;AAC7C,YAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC;;QAE5C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO;;;AAGzD,IAAA,MAAM,OAAO,GAAA;QACX,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACxC,QAAA,UAAU,CAAC,QAAQ,GAAG,UAAU;QAChC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;AAC7C,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AAClC,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,QAAQ;AACvC,QAAA,OAAO,IAAI;;;IAGb,MAAM,UAAU,CAAC,IAAS,EAAA;QACxB,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACxC,QAAA,UAAU,CAAC,QAAQ,GAAG,iBAAiB;QACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;AAC5C,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,kBAAkB;AACnC,aAAA;AACD,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;AAC3B,SAAA,CAAC;AACF,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AAClC,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI;AACnC,QAAA,OAAO,IAAI;;;AAGb,IAAA,MAAM,sBAAsB,CAAC,UAAkB,EAAE,QAAgB,EAAA;QAC/D,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AACxC,QAAA,UAAU,CAAC,QAAQ,GAAG,iBAAiB;QACvC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE;AAC5C,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,OAAO,EAAE;AACP,gBAAA,cAAc,EAAE,kBAAkB;AACnC,aAAA;AACD,YAAA,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;AACnB,gBAAA,EAAE,EAAE,UAAU;AACd,gBAAA,QAAQ,EAAE,QAAQ;aACnB,CAAC;AACH,SAAA,CAAC;AACF,QAAA,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AAClC,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI;AACnC,QAAA,OAAO,IAAI;;;IAGb,MAAM,cAAc,CAAC,UAAkB,EAAA;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,CAAC,CAAC;AACvD,QAAA,IAAI,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI;AACnC,QAAA,OAAO,IAAI;;;CAGd;AA7DY,WAAW,GAAA,UAAA,CAAA;AADvB,IAAAA,wBAAU,EAAE;AAKR,IAAA,OAAA,CAAA,CAAA,EAAAC,oBAAM,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;6CACb,cAAc,CAAA;AAL7B,CAAA,EAAA,WAAW,CA6DvB;;AC7DM,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB,CAAA;AAEpB,IAAA,WAAA;AADV,IAAA,WAAA,CACU,WAAwB,EAAA;QAAxB,IAAW,CAAA,WAAA,GAAX,WAAW;;;AAGrB,IAAA,MAAM,YAAY,GAAA;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE;AAC5C,QAAA,OAAO,SAAS;;CAEnB;AATY,mBAAmB,GAAA,UAAA,CAAA;AAD/B,IAAAC,wBAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC;qCAGtB,WAAW,CAAA;AAFvB,CAAA,EAAA,mBAAmB,CAS/B;;ACVM,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB,CAAA;AAC5B,IAAA,WAAA,GAAA;;AAEA,IAAA,MAAM,cAAc,GAAA;AAClB,QAAA,OAAO,gCAAgC;;CAE1C;AANY,iBAAiB,GAAA,UAAA,CAAA;AAD7B,IAAAA,wBAAU,CAAC,uBAAuB,CAAC,OAAO,CAAC;;AAC/B,CAAA,EAAA,iBAAiB,CAM7B;;ACNM,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB,CAAA;AAC5B,IAAA,WAAA,GAAA;;AAEA,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,OAAO,GAAG;;CAEb;AANY,iBAAiB,GAAA,UAAA,CAAA;AAD7B,IAAAA,wBAAU,CAAC,uBAAuB,CAAC,OAAO,CAAC;;AAC/B,CAAA,EAAA,iBAAiB,CAM7B;;ACNM,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB,CAAA;AACjC,IAAA,WAAA,GAAA;;AAEA,IAAA,MAAM,mBAAmB,GAAA;AACvB,QAAA,OAAO,uCAAuC;;CAEjD;AANY,sBAAsB,GAAA,UAAA,CAAA;AADlC,IAAAA,wBAAU,CAAC,uBAAuB,CAAC,cAAc,CAAC;;AACtC,CAAA,EAAA,sBAAsB,CAMlC;;ACWYC,qBAAa,GAAnB,MAAM,aAAa,CAAA;;AAAbA,qBAAa,GAAA,UAAA,CAAA;AAbzB,IAAAC,oBAAM,CAAC;AACN,QAAA,IAAI,EAAE,gBAAgB;AACtB,QAAA,SAAS,EAAE;YACT,cAAc;YACd,WAAW;AACZ,SAAA;AACD,QAAA,WAAW,EAAE;YACX,mBAAmB;YACnB,iBAAiB;YACjB,iBAAiB;YACjB,sBAAsB;AACvB,SAAA;KACF;AACY,CAAA,EAAAD,qBAAa,CAAI;;"}
@@ -1,4 +1,4 @@
1
- import { Injectable, Inject, Controller, container, Module } from '@savafeed/module-manager';
1
+ import { Injectable, Inject, Controller, Module } from '@savafeed/module-manager';
2
2
 
3
3
  /******************************************************************************
4
4
  Copyright (c) Microsoft Corporation.
@@ -81,7 +81,6 @@ let CartService = class CartService {
81
81
  if (!this.environments.eCommerceData?.shopUrl) {
82
82
  throw new Error('Shop URL is not defined');
83
83
  }
84
- console.log('[Cart Service] this.cartRepository', this.cartRepository);
85
84
  this.shopUrl = this.environments.eCommerceData?.shopUrl;
86
85
  }
87
86
  ;
@@ -192,10 +191,6 @@ ReturnToEditController = __decorate([
192
191
  __metadata("design:paramtypes", [])
193
192
  ], ReturnToEditController);
194
193
 
195
- [
196
- CartRepository,
197
- CartService,
198
- ].map((provider) => container.addProviderToPool("injectable" /* E_PROVIDER_TYPES.INJECTABLE */, provider));
199
194
  let ShopifyDriver = class ShopifyDriver {
200
195
  };
201
196
  ShopifyDriver = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"shopify.driver.esm.js","sources":["../../src/types/mandatory-controllers.enum.ts","../../src/types/tokens.enum.ts","../../src/drivers/shopify/repositories/cart.repository.ts","../../src/drivers/shopify/services/cart.service.ts","../../src/drivers/shopify/controllers/line-items.controller.ts","../../src/drivers/shopify/controllers/preview.controller.ts","../../src/drivers/shopify/controllers/pricing.controller.ts","../../src/drivers/shopify/controllers/return-to-edit.controller.ts","../../src/drivers/shopify/index.driver.ts"],"sourcesContent":["export enum E_MANDATORY_CONTROLLERS {\r\n LINE_ITEMS = 'line-items',\r\n PREVIEW = 'preview',\r\n PRICING = 'pricing',\r\n RETURN_TO_EDIT = 'return-to-edit',\r\n};","export enum E_DRIVER_TOKENS {\r\n ENVIRONMENTS = 'ENVIRONMENTS',\r\n};","import { Injectable } from \"@savafeed/module-manager\";\r\n\r\n@Injectable()\r\nexport class CartRepository {\r\n\r\n constructor() {};\r\n\r\n private _cartData: any;\r\n\r\n public get cartData() {\r\n return this._cartData;\r\n };\r\n\r\n public set cartData(value: any) {\r\n this._cartData = value;\r\n };\r\n\r\n public get lineItems() {\r\n return this._cartData.items;\r\n }\r\n \r\n};","import { Inject, Injectable } from \"@savafeed/module-manager\";\r\nimport { E_DRIVER_TOKENS } from \"#types/tokens.enum\";\r\nimport { CartRepository } from \"@shopify.driver/repositories/cart.repository\";\r\nimport { IEnvironments } from \"@core/types\";\r\n\r\n@Injectable()\r\nexport class CartService {\r\n private shopUrl: string;\r\n\r\n constructor(\r\n @Inject(E_DRIVER_TOKENS.ENVIRONMENTS) private environments: IEnvironments,\r\n private cartRepository: CartRepository,\r\n ) {\r\n if (!this.environments.eCommerceData?.shopUrl) {\r\n throw new Error('Shop URL is not defined');\r\n }\r\n console.log('[Cart Service] this.cartRepository', this.cartRepository);\r\n this.shopUrl = this.environments.eCommerceData?.shopUrl;\r\n };\r\n\r\n async getCart() {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart.js';\r\n const response = await fetch(requestUrl.href);\r\n const data = await response.json();\r\n this.cartRepository.cartData = response;\r\n return data;\r\n };\r\n\r\n async updateCart(cart: any) {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart/update.js';\r\n const response = await fetch(requestUrl.href, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(cart),\r\n });\r\n const data = await response.json();\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n async changeLineItemQuantity(lineItemId: string, quantity: number) {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart/change.js';\r\n const response = await fetch(requestUrl.href, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n id: lineItemId,\r\n quantity: quantity,\r\n }),\r\n });\r\n const data = await response.json();\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n async removeLineItem(lineItemId: string) {\r\n const data = this.changeLineItemQuantity(lineItemId, 0);\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n};","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { ILineItemsController } from \"#types/abstract-controllers\";\r\nimport { CartService } from \"@shopify.driver/services/cart.service\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.LINE_ITEMS)\r\nexport class LineItemsController implements ILineItemsController {\r\n constructor(\r\n private cartService: CartService,\r\n ) {};\r\n\r\n async getLineItems() {\r\n const lineItems = this.cartService.getCart();\r\n return lineItems;\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { IPreviewController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.PREVIEW)\r\nexport class PreviewController implements IPreviewController {\r\n constructor() {};\r\n\r\n async getPreviewLink() {\r\n return 'https://www.google.com/preview';\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { AbstractPricingController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.PRICING)\r\nexport class PricingController implements AbstractPricingController { \r\n constructor() {};\r\n\r\n async getPrice() {\r\n return 100;\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { IReturnToEditController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.RETURN_TO_EDIT)\r\nexport class ReturnToEditController implements IReturnToEditController {\r\n constructor() {};\r\n\r\n async getReturnToEditLink() {\r\n return 'https://www.google.com/return-to-edit';\r\n }\r\n}","import { container, Module as Driver, E_PROVIDER_TYPES } from '@savafeed/module-manager';\r\nimport { LineItemsController } from '@shopify.driver/controllers/line-items.controller';\r\nimport { PreviewController } from '@shopify.driver/controllers/preview.controller';\r\nimport { PricingController } from '@shopify.driver/controllers/pricing.controller';\r\nimport { ReturnToEditController } from '@shopify.driver/controllers/return-to-edit.controller';\r\nimport { CartRepository } from '@shopify.driver/repositories/cart.repository';\r\nimport { CartService } from '@shopify.driver/services/cart.service';\r\n\r\n[\r\n CartRepository,\r\n CartService,\r\n].map((provider) => container.addProviderToPool(E_PROVIDER_TYPES.INJECTABLE, provider));\r\n\r\n@Driver({\r\n name: 'shopify-driver',\r\n providers: [\r\n CartRepository,\r\n CartService,\r\n ],\r\n controllers: [\r\n LineItemsController,\r\n PreviewController,\r\n PricingController,\r\n ReturnToEditController,\r\n ],\r\n})\r\nexport class ShopifyDriver { };"],"names":["Driver"],"mappings":"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"}
1
+ {"version":3,"file":"shopify.driver.esm.js","sources":["../../src/types/mandatory-controllers.enum.ts","../../src/types/tokens.enum.ts","../../src/drivers/shopify/repositories/cart.repository.ts","../../src/drivers/shopify/services/cart.service.ts","../../src/drivers/shopify/controllers/line-items.controller.ts","../../src/drivers/shopify/controllers/preview.controller.ts","../../src/drivers/shopify/controllers/pricing.controller.ts","../../src/drivers/shopify/controllers/return-to-edit.controller.ts","../../src/drivers/shopify/index.driver.ts"],"sourcesContent":["export enum E_MANDATORY_CONTROLLERS {\r\n LINE_ITEMS = 'line-items',\r\n PREVIEW = 'preview',\r\n PRICING = 'pricing',\r\n RETURN_TO_EDIT = 'return-to-edit',\r\n};","export enum E_DRIVER_TOKENS {\r\n ENVIRONMENTS = 'ENVIRONMENTS',\r\n};","import { Injectable } from \"@savafeed/module-manager\";\r\n\r\n@Injectable()\r\nexport class CartRepository {\r\n\r\n constructor() {};\r\n\r\n private _cartData: any;\r\n\r\n public get cartData() {\r\n return this._cartData;\r\n };\r\n\r\n public set cartData(value: any) {\r\n this._cartData = value;\r\n };\r\n\r\n public get lineItems() {\r\n return this._cartData.items;\r\n }\r\n \r\n};","import { Inject, Injectable } from \"@savafeed/module-manager\";\r\nimport { E_DRIVER_TOKENS } from \"#types/tokens.enum\";\r\nimport { CartRepository } from \"@shopify.driver/repositories/cart.repository\";\r\nimport { IEnvironments } from \"@core/types\";\r\n\r\n@Injectable()\r\nexport class CartService {\r\n private shopUrl: string;\r\n\r\n constructor(\r\n @Inject(E_DRIVER_TOKENS.ENVIRONMENTS) private environments: IEnvironments,\r\n private cartRepository: CartRepository,\r\n ) {\r\n if (!this.environments.eCommerceData?.shopUrl) {\r\n throw new Error('Shop URL is not defined');\r\n }\r\n this.shopUrl = this.environments.eCommerceData?.shopUrl;\r\n };\r\n\r\n async getCart() {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart.js';\r\n const response = await fetch(requestUrl.href);\r\n const data = await response.json();\r\n this.cartRepository.cartData = response;\r\n return data;\r\n };\r\n\r\n async updateCart(cart: any) {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart/update.js';\r\n const response = await fetch(requestUrl.href, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(cart),\r\n });\r\n const data = await response.json();\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n async changeLineItemQuantity(lineItemId: string, quantity: number) {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart/change.js';\r\n const response = await fetch(requestUrl.href, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n id: lineItemId,\r\n quantity: quantity,\r\n }),\r\n });\r\n const data = await response.json();\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n async removeLineItem(lineItemId: string) {\r\n const data = this.changeLineItemQuantity(lineItemId, 0);\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n};","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { ILineItemsController } from \"#types/abstract-controllers\";\r\nimport { CartService } from \"@shopify.driver/services/cart.service\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.LINE_ITEMS)\r\nexport class LineItemsController implements ILineItemsController {\r\n constructor(\r\n private cartService: CartService,\r\n ) {};\r\n\r\n async getLineItems() {\r\n const lineItems = this.cartService.getCart();\r\n return lineItems;\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { IPreviewController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.PREVIEW)\r\nexport class PreviewController implements IPreviewController {\r\n constructor() {};\r\n\r\n async getPreviewLink() {\r\n return 'https://www.google.com/preview';\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { AbstractPricingController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.PRICING)\r\nexport class PricingController implements AbstractPricingController { \r\n constructor() {};\r\n\r\n async getPrice() {\r\n return 100;\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { IReturnToEditController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.RETURN_TO_EDIT)\r\nexport class ReturnToEditController implements IReturnToEditController {\r\n constructor() {};\r\n\r\n async getReturnToEditLink() {\r\n return 'https://www.google.com/return-to-edit';\r\n }\r\n}","import { container, Module as Driver, E_PROVIDER_TYPES } from '@savafeed/module-manager';\r\nimport { LineItemsController } from '@shopify.driver/controllers/line-items.controller';\r\nimport { PreviewController } from '@shopify.driver/controllers/preview.controller';\r\nimport { PricingController } from '@shopify.driver/controllers/pricing.controller';\r\nimport { ReturnToEditController } from '@shopify.driver/controllers/return-to-edit.controller';\r\nimport { CartRepository } from '@shopify.driver/repositories/cart.repository';\r\nimport { CartService } from '@shopify.driver/services/cart.service';\r\n\r\n\r\n@Driver({\r\n name: 'shopify-driver',\r\n providers: [\r\n CartRepository,\r\n CartService,\r\n ],\r\n controllers: [\r\n LineItemsController,\r\n PreviewController,\r\n PricingController,\r\n ReturnToEditController,\r\n ],\r\n})\r\nexport class ShopifyDriver { };"],"names":["Driver"],"mappings":"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"}
@@ -85,7 +85,6 @@
85
85
  if (!this.environments.eCommerceData?.shopUrl) {
86
86
  throw new Error('Shop URL is not defined');
87
87
  }
88
- console.log('[Cart Service] this.cartRepository', this.cartRepository);
89
88
  this.shopUrl = this.environments.eCommerceData?.shopUrl;
90
89
  }
91
90
  ;
@@ -196,10 +195,6 @@
196
195
  __metadata("design:paramtypes", [])
197
196
  ], ReturnToEditController);
198
197
 
199
- [
200
- CartRepository,
201
- CartService,
202
- ].map((provider) => moduleManager.container.addProviderToPool("injectable" /* E_PROVIDER_TYPES.INJECTABLE */, provider));
203
198
  exports.ShopifyDriver = class ShopifyDriver {
204
199
  };
205
200
  exports.ShopifyDriver = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"shopify.driver.umd.js","sources":["../../src/types/mandatory-controllers.enum.ts","../../src/types/tokens.enum.ts","../../src/drivers/shopify/repositories/cart.repository.ts","../../src/drivers/shopify/services/cart.service.ts","../../src/drivers/shopify/controllers/line-items.controller.ts","../../src/drivers/shopify/controllers/preview.controller.ts","../../src/drivers/shopify/controllers/pricing.controller.ts","../../src/drivers/shopify/controllers/return-to-edit.controller.ts","../../src/drivers/shopify/index.driver.ts"],"sourcesContent":["export enum E_MANDATORY_CONTROLLERS {\r\n LINE_ITEMS = 'line-items',\r\n PREVIEW = 'preview',\r\n PRICING = 'pricing',\r\n RETURN_TO_EDIT = 'return-to-edit',\r\n};","export enum E_DRIVER_TOKENS {\r\n ENVIRONMENTS = 'ENVIRONMENTS',\r\n};","import { Injectable } from \"@savafeed/module-manager\";\r\n\r\n@Injectable()\r\nexport class CartRepository {\r\n\r\n constructor() {};\r\n\r\n private _cartData: any;\r\n\r\n public get cartData() {\r\n return this._cartData;\r\n };\r\n\r\n public set cartData(value: any) {\r\n this._cartData = value;\r\n };\r\n\r\n public get lineItems() {\r\n return this._cartData.items;\r\n }\r\n \r\n};","import { Inject, Injectable } from \"@savafeed/module-manager\";\r\nimport { E_DRIVER_TOKENS } from \"#types/tokens.enum\";\r\nimport { CartRepository } from \"@shopify.driver/repositories/cart.repository\";\r\nimport { IEnvironments } from \"@core/types\";\r\n\r\n@Injectable()\r\nexport class CartService {\r\n private shopUrl: string;\r\n\r\n constructor(\r\n @Inject(E_DRIVER_TOKENS.ENVIRONMENTS) private environments: IEnvironments,\r\n private cartRepository: CartRepository,\r\n ) {\r\n if (!this.environments.eCommerceData?.shopUrl) {\r\n throw new Error('Shop URL is not defined');\r\n }\r\n console.log('[Cart Service] this.cartRepository', this.cartRepository);\r\n this.shopUrl = this.environments.eCommerceData?.shopUrl;\r\n };\r\n\r\n async getCart() {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart.js';\r\n const response = await fetch(requestUrl.href);\r\n const data = await response.json();\r\n this.cartRepository.cartData = response;\r\n return data;\r\n };\r\n\r\n async updateCart(cart: any) {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart/update.js';\r\n const response = await fetch(requestUrl.href, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(cart),\r\n });\r\n const data = await response.json();\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n async changeLineItemQuantity(lineItemId: string, quantity: number) {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart/change.js';\r\n const response = await fetch(requestUrl.href, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n id: lineItemId,\r\n quantity: quantity,\r\n }),\r\n });\r\n const data = await response.json();\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n async removeLineItem(lineItemId: string) {\r\n const data = this.changeLineItemQuantity(lineItemId, 0);\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n};","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { ILineItemsController } from \"#types/abstract-controllers\";\r\nimport { CartService } from \"@shopify.driver/services/cart.service\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.LINE_ITEMS)\r\nexport class LineItemsController implements ILineItemsController {\r\n constructor(\r\n private cartService: CartService,\r\n ) {};\r\n\r\n async getLineItems() {\r\n const lineItems = this.cartService.getCart();\r\n return lineItems;\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { IPreviewController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.PREVIEW)\r\nexport class PreviewController implements IPreviewController {\r\n constructor() {};\r\n\r\n async getPreviewLink() {\r\n return 'https://www.google.com/preview';\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { AbstractPricingController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.PRICING)\r\nexport class PricingController implements AbstractPricingController { \r\n constructor() {};\r\n\r\n async getPrice() {\r\n return 100;\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { IReturnToEditController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.RETURN_TO_EDIT)\r\nexport class ReturnToEditController implements IReturnToEditController {\r\n constructor() {};\r\n\r\n async getReturnToEditLink() {\r\n return 'https://www.google.com/return-to-edit';\r\n }\r\n}","import { container, Module as Driver, E_PROVIDER_TYPES } from '@savafeed/module-manager';\r\nimport { LineItemsController } from '@shopify.driver/controllers/line-items.controller';\r\nimport { PreviewController } from '@shopify.driver/controllers/preview.controller';\r\nimport { PricingController } from '@shopify.driver/controllers/pricing.controller';\r\nimport { ReturnToEditController } from '@shopify.driver/controllers/return-to-edit.controller';\r\nimport { CartRepository } from '@shopify.driver/repositories/cart.repository';\r\nimport { CartService } from '@shopify.driver/services/cart.service';\r\n\r\n[\r\n CartRepository,\r\n CartService,\r\n].map((provider) => container.addProviderToPool(E_PROVIDER_TYPES.INJECTABLE, provider));\r\n\r\n@Driver({\r\n name: 'shopify-driver',\r\n providers: [\r\n CartRepository,\r\n CartService,\r\n ],\r\n controllers: [\r\n LineItemsController,\r\n PreviewController,\r\n PricingController,\r\n ReturnToEditController,\r\n ],\r\n})\r\nexport class ShopifyDriver { };"],"names":["Injectable","Inject","Controller","container","ShopifyDriver","Driver"],"mappings":"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"}
1
+ {"version":3,"file":"shopify.driver.umd.js","sources":["../../src/types/mandatory-controllers.enum.ts","../../src/types/tokens.enum.ts","../../src/drivers/shopify/repositories/cart.repository.ts","../../src/drivers/shopify/services/cart.service.ts","../../src/drivers/shopify/controllers/line-items.controller.ts","../../src/drivers/shopify/controllers/preview.controller.ts","../../src/drivers/shopify/controllers/pricing.controller.ts","../../src/drivers/shopify/controllers/return-to-edit.controller.ts","../../src/drivers/shopify/index.driver.ts"],"sourcesContent":["export enum E_MANDATORY_CONTROLLERS {\r\n LINE_ITEMS = 'line-items',\r\n PREVIEW = 'preview',\r\n PRICING = 'pricing',\r\n RETURN_TO_EDIT = 'return-to-edit',\r\n};","export enum E_DRIVER_TOKENS {\r\n ENVIRONMENTS = 'ENVIRONMENTS',\r\n};","import { Injectable } from \"@savafeed/module-manager\";\r\n\r\n@Injectable()\r\nexport class CartRepository {\r\n\r\n constructor() {};\r\n\r\n private _cartData: any;\r\n\r\n public get cartData() {\r\n return this._cartData;\r\n };\r\n\r\n public set cartData(value: any) {\r\n this._cartData = value;\r\n };\r\n\r\n public get lineItems() {\r\n return this._cartData.items;\r\n }\r\n \r\n};","import { Inject, Injectable } from \"@savafeed/module-manager\";\r\nimport { E_DRIVER_TOKENS } from \"#types/tokens.enum\";\r\nimport { CartRepository } from \"@shopify.driver/repositories/cart.repository\";\r\nimport { IEnvironments } from \"@core/types\";\r\n\r\n@Injectable()\r\nexport class CartService {\r\n private shopUrl: string;\r\n\r\n constructor(\r\n @Inject(E_DRIVER_TOKENS.ENVIRONMENTS) private environments: IEnvironments,\r\n private cartRepository: CartRepository,\r\n ) {\r\n if (!this.environments.eCommerceData?.shopUrl) {\r\n throw new Error('Shop URL is not defined');\r\n }\r\n this.shopUrl = this.environments.eCommerceData?.shopUrl;\r\n };\r\n\r\n async getCart() {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart.js';\r\n const response = await fetch(requestUrl.href);\r\n const data = await response.json();\r\n this.cartRepository.cartData = response;\r\n return data;\r\n };\r\n\r\n async updateCart(cart: any) {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart/update.js';\r\n const response = await fetch(requestUrl.href, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify(cart),\r\n });\r\n const data = await response.json();\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n async changeLineItemQuantity(lineItemId: string, quantity: number) {\r\n const requestUrl = new URL(this.shopUrl);\r\n requestUrl.pathname = '/cart/change.js';\r\n const response = await fetch(requestUrl.href, {\r\n method: 'POST',\r\n headers: {\r\n 'Content-Type': 'application/json',\r\n },\r\n body: JSON.stringify({\r\n id: lineItemId,\r\n quantity: quantity,\r\n }),\r\n });\r\n const data = await response.json();\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n async removeLineItem(lineItemId: string) {\r\n const data = this.changeLineItemQuantity(lineItemId, 0);\r\n this.cartRepository.cartData = data;\r\n return data;\r\n };\r\n\r\n};","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { ILineItemsController } from \"#types/abstract-controllers\";\r\nimport { CartService } from \"@shopify.driver/services/cart.service\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.LINE_ITEMS)\r\nexport class LineItemsController implements ILineItemsController {\r\n constructor(\r\n private cartService: CartService,\r\n ) {};\r\n\r\n async getLineItems() {\r\n const lineItems = this.cartService.getCart();\r\n return lineItems;\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { IPreviewController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.PREVIEW)\r\nexport class PreviewController implements IPreviewController {\r\n constructor() {};\r\n\r\n async getPreviewLink() {\r\n return 'https://www.google.com/preview';\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { AbstractPricingController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.PRICING)\r\nexport class PricingController implements AbstractPricingController { \r\n constructor() {};\r\n\r\n async getPrice() {\r\n return 100;\r\n }\r\n}","import { Controller } from \"@savafeed/module-manager\";\r\nimport { E_MANDATORY_CONTROLLERS } from \"#types/mandatory-controllers.enum\";\r\nimport { IReturnToEditController } from \"#types/abstract-controllers\";\r\n\r\n@Controller(E_MANDATORY_CONTROLLERS.RETURN_TO_EDIT)\r\nexport class ReturnToEditController implements IReturnToEditController {\r\n constructor() {};\r\n\r\n async getReturnToEditLink() {\r\n return 'https://www.google.com/return-to-edit';\r\n }\r\n}","import { container, Module as Driver, E_PROVIDER_TYPES } from '@savafeed/module-manager';\r\nimport { LineItemsController } from '@shopify.driver/controllers/line-items.controller';\r\nimport { PreviewController } from '@shopify.driver/controllers/preview.controller';\r\nimport { PricingController } from '@shopify.driver/controllers/pricing.controller';\r\nimport { ReturnToEditController } from '@shopify.driver/controllers/return-to-edit.controller';\r\nimport { CartRepository } from '@shopify.driver/repositories/cart.repository';\r\nimport { CartService } from '@shopify.driver/services/cart.service';\r\n\r\n\r\n@Driver({\r\n name: 'shopify-driver',\r\n providers: [\r\n CartRepository,\r\n CartService,\r\n ],\r\n controllers: [\r\n LineItemsController,\r\n PreviewController,\r\n PricingController,\r\n ReturnToEditController,\r\n ],\r\n})\r\nexport class ShopifyDriver { };"],"names":["Injectable","Inject","Controller","ShopifyDriver","Driver"],"mappings":"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"}