simpo-component-library 1.4.15 → 1.4.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/esm2022/lib/ecommerce/json/user-cart.json +1 -14
  2. package/esm2022/lib/ecommerce/sections/authenticate-user/authenticate-user.component.mjs +13 -10
  3. package/esm2022/lib/ecommerce/sections/cart/cart.component.mjs +2 -2
  4. package/esm2022/lib/ecommerce/sections/featured-products/featured-products.component.mjs +3 -3
  5. package/esm2022/lib/ecommerce/sections/product-desc/product-desc.component.mjs +10 -4
  6. package/esm2022/lib/ecommerce/sections/whislist/whislist.component.mjs +3 -3
  7. package/esm2022/lib/ecommerce/styles/OrderedItems.modal.mjs +3 -8
  8. package/esm2022/lib/ecommerce/styles/cart.modal.mjs +2 -1
  9. package/esm2022/lib/ecommerce/styles/user.modal.mjs +11 -0
  10. package/esm2022/lib/services/cart.service.mjs +86 -69
  11. package/esm2022/lib/services/storage.service.mjs +80 -0
  12. package/fesm2022/simpo-component-library.mjs +188 -99
  13. package/fesm2022/simpo-component-library.mjs.map +1 -1
  14. package/lib/directive/background-directive.d.ts +1 -1
  15. package/lib/directive/button-directive.directive.d.ts +1 -1
  16. package/lib/directive/color.directive.d.ts +1 -1
  17. package/lib/ecommerce/sections/authenticate-user/authenticate-user.component.d.ts +4 -2
  18. package/lib/ecommerce/sections/featured-products/featured-products.component.d.ts +1 -1
  19. package/lib/ecommerce/styles/OrderedItems.modal.d.ts +10 -14
  20. package/lib/ecommerce/styles/cart.modal.d.ts +3 -18
  21. package/lib/ecommerce/styles/user.modal.d.ts +38 -0
  22. package/lib/sections/pricing-section/pricing-section.component.d.ts +1 -1
  23. package/lib/services/cart.service.d.ts +9 -9
  24. package/lib/services/storage.service.d.ts +28 -0
  25. package/package.json +1 -1
  26. package/simpo-component-library-1.4.16.tgz +0 -0
  27. package/simpo-component-library-1.4.12.tgz +0 -0
  28. package/simpo-component-library-1.4.13.tgz +0 -0
  29. package/simpo-component-library-1.4.14.tgz +0 -0
  30. package/simpo-component-library-1.4.15.tgz +0 -0
@@ -1,6 +1,7 @@
1
+ import { v1 as uuidv1 } from 'uuid';
1
2
  export class OrderedItems {
2
3
  constructor(json) {
3
- this.itemId = json?.["itemId"];
4
+ this.itemId = json?.["itemId"] ?? uuidv1();
4
5
  this.businessId = json?.["businessId"];
5
6
  this.itemName = json?.["name"];
6
7
  this.brandName = json?.["brandName"];
@@ -11,11 +12,5 @@ export class OrderedItems {
11
12
  this.discountedPrice = json?.["price"]?.["discountedPrice"];
12
13
  this.taxAfterDiscount = json?.["taxAfterDiscount"];
13
14
  }
14
- set setQuantity(quantity) {
15
- this.quantity = quantity;
16
- }
17
- get getQuantity() { return this.quantity; }
18
- get getItemId() { return this.itemId; }
19
- get getPrice() { return this.price; }
20
15
  }
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXJlZEl0ZW1zLm1vZGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc3R5bGVzL09yZGVyZWRJdGVtcy5tb2RhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sWUFBWTtJQVlyQixZQUFZLElBQTBCO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxRQUFhO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLFdBQVcsS0FBYSxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ25ELElBQUksU0FBUyxLQUFLLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFDdkMsSUFBSSxRQUFRLEtBQUssT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztDQUN4QyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBPcmRlcmVkSXRlbXMge1xyXG4gICAgcHJpdmF0ZSBpdGVtSWQ6IHN0cmluZztcclxuICAgIHByaXZhdGUgYnVzaW5lc3NJZDogc3RyaW5nO1xyXG4gICAgcHJpdmF0ZSBpdGVtTmFtZTogc3RyaW5nO1xyXG4gICAgcHJpdmF0ZSBicmFuZE5hbWU6IHN0cmluZztcclxuICAgIHByaXZhdGUgaW1nVXJsOiBzdHJpbmc7XHJcbiAgICBwcml2YXRlIHByaWNlOiBudW1iZXI7XHJcbiAgICBwcml2YXRlIGl0ZW1UYXg6IG51bWJlcjtcclxuICAgIHByaXZhdGUgcXVhbnRpdHk6IG51bWJlcjtcclxuICAgIHByaXZhdGUgZGlzY291bnRlZFByaWNlOiBudW1iZXI7XHJcbiAgICBwcml2YXRlIHRheEFmdGVyRGlzY291bnQ6IG51bWJlcjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihqc29uPzp7W2tleTogc3RyaW5nXTogYW55fSkge1xyXG4gICAgICAgIHRoaXMuaXRlbUlkID0ganNvbj8uW1wiaXRlbUlkXCJdO1xyXG4gICAgICAgIHRoaXMuYnVzaW5lc3NJZCA9IGpzb24/LltcImJ1c2luZXNzSWRcIl07XHJcbiAgICAgICAgdGhpcy5pdGVtTmFtZSA9IGpzb24/LltcIm5hbWVcIl07XHJcbiAgICAgICAgdGhpcy5icmFuZE5hbWUgPSBqc29uPy5bXCJicmFuZE5hbWVcIl07XHJcbiAgICAgICAgdGhpcy5pbWdVcmwgPSBqc29uPy5bXCJpdGVtSW1hZ2VzXCJdPy5bMF0/LltcImltZ1VybFwiXTtcclxuICAgICAgICB0aGlzLnByaWNlID0ganNvbj8uW1wicHJpY2VcIl0/LltcInZhbHVlXCJdO1xyXG4gICAgICAgIHRoaXMuaXRlbVRheCA9IGpzb24/LltcInByaWNlXCJdPy5bXCJ0YXhBbW91bnRcIl07XHJcbiAgICAgICAgdGhpcy5xdWFudGl0eSA9IGpzb24/LltcInF1YW50aXR5XCJdO1xyXG4gICAgICAgIHRoaXMuZGlzY291bnRlZFByaWNlID0ganNvbj8uW1wicHJpY2VcIl0/LltcImRpc2NvdW50ZWRQcmljZVwiXTtcclxuICAgICAgICB0aGlzLnRheEFmdGVyRGlzY291bnQgPSBqc29uPy5bXCJ0YXhBZnRlckRpc2NvdW50XCJdO1xyXG4gICAgfVxyXG4gICAgc2V0IHNldFF1YW50aXR5KHF1YW50aXR5OiBhbnkpIHtcclxuICAgICAgICB0aGlzLnF1YW50aXR5ID0gcXVhbnRpdHk7XHJcbiAgICB9XHJcbiAgICBnZXQgZ2V0UXVhbnRpdHkoKTogbnVtYmVyIHsgcmV0dXJuIHRoaXMucXVhbnRpdHk7IH1cclxuICAgIGdldCBnZXRJdGVtSWQoKSB7IHJldHVybiB0aGlzLml0ZW1JZDsgfVxyXG4gICAgZ2V0IGdldFByaWNlKCkgeyByZXR1cm4gdGhpcy5wcmljZTsgfVxyXG59Il19
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JkZXJlZEl0ZW1zLm1vZGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9lY29tbWVyY2Uvc3R5bGVzL09yZGVyZWRJdGVtcy5tb2RhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsRUFBRSxJQUFJLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwQyxNQUFNLE9BQU8sWUFBWTtJQVlyQixZQUFZLElBQTBCO1FBQ2xDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUM7UUFDM0MsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxFQUFFLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHYxIGFzIHV1aWR2MSB9IGZyb20gJ3V1aWQnO1xyXG5leHBvcnQgY2xhc3MgT3JkZXJlZEl0ZW1zIHtcclxuICAgIGl0ZW1JZDogc3RyaW5nO1xyXG4gICAgYnVzaW5lc3NJZDogc3RyaW5nO1xyXG4gICAgaXRlbU5hbWU6IHN0cmluZztcclxuICAgIGJyYW5kTmFtZTogc3RyaW5nO1xyXG4gICAgaW1nVXJsOiBzdHJpbmc7XHJcbiAgICBwcmljZTogbnVtYmVyO1xyXG4gICAgaXRlbVRheDogbnVtYmVyO1xyXG4gICAgcXVhbnRpdHk6IG51bWJlcjtcclxuICAgIGRpc2NvdW50ZWRQcmljZTogbnVtYmVyO1xyXG4gICAgdGF4QWZ0ZXJEaXNjb3VudDogbnVtYmVyO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKGpzb24/Ontba2V5OiBzdHJpbmddOiBhbnl9KSB7XHJcbiAgICAgICAgdGhpcy5pdGVtSWQgPSBqc29uPy5bXCJpdGVtSWRcIl0gPz8gdXVpZHYxKCk7XHJcbiAgICAgICAgdGhpcy5idXNpbmVzc0lkID0ganNvbj8uW1wiYnVzaW5lc3NJZFwiXTtcclxuICAgICAgICB0aGlzLml0ZW1OYW1lID0ganNvbj8uW1wibmFtZVwiXTtcclxuICAgICAgICB0aGlzLmJyYW5kTmFtZSA9IGpzb24/LltcImJyYW5kTmFtZVwiXTtcclxuICAgICAgICB0aGlzLmltZ1VybCA9IGpzb24/LltcIml0ZW1JbWFnZXNcIl0/LlswXT8uW1wiaW1nVXJsXCJdO1xyXG4gICAgICAgIHRoaXMucHJpY2UgPSBqc29uPy5bXCJwcmljZVwiXT8uW1widmFsdWVcIl07XHJcbiAgICAgICAgdGhpcy5pdGVtVGF4ID0ganNvbj8uW1wicHJpY2VcIl0/LltcInRheEFtb3VudFwiXTtcclxuICAgICAgICB0aGlzLnF1YW50aXR5ID0ganNvbj8uW1wicXVhbnRpdHlcIl07XHJcbiAgICAgICAgdGhpcy5kaXNjb3VudGVkUHJpY2UgPSBqc29uPy5bXCJwcmljZVwiXT8uW1wiZGlzY291bnRlZFByaWNlXCJdO1xyXG4gICAgICAgIHRoaXMudGF4QWZ0ZXJEaXNjb3VudCA9IGpzb24/LltcInRheEFmdGVyRGlzY291bnRcIl07XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -7,6 +7,7 @@ export class Cart {
7
7
  this.platform = json?.["platform"];
8
8
  this.locationDetails = json?.["locationDetails"];
9
9
  this.userDetails = json?.["userDetails"];
10
+ this.totalAmount = 0;
10
11
  }
11
12
  }
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5tb2RhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3N0eWxlcy9jYXJ0Lm1vZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxJQUFJO0lBU2YsWUFBWSxJQUEwQixFQUFFLE9BQXdCLElBQUk7UUFDaEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEl0ZW1WYXJpYW50IH0gZnJvbSBcIi4vcHJvZHVjdC5tb2RhbFwiXHJcblxyXG5leHBvcnQgY2xhc3MgQ2FydCB7XHJcbiAgY2FydElkOiBzdHJpbmdcclxuICBwZ09yZGVySWQ6IHN0cmluZ1xyXG4gIG9yZGVyZWRJdGVtczogT3JkZXJlZEl0ZW1bXVxyXG4gIGJpbGxkZXRhaWxzOiBCaWxsZGV0YWlsc1xyXG4gIHBsYXRmb3JtOiBzdHJpbmdcclxuICBsb2NhdGlvbkRldGFpbHM6IExvY2F0aW9uRGV0YWlsc1xyXG4gIHVzZXJEZXRhaWxzOiBVc2VyRGV0YWlsc1xyXG5cclxuICBjb25zdHJ1Y3Rvcihqc29uOiB7W2tleTogc3RyaW5nXTogYW55fSwgdHlwZTogJ01BUFBFUicgfCBudWxsID0gbnVsbCkge1xyXG4gICAgICB0aGlzLmNhcnRJZCA9IGpzb24/LltcImNhcnRJZFwiXTtcclxuICAgICAgdGhpcy5wZ09yZGVySWQgPSBqc29uPy5bXCJwZ09yZGVySWRcIl07XHJcbiAgICAgIHRoaXMub3JkZXJlZEl0ZW1zID0ganNvbj8uW1wib3JkZXJlZEl0ZW1zXCJdO1xyXG4gICAgICB0aGlzLmJpbGxkZXRhaWxzID0ganNvbj8uW1wiYmlsbGRldGFpbHNcIl07XHJcbiAgICAgIHRoaXMucGxhdGZvcm0gPSBqc29uPy5bXCJwbGF0Zm9ybVwiXTtcclxuICAgICAgdGhpcy5sb2NhdGlvbkRldGFpbHMgPSBqc29uPy5bXCJsb2NhdGlvbkRldGFpbHNcIl07XHJcbiAgICAgIHRoaXMudXNlckRldGFpbHMgPSBqc29uPy5bXCJ1c2VyRGV0YWlsc1wiXTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgT3JkZXJlZEl0ZW0ge1xyXG4gIGl0ZW1JZDogc3RyaW5nXHJcbiAgYnVzaW5lc3NJZDogc3RyaW5nXHJcbiAgaXRlbU5hbWU6IHN0cmluZ1xyXG4gIGJyYW5kTmFtZTogc3RyaW5nXHJcbiAgaW1nVXJsOiBzdHJpbmdcclxuICBwcmljZTogbnVtYmVyXHJcbiAgaXRlbVRheDogbnVtYmVyXHJcbiAgcXVhbnRpdHk6IG51bWJlclxyXG4gIGNhbmNlbGxlZFF1YW50aXR5OiBudW1iZXJcclxuICBkaXNjb3VudGVkUHJpY2U6IG51bWJlclxyXG4gIHRheEFmdGVyRGlzY291bnQ6IG51bWJlclxyXG4gIGl0ZW1WYXJpYW50OiBJdGVtVmFyaWFudFxyXG4gIG9yZGVyZWRJdGVtU3RhdHVzOiBzdHJpbmdcclxuICBpdGVtRGlzdHJpYnV0b3JUeXBlOiBzdHJpbmdcclxufVxyXG5cclxuLy8gZXhwb3J0IGludGVyZmFjZSBJdGVtVmFyaWFudCB7XHJcbi8vICAgdmFyaWFudElkOiBzdHJpbmdcclxuLy8gICBpdGVtSWQ6IHN0cmluZ1xyXG4vLyAgIHByb3BlcnRpZXM6IGFueVxyXG4vLyAgIGl0ZW1WYXJpYW50UHJpY2U6IEl0ZW1WYXJpYW50UHJpY2VcclxuLy8gfVxyXG5cclxuLy8gZXhwb3J0IGludGVyZmFjZSBJdGVtVmFyaWFudFByaWNlIHtcclxuLy8gICBjdXJyZW5jeTogc3RyaW5nXHJcbi8vICAgdmFsdWU6IG51bWJlclxyXG4vLyAgIGVzdGltYXRlZFZhbHVlOiBudW1iZXJcclxuLy8gICBjb21wdXRlZFZhbHVlOiBudW1iZXJcclxuLy8gICBsaXN0ZWRWYWx1ZTogbnVtYmVyXHJcbi8vICAgb2ZmZXJlZFZhbHVlOiBudW1iZXJcclxuLy8gICBtaW5pbXVtVmFsdWU6IG51bWJlclxyXG4vLyAgIG1heGltdW1WYWx1ZTogbnVtYmVyXHJcbi8vICAgcHVyY2hhc2VQcmljZTogbnVtYmVyXHJcbi8vICAgd2hvbGVTYWxlUHJpY2U6IG51bWJlclxyXG4vLyAgIG1heFdob2xlU2FsZUxpbWl0OiBudW1iZXJcclxuLy8gICBtYXJnaW46IG51bWJlclxyXG4vLyAgIHByb2ZpdDogbnVtYmVyXHJcbi8vICAgZGlzY291bnRlZFByaWNlOiBudW1iZXJcclxuLy8gICB0YXhSZWY6IFRheFJlZlxyXG4vLyAgIHRheEFtb3VudDogbnVtYmVyXHJcbi8vICAgc2VsbGluZ1ByaWNlOiBudW1iZXJcclxuLy8gfVxyXG5cclxuLy8gZXhwb3J0IGludGVyZmFjZSBUYXhSZWYge1xyXG4vLyAgIHRheElkOiBzdHJpbmdcclxuLy8gICB0YXhQZXJjZW50OiBudW1iZXJcclxuLy8gfVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCaWxsZGV0YWlscyB7XHJcbiAgdG90YWxOZXRWYWx1ZTogbnVtYmVyXHJcbiAgdG90YWxHcm9zc1ZhbHVlOiBudW1iZXJcclxuICB0b3RhbFRheDogbnVtYmVyXHJcbiAgdG90YWxPZmZlcmVkVmFsdWU6IG51bWJlclxyXG4gIGNnc3RWYWx1ZTogbnVtYmVyXHJcbiAgc2dzdFZhbHVlOiBudW1iZXJcclxuICBpZ3N0VmFsdWU6IG51bWJlclxyXG4gIGRlbGl2ZXJ5Q2hhcmdlczogbnVtYmVyXHJcbiAgY291cG9uSWQ6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExvY2F0aW9uRGV0YWlscyB7XHJcbiAgY291bnRyeUlkOiBzdHJpbmdcclxuICBjaXR5SWQ6IHN0cmluZ1xyXG4gIHN0YXRlSWQ6IHN0cmluZ1xyXG4gIGxvY2FsaXR5SWQ6IHN0cmluZ1xyXG4gIGNvdW50cnlOYW1lOiBzdHJpbmdcclxuICBjaXR5TmFtZTogc3RyaW5nXHJcbiAgbG9jYWxpdHlOYW1lOiBzdHJpbmdcclxuICBzdGF0ZU5hbWU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJEZXRhaWxzIHtcclxuICBpZDogc3RyaW5nXHJcbiAgdXNlck5hbWU6IHN0cmluZ1xyXG4gIG1vYmlsZTogc3RyaW5nXHJcbiAgZW1haWw6IHN0cmluZ1xyXG4gIHByb2ZpbGVQaWM6IHN0cmluZ1xyXG4gIGFkZHJlc3M6IERlbGl2ZXJ5QWRkcmVzc1xyXG4gIGdlbmRlcjogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRGVsaXZlcnlBZGRyZXNzIHtcclxuICBjb3VudHJ5TmFtZTogc3RyaW5nXHJcbiAgc3RhdGVOYW1lOiBzdHJpbmdcclxuICBjaXR5TmFtZTogc3RyaW5nXHJcbiAgbG9jYWxpdHlOYW1lOiBzdHJpbmdcclxuICBhZGRyZXNzTGluZTE6IHN0cmluZ1xyXG4gIGFkZHJlc3NMaW5lMjogc3RyaW5nXHJcbiAgbGFuZG1hcms6IHN0cmluZ1xyXG4gIHppcENvZGU6IHN0cmluZ1xyXG4gIGdlb2xvY2F0aW9uOiBHZW9sb2NhdGlvblxyXG4gIHN0YXRlQ29kZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgR2VvbG9jYXRpb24ge1xyXG4gIGxhdGl0dWRlOiBudW1iZXJcclxuICBsb25naXR1ZGU6IG51bWJlclxyXG59XHJcbiJdfQ==
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5tb2RhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3N0eWxlcy9jYXJ0Lm1vZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTyxJQUFJO0lBVWYsWUFBWSxJQUEwQixFQUFFLE9BQXdCLElBQUk7UUFDaEUsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxFQUFFLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ25DLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxFQUFFLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDO0lBQ3pCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9yZGVyZWRJdGVtcyB9IGZyb20gXCIuL09yZGVyZWRJdGVtcy5tb2RhbFwiXHJcbmltcG9ydCB7IEl0ZW1WYXJpYW50IH0gZnJvbSBcIi4vcHJvZHVjdC5tb2RhbFwiXHJcblxyXG5leHBvcnQgY2xhc3MgQ2FydCB7XHJcbiAgY2FydElkOiBzdHJpbmdcclxuICBwZ09yZGVySWQ6IHN0cmluZ1xyXG4gIG9yZGVyZWRJdGVtczogT3JkZXJlZEl0ZW1zW11cclxuICBiaWxsZGV0YWlsczogQmlsbGRldGFpbHNcclxuICBwbGF0Zm9ybTogc3RyaW5nXHJcbiAgbG9jYXRpb25EZXRhaWxzOiBMb2NhdGlvbkRldGFpbHNcclxuICB1c2VyRGV0YWlsczogVXNlckRldGFpbHNcclxuICB0b3RhbEFtb3VudDogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihqc29uOiB7W2tleTogc3RyaW5nXTogYW55fSwgdHlwZTogJ01BUFBFUicgfCBudWxsID0gbnVsbCkge1xyXG4gICAgICB0aGlzLmNhcnRJZCA9IGpzb24/LltcImNhcnRJZFwiXTtcclxuICAgICAgdGhpcy5wZ09yZGVySWQgPSBqc29uPy5bXCJwZ09yZGVySWRcIl07XHJcbiAgICAgIHRoaXMub3JkZXJlZEl0ZW1zID0ganNvbj8uW1wib3JkZXJlZEl0ZW1zXCJdO1xyXG4gICAgICB0aGlzLmJpbGxkZXRhaWxzID0ganNvbj8uW1wiYmlsbGRldGFpbHNcIl07XHJcbiAgICAgIHRoaXMucGxhdGZvcm0gPSBqc29uPy5bXCJwbGF0Zm9ybVwiXTtcclxuICAgICAgdGhpcy5sb2NhdGlvbkRldGFpbHMgPSBqc29uPy5bXCJsb2NhdGlvbkRldGFpbHNcIl07XHJcbiAgICAgIHRoaXMudXNlckRldGFpbHMgPSBqc29uPy5bXCJ1c2VyRGV0YWlsc1wiXTtcclxuICAgICAgdGhpcy50b3RhbEFtb3VudCA9IDA7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBleHBvcnQgaW50ZXJmYWNlIE9yZGVyZWRJdGVtIHtcclxuLy8gICBpdGVtSWQ6IHN0cmluZ1xyXG4vLyAgIGJ1c2luZXNzSWQ6IHN0cmluZ1xyXG4vLyAgIGl0ZW1OYW1lOiBzdHJpbmdcclxuLy8gICBicmFuZE5hbWU6IHN0cmluZ1xyXG4vLyAgIGltZ1VybDogc3RyaW5nXHJcbi8vICAgcHJpY2U6IG51bWJlclxyXG4vLyAgIGl0ZW1UYXg6IG51bWJlclxyXG4vLyAgIHF1YW50aXR5OiBudW1iZXJcclxuLy8gICBjYW5jZWxsZWRRdWFudGl0eTogbnVtYmVyXHJcbi8vICAgZGlzY291bnRlZFByaWNlOiBudW1iZXJcclxuLy8gICB0YXhBZnRlckRpc2NvdW50OiBudW1iZXJcclxuLy8gICBpdGVtVmFyaWFudDogSXRlbVZhcmlhbnRcclxuLy8gICBvcmRlcmVkSXRlbVN0YXR1czogc3RyaW5nXHJcbi8vICAgaXRlbURpc3RyaWJ1dG9yVHlwZTogc3RyaW5nXHJcbi8vIH1cclxuXHJcbi8vIGV4cG9ydCBpbnRlcmZhY2UgSXRlbVZhcmlhbnQge1xyXG4vLyAgIHZhcmlhbnRJZDogc3RyaW5nXHJcbi8vICAgaXRlbUlkOiBzdHJpbmdcclxuLy8gICBwcm9wZXJ0aWVzOiBhbnlcclxuLy8gICBpdGVtVmFyaWFudFByaWNlOiBJdGVtVmFyaWFudFByaWNlXHJcbi8vIH1cclxuXHJcbi8vIGV4cG9ydCBpbnRlcmZhY2UgSXRlbVZhcmlhbnRQcmljZSB7XHJcbi8vICAgY3VycmVuY3k6IHN0cmluZ1xyXG4vLyAgIHZhbHVlOiBudW1iZXJcclxuLy8gICBlc3RpbWF0ZWRWYWx1ZTogbnVtYmVyXHJcbi8vICAgY29tcHV0ZWRWYWx1ZTogbnVtYmVyXHJcbi8vICAgbGlzdGVkVmFsdWU6IG51bWJlclxyXG4vLyAgIG9mZmVyZWRWYWx1ZTogbnVtYmVyXHJcbi8vICAgbWluaW11bVZhbHVlOiBudW1iZXJcclxuLy8gICBtYXhpbXVtVmFsdWU6IG51bWJlclxyXG4vLyAgIHB1cmNoYXNlUHJpY2U6IG51bWJlclxyXG4vLyAgIHdob2xlU2FsZVByaWNlOiBudW1iZXJcclxuLy8gICBtYXhXaG9sZVNhbGVMaW1pdDogbnVtYmVyXHJcbi8vICAgbWFyZ2luOiBudW1iZXJcclxuLy8gICBwcm9maXQ6IG51bWJlclxyXG4vLyAgIGRpc2NvdW50ZWRQcmljZTogbnVtYmVyXHJcbi8vICAgdGF4UmVmOiBUYXhSZWZcclxuLy8gICB0YXhBbW91bnQ6IG51bWJlclxyXG4vLyAgIHNlbGxpbmdQcmljZTogbnVtYmVyXHJcbi8vIH1cclxuXHJcbi8vIGV4cG9ydCBpbnRlcmZhY2UgVGF4UmVmIHtcclxuLy8gICB0YXhJZDogc3RyaW5nXHJcbi8vICAgdGF4UGVyY2VudDogbnVtYmVyXHJcbi8vIH1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmlsbGRldGFpbHMge1xyXG4gIHRvdGFsTmV0VmFsdWU6IG51bWJlclxyXG4gIHRvdGFsR3Jvc3NWYWx1ZTogbnVtYmVyXHJcbiAgdG90YWxUYXg6IG51bWJlclxyXG4gIHRvdGFsT2ZmZXJlZFZhbHVlOiBudW1iZXJcclxuICBjZ3N0VmFsdWU6IG51bWJlclxyXG4gIHNnc3RWYWx1ZTogbnVtYmVyXHJcbiAgaWdzdFZhbHVlOiBudW1iZXJcclxuICBkZWxpdmVyeUNoYXJnZXM6IG51bWJlclxyXG4gIGNvdXBvbklkOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMb2NhdGlvbkRldGFpbHMge1xyXG4gIGNvdW50cnlJZDogc3RyaW5nXHJcbiAgY2l0eUlkOiBzdHJpbmdcclxuICBzdGF0ZUlkOiBzdHJpbmdcclxuICBsb2NhbGl0eUlkOiBzdHJpbmdcclxuICBjb3VudHJ5TmFtZTogc3RyaW5nXHJcbiAgY2l0eU5hbWU6IHN0cmluZ1xyXG4gIGxvY2FsaXR5TmFtZTogc3RyaW5nXHJcbiAgc3RhdGVOYW1lOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVc2VyRGV0YWlscyB7XHJcbiAgaWQ6IHN0cmluZ1xyXG4gIHVzZXJOYW1lOiBzdHJpbmdcclxuICBtb2JpbGU6IHN0cmluZ1xyXG4gIGVtYWlsOiBzdHJpbmdcclxuICBwcm9maWxlUGljOiBzdHJpbmdcclxuICBhZGRyZXNzOiBEZWxpdmVyeUFkZHJlc3NcclxuICBnZW5kZXI6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERlbGl2ZXJ5QWRkcmVzcyB7XHJcbiAgY291bnRyeU5hbWU6IHN0cmluZ1xyXG4gIHN0YXRlTmFtZTogc3RyaW5nXHJcbiAgY2l0eU5hbWU6IHN0cmluZ1xyXG4gIGxvY2FsaXR5TmFtZTogc3RyaW5nXHJcbiAgYWRkcmVzc0xpbmUxOiBzdHJpbmdcclxuICBhZGRyZXNzTGluZTI6IHN0cmluZ1xyXG4gIGxhbmRtYXJrOiBzdHJpbmdcclxuICB6aXBDb2RlOiBzdHJpbmdcclxuICBnZW9sb2NhdGlvbjogR2VvbG9jYXRpb25cclxuICBzdGF0ZUNvZGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdlb2xvY2F0aW9uIHtcclxuICBsYXRpdHVkZTogbnVtYmVyXHJcbiAgbG9uZ2l0dWRlOiBudW1iZXJcclxufVxyXG4iXX0=
@@ -0,0 +1,11 @@
1
+ export class User {
2
+ constructor(json) {
3
+ this.userId = json?.['userId'] ?? "";
4
+ this.businessId = json?.['businessId'] ?? "";
5
+ this.gender = json?.['gender'] ?? "";
6
+ this.profilePic = json?.['profilePic'] ?? "";
7
+ this.contact = json?.['contact'];
8
+ this.addressDetailsList = json?.['addressDetailsList'];
9
+ }
10
+ }
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5tb2RhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvZWNvbW1lcmNlL3N0eWxlcy91c2VyLm1vZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxJQUFJO0lBUWIsWUFBWSxJQUE4QjtRQUN0QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBVyxJQUFJLEVBQUUsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksRUFBRSxDQUFDLFNBQVMsQ0FBdUIsQ0FBQztRQUN2RCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxFQUFFLENBQUMsb0JBQW9CLENBQWdDLENBQUM7SUFDMUYsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFVzZXIge1xyXG4gICAgcHVibGljIHVzZXJJZDogc3RyaW5nO1xyXG4gICAgcHVibGljIGJ1c2luZXNzSWQ6IHN0cmluZztcclxuICAgIHB1YmxpYyBnZW5kZXI6IEdFTkRFUjtcclxuICAgIHB1YmxpYyBwcm9maWxlUGljOiBzdHJpbmc7XHJcbiAgICBwdWJsaWMgY29udGFjdDogQ29udGFjdDtcclxuICAgIHB1YmxpYyBhZGRyZXNzRGV0YWlsc0xpc3Q6IEFkZHJlc3NEZXRhaWxzW107XHJcblxyXG4gICAgY29uc3RydWN0b3IoanNvbj86IHtba2V5OiBzdHJpbmddOiBzdHJpbmd9KSB7XHJcbiAgICAgICAgdGhpcy51c2VySWQgPSBqc29uPy5bJ3VzZXJJZCddID8/IFwiXCI7XHJcbiAgICAgICAgdGhpcy5idXNpbmVzc0lkID0ganNvbj8uWydidXNpbmVzc0lkJ10gPz8gXCJcIjtcclxuICAgICAgICB0aGlzLmdlbmRlciA9IGpzb24/LlsnZ2VuZGVyJ10gYXMgR0VOREVSID8/IFwiXCI7XHJcbiAgICAgICAgdGhpcy5wcm9maWxlUGljID0ganNvbj8uWydwcm9maWxlUGljJ10gPz8gXCJcIjtcclxuICAgICAgICB0aGlzLmNvbnRhY3QgPSBqc29uPy5bJ2NvbnRhY3QnXSBhcyB1bmtub3duIGFzIENvbnRhY3Q7XHJcbiAgICAgICAgdGhpcy5hZGRyZXNzRGV0YWlsc0xpc3QgPSBqc29uPy5bJ2FkZHJlc3NEZXRhaWxzTGlzdCddIGFzIHVua25vd24gYXMgQWRkcmVzc0RldGFpbHNbXTtcclxuICAgIH1cclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhY3Qge1xyXG4gICAgY291bnRyeUNvZGU6IHN0cmluZztcclxuICAgIGVtYWlsOiBzdHJpbmc7XHJcbiAgICBuYW1lOiBzdHJpbmc7XHJcbiAgICBtb2JpbGU6IHN0cmluZztcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEFkZHJlc3NEZXRhaWxzIHtcclxuICAgIHJlY2VpdmVyTmFtZTogc3RyaW5nO1xyXG4gICAgcmVjZWl2ZXJQaG9uZTogc3RyaW5nO1xyXG4gICAgcmVjZWl2ZXJFbWFpbDogc3RyaW5nO1xyXG4gICAgY291bnRyeU5hbWU6IHN0cmluZztcclxuICAgIHN0YXRlTmFtZTogc3RyaW5nO1xyXG4gICAgY2l0eU5hbWU6IHN0cmluZztcclxuICAgIGxvY2FsaXR5TmFtZTogc3RyaW5nO1xyXG4gICAgYWRkcmVzc0xpbmUxOiBzdHJpbmc7XHJcbiAgICBsYW5kbWFyazogc3RyaW5nO1xyXG4gICAgemlwQ29kZTogc3RyaW5nO1xyXG4gICAgYWRkcmVzc1R5cGU6IEFERFJFU1NfVFlQRTtcclxuICAgIGdlb2xvY2F0aW9uOiBHZW9sb2NhdGlvbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEdlb2xvY2F0aW9uIHtcclxuICAgIGxhdGl0dWRlOiBudW1iZXI7XHJcbiAgICBsb25naXR1ZGU6IG51bWJlclxyXG59XHJcbmRlY2xhcmUgdHlwZSBBRERSRVNTX1RZUEUgPSBcIkhPTUVcIiB8IFwiV09SS1wiIHwgXCJPVEhFUlwiO1xyXG5kZWNsYXJlIHR5cGUgR0VOREVSID0gXCJNQUxFXCIgfCBcIkZFTUFMRVwiIHwgXCJPVEhFUlNcIjsiXX0=
@@ -1,79 +1,88 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import UserCart from "../ecommerce/json/user-cart.json";
3
3
  import UserFavourites from "../ecommerce/json/user-favourite.json";
4
- import UserDetails from "../ecommerce/json/user-details.json";
5
4
  import { OrderedItems } from '../ecommerce/styles/OrderedItems.modal';
6
5
  import * as i0 from "@angular/core";
7
6
  import * as i1 from "./rest.service";
7
+ import * as i2 from "./storage.service";
8
8
  export class CartService {
9
- constructor(restService) {
9
+ constructor(restService, storageService) {
10
10
  this.restService = restService;
11
+ this.storageService = storageService;
11
12
  }
12
13
  addItemToCart(product) {
13
- this.storeItemToJSON(UserCart, product, "CART");
14
+ const orderedItem = this.objectMapper(product);
15
+ let productIdx = -1;
16
+ UserCart.orderedItems.forEach((item, idx) => productIdx = (item.itemId == product.itemId) ? idx : -1);
17
+ if (productIdx >= 0) {
18
+ UserCart.orderedItems[productIdx].quantity = product.quantity;
19
+ }
20
+ else {
21
+ UserCart.orderedItems.push(product);
22
+ }
23
+ console.log(UserCart);
24
+ this.storageService.addProductToCart(orderedItem);
14
25
  }
15
26
  addItemToFavourite(product) {
16
- this.storeItemToJSON(UserFavourites, product, "WISHLIST");
17
- }
18
- removeItemToFavourite(product) {
19
- const index = this.getItemIdxJSON(product.itemId, UserFavourites);
20
- console.log("index: ", index);
21
- if (index >= 0)
22
- UserFavourites.orderedItems.splice(index, 1);
23
- console.log(UserFavourites);
27
+ const orderedItem = this.objectMapper(product);
28
+ let productIdx = -1;
29
+ UserFavourites.orderedItems.forEach((item, idx) => productIdx = (item.itemId == product.itemId) ? idx : -1);
30
+ if (productIdx >= 0) {
31
+ UserFavourites.orderedItems[productIdx].quantity = product.quantity;
32
+ }
33
+ else {
34
+ UserFavourites.orderedItems.push(product);
35
+ }
36
+ this.storageService.addProductToWishlist(orderedItem);
24
37
  }
25
- convertFavToCart(product) {
26
- const index = this.getItemIdxJSON(product.getItemId, UserFavourites);
38
+ removeItemFromFavourite(product) {
39
+ const index = this.getItemIdxJSON(product.itemId, 'FAVOURITE');
27
40
  if (index >= 0) {
28
41
  const item = UserFavourites.orderedItems.splice(index, 1)[0];
29
42
  UserCart.orderedItems.push(item);
43
+ this.storageService.removeProductFromWishlist(product.itemId);
30
44
  }
31
45
  }
32
- convertCartToFav(product) {
33
- const index = this.getItemIdxJSON(product.getItemId, UserCart);
46
+ removeItemFromCart(product) {
47
+ const index = this.getItemIdxJSON(product.itemId, 'CART');
34
48
  if (index >= 0) {
35
49
  const item = UserCart.orderedItems.splice(index, 1)[0];
36
- UserFavourites.orderedItems.push(item);
50
+ UserCart.orderedItems.push(item);
51
+ this.storageService.removeProductFromCart(product.itemId);
37
52
  }
38
53
  }
39
- storeItemToJSON(json, product, type) {
40
- const orderProduct = this.objectMapper(product);
41
- let productIndex = -1;
42
- json.orderedItems.forEach((p, idx) => {
43
- if (p.itemId == product.itemId)
44
- productIndex = idx;
45
- });
46
- if (productIndex == -1)
47
- json.orderedItems.push(orderProduct);
48
- else {
49
- if (product.quantity > 0) {
50
- json.orderedItems[productIndex].quantity = orderProduct.getQuantity;
54
+ // public convertFavToCart(product: OrderedItems) {
55
+ // const index = this.getItemIdxJSON(product.getItemId, UserFavourites);
56
+ // if (index >= 0) {
57
+ // const item = UserFavourites.orderedItems.splice(index, 1)[0];
58
+ // UserCart.orderedItems.push(item as never);
59
+ // }
60
+ // }
61
+ // public convertCartToFav(product: OrderedItems) {
62
+ // const index = this.getItemIdxJSON(product.getItemId, UserCart);
63
+ // if (index >= 0) {
64
+ // const item = UserCart.orderedItems.splice(index, 1)[0];
65
+ // UserFavourites.orderedItems.push(item as never);
66
+ // }
67
+ // }
68
+ storeItemToDB(product, type) {
69
+ if (type == "CART") {
70
+ const orderProduct = this.objectMapper(this.storageService.getProductFromCart(product.itemId));
71
+ if (orderProduct) {
72
+ this.storageService.addProductToCart(orderProduct);
73
+ UserCart.orderedItems.push(orderProduct);
51
74
  }
52
- else {
53
- json.orderedItems.splice(productIndex, 1);
75
+ }
76
+ else {
77
+ const orderProduct = this.objectMapper(this.storageService.getProductFromWishlist(product.itemId));
78
+ if (orderProduct) {
79
+ this.storageService.addProductToWishlist(orderProduct);
80
+ UserFavourites.orderedItems.push(orderProduct);
54
81
  }
55
- json.billdetails.totalNetValue = 0;
56
- json.billdetails.totalTax = 0;
57
- json.orderedItems.forEach((item) => json.billdetails.totalNetValue += (item.price * item.quantity));
58
- json.orderedItems.forEach((item) => json.billdetails.totalTax += (item.itemTax));
59
- json.totalAmount = json.billdetails.totalTax + json.billdetails.totalNetValue;
60
82
  }
61
83
  }
62
- getItemQuantity(itemId) {
63
- let productIndex = -1;
64
- UserCart.orderedItems.forEach((p, idx) => {
65
- if (p.itemId == itemId)
66
- productIndex = idx;
67
- });
68
- if (productIndex == -1)
69
- return 0;
70
- else
71
- return UserCart.orderedItems[productIndex].getQuantity;
72
- }
73
- getIsItemPresent(itemId, type) {
74
- return type == "FAVOURITE" ? this.getItemIdxJSON(itemId, UserFavourites) >= 0 : this.getItemIdxJSON(itemId, UserCart) >= 0;
75
- }
76
- getItemIdxJSON(itemId, json) {
84
+ getItemIdxJSON(itemId, type) {
85
+ const json = type == "FAVOURITE" ? UserFavourites : UserCart;
77
86
  let productIndex = -1;
78
87
  json.orderedItems.forEach((p, idx) => {
79
88
  if (p.itemId == itemId)
@@ -81,29 +90,37 @@ export class CartService {
81
90
  });
82
91
  return productIndex;
83
92
  }
93
+ getItemByIdx(itemId, type) {
94
+ const productIdx = this.getItemIdxJSON(itemId, type);
95
+ const json = (type == "FAVOURITE") ? UserFavourites : UserCart;
96
+ if (productIdx >= 0)
97
+ return json.orderedItems[productIdx];
98
+ return null;
99
+ }
84
100
  objectMapper(product) {
101
+ debugger;
85
102
  return new OrderedItems(product);
86
103
  }
87
- storeJSONToDB() {
88
- this.restService.addItemToDB(UserCart).subscribe((response) => { });
89
- this.restService.addItemToDB(UserFavourites).subscribe((response) => { });
104
+ storeDataToServer() {
105
+ // this.restService.addItemToDB(UserCart).subscribe((response)=> {});
106
+ // this.restService.addItemToDB(UserFavourites).subscribe((response)=> {});
90
107
  }
91
108
  storeDBToJSON() {
92
- const userId = UserDetails.user?.userId;
93
- if (!userId)
94
- return;
95
- this.restService.getUserItems(userId, "CART").subscribe((response) => {
96
- UserCart.orderedItems = response.data.orderedItems;
97
- UserCart.billdetails = response.data.billdetails;
98
- UserCart.totalAmount = response.totalAmount;
99
- });
100
- this.restService.getUserItems(userId, "WISHLIST").subscribe((response) => {
101
- UserFavourites.orderedItems = response.data.orderedItems;
102
- UserFavourites.billdetails = response.data.billdetails;
103
- UserFavourites.totalAmount = response.totalAmount;
104
- });
109
+ // const userId = UserDetails.user?.userId;
110
+ // if (!userId)
111
+ // return;
112
+ // this.restService.getUserItems(userId, "CART").subscribe((response: any)=> {
113
+ // UserCart.orderedItems = response.data.orderedItems;
114
+ // UserCart.billdetails = response.data.billdetails;
115
+ // UserCart.totalAmount = response.totalAmount;
116
+ // })
117
+ // this.restService.getUserItems(userId, "WISHLIST").subscribe((response: any)=> {
118
+ // UserFavourites.orderedItems = response.data.orderedItems;
119
+ // UserFavourites.billdetails = response.data.billdetails;
120
+ // UserFavourites.totalAmount = response.totalAmount;
121
+ // })
105
122
  }
106
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: CartService, deps: [{ token: i1.RestService }], target: i0.ɵɵFactoryTarget.Injectable }); }
123
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: CartService, deps: [{ token: i1.RestService }, { token: i2.StorageServiceService }], target: i0.ɵɵFactoryTarget.Injectable }); }
107
124
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: CartService, providedIn: 'root' }); }
108
125
  }
109
126
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: CartService, decorators: [{
@@ -111,5 +128,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
111
128
  args: [{
112
129
  providedIn: 'root',
113
130
  }]
114
- }], ctorParameters: () => [{ type: i1.RestService }] });
115
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxRQUFRLE1BQU0sa0NBQWtDLENBQUM7QUFDeEQsT0FBTyxjQUFjLE1BQU0sdUNBQXVDLENBQUM7QUFDbkUsT0FBTyxXQUFXLE1BQU0scUNBQXFDLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7QUFPdEUsTUFBTSxPQUFPLFdBQVc7SUFDdEIsWUFDbUIsV0FBd0I7UUFBeEIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7SUFDeEMsQ0FBQztJQUVHLGFBQWEsQ0FBQyxPQUFnQjtRQUNuQyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUNNLGtCQUFrQixDQUFDLE9BQWdCO1FBQ3hDLElBQUksQ0FBQyxlQUFlLENBQUMsY0FBYyxFQUFFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBQ00scUJBQXFCLENBQUMsT0FBZ0I7UUFDM0MsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdCLElBQUksS0FBSyxJQUFJLENBQUM7WUFDWixjQUFjLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0MsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ00s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R0FBRSxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDO0lBQ00sYUFBYTtRQUNsQixNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztRQUN4QyxJQUFJLENBQUMsTUFBTTtZQUNULE9BQU87UUFDVCxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsUUFBYSxFQUFDLEVBQUU7WUFDdkUsUUFBUSxDQUFDLFlBQVksR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztZQUNuRCxRQUFRLENBQUMsV0FBVyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ2pELFFBQVEsQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQztRQUM5QyxDQUFDLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFhLEVBQUMsRUFBRTtZQUMzRSxjQUFjLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ3pELGNBQWMsQ0FBQyxXQUFXLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDdkQsY0FBYyxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDO1FBQ3BELENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQzs4R0F4R1UsV0FBVztrSEFBWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IFVzZXJDYXJ0IGZyb20gXCIuLi9lY29tbWVyY2UvanNvbi91c2VyLWNhcnQuanNvblwiO1xyXG5pbXBvcnQgVXNlckZhdm91cml0ZXMgZnJvbSBcIi4uL2Vjb21tZXJjZS9qc29uL3VzZXItZmF2b3VyaXRlLmpzb25cIjtcclxuaW1wb3J0IFVzZXJEZXRhaWxzIGZyb20gXCIuLi9lY29tbWVyY2UvanNvbi91c2VyLWRldGFpbHMuanNvblwiO1xyXG5pbXBvcnQgeyBPcmRlcmVkSXRlbXMgfSBmcm9tICcuLi9lY29tbWVyY2Uvc3R5bGVzL09yZGVyZWRJdGVtcy5tb2RhbCc7XHJcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuLi9lY29tbWVyY2Uvc3R5bGVzL3Byb2R1Y3QubW9kYWwnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4vcmVzdC5zZXJ2aWNlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJ0U2VydmljZSB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZVxyXG4gICkge31cclxuXHJcbiAgcHVibGljIGFkZEl0ZW1Ub0NhcnQocHJvZHVjdDogUHJvZHVjdCkge1xyXG4gICAgdGhpcy5zdG9yZUl0ZW1Ub0pTT04oVXNlckNhcnQsIHByb2R1Y3QsIFwiQ0FSVFwiKTtcclxuICB9XHJcbiAgcHVibGljIGFkZEl0ZW1Ub0Zhdm91cml0ZShwcm9kdWN0OiBQcm9kdWN0KSB7XHJcbiAgICB0aGlzLnN0b3JlSXRlbVRvSlNPTihVc2VyRmF2b3VyaXRlcywgcHJvZHVjdCwgXCJXSVNITElTVFwiKTsgXHJcbiAgfVxyXG4gIHB1YmxpYyByZW1vdmVJdGVtVG9GYXZvdXJpdGUocHJvZHVjdDogUHJvZHVjdCkge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmdldEl0ZW1JZHhKU09OKHByb2R1Y3QuaXRlbUlkLCBVc2VyRmF2b3VyaXRlcyk7XHJcbiAgICBjb25zb2xlLmxvZyhcImluZGV4OiBcIixpbmRleCk7XHJcbiAgICBpZiAoaW5kZXggPj0gMClcclxuICAgICAgVXNlckZhdm91cml0ZXMub3JkZXJlZEl0ZW1zLnNwbGljZShpbmRleCwgMSk7XHJcbiAgICBjb25zb2xlLmxvZyhVc2VyRmF2b3VyaXRlcyk7XHJcbiAgfVxyXG4gIHB1YmxpYyBjb252ZXJ0RmF2VG9DYXJ0KHByb2R1Y3Q6IE9yZGVyZWRJdGVtcykge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLmdldEl0ZW1JZHhKU09OKHByb2R1Y3QuZ2V0SXRlbUlkLCBVc2VyRmF2b3VyaXRlcyk7XHJcbiAgICBpZiAoaW5kZXggPj0gMCkge1xyXG4gICAgICBjb25zdCBpdGVtID0gVXNlckZhdm91cml0ZXMub3JkZXJlZEl0ZW1zLnNwbGljZShpbmRleCwgMSlbMF07XHJcbiAgICAgIFVzZXJDYXJ0Lm9yZGVyZWRJdGVtcy5wdXNoKGl0ZW0gYXMgbmV2ZXIpO1xyXG4gICAgfVxyXG4gIH1cclxuICBwdWJsaWMgY29udmVydENhcnRUb0Zhdihwcm9kdWN0OiBPcmRlcmVkSXRlbXMpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRJdGVtSWR4SlNPTihwcm9kdWN0LmdldEl0ZW1JZCwgVXNlckNhcnQpO1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgY29uc3QgaXRlbSA9IFVzZXJDYXJ0Lm9yZGVyZWRJdGVtcy5zcGxpY2UoaW5kZXgsIDEpWzBdO1xyXG4gICAgICBVc2VyRmF2b3VyaXRlcy5vcmRlcmVkSXRlbXMucHVzaChpdGVtIGFzIG5ldmVyKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdG9yZUl0ZW1Ub0pTT04oanNvbjogYW55LCBwcm9kdWN0OiBQcm9kdWN0LCB0eXBlOiAnQ0FSVCcgfCAnV0lTSExJU1QnKSB7XHJcbiAgICBjb25zdCBvcmRlclByb2R1Y3Q6IE9yZGVyZWRJdGVtcyA9IHRoaXMub2JqZWN0TWFwcGVyKHByb2R1Y3QpO1xyXG5cclxuICAgIGxldCBwcm9kdWN0SW5kZXg6IG51bWJlciA9IC0xO1xyXG4gICAganNvbi5vcmRlcmVkSXRlbXMuZm9yRWFjaCgocDogYW55LCBpZHg6IG51bWJlcik9PiB7XHJcbiAgICAgICAgaWYgKHAuaXRlbUlkID09IHByb2R1Y3QuaXRlbUlkKVxyXG4gICAgICAgICAgICBwcm9kdWN0SW5kZXggPSBpZHg7XHJcbiAgICB9KTtcclxuICAgIGlmIChwcm9kdWN0SW5kZXggPT0gLTEpXHJcbiAgICAgIGpzb24ub3JkZXJlZEl0ZW1zLnB1c2gob3JkZXJQcm9kdWN0IGFzIG5ldmVyKTtcclxuICAgIGVsc2Uge1xyXG4gICAgICAgIGlmIChwcm9kdWN0LnF1YW50aXR5ID4gMCkge1xyXG4gICAgICAgICAganNvbi5vcmRlcmVkSXRlbXNbcHJvZHVjdEluZGV4XS5xdWFudGl0eSA9IG9yZGVyUHJvZHVjdC5nZXRRdWFudGl0eTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBqc29uLm9yZGVyZWRJdGVtcy5zcGxpY2UocHJvZHVjdEluZGV4LCAxKTtcclxuICAgICAgICB9XHJcbiAgICAgICAganNvbi5iaWxsZGV0YWlscy50b3RhbE5ldFZhbHVlID0gMDtcclxuICAgICAgICBqc29uLmJpbGxkZXRhaWxzLnRvdGFsVGF4ID0gMDtcclxuICAgICAgICBqc29uLm9yZGVyZWRJdGVtcy5mb3JFYWNoKChpdGVtOiBhbnkpPT4ganNvbi5iaWxsZGV0YWlscy50b3RhbE5ldFZhbHVlICs9IChpdGVtLnByaWNlICogaXRlbS5xdWFudGl0eSkpO1xyXG4gICAgICAgIGpzb24ub3JkZXJlZEl0ZW1zLmZvckVhY2goKGl0ZW06IGFueSk9PiBqc29uLmJpbGxkZXRhaWxzLnRvdGFsVGF4ICs9IChpdGVtLml0ZW1UYXgpKTtcclxuICAgICAgICBqc29uLnRvdGFsQW1vdW50ID0ganNvbi5iaWxsZGV0YWlscy50b3RhbFRheCArIGpzb24uYmlsbGRldGFpbHMudG90YWxOZXRWYWx1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJdGVtUXVhbnRpdHkoaXRlbUlkOiBzdHJpbmcpIHtcclxuICAgIGxldCBwcm9kdWN0SW5kZXg6IG51bWJlciA9IC0xO1xyXG4gICAgVXNlckNhcnQub3JkZXJlZEl0ZW1zLmZvckVhY2goKHA6IGFueSwgaWR4OiBudW1iZXIpPT4ge1xyXG4gICAgICAgIGlmIChwLml0ZW1JZCA9PSBpdGVtSWQpXHJcbiAgICAgICAgICAgIHByb2R1Y3RJbmRleCA9IGlkeDtcclxuICAgIH0pO1xyXG4gICAgaWYgKHByb2R1Y3RJbmRleCA9PSAtMSkgXHJcbiAgICAgIHJldHVybiAwO1xyXG4gICAgZWxzZSBcclxuICAgICAgcmV0dXJuIChVc2VyQ2FydC5vcmRlcmVkSXRlbXNbcHJvZHVjdEluZGV4XSBhcyBuZXZlciBhcyBPcmRlcmVkSXRlbXMpLmdldFF1YW50aXR5O1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldElzSXRlbVByZXNlbnQoaXRlbUlkOiBzdHJpbmcsIHR5cGU6ICdGQVZPVVJJVEUnfCdDQVJUJykge1xyXG4gICAgcmV0dXJuIHR5cGUgPT0gXCJGQVZPVVJJVEVcIiA/IHRoaXMuZ2V0SXRlbUlkeEpTT04oaXRlbUlkLCBVc2VyRmF2b3VyaXRlcykgPj0gMCA6IHRoaXMuZ2V0SXRlbUlkeEpTT04oaXRlbUlkLCBVc2VyQ2FydCkgPj0gMDtcclxuICB9XHJcbiAgcHJpdmF0ZSBnZXRJdGVtSWR4SlNPTihpdGVtSWQ6IHN0cmluZywganNvbjogYW55KSB7XHJcbiAgICBsZXQgcHJvZHVjdEluZGV4OiBudW1iZXIgPSAtMTtcclxuICAgIGpzb24ub3JkZXJlZEl0ZW1zLmZvckVhY2goKHA6IGFueSwgaWR4OiBudW1iZXIpPT4ge1xyXG4gICAgICAgIGlmIChwLml0ZW1JZCA9PSBpdGVtSWQpXHJcbiAgICAgICAgICAgIHByb2R1Y3RJbmRleCA9IGlkeDtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHByb2R1Y3RJbmRleDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb2JqZWN0TWFwcGVyKHByb2R1Y3Q6IFByb2R1Y3QpOiBPcmRlcmVkSXRlbXMge1xyXG4gICAgcmV0dXJuIG5ldyBPcmRlcmVkSXRlbXMocHJvZHVjdCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3RvcmVKU09OVG9EQigpIHtcclxuICAgIHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIoVXNlckNhcnQpLnN1YnNjcmliZSgocmVzcG9uc2UpPT4ge30pO1xyXG4gICAgdGhpcy5yZXN0U2VydmljZS5hZGRJdGVtVG9EQihVc2VyRmF2b3VyaXRlcykuc3Vic2NyaWJlKChyZXNwb25zZSk9PiB7fSk7XHJcbiAgfVxyXG4gIHB1YmxpYyBzdG9yZURCVG9KU09OKCkge1xyXG4gICAgY29uc3QgdXNlcklkID0gVXNlckRldGFpbHMudXNlcj8udXNlcklkO1xyXG4gICAgaWYgKCF1c2VySWQpXHJcbiAgICAgIHJldHVybjtcclxuICAgIHRoaXMucmVzdFNlcnZpY2UuZ2V0VXNlckl0ZW1zKHVzZXJJZCwgXCJDQVJUXCIpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSk9PiB7XHJcbiAgICAgIFVzZXJDYXJ0Lm9yZGVyZWRJdGVtcyA9IHJlc3BvbnNlLmRhdGEub3JkZXJlZEl0ZW1zO1xyXG4gICAgICBVc2VyQ2FydC5iaWxsZGV0YWlscyA9IHJlc3BvbnNlLmRhdGEuYmlsbGRldGFpbHM7XHJcbiAgICAgIFVzZXJDYXJ0LnRvdGFsQW1vdW50ID0gcmVzcG9uc2UudG90YWxBbW91bnQ7XHJcbiAgICB9KVxyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRVc2VySXRlbXModXNlcklkLCBcIldJU0hMSVNUXCIpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSk9PiB7XHJcbiAgICAgIFVzZXJGYXZvdXJpdGVzLm9yZGVyZWRJdGVtcyA9IHJlc3BvbnNlLmRhdGEub3JkZXJlZEl0ZW1zO1xyXG4gICAgICBVc2VyRmF2b3VyaXRlcy5iaWxsZGV0YWlscyA9IHJlc3BvbnNlLmRhdGEuYmlsbGRldGFpbHM7XHJcbiAgICAgIFVzZXJGYXZvdXJpdGVzLnRvdGFsQW1vdW50ID0gcmVzcG9uc2UudG90YWxBbW91bnQ7XHJcbiAgICB9KVxyXG4gIH1cclxufSJdfQ==
131
+ }], ctorParameters: () => [{ type: i1.RestService }, { type: i2.StorageServiceService }] });
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9jYXJ0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxRQUFRLE1BQU0sa0NBQWtDLENBQUM7QUFDeEQsT0FBTyxjQUFjLE1BQU0sdUNBQXVDLENBQUM7QUFFbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHdDQUF3QyxDQUFDOzs7O0FBUXRFLE1BQU0sT0FBTyxXQUFXO0lBQ3RCLFlBQ21CLFdBQXdCLEVBQ3hCLGNBQXFDO1FBRHJDLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLG1CQUFjLEdBQWQsY0FBYyxDQUF1QjtJQUNyRCxDQUFDO0lBRUcsYUFBYSxDQUFDLE9BQWdCO1FBRW5DLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFL0MsSUFBSSxVQUFVLEdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDNUIsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFrQixFQUFFLEdBQUcsRUFBQyxFQUFFLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNuSCxJQUFJLFVBQVUsSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNuQixRQUFRLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBa0IsQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQztRQUNsRixDQUFDO2FBQU0sQ0FBQztZQUNOLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE9BQWdCLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUV0QixJQUFJLENBQUMsY0FBYyxDQUFDLGdCQUFnQixDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDTSxrQkFBa0IsQ0FBQyxPQUFnQjtRQUN4QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRS9DLElBQUksVUFBVSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzVCLGNBQWMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBa0IsRUFBRSxHQUFHLEVBQUMsRUFBRSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekgsSUFBSSxVQUFVLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDbkIsY0FBYyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQWtCLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7UUFDeEYsQ0FBQzthQUFNLENBQUM7WUFDTixjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFnQixDQUFDLENBQUM7UUFDckQsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUNNLHVCQUF1QixDQUFDLE9BQWdCO1FBQzdDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUMvRCxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxHQUFHLGNBQWMsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RCxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFhLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNoRSxDQUFDO0lBQ0gsQ0FBQztJQUNNLGtCQUFrQixDQUFDLE9BQWdCO1FBQ3hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMxRCxJQUFJLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN2RCxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFhLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1RCxDQUFDO0lBQ0gsQ0FBQztJQUNELG1EQUFtRDtJQUNuRCwwRUFBMEU7SUFDMUUsc0JBQXNCO0lBQ3RCLG9FQUFvRTtJQUNwRSxpREFBaUQ7SUFDakQsTUFBTTtJQUNOLElBQUk7SUFDSixtREFBbUQ7SUFDbkQsb0VBQW9FO0lBQ3BFLHNCQUFzQjtJQUN0Qiw4REFBOEQ7SUFDOUQsdURBQXVEO0lBQ3ZELE1BQU07SUFDTixJQUFJO0lBRUcsYUFBYSxDQUFDLE9BQWdCLEVBQUUsSUFBeUI7UUFDOUQsSUFBSSxJQUFJLElBQUksTUFBTSxFQUFFLENBQUM7WUFDbkIsTUFBTSxZQUFZLEdBQWlCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUF1QixDQUFDLENBQUM7WUFFbkksSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDakIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDbkQsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBcUIsQ0FBQyxDQUFDO1lBQ3BELENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sWUFBWSxHQUFpQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBdUIsQ0FBQyxDQUFDO1lBRXZJLElBQUksWUFBWSxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxjQUFjLENBQUMsb0JBQW9CLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3ZELGNBQWMsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQXFCLENBQUMsQ0FBQztZQUMxRCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTSxjQUFjLENBQUMsTUFBYyxFQUFFLElBQTBCO1FBQzlELE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxXQUFXLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQzdELElBQUksWUFBWSxHQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBTSxFQUFFLEdBQVcsRUFBQyxFQUFFO1lBQzdDLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxNQUFNO2dCQUNsQixZQUFZLEdBQUcsR0FBRyxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxZQUFZLENBQUM7SUFDdEIsQ0FBQztJQUNNLFlBQVksQ0FBQyxNQUFjLEVBQUUsSUFBMEI7UUFDNUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDckQsTUFBTSxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1FBQy9ELElBQUksVUFBVSxJQUFJLENBQUM7WUFDakIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZDLE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUFnQjtRQUNuQyxRQUFRLENBQUE7UUFDUixPQUFPLElBQUksWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxpQkFBaUI7UUFFdEIscUVBQXFFO1FBQ3JFLDJFQUEyRTtJQUM3RSxDQUFDO0lBQ00sYUFBYTtRQUNsQiwyQ0FBMkM7UUFDM0MsZUFBZTtRQUNmLFlBQVk7UUFDWiw4RUFBOEU7UUFDOUUsd0RBQXdEO1FBQ3hELHNEQUFzRDtRQUN0RCxpREFBaUQ7UUFDakQsS0FBSztRQUNMLGtGQUFrRjtRQUNsRiw4REFBOEQ7UUFDOUQsNERBQTREO1FBQzVELHVEQUF1RDtRQUN2RCxLQUFLO0lBQ1AsQ0FBQzs4R0E1SFUsV0FBVztrSEFBWCxXQUFXLGNBRlYsTUFBTTs7MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFdmVudEVtaXR0ZXIsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IFVzZXJDYXJ0IGZyb20gXCIuLi9lY29tbWVyY2UvanNvbi91c2VyLWNhcnQuanNvblwiO1xyXG5pbXBvcnQgVXNlckZhdm91cml0ZXMgZnJvbSBcIi4uL2Vjb21tZXJjZS9qc29uL3VzZXItZmF2b3VyaXRlLmpzb25cIjtcclxuaW1wb3J0IFVzZXJEZXRhaWxzIGZyb20gXCIuLi9lY29tbWVyY2UvanNvbi91c2VyLWRldGFpbHMuanNvblwiO1xyXG5pbXBvcnQgeyBPcmRlcmVkSXRlbXMgfSBmcm9tICcuLi9lY29tbWVyY2Uvc3R5bGVzL09yZGVyZWRJdGVtcy5tb2RhbCc7XHJcbmltcG9ydCB7IFByb2R1Y3QgfSBmcm9tICcuLi9lY29tbWVyY2Uvc3R5bGVzL3Byb2R1Y3QubW9kYWwnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4vcmVzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU3RvcmFnZVNlcnZpY2VTZXJ2aWNlIH0gZnJvbSAnLi9zdG9yYWdlLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENhcnRTZXJ2aWNlIHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdG9yYWdlU2VydmljZTogU3RvcmFnZVNlcnZpY2VTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBwdWJsaWMgYWRkSXRlbVRvQ2FydChwcm9kdWN0OiBQcm9kdWN0KSB7XHJcbiAgICBcclxuICAgIGNvbnN0IG9yZGVyZWRJdGVtID0gdGhpcy5vYmplY3RNYXBwZXIocHJvZHVjdCk7XHJcblxyXG4gICAgbGV0IHByb2R1Y3RJZHg6IG51bWJlciA9IC0xO1xyXG4gICAgVXNlckNhcnQub3JkZXJlZEl0ZW1zLmZvckVhY2goKGl0ZW06IE9yZGVyZWRJdGVtcywgaWR4KT0+IHByb2R1Y3RJZHggPSAoaXRlbS5pdGVtSWQgPT0gcHJvZHVjdC5pdGVtSWQpID8gaWR4IDogLTEpO1xyXG4gICAgaWYgKHByb2R1Y3RJZHggPj0gMCkge1xyXG4gICAgICAoVXNlckNhcnQub3JkZXJlZEl0ZW1zW3Byb2R1Y3RJZHhdIGFzIE9yZGVyZWRJdGVtcykucXVhbnRpdHkgPSBwcm9kdWN0LnF1YW50aXR5O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgVXNlckNhcnQub3JkZXJlZEl0ZW1zLnB1c2gocHJvZHVjdCBhcyBuZXZlcik7XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyhVc2VyQ2FydCk7XHJcblxyXG4gICAgdGhpcy5zdG9yYWdlU2VydmljZS5hZGRQcm9kdWN0VG9DYXJ0KG9yZGVyZWRJdGVtKTtcclxuICB9XHJcbiAgcHVibGljIGFkZEl0ZW1Ub0Zhdm91cml0ZShwcm9kdWN0OiBQcm9kdWN0KSB7XHJcbiAgICBjb25zdCBvcmRlcmVkSXRlbSA9IHRoaXMub2JqZWN0TWFwcGVyKHByb2R1Y3QpO1xyXG5cclxuICAgIGxldCBwcm9kdWN0SWR4OiBudW1iZXIgPSAtMTtcclxuICAgIFVzZXJGYXZvdXJpdGVzLm9yZGVyZWRJdGVtcy5mb3JFYWNoKChpdGVtOiBPcmRlcmVkSXRlbXMsIGlkeCk9PiBwcm9kdWN0SWR4ID0gKGl0ZW0uaXRlbUlkID09IHByb2R1Y3QuaXRlbUlkKSA/IGlkeCA6IC0xKTtcclxuICAgIGlmIChwcm9kdWN0SWR4ID49IDApIHtcclxuICAgICAgKFVzZXJGYXZvdXJpdGVzLm9yZGVyZWRJdGVtc1twcm9kdWN0SWR4XSBhcyBPcmRlcmVkSXRlbXMpLnF1YW50aXR5ID0gcHJvZHVjdC5xdWFudGl0eTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIFVzZXJGYXZvdXJpdGVzLm9yZGVyZWRJdGVtcy5wdXNoKHByb2R1Y3QgYXMgbmV2ZXIpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RvcmFnZVNlcnZpY2UuYWRkUHJvZHVjdFRvV2lzaGxpc3Qob3JkZXJlZEl0ZW0pOyBcclxuICB9XHJcbiAgcHVibGljIHJlbW92ZUl0ZW1Gcm9tRmF2b3VyaXRlKHByb2R1Y3Q6IFByb2R1Y3QpIHtcclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRJdGVtSWR4SlNPTihwcm9kdWN0Lml0ZW1JZCwgJ0ZBVk9VUklURScpO1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgY29uc3QgaXRlbSA9IFVzZXJGYXZvdXJpdGVzLm9yZGVyZWRJdGVtcy5zcGxpY2UoaW5kZXgsIDEpWzBdO1xyXG4gICAgICBVc2VyQ2FydC5vcmRlcmVkSXRlbXMucHVzaChpdGVtIGFzIG5ldmVyKTtcclxuICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5yZW1vdmVQcm9kdWN0RnJvbVdpc2hsaXN0KHByb2R1Y3QuaXRlbUlkKTtcclxuICAgIH1cclxuICB9XHJcbiAgcHVibGljIHJlbW92ZUl0ZW1Gcm9tQ2FydChwcm9kdWN0OiBQcm9kdWN0KSB7XHJcbiAgICBjb25zdCBpbmRleCA9IHRoaXMuZ2V0SXRlbUlkeEpTT04ocHJvZHVjdC5pdGVtSWQsICdDQVJUJyk7XHJcbiAgICBpZiAoaW5kZXggPj0gMCkge1xyXG4gICAgICBjb25zdCBpdGVtID0gVXNlckNhcnQub3JkZXJlZEl0ZW1zLnNwbGljZShpbmRleCwgMSlbMF07XHJcbiAgICAgIFVzZXJDYXJ0Lm9yZGVyZWRJdGVtcy5wdXNoKGl0ZW0gYXMgbmV2ZXIpO1xyXG4gICAgICB0aGlzLnN0b3JhZ2VTZXJ2aWNlLnJlbW92ZVByb2R1Y3RGcm9tQ2FydChwcm9kdWN0Lml0ZW1JZCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIHB1YmxpYyBjb252ZXJ0RmF2VG9DYXJ0KHByb2R1Y3Q6IE9yZGVyZWRJdGVtcykge1xyXG4gIC8vICAgY29uc3QgaW5kZXggPSB0aGlzLmdldEl0ZW1JZHhKU09OKHByb2R1Y3QuZ2V0SXRlbUlkLCBVc2VyRmF2b3VyaXRlcyk7XHJcbiAgLy8gICBpZiAoaW5kZXggPj0gMCkge1xyXG4gIC8vICAgICBjb25zdCBpdGVtID0gVXNlckZhdm91cml0ZXMub3JkZXJlZEl0ZW1zLnNwbGljZShpbmRleCwgMSlbMF07XHJcbiAgLy8gICAgIFVzZXJDYXJ0Lm9yZGVyZWRJdGVtcy5wdXNoKGl0ZW0gYXMgbmV2ZXIpO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuICAvLyBwdWJsaWMgY29udmVydENhcnRUb0Zhdihwcm9kdWN0OiBPcmRlcmVkSXRlbXMpIHtcclxuICAvLyAgIGNvbnN0IGluZGV4ID0gdGhpcy5nZXRJdGVtSWR4SlNPTihwcm9kdWN0LmdldEl0ZW1JZCwgVXNlckNhcnQpO1xyXG4gIC8vICAgaWYgKGluZGV4ID49IDApIHtcclxuICAvLyAgICAgY29uc3QgaXRlbSA9IFVzZXJDYXJ0Lm9yZGVyZWRJdGVtcy5zcGxpY2UoaW5kZXgsIDEpWzBdO1xyXG4gIC8vICAgICBVc2VyRmF2b3VyaXRlcy5vcmRlcmVkSXRlbXMucHVzaChpdGVtIGFzIG5ldmVyKTtcclxuICAvLyAgIH1cclxuICAvLyB9XHJcblxyXG4gIHB1YmxpYyBzdG9yZUl0ZW1Ub0RCKHByb2R1Y3Q6IFByb2R1Y3QsIHR5cGU6ICdDQVJUJyB8ICdXSVNITElTVCcpIHtcclxuICAgIGlmICh0eXBlID09IFwiQ0FSVFwiKSB7XHJcbiAgICAgIGNvbnN0IG9yZGVyUHJvZHVjdDogT3JkZXJlZEl0ZW1zID0gdGhpcy5vYmplY3RNYXBwZXIodGhpcy5zdG9yYWdlU2VydmljZS5nZXRQcm9kdWN0RnJvbUNhcnQocHJvZHVjdC5pdGVtSWQpIGFzIHVua25vd24gYXMgUHJvZHVjdCk7XHJcbiAgICAgIFxyXG4gICAgICBpZiAob3JkZXJQcm9kdWN0KSB7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5hZGRQcm9kdWN0VG9DYXJ0KG9yZGVyUHJvZHVjdCk7XHJcbiAgICAgICAgVXNlckNhcnQub3JkZXJlZEl0ZW1zLnB1c2gob3JkZXJQcm9kdWN0IGFzIG5ldmVyKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3Qgb3JkZXJQcm9kdWN0OiBPcmRlcmVkSXRlbXMgPSB0aGlzLm9iamVjdE1hcHBlcih0aGlzLnN0b3JhZ2VTZXJ2aWNlLmdldFByb2R1Y3RGcm9tV2lzaGxpc3QocHJvZHVjdC5pdGVtSWQpIGFzIHVua25vd24gYXMgUHJvZHVjdCk7XHJcbiAgICAgIFxyXG4gICAgICBpZiAob3JkZXJQcm9kdWN0KSB7XHJcbiAgICAgICAgdGhpcy5zdG9yYWdlU2VydmljZS5hZGRQcm9kdWN0VG9XaXNobGlzdChvcmRlclByb2R1Y3QpO1xyXG4gICAgICAgIFVzZXJGYXZvdXJpdGVzLm9yZGVyZWRJdGVtcy5wdXNoKG9yZGVyUHJvZHVjdCBhcyBuZXZlcik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJdGVtSWR4SlNPTihpdGVtSWQ6IHN0cmluZywgdHlwZTogJ0ZBVk9VUklURScgfCAnQ0FSVCcpIHtcclxuICAgIGNvbnN0IGpzb24gPSB0eXBlID09IFwiRkFWT1VSSVRFXCIgPyBVc2VyRmF2b3VyaXRlcyA6IFVzZXJDYXJ0O1xyXG4gICAgbGV0IHByb2R1Y3RJbmRleDogbnVtYmVyID0gLTE7XHJcbiAgICBqc29uLm9yZGVyZWRJdGVtcy5mb3JFYWNoKChwOiBhbnksIGlkeDogbnVtYmVyKT0+IHtcclxuICAgICAgICBpZiAocC5pdGVtSWQgPT0gaXRlbUlkKVxyXG4gICAgICAgICAgICBwcm9kdWN0SW5kZXggPSBpZHg7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBwcm9kdWN0SW5kZXg7XHJcbiAgfVxyXG4gIHB1YmxpYyBnZXRJdGVtQnlJZHgoaXRlbUlkOiBzdHJpbmcsIHR5cGU6ICdGQVZPVVJJVEUnIHwgJ0NBUlQnKTogT3JkZXJlZEl0ZW1zIHwgbnVsbCB7XHJcbiAgICBjb25zdCBwcm9kdWN0SWR4ID0gdGhpcy5nZXRJdGVtSWR4SlNPTihpdGVtSWQsIHR5cGUpO1xyXG4gICAgY29uc3QganNvbiA9ICh0eXBlID09IFwiRkFWT1VSSVRFXCIpID8gVXNlckZhdm91cml0ZXMgOiBVc2VyQ2FydDtcclxuICAgIGlmIChwcm9kdWN0SWR4ID49IDApXHJcbiAgICAgIHJldHVybiBqc29uLm9yZGVyZWRJdGVtc1twcm9kdWN0SWR4XTtcclxuICAgIHJldHVybiBudWxsXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9iamVjdE1hcHBlcihwcm9kdWN0OiBQcm9kdWN0KTogT3JkZXJlZEl0ZW1zIHtcclxuICAgIGRlYnVnZ2VyXHJcbiAgICByZXR1cm4gbmV3IE9yZGVyZWRJdGVtcyhwcm9kdWN0KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzdG9yZURhdGFUb1NlcnZlcigpIHtcclxuXHJcbiAgICAvLyB0aGlzLnJlc3RTZXJ2aWNlLmFkZEl0ZW1Ub0RCKFVzZXJDYXJ0KS5zdWJzY3JpYmUoKHJlc3BvbnNlKT0+IHt9KTtcclxuICAgIC8vIHRoaXMucmVzdFNlcnZpY2UuYWRkSXRlbVRvREIoVXNlckZhdm91cml0ZXMpLnN1YnNjcmliZSgocmVzcG9uc2UpPT4ge30pO1xyXG4gIH1cclxuICBwdWJsaWMgc3RvcmVEQlRvSlNPTigpIHtcclxuICAgIC8vIGNvbnN0IHVzZXJJZCA9IFVzZXJEZXRhaWxzLnVzZXI/LnVzZXJJZDtcclxuICAgIC8vIGlmICghdXNlcklkKVxyXG4gICAgLy8gICByZXR1cm47XHJcbiAgICAvLyB0aGlzLnJlc3RTZXJ2aWNlLmdldFVzZXJJdGVtcyh1c2VySWQsIFwiQ0FSVFwiKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgLy8gICBVc2VyQ2FydC5vcmRlcmVkSXRlbXMgPSByZXNwb25zZS5kYXRhLm9yZGVyZWRJdGVtcztcclxuICAgIC8vICAgVXNlckNhcnQuYmlsbGRldGFpbHMgPSByZXNwb25zZS5kYXRhLmJpbGxkZXRhaWxzO1xyXG4gICAgLy8gICBVc2VyQ2FydC50b3RhbEFtb3VudCA9IHJlc3BvbnNlLnRvdGFsQW1vdW50O1xyXG4gICAgLy8gfSlcclxuICAgIC8vIHRoaXMucmVzdFNlcnZpY2UuZ2V0VXNlckl0ZW1zKHVzZXJJZCwgXCJXSVNITElTVFwiKS5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpPT4ge1xyXG4gICAgLy8gICBVc2VyRmF2b3VyaXRlcy5vcmRlcmVkSXRlbXMgPSByZXNwb25zZS5kYXRhLm9yZGVyZWRJdGVtcztcclxuICAgIC8vICAgVXNlckZhdm91cml0ZXMuYmlsbGRldGFpbHMgPSByZXNwb25zZS5kYXRhLmJpbGxkZXRhaWxzO1xyXG4gICAgLy8gICBVc2VyRmF2b3VyaXRlcy50b3RhbEFtb3VudCA9IHJlc3BvbnNlLnRvdGFsQW1vdW50O1xyXG4gICAgLy8gfSlcclxuICB9XHJcbn0iXX0=
@@ -0,0 +1,80 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class StorageServiceService {
4
+ constructor() {
5
+ this.databaseName = "USER";
6
+ this.databaseVersion = 1;
7
+ this.cartCollectionName = "USER_CART";
8
+ this.favouriteCollectionName = "USER_FAVOURITE";
9
+ this.userCollectionName = "USER";
10
+ this.cartCollectionRef = null;
11
+ this.favouriteCollectionRef = null;
12
+ this.userCollectionRef = null;
13
+ this.createDataBase();
14
+ }
15
+ async createDataBase() {
16
+ const request = window.indexedDB.open(this.databaseName, 1);
17
+ request.onerror = () => { };
18
+ request.onsuccess = async (event) => {
19
+ this.database = await event.target.result;
20
+ };
21
+ request.onupgradeneeded = (event) => {
22
+ this.database = event.target.result;
23
+ this.cartCollectionRef = this.database.createObjectStore(this.cartCollectionName, { keyPath: "itemId" });
24
+ this.favouriteCollectionRef = this.database.createObjectStore(this.favouriteCollectionName, { keyPath: "itemId" });
25
+ this.userCollectionRef = this.database.createObjectStore(this.userCollectionName, { keyPath: "userId" });
26
+ };
27
+ }
28
+ // CART SERVICE
29
+ async getUserCart() {
30
+ const request = await this.cartCollectionRef?.getAll();
31
+ return request;
32
+ }
33
+ addProductToCart(product) {
34
+ const transaction = this.database.transaction(this.cartCollectionName, "readwrite");
35
+ return transaction.objectStore(this.cartCollectionName).put(product);
36
+ }
37
+ removeProductFromCart(productId) {
38
+ const transaction = this.database.transaction(this.cartCollectionName, "readwrite");
39
+ return transaction.objectStore(this.cartCollectionName).delete(productId);
40
+ }
41
+ async getProductFromCart(productId) {
42
+ const transaction = this.database.transaction(this.cartCollectionName, "readwrite");
43
+ return await transaction.objectStore(this.cartCollectionName).get(productId);
44
+ }
45
+ // WISHLIST SERVICE
46
+ async getUserWhishlist() {
47
+ const request = await this.cartCollectionRef?.getAll();
48
+ return request;
49
+ }
50
+ addProductToWishlist(product) {
51
+ const transaction = this.database.transaction(this.favouriteCollectionName, "readwrite");
52
+ return transaction.objectStore(this.favouriteCollectionName).put(product);
53
+ }
54
+ removeProductFromWishlist(productId) {
55
+ const transaction = this.database.transaction(this.favouriteCollectionName, "readwrite");
56
+ return transaction.objectStore(this.favouriteCollectionName).delete(productId);
57
+ }
58
+ async getProductFromWishlist(productId) {
59
+ const transaction = this.database.transaction(this.favouriteCollectionName, "readwrite");
60
+ return await transaction.objectStore(this.favouriteCollectionName).get(productId);
61
+ }
62
+ // USER SERVICE
63
+ addUser(user) {
64
+ localStorage.setItem("user", JSON.stringify(user));
65
+ return user;
66
+ }
67
+ getUser() {
68
+ const user = localStorage.getItem("user") ?? "{}";
69
+ return JSON.parse(user);
70
+ }
71
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: StorageServiceService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
72
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: StorageServiceService, providedIn: 'root' }); }
73
+ }
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: StorageServiceService, decorators: [{
75
+ type: Injectable,
76
+ args: [{
77
+ providedIn: 'root'
78
+ }]
79
+ }], ctorParameters: () => [] });
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZXJ2aWNlcy9zdG9yYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLHFCQUFxQjtJQUVoQztRQUlBLGlCQUFZLEdBQVcsTUFBTSxDQUFDO1FBQzlCLG9CQUFlLEdBQVcsQ0FBQyxDQUFDO1FBQzVCLHVCQUFrQixHQUFXLFdBQVcsQ0FBQztRQUN6Qyw0QkFBdUIsR0FBVyxnQkFBZ0IsQ0FBQztRQUNuRCx1QkFBa0IsR0FBVyxNQUFNLENBQUM7UUFHcEMsc0JBQWlCLEdBQTBCLElBQUksQ0FBQztRQUNoRCwyQkFBc0IsR0FBMEIsSUFBSSxDQUFDO1FBQ3JELHNCQUFpQixHQUEwQixJQUFJLENBQUM7UUFaOUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFhRCxLQUFLLENBQUMsY0FBYztRQUNsQixNQUFNLE9BQU8sR0FBcUIsTUFBTSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUU5RSxPQUFPLENBQUMsT0FBTyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM1QixPQUFPLENBQUMsU0FBUyxHQUFHLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU8sS0FBSyxDQUFDLE1BQTJCLENBQUMsTUFBTSxDQUFDO1FBQ2xFLENBQUMsQ0FBQztRQUNGLE9BQU8sQ0FBQyxlQUFlLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUVsQyxJQUFJLENBQUMsUUFBUSxHQUFJLEtBQUssQ0FBQyxNQUEyQixDQUFDLE1BQU0sQ0FBQztZQUMxRCxJQUFJ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QVcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxlQUFlO0lBQ2YsT0FBTyxDQUFDLElBQVU7UUFDaEIsWUFBWSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25ELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUNELE9BQU87UUFDTCxNQUFNLElBQUksR0FBRyxZQUFZLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLElBQUksQ0FBQztRQUNsRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDMUIsQ0FBQzs4R0EvRVUscUJBQXFCO2tIQUFyQixxQkFBcUIsY0FGcEIsTUFBTTs7MkZBRVAscUJBQXFCO2tCQUhqQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT3JkZXJlZEl0ZW1zIH0gZnJvbSAnQHNpbXBvLXVpL2Vjb21tZXJjZS9zdHlsZXMvT3JkZXJlZEl0ZW1zLm1vZGFsJztcclxuaW1wb3J0IHsgVXNlciB9IGZyb20gJ0BzaW1wby11aS9lY29tbWVyY2Uvc3R5bGVzL3VzZXIubW9kYWwnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgU3RvcmFnZVNlcnZpY2VTZXJ2aWNlIHtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICB0aGlzLmNyZWF0ZURhdGFCYXNlKCk7XHJcbiAgfVxyXG5cclxuICBkYXRhYmFzZU5hbWU6IHN0cmluZyA9IFwiVVNFUlwiO1xyXG4gIGRhdGFiYXNlVmVyc2lvbjogbnVtYmVyID0gMTtcclxuICBjYXJ0Q29sbGVjdGlvbk5hbWU6IHN0cmluZyA9IFwiVVNFUl9DQVJUXCI7XHJcbiAgZmF2b3VyaXRlQ29sbGVjdGlvbk5hbWU6IHN0cmluZyA9IFwiVVNFUl9GQVZPVVJJVEVcIjtcclxuICB1c2VyQ29sbGVjdGlvbk5hbWU6IHN0cmluZyA9IFwiVVNFUlwiO1xyXG4gIGRhdGFiYXNlITogSURCRGF0YWJhc2U7XHJcblxyXG4gIGNhcnRDb2xsZWN0aW9uUmVmOiBJREJPYmplY3RTdG9yZSB8IG51bGwgPSBudWxsO1xyXG4gIGZhdm91cml0ZUNvbGxlY3Rpb25SZWY6IElEQk9iamVjdFN0b3JlIHwgbnVsbCA9IG51bGw7XHJcbiAgdXNlckNvbGxlY3Rpb25SZWY6IElEQk9iamVjdFN0b3JlIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGFzeW5jIGNyZWF0ZURhdGFCYXNlKCkge1xyXG4gICAgY29uc3QgcmVxdWVzdDogSURCT3BlbkRCUmVxdWVzdCA9IHdpbmRvdy5pbmRleGVkREIub3Blbih0aGlzLmRhdGFiYXNlTmFtZSwgMSk7XHJcblxyXG4gICAgcmVxdWVzdC5vbmVycm9yID0gKCkgPT4geyB9O1xyXG4gICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSBhc3luYyAoZXZlbnQpID0+IHtcclxuICAgICAgdGhpcy5kYXRhYmFzZSA9IGF3YWl0IChldmVudC50YXJnZXQgYXMgSURCT3BlbkRCUmVxdWVzdCkucmVzdWx0O1xyXG4gICAgfTtcclxuICAgIHJlcXVlc3Qub251cGdyYWRlbmVlZGVkID0gKGV2ZW50KSA9PiB7XHJcblxyXG4gICAgICB0aGlzLmRhdGFiYXNlID0gKGV2ZW50LnRhcmdldCBhcyBJREJPcGVuREJSZXF1ZXN0KS5yZXN1bHQ7XHJcbiAgICAgIHRoaXMuY2FydENvbGxlY3Rpb25SZWYgPSB0aGlzLmRhdGFiYXNlLmNyZWF0ZU9iamVjdFN0b3JlKHRoaXMuY2FydENvbGxlY3Rpb25OYW1lLCB7IGtleVBhdGg6IFwiaXRlbUlkXCIgfSk7XHJcbiAgICAgIHRoaXMuZmF2b3VyaXRlQ29sbGVjdGlvblJlZiA9IHRoaXMuZGF0YWJhc2UuY3JlYXRlT2JqZWN0U3RvcmUodGhpcy5mYXZvdXJpdGVDb2xsZWN0aW9uTmFtZSwgeyBrZXlQYXRoOiBcIml0ZW1JZFwiIH0pO1xyXG4gICAgICB0aGlzLnVzZXJDb2xsZWN0aW9uUmVmID0gdGhpcy5kYXRhYmFzZS5jcmVhdGVPYmplY3RTdG9yZSh0aGlzLnVzZXJDb2xsZWN0aW9uTmFtZSwgeyBrZXlQYXRoOiBcInVzZXJJZFwiIH0pO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8vIENBUlQgU0VSVklDRVxyXG4gIGFzeW5jIGdldFVzZXJDYXJ0KCkge1xyXG4gICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHRoaXMuY2FydENvbGxlY3Rpb25SZWY/LmdldEFsbCgpO1xyXG4gICAgcmV0dXJuIHJlcXVlc3Q7XHJcbiAgfVxyXG5cclxuICBhZGRQcm9kdWN0VG9DYXJ0KHByb2R1Y3Q6IE9yZGVyZWRJdGVtcykge1xyXG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlLnRyYW5zYWN0aW9uKHRoaXMuY2FydENvbGxlY3Rpb25OYW1lLCBcInJlYWR3cml0ZVwiKTtcclxuICAgIHJldHVybiB0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSh0aGlzLmNhcnRDb2xsZWN0aW9uTmFtZSkucHV0KHByb2R1Y3QpO1xyXG4gIH1cclxuICByZW1vdmVQcm9kdWN0RnJvbUNhcnQocHJvZHVjdElkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZS50cmFuc2FjdGlvbih0aGlzLmNhcnRDb2xsZWN0aW9uTmFtZSwgXCJyZWFkd3JpdGVcIik7XHJcbiAgICByZXR1cm4gdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUodGhpcy5jYXJ0Q29sbGVjdGlvbk5hbWUpLmRlbGV0ZShwcm9kdWN0SWQpO1xyXG4gIH1cclxuICBhc3luYyBnZXRQcm9kdWN0RnJvbUNhcnQocHJvZHVjdElkOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZS50cmFuc2FjdGlvbih0aGlzLmNhcnRDb2xsZWN0aW9uTmFtZSwgXCJyZWFkd3JpdGVcIik7XHJcbiAgICByZXR1cm4gYXdhaXQgdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUodGhpcy5jYXJ0Q29sbGVjdGlvbk5hbWUpLmdldChwcm9kdWN0SWQpO1xyXG4gIH1cclxuXHJcbiAgLy8gV0lTSExJU1QgU0VSVklDRVxyXG4gIGFzeW5jIGdldFVzZXJXaGlzaGxpc3QoKSB7XHJcbiAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgdGhpcy5jYXJ0Q29sbGVjdGlvblJlZj8uZ2V0QWxsKCk7XHJcbiAgICByZXR1cm4gcmVxdWVzdDtcclxuICB9XHJcblxyXG4gIGFkZFByb2R1Y3RUb1dpc2hsaXN0KHByb2R1Y3Q6IE9yZGVyZWRJdGVtcykge1xyXG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlLnRyYW5zYWN0aW9uKHRoaXMuZmF2b3VyaXRlQ29sbGVjdGlvbk5hbWUsIFwicmVhZHdyaXRlXCIpO1xyXG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMuZmF2b3VyaXRlQ29sbGVjdGlvbk5hbWUpLnB1dChwcm9kdWN0KTtcclxuICB9XHJcbiAgcmVtb3ZlUHJvZHVjdEZyb21XaXNobGlzdChwcm9kdWN0SWQ6IHN0cmluZykge1xyXG4gICAgY29uc3QgdHJhbnNhY3Rpb24gPSB0aGlzLmRhdGFiYXNlLnRyYW5zYWN0aW9uKHRoaXMuZmF2b3VyaXRlQ29sbGVjdGlvbk5hbWUsIFwicmVhZHdyaXRlXCIpO1xyXG4gICAgcmV0dXJuIHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKHRoaXMuZmF2b3VyaXRlQ29sbGVjdGlvbk5hbWUpLmRlbGV0ZShwcm9kdWN0SWQpO1xyXG4gIH1cclxuICBhc3luYyBnZXRQcm9kdWN0RnJvbVdpc2hsaXN0KHByb2R1Y3RJZDogc3RyaW5nKSB7XHJcbiAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuZGF0YWJhc2UudHJhbnNhY3Rpb24odGhpcy5mYXZvdXJpdGVDb2xsZWN0aW9uTmFtZSwgXCJyZWFkd3JpdGVcIik7XHJcbiAgICByZXR1cm4gYXdhaXQgdHJhbnNhY3Rpb24ub2JqZWN0U3RvcmUodGhpcy5mYXZvdXJpdGVDb2xsZWN0aW9uTmFtZSkuZ2V0KHByb2R1Y3RJZCk7XHJcbiAgfVxyXG5cclxuICAvLyBVU0VSIFNFUlZJQ0VcclxuICBhZGRVc2VyKHVzZXI6IFVzZXIpOiBVc2VyIHtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwidXNlclwiLCBKU09OLnN0cmluZ2lmeSh1c2VyKSk7XHJcbiAgICByZXR1cm4gdXNlcjtcclxuICB9XHJcbiAgZ2V0VXNlcigpOiBVc2VyIHtcclxuICAgIGNvbnN0IHVzZXIgPSBsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInVzZXJcIikgPz8gXCJ7fVwiO1xyXG4gICAgcmV0dXJuIEpTT04ucGFyc2UodXNlcik7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gY2xlYXJBbGxJdGVtc0Zyb21DYXJ0KCkge1xyXG4gIC8vICAgcmV0dXJuIG5ldyBQcm9taXNlKGFzeW5jIChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAvLyAgICAgaWYgKHRoaXMuZGF0YWJhc2UgIT0gdW5kZWZpbmVkKSB7XHJcbiAgLy8gICAgICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHRoaXMuZGF0YWJhc2VcclxuICAvLyAgICAgICAgIC50cmFuc2FjdGlvbih0aGlzLm9iamVjdFN0b3JhZ2VOYW1lLCAncmVhZHdyaXRlJylcclxuICAvLyAgICAgICAgIC5vYmplY3RTdG9yZSh0aGlzLm9iamVjdFN0b3JhZ2VOYW1lKVxyXG4gIC8vICAgICAgICAgLmNsZWFyKCk7XHJcblxyXG4gIC8vICAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gYXdhaXQgZnVuY3Rpb24gKGV2ZW50OiBhbnkpIHtcclxuXHJcbiAgLy8gICAgICAgICBpZiAoZXZlbnQudGFyZ2V0LnJlc3VsdCkge1xyXG4gIC8vICAgICAgICAgICByZXNvbHZlKGV2ZW50LnJlc3VsdCk7XHJcbiAgLy8gICAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgICByZXNvbHZlKCdTVUNDRVNTJyk7XHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgfTtcclxuICAvLyAgICAgICByZXF1ZXN0Lm9uZXJyb3IgPSBhd2FpdCBmdW5jdGlvbiAoX2V2ZW50KSB7XHJcbiAgLy8gICAgICAgICByZWplY3QoXCJObyBkYXRhXCIpO1xyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfVxyXG4gIC8vICAgfSk7XHJcbiAgLy8gfVxyXG59XHJcbiJdfQ==