@savafeed/shopify-driver 1.1.78 → 1.1.79

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.78",
3
+ "version": "1.1.79",
4
4
  "main": "shopify.driver.cjs.js",
5
5
  "module": "shopify.driver.esm.js",
6
6
  "umd": "shopify.driver.umd.js",
@@ -52,27 +52,11 @@ var E_DRIVER_TOKENS;
52
52
  E_DRIVER_TOKENS["ENVIRONMENTS"] = "ENVIRONMENTS";
53
53
  })(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));
54
54
 
55
- let CartRepository = class CartRepository {
56
- constructor() { }
57
- ;
58
- cartData;
59
- get lineItems() {
60
- console.log('this.cartData', this.cartData);
61
- return this.cartData.items;
62
- }
63
- };
64
- CartRepository = __decorate([
65
- moduleManager.Injectable(),
66
- __metadata("design:paramtypes", [])
67
- ], CartRepository);
68
-
69
55
  let CartService = class CartService {
70
56
  environments;
71
- cartRepository;
72
57
  shopUrl;
73
- constructor(environments, cartRepository) {
58
+ constructor(environments) {
74
59
  this.environments = environments;
75
- this.cartRepository = cartRepository;
76
60
  if (!this.environments.eCommerceData?.shopUrl) {
77
61
  throw new Error('Shop URL is not defined');
78
62
  }
@@ -82,31 +66,25 @@ let CartService = class CartService {
82
66
  async getCart() {
83
67
  const requestUrl = new URL(this.shopUrl);
84
68
  requestUrl.pathname = '/cart.js';
85
- const response = await fetch(requestUrl.href);
86
- const data = await response.json();
87
- this.cartRepository.cartData = data;
88
- return data;
69
+ return await fetch(requestUrl.href).then((res) => res.json());
89
70
  }
90
71
  ;
91
72
  async updateCart(cart) {
92
73
  const requestUrl = new URL(this.shopUrl);
93
74
  requestUrl.pathname = '/cart/update.js';
94
- const response = await fetch(requestUrl.href, {
75
+ return await fetch(requestUrl.href, {
95
76
  method: 'POST',
96
77
  headers: {
97
78
  'Content-Type': 'application/json',
98
79
  },
99
80
  body: JSON.stringify(cart),
100
- });
101
- const data = await response.json();
102
- this.cartRepository.cartData = data;
103
- return data;
81
+ }).then((res) => res.json());
104
82
  }
105
83
  ;
106
84
  async changeLineItemQuantity(lineItemId, quantity) {
107
85
  const requestUrl = new URL(this.shopUrl);
108
86
  requestUrl.pathname = '/cart/change.js';
109
- const response = await fetch(requestUrl.href, {
87
+ return await fetch(requestUrl.href, {
110
88
  method: 'POST',
111
89
  headers: {
112
90
  'Content-Type': 'application/json',
@@ -115,43 +93,39 @@ let CartService = class CartService {
115
93
  id: lineItemId,
116
94
  quantity: quantity,
117
95
  }),
118
- });
119
- const data = await response.json();
120
- this.cartRepository.cartData = data;
121
- return data;
96
+ }).then((res) => res.json());
122
97
  }
123
98
  ;
124
99
  async removeLineItem(lineItemId) {
125
- const data = this.changeLineItemQuantity(lineItemId, 0);
126
- this.cartRepository.cartData = data;
127
- return data;
100
+ return this.changeLineItemQuantity(lineItemId, 0);
128
101
  }
129
102
  ;
130
103
  };
131
104
  CartService = __decorate([
132
105
  moduleManager.Injectable(),
133
106
  __param(0, moduleManager.Inject(E_DRIVER_TOKENS.ENVIRONMENTS)),
134
- __metadata("design:paramtypes", [Object, CartRepository])
107
+ __metadata("design:paramtypes", [Object])
135
108
  ], CartService);
136
109
 
137
110
  let LineItemsController = class LineItemsController {
138
111
  cartService;
139
- cartRepository;
140
- constructor(cartService, cartRepository) {
112
+ constructor(cartService) {
141
113
  this.cartService = cartService;
142
- this.cartRepository = cartRepository;
143
114
  }
144
115
  ;
145
116
  async getLineItems() {
146
- await this.cartService.getCart();
147
- console.log('this.cartRepository', this.cartRepository);
148
- return this.cartRepository.lineItems;
117
+ const cart = await this.cartService.getCart();
118
+ if (cart) {
119
+ return cart.items;
120
+ }
121
+ else {
122
+ return [];
123
+ }
149
124
  }
150
125
  };
151
126
  LineItemsController = __decorate([
152
127
  moduleManager.Controller(E_MANDATORY_CONTROLLERS.LINE_ITEMS),
153
- __metadata("design:paramtypes", [CartService,
154
- CartRepository])
128
+ __metadata("design:paramtypes", [CartService])
155
129
  ], LineItemsController);
156
130
 
157
131
  let PreviewController = class PreviewController {
@@ -196,7 +170,6 @@ exports.ShopifyDriver = __decorate([
196
170
  moduleManager.Module({
197
171
  name: 'shopify-driver',
198
172
  providers: [
199
- CartRepository,
200
173
  CartService,
201
174
  ],
202
175
  controllers: [
@@ -208,5 +181,5 @@ exports.ShopifyDriver = __decorate([
208
181
  })
209
182
  ], exports.ShopifyDriver);
210
183
  // @ts-ignore
211
- console.log('Driver version:', "1.1.78");
184
+ console.log('Driver version:', "1.1.79");
212
185
  //# sourceMappingURL=shopify.driver.cjs.js.map
@@ -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 public cartData: any;\r\n\r\n public get lineItems() {\r\n console.log('this.cartData', this.cartData);\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 = data;\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\nimport { CartRepository } from \"../repositories/cart.repository\";\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 private cartRepository: CartRepository,\r\n ) {};\r\n\r\n async getLineItems() {\r\n await this.cartService.getCart();\r\n console.log('this.cartRepository', this.cartRepository);\r\n return this.cartRepository.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 { Module as Driver } 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 { };\r\n// @ts-ignore\r\nconsole.log('Driver version:', __APP_VERSION__);"],"names":["Injectable","Inject","Controller","ShopifyDriver","Driver"],"mappings":"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"}
1
+ {"version":3,"file":"shopify.driver.cjs.js","sources":["../../src/types/mandatory-controllers.enum.ts","../../src/types/tokens.enum.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 { Inject, Injectable } from \"@savafeed/module-manager\";\r\nimport { E_DRIVER_TOKENS } from \"#types/tokens.enum\";\r\nimport { IEnvironments } from \"@core/types\";\r\nimport type { Shopify } from \"@shopify.driver/types\";\r\n\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 ) {\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 return await fetch(\r\n requestUrl.href\r\n ).then((res) => res.json()) as Promise<Shopify.Cart | undefined>;\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 return 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 }).then((res) => res.json()) as Promise<Shopify.Cart | undefined>;\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 return 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 }).then((res) => res.json()) as Promise<Shopify.Cart | undefined>;\r\n };\r\n\r\n async removeLineItem(lineItemId: string) {\r\n return this.changeLineItemQuantity(lineItemId, 0);\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 cart = await this.cartService.getCart();\r\n if (cart) {\r\n return cart.items;\r\n } else {\r\n return [];\r\n }\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 { Module as Driver } 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 { CartService } from '@shopify.driver/services/cart.service';\r\n\r\n\r\n@Driver({\r\n name: 'shopify-driver',\r\n providers: [\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 { };\r\n// @ts-ignore\r\nconsole.log('Driver version:', __APP_VERSION__);"],"names":["Injectable","Inject","Controller","ShopifyDriver","Driver"],"mappings":"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"}
@@ -50,27 +50,11 @@ var E_DRIVER_TOKENS;
50
50
  E_DRIVER_TOKENS["ENVIRONMENTS"] = "ENVIRONMENTS";
51
51
  })(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));
52
52
 
53
- let CartRepository = class CartRepository {
54
- constructor() { }
55
- ;
56
- cartData;
57
- get lineItems() {
58
- console.log('this.cartData', this.cartData);
59
- return this.cartData.items;
60
- }
61
- };
62
- CartRepository = __decorate([
63
- Injectable(),
64
- __metadata("design:paramtypes", [])
65
- ], CartRepository);
66
-
67
53
  let CartService = class CartService {
68
54
  environments;
69
- cartRepository;
70
55
  shopUrl;
71
- constructor(environments, cartRepository) {
56
+ constructor(environments) {
72
57
  this.environments = environments;
73
- this.cartRepository = cartRepository;
74
58
  if (!this.environments.eCommerceData?.shopUrl) {
75
59
  throw new Error('Shop URL is not defined');
76
60
  }
@@ -80,31 +64,25 @@ let CartService = class CartService {
80
64
  async getCart() {
81
65
  const requestUrl = new URL(this.shopUrl);
82
66
  requestUrl.pathname = '/cart.js';
83
- const response = await fetch(requestUrl.href);
84
- const data = await response.json();
85
- this.cartRepository.cartData = data;
86
- return data;
67
+ return await fetch(requestUrl.href).then((res) => res.json());
87
68
  }
88
69
  ;
89
70
  async updateCart(cart) {
90
71
  const requestUrl = new URL(this.shopUrl);
91
72
  requestUrl.pathname = '/cart/update.js';
92
- const response = await fetch(requestUrl.href, {
73
+ return await fetch(requestUrl.href, {
93
74
  method: 'POST',
94
75
  headers: {
95
76
  'Content-Type': 'application/json',
96
77
  },
97
78
  body: JSON.stringify(cart),
98
- });
99
- const data = await response.json();
100
- this.cartRepository.cartData = data;
101
- return data;
79
+ }).then((res) => res.json());
102
80
  }
103
81
  ;
104
82
  async changeLineItemQuantity(lineItemId, quantity) {
105
83
  const requestUrl = new URL(this.shopUrl);
106
84
  requestUrl.pathname = '/cart/change.js';
107
- const response = await fetch(requestUrl.href, {
85
+ return await fetch(requestUrl.href, {
108
86
  method: 'POST',
109
87
  headers: {
110
88
  'Content-Type': 'application/json',
@@ -113,43 +91,39 @@ let CartService = class CartService {
113
91
  id: lineItemId,
114
92
  quantity: quantity,
115
93
  }),
116
- });
117
- const data = await response.json();
118
- this.cartRepository.cartData = data;
119
- return data;
94
+ }).then((res) => res.json());
120
95
  }
121
96
  ;
122
97
  async removeLineItem(lineItemId) {
123
- const data = this.changeLineItemQuantity(lineItemId, 0);
124
- this.cartRepository.cartData = data;
125
- return data;
98
+ return this.changeLineItemQuantity(lineItemId, 0);
126
99
  }
127
100
  ;
128
101
  };
129
102
  CartService = __decorate([
130
103
  Injectable(),
131
104
  __param(0, Inject(E_DRIVER_TOKENS.ENVIRONMENTS)),
132
- __metadata("design:paramtypes", [Object, CartRepository])
105
+ __metadata("design:paramtypes", [Object])
133
106
  ], CartService);
134
107
 
135
108
  let LineItemsController = class LineItemsController {
136
109
  cartService;
137
- cartRepository;
138
- constructor(cartService, cartRepository) {
110
+ constructor(cartService) {
139
111
  this.cartService = cartService;
140
- this.cartRepository = cartRepository;
141
112
  }
142
113
  ;
143
114
  async getLineItems() {
144
- await this.cartService.getCart();
145
- console.log('this.cartRepository', this.cartRepository);
146
- return this.cartRepository.lineItems;
115
+ const cart = await this.cartService.getCart();
116
+ if (cart) {
117
+ return cart.items;
118
+ }
119
+ else {
120
+ return [];
121
+ }
147
122
  }
148
123
  };
149
124
  LineItemsController = __decorate([
150
125
  Controller(E_MANDATORY_CONTROLLERS.LINE_ITEMS),
151
- __metadata("design:paramtypes", [CartService,
152
- CartRepository])
126
+ __metadata("design:paramtypes", [CartService])
153
127
  ], LineItemsController);
154
128
 
155
129
  let PreviewController = class PreviewController {
@@ -194,7 +168,6 @@ ShopifyDriver = __decorate([
194
168
  Module({
195
169
  name: 'shopify-driver',
196
170
  providers: [
197
- CartRepository,
198
171
  CartService,
199
172
  ],
200
173
  controllers: [
@@ -206,7 +179,7 @@ ShopifyDriver = __decorate([
206
179
  })
207
180
  ], ShopifyDriver);
208
181
  // @ts-ignore
209
- console.log('Driver version:', "1.1.78");
182
+ console.log('Driver version:', "1.1.79");
210
183
 
211
184
  export { ShopifyDriver };
212
185
  //# sourceMappingURL=shopify.driver.esm.js.map
@@ -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 public cartData: any;\r\n\r\n public get lineItems() {\r\n console.log('this.cartData', this.cartData);\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 = data;\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\nimport { CartRepository } from \"../repositories/cart.repository\";\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 private cartRepository: CartRepository,\r\n ) {};\r\n\r\n async getLineItems() {\r\n await this.cartService.getCart();\r\n console.log('this.cartRepository', this.cartRepository);\r\n return this.cartRepository.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 { Module as Driver } 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 { };\r\n// @ts-ignore\r\nconsole.log('Driver version:', __APP_VERSION__);"],"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/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 { Inject, Injectable } from \"@savafeed/module-manager\";\r\nimport { E_DRIVER_TOKENS } from \"#types/tokens.enum\";\r\nimport { IEnvironments } from \"@core/types\";\r\nimport type { Shopify } from \"@shopify.driver/types\";\r\n\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 ) {\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 return await fetch(\r\n requestUrl.href\r\n ).then((res) => res.json()) as Promise<Shopify.Cart | undefined>;\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 return 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 }).then((res) => res.json()) as Promise<Shopify.Cart | undefined>;\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 return 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 }).then((res) => res.json()) as Promise<Shopify.Cart | undefined>;\r\n };\r\n\r\n async removeLineItem(lineItemId: string) {\r\n return this.changeLineItemQuantity(lineItemId, 0);\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 cart = await this.cartService.getCart();\r\n if (cart) {\r\n return cart.items;\r\n } else {\r\n return [];\r\n }\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 { Module as Driver } 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 { CartService } from '@shopify.driver/services/cart.service';\r\n\r\n\r\n@Driver({\r\n name: 'shopify-driver',\r\n providers: [\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 { };\r\n// @ts-ignore\r\nconsole.log('Driver version:', __APP_VERSION__);"],"names":["Driver"],"mappings":"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"}
@@ -54,27 +54,11 @@
54
54
  E_DRIVER_TOKENS["ENVIRONMENTS"] = "ENVIRONMENTS";
55
55
  })(E_DRIVER_TOKENS || (E_DRIVER_TOKENS = {}));
56
56
 
57
- let CartRepository = class CartRepository {
58
- constructor() { }
59
- ;
60
- cartData;
61
- get lineItems() {
62
- console.log('this.cartData', this.cartData);
63
- return this.cartData.items;
64
- }
65
- };
66
- CartRepository = __decorate([
67
- moduleManager.Injectable(),
68
- __metadata("design:paramtypes", [])
69
- ], CartRepository);
70
-
71
57
  let CartService = class CartService {
72
58
  environments;
73
- cartRepository;
74
59
  shopUrl;
75
- constructor(environments, cartRepository) {
60
+ constructor(environments) {
76
61
  this.environments = environments;
77
- this.cartRepository = cartRepository;
78
62
  if (!this.environments.eCommerceData?.shopUrl) {
79
63
  throw new Error('Shop URL is not defined');
80
64
  }
@@ -84,31 +68,25 @@
84
68
  async getCart() {
85
69
  const requestUrl = new URL(this.shopUrl);
86
70
  requestUrl.pathname = '/cart.js';
87
- const response = await fetch(requestUrl.href);
88
- const data = await response.json();
89
- this.cartRepository.cartData = data;
90
- return data;
71
+ return await fetch(requestUrl.href).then((res) => res.json());
91
72
  }
92
73
  ;
93
74
  async updateCart(cart) {
94
75
  const requestUrl = new URL(this.shopUrl);
95
76
  requestUrl.pathname = '/cart/update.js';
96
- const response = await fetch(requestUrl.href, {
77
+ return await fetch(requestUrl.href, {
97
78
  method: 'POST',
98
79
  headers: {
99
80
  'Content-Type': 'application/json',
100
81
  },
101
82
  body: JSON.stringify(cart),
102
- });
103
- const data = await response.json();
104
- this.cartRepository.cartData = data;
105
- return data;
83
+ }).then((res) => res.json());
106
84
  }
107
85
  ;
108
86
  async changeLineItemQuantity(lineItemId, quantity) {
109
87
  const requestUrl = new URL(this.shopUrl);
110
88
  requestUrl.pathname = '/cart/change.js';
111
- const response = await fetch(requestUrl.href, {
89
+ return await fetch(requestUrl.href, {
112
90
  method: 'POST',
113
91
  headers: {
114
92
  'Content-Type': 'application/json',
@@ -117,43 +95,39 @@
117
95
  id: lineItemId,
118
96
  quantity: quantity,
119
97
  }),
120
- });
121
- const data = await response.json();
122
- this.cartRepository.cartData = data;
123
- return data;
98
+ }).then((res) => res.json());
124
99
  }
125
100
  ;
126
101
  async removeLineItem(lineItemId) {
127
- const data = this.changeLineItemQuantity(lineItemId, 0);
128
- this.cartRepository.cartData = data;
129
- return data;
102
+ return this.changeLineItemQuantity(lineItemId, 0);
130
103
  }
131
104
  ;
132
105
  };
133
106
  CartService = __decorate([
134
107
  moduleManager.Injectable(),
135
108
  __param(0, moduleManager.Inject(E_DRIVER_TOKENS.ENVIRONMENTS)),
136
- __metadata("design:paramtypes", [Object, CartRepository])
109
+ __metadata("design:paramtypes", [Object])
137
110
  ], CartService);
138
111
 
139
112
  let LineItemsController = class LineItemsController {
140
113
  cartService;
141
- cartRepository;
142
- constructor(cartService, cartRepository) {
114
+ constructor(cartService) {
143
115
  this.cartService = cartService;
144
- this.cartRepository = cartRepository;
145
116
  }
146
117
  ;
147
118
  async getLineItems() {
148
- await this.cartService.getCart();
149
- console.log('this.cartRepository', this.cartRepository);
150
- return this.cartRepository.lineItems;
119
+ const cart = await this.cartService.getCart();
120
+ if (cart) {
121
+ return cart.items;
122
+ }
123
+ else {
124
+ return [];
125
+ }
151
126
  }
152
127
  };
153
128
  LineItemsController = __decorate([
154
129
  moduleManager.Controller(E_MANDATORY_CONTROLLERS.LINE_ITEMS),
155
- __metadata("design:paramtypes", [CartService,
156
- CartRepository])
130
+ __metadata("design:paramtypes", [CartService])
157
131
  ], LineItemsController);
158
132
 
159
133
  let PreviewController = class PreviewController {
@@ -198,7 +172,6 @@
198
172
  moduleManager.Module({
199
173
  name: 'shopify-driver',
200
174
  providers: [
201
- CartRepository,
202
175
  CartService,
203
176
  ],
204
177
  controllers: [
@@ -210,7 +183,7 @@
210
183
  })
211
184
  ], exports.ShopifyDriver);
212
185
  // @ts-ignore
213
- console.log('Driver version:', "1.1.78");
186
+ console.log('Driver version:', "1.1.79");
214
187
 
215
188
  }));
216
189
  //# sourceMappingURL=shopify.driver.umd.js.map
@@ -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 public cartData: any;\r\n\r\n public get lineItems() {\r\n console.log('this.cartData', this.cartData);\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 = data;\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\nimport { CartRepository } from \"../repositories/cart.repository\";\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 private cartRepository: CartRepository,\r\n ) {};\r\n\r\n async getLineItems() {\r\n await this.cartService.getCart();\r\n console.log('this.cartRepository', this.cartRepository);\r\n return this.cartRepository.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 { Module as Driver } 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 { };\r\n// @ts-ignore\r\nconsole.log('Driver version:', __APP_VERSION__);"],"names":["Injectable","Inject","Controller","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/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 { Inject, Injectable } from \"@savafeed/module-manager\";\r\nimport { E_DRIVER_TOKENS } from \"#types/tokens.enum\";\r\nimport { IEnvironments } from \"@core/types\";\r\nimport type { Shopify } from \"@shopify.driver/types\";\r\n\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 ) {\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 return await fetch(\r\n requestUrl.href\r\n ).then((res) => res.json()) as Promise<Shopify.Cart | undefined>;\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 return 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 }).then((res) => res.json()) as Promise<Shopify.Cart | undefined>;\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 return 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 }).then((res) => res.json()) as Promise<Shopify.Cart | undefined>;\r\n };\r\n\r\n async removeLineItem(lineItemId: string) {\r\n return this.changeLineItemQuantity(lineItemId, 0);\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 cart = await this.cartService.getCart();\r\n if (cart) {\r\n return cart.items;\r\n } else {\r\n return [];\r\n }\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 { Module as Driver } 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 { CartService } from '@shopify.driver/services/cart.service';\r\n\r\n\r\n@Driver({\r\n name: 'shopify-driver',\r\n providers: [\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 { };\r\n// @ts-ignore\r\nconsole.log('Driver version:', __APP_VERSION__);"],"names":["Injectable","Inject","Controller","ShopifyDriver","Driver"],"mappings":"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"}