@infrab4a/connect 0.2.2 → 0.3.1

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 (48) hide show
  1. package/bundles/infrab4a-connect.umd.js +58 -16
  2. package/bundles/infrab4a-connect.umd.js.map +1 -1
  3. package/esm2015/lib/domain/catalog/models/category.js +1 -1
  4. package/esm2015/lib/domain/general/repository/enums/index.js +2 -1
  5. package/esm2015/lib/domain/general/repository/enums/update-option-actions.enum.js +9 -0
  6. package/esm2015/lib/domain/general/repository/types/index.js +2 -1
  7. package/esm2015/lib/domain/general/repository/types/repository-find-filters.type.js +1 -1
  8. package/esm2015/lib/domain/general/repository/types/repository-update-params.type.js +2 -0
  9. package/esm2015/lib/domain/general/repository/update.repository.js +1 -1
  10. package/esm2015/lib/domain/shopping/models/coupons/coupon.js +1 -1
  11. package/esm2015/lib/domain/shopping/models/coupons/financial-coupon.js +3 -3
  12. package/esm2015/lib/infra/firebase/firestore/mixins/with-firestore.mixin.js +11 -2
  13. package/esm2015/lib/infra/firebase/firestore/mixins/with-update-firestore.mixin.js +28 -4
  14. package/esm2015/lib/utils/index.js +2 -1
  15. package/esm2015/lib/utils/types/index.js +2 -0
  16. package/esm2015/lib/utils/types/prop.type.js +2 -0
  17. package/fesm2015/infrab4a-connect.js +48 -9
  18. package/fesm2015/infrab4a-connect.js.map +1 -1
  19. package/lib/domain/catalog/models/category.d.ts +2 -0
  20. package/lib/domain/general/repository/enums/index.d.ts +1 -0
  21. package/lib/domain/general/repository/enums/update-option-actions.enum.d.ts +7 -0
  22. package/lib/domain/general/repository/types/index.d.ts +1 -0
  23. package/lib/domain/general/repository/types/repository-find-filters.type.d.ts +1 -2
  24. package/lib/domain/general/repository/types/repository-update-params.type.d.ts +11 -0
  25. package/lib/domain/general/repository/update.repository.d.ts +2 -1
  26. package/lib/domain/shopping/models/coupons/coupon.d.ts +3 -3
  27. package/lib/infra/firebase/firestore/mixins/with-crud-firestore.mixin.d.ts +3 -2
  28. package/lib/infra/firebase/firestore/mixins/with-update-firestore.mixin.d.ts +4 -3
  29. package/lib/infra/firebase/firestore/repositories/catalog/category-firestore.repository.d.ts +3 -2
  30. package/lib/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +3 -2
  31. package/lib/infra/firebase/firestore/repositories/catalog/product-variant-firestore.repository.d.ts +3 -2
  32. package/lib/infra/firebase/firestore/repositories/shopping/buy-2-win-firestore.repository.d.ts +3 -2
  33. package/lib/infra/firebase/firestore/repositories/shopping/checkout-firestore.repository.d.ts +3 -2
  34. package/lib/infra/firebase/firestore/repositories/shopping/checkout-subscription-firestore.repository.d.ts +3 -2
  35. package/lib/infra/firebase/firestore/repositories/shopping/coupon-firestore.repository.d.ts +3 -2
  36. package/lib/infra/firebase/firestore/repositories/shopping/order-firestore.repository.d.ts +3 -2
  37. package/lib/infra/firebase/firestore/repositories/shopping/payment-firestore.repository.d.ts +3 -2
  38. package/lib/infra/firebase/firestore/repositories/shopping/subscription-plan-firestore.repository.d.ts +3 -2
  39. package/lib/infra/firebase/firestore/repositories/users/subscription-edition-firestore.repository.d.ts +3 -2
  40. package/lib/infra/firebase/firestore/repositories/users/subscription-firestore.repository.d.ts +3 -2
  41. package/lib/infra/firebase/firestore/repositories/users/subscription-payment-firestore.repository.d.ts +3 -2
  42. package/lib/infra/firebase/firestore/repositories/users/user-address-firestore.repository.d.ts +3 -2
  43. package/lib/infra/firebase/firestore/repositories/users/user-beauty-profile-firestore.repository.d.ts +3 -2
  44. package/lib/infra/firebase/firestore/repositories/users/user-firestore.repository.d.ts +3 -2
  45. package/lib/utils/index.d.ts +1 -0
  46. package/lib/utils/types/index.d.ts +1 -0
  47. package/lib/utils/types/prop.type.d.ts +1 -0
  48. package/package.json +1 -1
@@ -0,0 +1,9 @@
1
+ export var UpdateOptionActions;
2
+ (function (UpdateOptionActions) {
3
+ UpdateOptionActions["UPDATE"] = "update";
4
+ UpdateOptionActions["MERGE"] = "merge";
5
+ UpdateOptionActions["REMOVE"] = "remove";
6
+ UpdateOptionActions["REMOVE_FIELD"] = "removeField";
7
+ UpdateOptionActions["NULL"] = "null";
8
+ })(UpdateOptionActions || (UpdateOptionActions = {}));
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLW9wdGlvbi1hY3Rpb25zLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9saWIvZG9tYWluL2dlbmVyYWwvcmVwb3NpdG9yeS9lbnVtcy91cGRhdGUtb3B0aW9uLWFjdGlvbnMuZW51bS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxtQkFNWDtBQU5ELFdBQVksbUJBQW1CO0lBQzdCLHdDQUFpQixDQUFBO0lBQ2pCLHNDQUFlLENBQUE7SUFDZix3Q0FBaUIsQ0FBQTtJQUNqQixtREFBNEIsQ0FBQTtJQUM1QixvQ0FBYSxDQUFBO0FBQ2YsQ0FBQyxFQU5XLG1CQUFtQixLQUFuQixtQkFBbUIsUUFNOUIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBVcGRhdGVPcHRpb25BY3Rpb25zIHtcbiAgVVBEQVRFID0gJ3VwZGF0ZScsXG4gIE1FUkdFID0gJ21lcmdlJyxcbiAgUkVNT1ZFID0gJ3JlbW92ZScsXG4gIFJFTU9WRV9GSUVMRCA9ICdyZW1vdmVGaWVsZCcsXG4gIE5VTEwgPSAnbnVsbCcsXG59XG4iXX0=
@@ -2,4 +2,5 @@ export * from './repository-find-filters.type';
2
2
  export * from './repository-order-by-list.type';
3
3
  export * from './repository-limit-options.type';
4
4
  export * from './repository-find-result.type';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9saWIvZG9tYWluL2dlbmVyYWwvcmVwb3NpdG9yeS90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsaUNBQWlDLENBQUE7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLCtCQUErQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZXBvc2l0b3J5LWZpbmQtZmlsdGVycy50eXBlJ1xuZXhwb3J0ICogZnJvbSAnLi9yZXBvc2l0b3J5LW9yZGVyLWJ5LWxpc3QudHlwZSdcbmV4cG9ydCAqIGZyb20gJy4vcmVwb3NpdG9yeS1saW1pdC1vcHRpb25zLnR5cGUnXG5leHBvcnQgKiBmcm9tICcuL3JlcG9zaXRvcnktZmluZC1yZXN1bHQudHlwZSdcbiJdfQ==
5
+ export * from './repository-update-params.type';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9saWIvZG9tYWluL2dlbmVyYWwvcmVwb3NpdG9yeS90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsaUNBQWlDLENBQUE7QUFDL0MsY0FBYyxpQ0FBaUMsQ0FBQTtBQUMvQyxjQUFjLCtCQUErQixDQUFBO0FBQzdDLGNBQWMsaUNBQWlDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3JlcG9zaXRvcnktZmluZC1maWx0ZXJzLnR5cGUnXG5leHBvcnQgKiBmcm9tICcuL3JlcG9zaXRvcnktb3JkZXItYnktbGlzdC50eXBlJ1xuZXhwb3J0ICogZnJvbSAnLi9yZXBvc2l0b3J5LWxpbWl0LW9wdGlvbnMudHlwZSdcbmV4cG9ydCAqIGZyb20gJy4vcmVwb3NpdG9yeS1maW5kLXJlc3VsdC50eXBlJ1xuZXhwb3J0ICogZnJvbSAnLi9yZXBvc2l0b3J5LXVwZGF0ZS1wYXJhbXMudHlwZSdcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3NpdG9yeS1maW5kLWZpbHRlcnMudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2xpYi9kb21haW4vZ2VuZXJhbC9yZXBvc2l0b3J5L3R5cGVzL3JlcG9zaXRvcnktZmluZC1maWx0ZXJzLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lcyB9IGZyb20gJy4uLy4uL21vZGVsL3R5cGVzL25vbi1mdW5jdGlvbi1wcm9wZXJ0eS1uYW1lLnR5cGUnXG5pbXBvcnQgeyBXaGVyZSB9IGZyb20gJy4uL2VudW1zL3doZXJlLmVudW0nXG5cbnR5cGUgUHJvcFR5cGU8VE9iaiwgVFByb3AgZXh0ZW5kcyBrZXlvZiBUT2JqPiA9IFRPYmpbVFByb3BdXG5cbmV4cG9ydCB0eXBlIFJlcG9zaXRvcnlGaW5kRmllbHRlcnNPcHRpb25zPE1vZGVsLCBGaWVsZE5hbWUgZXh0ZW5kcyBrZXlvZiBNb2RlbD4gPSB7XG4gIG9wZXJhdG9yOiBXaGVyZVxuICB2YWx1ZTogUHJvcFR5cGU8TW9kZWwsIEZpZWxkTmFtZT5cbn1cblxuZXhwb3J0IHR5cGUgUmVwb3NpdG9yeUZpbmRGaWVsdGVyczxNb2RlbD4gPSB7XG4gIFtrZXkgaW4gTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzPE1vZGVsPl0/OiBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNb2RlbCwga2V5PlxufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3NpdG9yeS1maW5kLWZpbHRlcnMudHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2xpYi9kb21haW4vZ2VuZXJhbC9yZXBvc2l0b3J5L3R5cGVzL3JlcG9zaXRvcnktZmluZC1maWx0ZXJzLnR5cGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lcyB9IGZyb20gJy4uLy4uL21vZGVsL3R5cGVzL25vbi1mdW5jdGlvbi1wcm9wZXJ0eS1uYW1lLnR5cGUnXG5pbXBvcnQgeyBQcm9wVHlwZSB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuaW1wb3J0IHsgV2hlcmUgfSBmcm9tICcuLi9lbnVtcy93aGVyZS5lbnVtJ1xuXG5leHBvcnQgdHlwZSBSZXBvc2l0b3J5RmluZEZpZWx0ZXJzT3B0aW9uczxNb2RlbCwgRmllbGROYW1lIGV4dGVuZHMga2V5b2YgTW9kZWw+ID0ge1xuICBvcGVyYXRvcjogV2hlcmVcbiAgdmFsdWU6IFByb3BUeXBlPE1vZGVsLCBGaWVsZE5hbWU+XG59XG5cbmV4cG9ydCB0eXBlIFJlcG9zaXRvcnlGaW5kRmllbHRlcnM8TW9kZWw+ID0ge1xuICBba2V5IGluIE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxNb2RlbD5dPzogUmVwb3NpdG9yeUZpbmRGaWVsdGVyc09wdGlvbnM8TW9kZWwsIGtleT5cbn1cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwb3NpdG9yeS11cGRhdGUtcGFyYW1zLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9saWIvZG9tYWluL2dlbmVyYWwvcmVwb3NpdG9yeS90eXBlcy9yZXBvc2l0b3J5LXVwZGF0ZS1wYXJhbXMudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsV2l0aElkZW50aWZpZXIgfSBmcm9tICcuLi8uLi9tb2RlbC9iYXNlLW1vZGVsLXdpdGgtaWRlbnRpZmllci1maWVsZHMnXG5pbXBvcnQgeyBOb25GdW5jdGlvblByb3BlcnR5TmFtZXMgfSBmcm9tICcuLi8uLi9tb2RlbC90eXBlcy9ub24tZnVuY3Rpb24tcHJvcGVydHktbmFtZS50eXBlJ1xuaW1wb3J0IHsgUHJvcFR5cGUgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcblxuZXhwb3J0IHR5cGUgVXBkYXRlT3B0aW9uQWN0aW9uID0gJ3JlbW92ZUZpZWxkJyB8ICd1cGRhdGUnIHwgJ21lcmdlJyB8ICdyZW1vdmUnIHwgJ251bGwnXG5cbmV4cG9ydCB0eXBlIFVwZGF0ZU9wdGlvbnM8VD4gPSB7XG4gIGFjdGlvbjogVXBkYXRlT3B0aW9uQWN0aW9uXG4gIHZhbHVlPzogVFxufVxuXG5leHBvcnQgdHlwZSBSZXBvc2l0b3J5VXBkYXRlUGFyYW1zPE1vZGVsPiA9XG4gIHwge1xuICAgICAgW2tleSBpbiBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8TW9kZWw+XT86IFVwZGF0ZU9wdGlvbnM8UHJvcFR5cGU8TW9kZWwsIGtleT4+IHwgUHJvcFR5cGU8TW9kZWwsIGtleT5cbiAgICB9XG4gIHwgQmFzZU1vZGVsV2l0aElkZW50aWZpZXI8TW9kZWw+XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9saWIvZG9tYWluL2dlbmVyYWwvcmVwb3NpdG9yeS91cGRhdGUucmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsV2l0aElkZW50aWZpZXIgfSBmcm9tICcuLi9tb2RlbC9iYXNlLW1vZGVsLXdpdGgtaWRlbnRpZmllci1maWVsZHMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUmVwb3NpdG9yeTxNb2RlbCBleHRlbmRzIEJhc2VNb2RlbFdpdGhJZGVudGlmaWVyPE1vZGVsPj4ge1xuICB1cGRhdGUoZGF0YTogQmFzZU1vZGVsV2l0aElkZW50aWZpZXI8TW9kZWw+KTogUHJvbWlzZTxNb2RlbD5cbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBkYXRlLnJlcG9zaXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9saWIvZG9tYWluL2dlbmVyYWwvcmVwb3NpdG9yeS91cGRhdGUucmVwb3NpdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZU1vZGVsV2l0aElkZW50aWZpZXIgfSBmcm9tICcuLi9tb2RlbC9iYXNlLW1vZGVsLXdpdGgtaWRlbnRpZmllci1maWVsZHMnXG5cbmltcG9ydCB7IFJlcG9zaXRvcnlVcGRhdGVQYXJhbXMgfSBmcm9tICcuL3R5cGVzL3JlcG9zaXRvcnktdXBkYXRlLXBhcmFtcy50eXBlJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVJlcG9zaXRvcnk8TW9kZWwgZXh0ZW5kcyBCYXNlTW9kZWxXaXRoSWRlbnRpZmllcjxNb2RlbD4+IHtcbiAgdXBkYXRlKGRhdGE6IFJlcG9zaXRvcnlVcGRhdGVQYXJhbXM8TW9kZWw+KTogUHJvbWlzZTxNb2RlbD5cbn1cbiJdfQ==
@@ -12,4 +12,4 @@ __decorate([
12
12
  __decorate([
13
13
  Expose({ name: 'exclusivity_type' })
14
14
  ], Coupon.prototype, "exclusivityType", void 0);
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvbGliL2RvbWFpbi9zaG9wcGluZy9tb2RlbHMvY291cG9ucy9jb3Vwb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFRN0QsTUFBTSxPQUFPLE1BQU8sU0FBUSxTQUFpQjtJQXFCM0MsZ0JBQWdCO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2YsQ0FBQztDQUNGO0FBUEM7SUFEQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUM7NENBQ1A7QUFFM0I7SUFEQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQzsrQ0FDTiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9zZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJ1xuXG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9nZW5lcmFsL21vZGVsL2Jhc2UubW9kZWwnXG5pbXBvcnQgeyBDaGVja291dFR5cGVzIH0gZnJvbSAnLi4vZW51bXMvY2hlY2tvdXQtdHlwZXMuZW51bSdcbmltcG9ydCB7IElkZW50aWZpZXJGaWVsZHMgfSBmcm9tICcuLi8uLi8uLi9nZW5lcmFsL21vZGVsL2lkZW50aWZpZXItZmllbGRzJ1xuaW1wb3J0IHsgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzIH0gZnJvbSAnLi4vLi4vLi4vZ2VuZXJhbC9tb2RlbC90eXBlcydcbmltcG9ydCB7IFNob3BzIH0gZnJvbSAnLi4vLi4vLi4vY2F0YWxvZy9tb2RlbHMvZW51bXMvc2hvcHMuZW51bSdcblxuaW1wb3J0IHsgQ291cG9uVHlwZXMsIEV4Y2x1c2l2aXRpZXMgfSBmcm9tICcuL2VudW1zJ1xuXG5leHBvcnQgY2xhc3MgQ291cG9uIGV4dGVuZHMgQmFzZU1vZGVsPENvdXBvbj4gaW1wbGVtZW50cyBJZGVudGlmaWVyRmllbGRzPENvdXBvbj4ge1xuICBpZDogc3RyaW5nXG4gIHR5cGU6IENvdXBvblR5cGVzXG4gIGRpc2NvdW50PzogbnVtYmVyXG4gIHVzZXI/OiBzdHJpbmdcbiAgcmVjaXBpZW50Pzogc3RyaW5nXG4gIHN0b3JlPzogU2hvcHNcbiAgY2FtcGFpZ24/OiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIG5pY2tuYW1lOiBzdHJpbmdcbiAgY3JlYXRlZEF0OiBudW1iZXJcbiAgdXBkYXRlZEF0PzogbnVtYmVyXG4gIGV4cGlyZXNJbj86IG51bWJlclxuICB1c2VMaW1pdD86IG51bWJlclxuICBzaG9wQXZhaWxhYmlsaXR5OiBTaG9wc1tdXG5cbiAgQEV4cG9zZSh7IG5hbWU6ICdjaGVja291dF90eXBlJyB9KVxuICBjaGVja291dFR5cGU6IENoZWNrb3V0VHlwZXNcbiAgQEV4cG9zZSh7IG5hbWU6ICdleGNsdXNpdml0eV90eXBlJyB9KVxuICBleGNsdXNpdml0eVR5cGU/OiBFeGNsdXNpdml0aWVzXG5cbiAgaWRlbnRpZmllckZpZWxkcygpOiBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8Q291cG9uPltdIHtcbiAgICByZXR1cm4gWydpZCddXG4gIH1cbn1cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY291cG9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvbGliL2RvbWFpbi9zaG9wcGluZy9tb2RlbHMvY291cG9ucy9jb3Vwb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUUxQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFRN0QsTUFBTSxPQUFPLE1BQU8sU0FBUSxTQUFpQjtJQXFCM0MsZ0JBQWdCO1FBQ2QsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ2YsQ0FBQztDQUNGO0FBUEM7SUFEQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUM7NENBQ1A7QUFFM0I7SUFEQyxNQUFNLENBQUMsRUFBRSxJQUFJLEVBQUUsa0JBQWtCLEVBQUUsQ0FBQzsrQ0FDTiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV4cG9zZSB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJ1xuXG5pbXBvcnQgeyBCYXNlTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9nZW5lcmFsL21vZGVsL2Jhc2UubW9kZWwnXG5pbXBvcnQgeyBDaGVja291dFR5cGVzIH0gZnJvbSAnLi4vZW51bXMvY2hlY2tvdXQtdHlwZXMuZW51bSdcbmltcG9ydCB7IElkZW50aWZpZXJGaWVsZHMgfSBmcm9tICcuLi8uLi8uLi9nZW5lcmFsL21vZGVsL2lkZW50aWZpZXItZmllbGRzJ1xuaW1wb3J0IHsgTm9uRnVuY3Rpb25Qcm9wZXJ0eU5hbWVzIH0gZnJvbSAnLi4vLi4vLi4vZ2VuZXJhbC9tb2RlbC90eXBlcydcbmltcG9ydCB7IFNob3BzIH0gZnJvbSAnLi4vLi4vLi4vY2F0YWxvZy9tb2RlbHMvZW51bXMvc2hvcHMuZW51bSdcblxuaW1wb3J0IHsgQ291cG9uVHlwZXMsIEV4Y2x1c2l2aXRpZXMgfSBmcm9tICcuL2VudW1zJ1xuXG5leHBvcnQgY2xhc3MgQ291cG9uIGV4dGVuZHMgQmFzZU1vZGVsPENvdXBvbj4gaW1wbGVtZW50cyBJZGVudGlmaWVyRmllbGRzPENvdXBvbj4ge1xuICBpZDogc3RyaW5nXG4gIHR5cGU6IENvdXBvblR5cGVzXG4gIGRpc2NvdW50PzogbnVtYmVyXG4gIHVzZXI/OiBzdHJpbmdcbiAgcmVjaXBpZW50Pzogc3RyaW5nXG4gIHN0b3JlPzogU2hvcHNcbiAgY2FtcGFpZ24/OiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIG5pY2tuYW1lOiBzdHJpbmdcbiAgZXhwaXJlc0luPzogRGF0ZVxuICB1c2VMaW1pdD86IG51bWJlclxuICBjcmVhdGVkQXQ6IERhdGVcbiAgdXBkYXRlZEF0PzogRGF0ZVxuICBzaG9wQXZhaWxhYmlsaXR5OiBTaG9wc1tdXG5cbiAgQEV4cG9zZSh7IG5hbWU6ICdjaGVja291dF90eXBlJyB9KVxuICBjaGVja291dFR5cGU6IENoZWNrb3V0VHlwZXNcbiAgQEV4cG9zZSh7IG5hbWU6ICdleGNsdXNpdml0eV90eXBlJyB9KVxuICBleGNsdXNpdml0eVR5cGU/OiBFeGNsdXNpdml0aWVzXG5cbiAgaWRlbnRpZmllckZpZWxkcygpOiBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8Q291cG9uPltdIHtcbiAgICByZXR1cm4gWydpZCddXG4gIH1cbn1cbiJdfQ==
@@ -20,9 +20,9 @@ export class FinancialCoupon extends Coupon {
20
20
  checkoutType: CheckoutTypes.ECOMMERCE,
21
21
  discount: 30,
22
22
  user: userId,
23
- createdAt: Date.now(),
24
- expiresIn: Date.now() + COUPON_EXPIRATION,
23
+ createdAt: new Date(Date.now()),
24
+ expiresIn: new Date(Date.now() + COUPON_EXPIRATION),
25
25
  });
26
26
  }
27
27
  }
28
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYW5jaWFsLWNvdXBvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2xpYi9kb21haW4vc2hvcHBpbmcvbW9kZWxzL2NvdXBvbnMvZmluYW5jaWFsLWNvdXBvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBRTVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUU1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ2pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBRXJELE1BQU0saUJBQWlCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFBO0FBRTNDLE1BQU0sT0FBTyxlQUFnQixTQUFRLE1BQU07SUFBM0M7O1FBQ0UsU0FBSSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUE7SUFvQjlCLENBQUM7SUFqQkMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE1BQWdDO1FBQ3ZELE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFBO0lBQ2xFLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQWM7UUFDaEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3JCLElBQUksRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUNyRCxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDekIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxTQUFTO1lBQzNCLE9BQU8sRUFBRSxjQUFjLENBQUMsVUFBVTtZQUNsQyxZQUFZLEVBQUUsYUFBYSxDQUFDLFNBQVM7WUFDckMsUUFBUSxFQUFFLEVBQUU7WUFDWixJQUFJLEVBQUUsTUFBTTtZQUNaLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ3JCLFNBQVMsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFLEdBQUcsaUJBQWlCO1NBQzFDLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1kNSB9IGZyb20gJ3RzLW1kNSdcblxuaW1wb3J0IHsgQ2hlY2tvdXRUeXBlcyB9IGZyb20gJy4uL2VudW1zL2NoZWNrb3V0LXR5cGVzLmVudW0nXG5cbmltcG9ydCB7IENvdXBvbiB9IGZyb20gJy4vY291cG9uJ1xuaW1wb3J0IHsgQ291cG9uVHlwZXMsIENvdXBvblN1YnR5cGVzIH0gZnJvbSAnLi9lbnVtcydcblxuY29uc3QgQ09VUE9OX0VYUElSQVRJT04gPSA2MCAqIDYwICogMjQgKiAzMFxuXG5leHBvcnQgY2xhc3MgRmluYW5jaWFsQ291cG9uIGV4dGVuZHMgQ291cG9uIHtcbiAgdHlwZSA9IENvdXBvblR5cGVzLkZJTkFOQ0lBTFxuICBzdWJ0eXBlOiBDb3Vwb25TdWJ0eXBlc1xuXG4gIHN0YXRpYyBpc0ZpbmFuY2lhbENvdXBvbihjb3Vwb246IFBhcnRpYWw8RmluYW5jaWFsQ291cG9uPik6IGNvdXBvbiBpcyBGaW5hbmNpYWxDb3Vwb24ge1xuICAgIHJldHVybiBjb3Vwb24udHlwZSA9PT0gQ291cG9uVHlwZXMuRklOQU5DSUFMICYmICEhY291cG9uLnN1YnR5cGVcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVDb3Vwb24odXNlcklkOiBzdHJpbmcpOiBGaW5hbmNpYWxDb3Vwb24ge1xuICAgIHJldHVybiB0aGlzLnRvSW5zdGFuY2Uoe1xuICAgICAgbmFtZTogTWQ1Lmhhc2hTdHIoYCR7dXNlcklkfV8ke0RhdGUubm93fWApLnRvU3RyaW5nKCksXG4gICAgICBuaWNrbmFtZTogYCR7RGF0ZS5ub3coKX1gLFxuICAgICAgdHlwZTogQ291cG9uVHlwZXMuRklOQU5DSUFMLFxuICAgICAgc3VidHlwZTogQ291cG9uU3VidHlwZXMuUEVSQ0VOVEFHRSxcbiAgICAgIGNoZWNrb3V0VHlwZTogQ2hlY2tvdXRUeXBlcy5FQ09NTUVSQ0UsXG4gICAgICBkaXNjb3VudDogMzAsXG4gICAgICB1c2VyOiB1c2VySWQsXG4gICAgICBjcmVhdGVkQXQ6IERhdGUubm93KCksXG4gICAgICBleHBpcmVzSW46IERhdGUubm93KCkgKyBDT1VQT05fRVhQSVJBVElPTixcbiAgICB9KVxuICB9XG59XG4iXX0=
28
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmluYW5jaWFsLWNvdXBvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvbm5lY3Qvc3JjL2xpYi9kb21haW4vc2hvcHBpbmcvbW9kZWxzL2NvdXBvbnMvZmluYW5jaWFsLWNvdXBvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFBO0FBRTVCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQTtBQUU1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ2pDLE9BQU8sRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBRXJELE1BQU0saUJBQWlCLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFBO0FBRTNDLE1BQU0sT0FBTyxlQUFnQixTQUFRLE1BQU07SUFBM0M7O1FBQ0UsU0FBSSxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUE7SUFvQjlCLENBQUM7SUFqQkMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLE1BQWdDO1FBQ3ZELE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxXQUFXLENBQUMsU0FBUyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFBO0lBQ2xFLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQWM7UUFDaEMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO1lBQ3JCLElBQUksRUFBRSxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsTUFBTSxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtZQUNyRCxRQUFRLEVBQUUsR0FBRyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDekIsSUFBSSxFQUFFLFdBQVcsQ0FBQyxTQUFTO1lBQzNCLE9BQU8sRUFBRSxjQUFjLENBQUMsVUFBVTtZQUNsQyxZQUFZLEVBQUUsYUFBYSxDQUFDLFNBQVM7WUFDckMsUUFBUSxFQUFFLEVBQUU7WUFDWixJQUFJLEVBQUUsTUFBTTtZQUNaLFNBQVMsRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7WUFDL0IsU0FBUyxFQUFFLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztTQUNwRCxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNZDUgfSBmcm9tICd0cy1tZDUnXG5cbmltcG9ydCB7IENoZWNrb3V0VHlwZXMgfSBmcm9tICcuLi9lbnVtcy9jaGVja291dC10eXBlcy5lbnVtJ1xuXG5pbXBvcnQgeyBDb3Vwb24gfSBmcm9tICcuL2NvdXBvbidcbmltcG9ydCB7IENvdXBvblR5cGVzLCBDb3Vwb25TdWJ0eXBlcyB9IGZyb20gJy4vZW51bXMnXG5cbmNvbnN0IENPVVBPTl9FWFBJUkFUSU9OID0gNjAgKiA2MCAqIDI0ICogMzBcblxuZXhwb3J0IGNsYXNzIEZpbmFuY2lhbENvdXBvbiBleHRlbmRzIENvdXBvbiB7XG4gIHR5cGUgPSBDb3Vwb25UeXBlcy5GSU5BTkNJQUxcbiAgc3VidHlwZTogQ291cG9uU3VidHlwZXNcblxuICBzdGF0aWMgaXNGaW5hbmNpYWxDb3Vwb24oY291cG9uOiBQYXJ0aWFsPEZpbmFuY2lhbENvdXBvbj4pOiBjb3Vwb24gaXMgRmluYW5jaWFsQ291cG9uIHtcbiAgICByZXR1cm4gY291cG9uLnR5cGUgPT09IENvdXBvblR5cGVzLkZJTkFOQ0lBTCAmJiAhIWNvdXBvbi5zdWJ0eXBlXG4gIH1cblxuICBzdGF0aWMgY3JlYXRlQ291cG9uKHVzZXJJZDogc3RyaW5nKTogRmluYW5jaWFsQ291cG9uIHtcbiAgICByZXR1cm4gdGhpcy50b0luc3RhbmNlKHtcbiAgICAgIG5hbWU6IE1kNS5oYXNoU3RyKGAke3VzZXJJZH1fJHtEYXRlLm5vd31gKS50b1N0cmluZygpLFxuICAgICAgbmlja25hbWU6IGAke0RhdGUubm93KCl9YCxcbiAgICAgIHR5cGU6IENvdXBvblR5cGVzLkZJTkFOQ0lBTCxcbiAgICAgIHN1YnR5cGU6IENvdXBvblN1YnR5cGVzLlBFUkNFTlRBR0UsXG4gICAgICBjaGVja291dFR5cGU6IENoZWNrb3V0VHlwZXMuRUNPTU1FUkNFLFxuICAgICAgZGlzY291bnQ6IDMwLFxuICAgICAgdXNlcjogdXNlcklkLFxuICAgICAgY3JlYXRlZEF0OiBuZXcgRGF0ZShEYXRlLm5vdygpKSxcbiAgICAgIGV4cGlyZXNJbjogbmV3IERhdGUoRGF0ZS5ub3coKSArIENPVVBPTl9FWFBJUkFUSU9OKSxcbiAgICB9KVxuICB9XG59XG4iXX0=
@@ -1,3 +1,4 @@
1
+ import firebase from 'firebase';
1
2
  export const withFirestore = (MixinBase) => {
2
3
  return class extends MixinBase {
3
4
  constructor(...args) {
@@ -9,9 +10,17 @@ export const withFirestore = (MixinBase) => {
9
10
  buildModelInstance() {
10
11
  return {
11
12
  toFirestore: (data) => data.toPlain(),
12
- fromFirestore: (snap) => this.model.toInstance(Object.assign({ id: snap.id }, snap.data())),
13
+ fromFirestore: (snap) => {
14
+ const data = snap.data();
15
+ Object.keys(data).forEach((key) => {
16
+ if (data[key] instanceof firebase.firestore.Timestamp) {
17
+ data[key] = data[key].toDate();
18
+ }
19
+ });
20
+ return this.model.toInstance(Object.assign({ id: snap.id }, data));
21
+ },
13
22
  };
14
23
  }
15
24
  };
16
25
  };
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maXJlc3RvcmUubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9saWIvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLWZpcmVzdG9yZS5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBK0MsU0FBb0IsRUFBRSxFQUFFO0lBQ2xHLE9BQU8sS0FBTSxTQUFRLFNBQVM7UUFLNUIsWUFBWSxHQUFHLElBQWdCO1lBQzdCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNiLENBQUM7UUFFRCxVQUFVLENBQUMsSUFBYTtZQUN0QixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLENBQUE7UUFDeEcsQ0FBQztRQUVELGtCQUFrQjtZQUloQixPQUFPO2dCQUNMLFdBQVcsRUFBRSxDQUFDLElBQVcsRUFBZ0IsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQzFELGFBQWEsRUFBRSxDQUFDLElBQWtDLEVBQVMsRUFBRSxDQUMzRCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsaUJBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLElBQUssSUFBSSxDQUFDLElBQUksRUFBRSxFQUFHO2FBQ3pELENBQUE7UUFDSCxDQUFDO0tBQ0YsQ0FBQTtBQUNILENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb25SZWZlcmVuY2UsIERvY3VtZW50RGF0YSwgRmlyZWJhc2VGaXJlc3RvcmUsIFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdCB9IGZyb20gJ0BmaXJlYmFzZS9maXJlc3RvcmUtdHlwZXMnXG5cbmltcG9ydCB7IEJhc2VNb2RlbEJ1aWxkZXIsIEJhc2VNb2RlbFdpdGhJZGVudGlmaWVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vZG9tYWluJ1xuaW1wb3J0IHsgRmlyZXN0b3JlUmVwb3NpdG9yeSB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgTWl4aW5DdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5cbmV4cG9ydCBjb25zdCB3aXRoRmlyZXN0b3JlID0gPFRCYXNlIGV4dGVuZHMgQmFzZU1vZGVsV2l0aElkZW50aWZpZXI8VEJhc2U+PihNaXhpbkJhc2U6IE1peGluQ3RvcikgPT4ge1xuICByZXR1cm4gY2xhc3MgZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBGaXJlc3RvcmVSZXBvc2l0b3J5PFRCYXNlPiB7XG4gICAgcmVhZG9ubHkgZmlyZXN0b3JlPzogRmlyZWJhc2VGaXJlc3RvcmVcbiAgICBjb2xsZWN0aW9uTmFtZTogc3RyaW5nXG4gICAgbW9kZWw6IEJhc2VNb2RlbEJ1aWxkZXI8VEJhc2U+XG5cbiAgICBjb25zdHJ1Y3RvciguLi5hcmdzOiBBcnJheTxhbnk+KSB7XG4gICAgICBzdXBlcihhcmdzKVxuICAgIH1cblxuICAgIGNvbGxlY3Rpb24ocGF0aD86IHN0cmluZyk6IENvbGxlY3Rpb25SZWZlcmVuY2U8VEJhc2U+IHtcbiAgICAgIHJldHVybiB0aGlzLmZpcmVzdG9yZS5jb2xsZWN0aW9uKHBhdGggfHwgdGhpcy5jb2xsZWN0aW9uTmFtZSkud2l0aENvbnZlcnRlcih0aGlzLmJ1aWxkTW9kZWxJbnN0YW5jZSgpKVxuICAgIH1cblxuICAgIGJ1aWxkTW9kZWxJbnN0YW5jZSgpOiB7XG4gICAgICB0b0ZpcmVzdG9yZTogKGRhdGE6IFRCYXNlKSA9PiBEb2N1bWVudERhdGFcbiAgICAgIGZyb21GaXJlc3RvcmU6IChzbmFwOiBRdWVyeURvY3VtZW50U25hcHNob3Q8VEJhc2U+KSA9PiBUQmFzZVxuICAgIH0ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdG9GaXJlc3RvcmU6IChkYXRhOiBUQmFzZSk6IERvY3VtZW50RGF0YSA9PiBkYXRhLnRvUGxhaW4oKSxcbiAgICAgICAgZnJvbUZpcmVzdG9yZTogKHNuYXA6IFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdDxUQmFzZT4pOiBUQmFzZSA9PlxuICAgICAgICAgIHRoaXMubW9kZWwudG9JbnN0YW5jZSh7IGlkOiBzbmFwLmlkLCAuLi5zbmFwLmRhdGEoKSB9KSxcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
26
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC1maXJlc3RvcmUubWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9saWIvaW5mcmEvZmlyZWJhc2UvZmlyZXN0b3JlL21peGlucy93aXRoLWZpcmVzdG9yZS5taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUE7QUFNL0IsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQStDLFNBQW9CLEVBQUUsRUFBRTtJQUNsRyxPQUFPLEtBQU0sU0FBUSxTQUFTO1FBSzVCLFlBQVksR0FBRyxJQUFnQjtZQUM3QixLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7UUFDYixDQUFDO1FBRUQsVUFBVSxDQUFDLElBQWE7WUFDdEIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFBO1FBQ3hHLENBQUM7UUFFRCxrQkFBa0I7WUFJaEIsT0FBTztnQkFDTCxXQUFXLEVBQUUsQ0FBQyxJQUFXLEVBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUMxRCxhQUFhLEVBQUUsQ0FBQyxJQUFrQyxFQUFTLEVBQUU7b0JBQzNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQTtvQkFFeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTt3QkFDaEMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksUUFBUSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUU7NEJBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUE7eUJBQy9CO29CQUNILENBQUMsQ0FBQyxDQUFBO29CQUVGLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLGlCQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxJQUFLLElBQUksRUFBRyxDQUFBO2dCQUN4RCxDQUFDO2FBQ0YsQ0FBQTtRQUNILENBQUM7S0FDRixDQUFBO0FBQ0gsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvblJlZmVyZW5jZSwgRG9jdW1lbnREYXRhLCBGaXJlYmFzZUZpcmVzdG9yZSwgUXVlcnlEb2N1bWVudFNuYXBzaG90IH0gZnJvbSAnQGZpcmViYXNlL2ZpcmVzdG9yZS10eXBlcydcbmltcG9ydCBmaXJlYmFzZSBmcm9tICdmaXJlYmFzZSdcblxuaW1wb3J0IHsgQmFzZU1vZGVsQnVpbGRlciwgQmFzZU1vZGVsV2l0aElkZW50aWZpZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9kb21haW4nXG5pbXBvcnQgeyBGaXJlc3RvcmVSZXBvc2l0b3J5IH0gZnJvbSAnLi4vdHlwZXMnXG5pbXBvcnQgeyBNaXhpbkN0b3IgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscydcblxuZXhwb3J0IGNvbnN0IHdpdGhGaXJlc3RvcmUgPSA8VEJhc2UgZXh0ZW5kcyBCYXNlTW9kZWxXaXRoSWRlbnRpZmllcjxUQmFzZT4+KE1peGluQmFzZTogTWl4aW5DdG9yKSA9PiB7XG4gIHJldHVybiBjbGFzcyBleHRlbmRzIE1peGluQmFzZSBpbXBsZW1lbnRzIEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+IHtcbiAgICByZWFkb25seSBmaXJlc3RvcmU/OiBGaXJlYmFzZUZpcmVzdG9yZVxuICAgIGNvbGxlY3Rpb25OYW1lOiBzdHJpbmdcbiAgICBtb2RlbDogQmFzZU1vZGVsQnVpbGRlcjxUQmFzZT5cblxuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3M6IEFycmF5PGFueT4pIHtcbiAgICAgIHN1cGVyKGFyZ3MpXG4gICAgfVxuXG4gICAgY29sbGVjdGlvbihwYXRoPzogc3RyaW5nKTogQ29sbGVjdGlvblJlZmVyZW5jZTxUQmFzZT4ge1xuICAgICAgcmV0dXJuIHRoaXMuZmlyZXN0b3JlLmNvbGxlY3Rpb24ocGF0aCB8fCB0aGlzLmNvbGxlY3Rpb25OYW1lKS53aXRoQ29udmVydGVyKHRoaXMuYnVpbGRNb2RlbEluc3RhbmNlKCkpXG4gICAgfVxuXG4gICAgYnVpbGRNb2RlbEluc3RhbmNlKCk6IHtcbiAgICAgIHRvRmlyZXN0b3JlOiAoZGF0YTogVEJhc2UpID0+IERvY3VtZW50RGF0YVxuICAgICAgZnJvbUZpcmVzdG9yZTogKHNuYXA6IFF1ZXJ5RG9jdW1lbnRTbmFwc2hvdDxUQmFzZT4pID0+IFRCYXNlXG4gICAgfSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0b0ZpcmVzdG9yZTogKGRhdGE6IFRCYXNlKTogRG9jdW1lbnREYXRhID0+IGRhdGEudG9QbGFpbigpLFxuICAgICAgICBmcm9tRmlyZXN0b3JlOiAoc25hcDogUXVlcnlEb2N1bWVudFNuYXBzaG90PFRCYXNlPik6IFRCYXNlID0+IHtcbiAgICAgICAgICBjb25zdCBkYXRhID0gc25hcC5kYXRhKClcblxuICAgICAgICAgIE9iamVjdC5rZXlzKGRhdGEpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICAgICAgaWYgKGRhdGFba2V5XSBpbnN0YW5jZW9mIGZpcmViYXNlLmZpcmVzdG9yZS5UaW1lc3RhbXApIHtcbiAgICAgICAgICAgICAgZGF0YVtrZXldID0gZGF0YVtrZXldLnRvRGF0ZSgpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcblxuICAgICAgICAgIHJldHVybiB0aGlzLm1vZGVsLnRvSW5zdGFuY2UoeyBpZDogc25hcC5pZCwgLi4uZGF0YSB9KVxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,19 +1,43 @@
1
1
  import { __awaiter } from "tslib";
2
+ import firebase from 'firebase';
3
+ import { UpdateOptionActions, } from '../../../../domain';
4
+ import { isNil } from '../../../../utils';
2
5
  export const withUpdateFirestore = (MixinBase) => {
6
+ const getValueFromParams = (params, field) => { var _a; return (isNil((_a = params[field]) === null || _a === void 0 ? void 0 : _a.value) ? params[field] : params[field].value) || null; };
7
+ const getValueByAction = (options) => {
8
+ const fieldValues = firebase.firestore.FieldValue;
9
+ if (options.action === UpdateOptionActions.REMOVE_FIELD)
10
+ return fieldValues.delete();
11
+ if (Array.isArray(options.value)) {
12
+ if (options.action === UpdateOptionActions.MERGE)
13
+ return fieldValues.arrayUnion(options.value);
14
+ if (options.action === UpdateOptionActions.REMOVE)
15
+ return fieldValues.arrayRemove(options.value);
16
+ }
17
+ return options.value;
18
+ };
3
19
  return class UpdateFirestore extends MixinBase {
4
20
  update(data) {
5
21
  return __awaiter(this, void 0, void 0, function* () {
6
- const docRef = this.collection(this.buildCollectionPathForUpdate(data)).doc(data[data.identifierFields().shift().toString()]);
7
- yield docRef.update(data.toPlain());
22
+ const model = new this.model();
23
+ const keyField = model.identifierFields().shift();
24
+ const docRef = this.collection(this.buildCollectionPathForUpdate(data)).doc(getValueFromParams(data, keyField).toString());
25
+ yield docRef.update(this.paramsToPlain(data));
8
26
  const doc = yield docRef.get();
9
27
  return doc.data();
10
28
  });
11
29
  }
12
30
  buildCollectionPathForUpdate(identifiers) {
13
31
  return this.isSubCollection(this)
14
- ? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`
32
+ ? `${this.parentRepository.collectionName}/${getValueFromParams(identifiers, this.parentIdField)}/${this.collectionName}`
15
33
  : this.collectionName;
16
34
  }
35
+ paramsToPlain(params) {
36
+ const model = this.model;
37
+ if (params instanceof model)
38
+ return params.toPlain();
39
+ return Object.keys(params).reduce((data, currentKey) => (Object.assign(Object.assign({}, data), { [currentKey]: getValueByAction(data[currentKey]) })), {});
40
+ }
17
41
  };
18
42
  };
19
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC11cGRhdGUtZmlyZXN0b3JlLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvbGliL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9taXhpbnMvd2l0aC11cGRhdGUtZmlyZXN0b3JlLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFJQSxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUNqQyxTQUFnRixFQUNoRixFQUFFO0lBQ0YsT0FBTyxNQUFNLGVBQWdCLFNBQVEsU0FBUztRQUN0QyxNQUFNLENBQUMsSUFBVzs7Z0JBQ3RCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUN6RSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FDakQsQ0FBQTtnQkFFRCxNQUFNLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUE7Z0JBRW5DLE1BQU0sR0FBRyxHQUFHLE1BQU0sTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFBO2dCQUU5QixPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUNuQixDQUFDO1NBQUE7UUFFRCw0QkFBNEIsQ0FBQyxXQUFrQjtZQUM3QyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDO2dCQUMvQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDckcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUE7UUFDekIsQ0FBQztLQUNGLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlTW9kZWxXaXRoSWRlbnRpZmllciwgVXBkYXRlUmVwb3NpdG9yeSB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IEZpcmVzdG9yZUhlbHBlcnMsIEZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IE1peGluQ3RvciB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzJ1xuXG5leHBvcnQgY29uc3Qgd2l0aFVwZGF0ZUZpcmVzdG9yZSA9IDxUQmFzZSBleHRlbmRzIEJhc2VNb2RlbFdpdGhJZGVudGlmaWVyPFRCYXNlPiwgVE1peGluQmFzZSBleHRlbmRzIE1peGluQ3Rvcj4oXG4gIE1peGluQmFzZTogTWl4aW5DdG9yPEZpcmVzdG9yZVJlcG9zaXRvcnk8VEJhc2U+ICYgRmlyZXN0b3JlSGVscGVycz4gJiBUTWl4aW5CYXNlLFxuKSA9PiB7XG4gIHJldHVybiBjbGFzcyBVcGRhdGVGaXJlc3RvcmUgZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBVcGRhdGVSZXBvc2l0b3J5PFRCYXNlPiB7XG4gICAgYXN5bmMgdXBkYXRlKGRhdGE6IFRCYXNlKTogUHJvbWlzZTxUQmFzZT4ge1xuICAgICAgY29uc3QgZG9jUmVmID0gdGhpcy5jb2xsZWN0aW9uKHRoaXMuYnVpbGRDb2xsZWN0aW9uUGF0aEZvclVwZGF0ZShkYXRhKSkuZG9jKFxuICAgICAgICBkYXRhW2RhdGEuaWRlbnRpZmllckZpZWxkcygpLnNoaWZ0KCkudG9TdHJpbmcoKV0sXG4gICAgICApXG5cbiAgICAgIGF3YWl0IGRvY1JlZi51cGRhdGUoZGF0YS50b1BsYWluKCkpXG5cbiAgICAgIGNvbnN0IGRvYyA9IGF3YWl0IGRvY1JlZi5nZXQoKVxuXG4gICAgICByZXR1cm4gZG9jLmRhdGEoKVxuICAgIH1cblxuICAgIGJ1aWxkQ29sbGVjdGlvblBhdGhGb3JVcGRhdGUoaWRlbnRpZmllcnM6IFRCYXNlKTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmlzU3ViQ29sbGVjdGlvbih0aGlzKVxuICAgICAgICA/IGAke3RoaXMucGFyZW50UmVwb3NpdG9yeS5jb2xsZWN0aW9uTmFtZX0vJHtpZGVudGlmaWVyc1t0aGlzLnBhcmVudElkRmllbGRdfS8ke3RoaXMuY29sbGVjdGlvbk5hbWV9YFxuICAgICAgICA6IHRoaXMuY29sbGVjdGlvbk5hbWVcbiAgICB9XG4gIH1cbn1cbiJdfQ==
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2l0aC11cGRhdGUtZmlyZXN0b3JlLm1peGluLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvbGliL2luZnJhL2ZpcmViYXNlL2ZpcmVzdG9yZS9taXhpbnMvd2l0aC11cGRhdGUtZmlyZXN0b3JlLm1peGluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLFFBQVEsTUFBTSxVQUFVLENBQUE7QUFFL0IsT0FBTyxFQUlMLG1CQUFtQixHQUdwQixNQUFNLG9CQUFvQixDQUFBO0FBRTNCLE9BQU8sRUFBRSxLQUFLLEVBQXVCLE1BQU0sbUJBQW1CLENBQUE7QUFFOUQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FDakMsU0FBZ0YsRUFDaEYsRUFBRTtJQUNGLE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsTUFBcUMsRUFDckMsS0FBc0MsRUFDWSxFQUFFLFdBQ3BELE9BQUEsQ0FBQyxLQUFLLENBQUMsTUFBQSxNQUFNLENBQUMsS0FBZSxDQUFDLDBDQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFlLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLENBQUEsRUFBQSxDQUFBO0lBQzNHLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxPQUE2QixFQUEyQyxFQUFFO1FBQ2xHLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQyxTQUFTLENBQUMsVUFBVSxDQUFBO1FBRWpELElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxtQkFBbUIsQ0FBQyxZQUFZO1lBQUUsT0FBTyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUE7UUFDcEYsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUNoQyxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssbUJBQW1CLENBQUMsS0FBSztnQkFBRSxPQUFPLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQzlGLElBQUksT0FBTyxDQUFDLE1BQU0sS0FBSyxtQkFBbUIsQ0FBQyxNQUFNO2dCQUFFLE9BQU8sV0FBVyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7U0FDakc7UUFFRCxPQUFPLE9BQU8sQ0FBQyxLQUFLLENBQUE7SUFDdEIsQ0FBQyxDQUFBO0lBRUQsT0FBTyxNQUFNLGVBQWdCLFNBQVEsU0FBUztRQUN0QyxNQUFNLENBQUMsSUFBbUM7O2dCQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQTtnQkFDOUIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBQ2pELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUN6RSxrQkFBa0IsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQzlDLENBQUE7Z0JBRUQsTUFBTSxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtnQkFFN0MsTUFBTSxHQUFHLEdBQUcsTUFBTSxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUE7Z0JBRTlCLE9BQU8sR0FBRyxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ25CLENBQUM7U0FBQTtRQUVELDRCQUE0QixDQUFDLFdBQTBDO1lBQ3JFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLElBQUksa0JBQWtCLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFDNUYsSUFBSSxDQUFDLGNBQ1AsRUFBRTtnQkFDSixDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUN6QixDQUFDO1FBRUQsYUFBYSxDQUFDLE1BQXFDO1lBQ2pELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7WUFFeEIsSUFBSSxNQUFNLFlBQVksS0FBSztnQkFBRSxPQUFPLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQTtZQUVwRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUMvQixDQUFDLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLGlDQUFNLElBQUksS0FBRSxDQUFDLFVBQVUsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFHLEVBQ3JGLEVBQUUsQ0FDSCxDQUFBO1FBQ0gsQ0FBQztLQUNGLENBQUE7QUFDSCxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgZmlyZWJhc2UgZnJvbSAnZmlyZWJhc2UnXG5cbmltcG9ydCB7XG4gIEJhc2VNb2RlbFdpdGhJZGVudGlmaWVyLFxuICBOb25GdW5jdGlvblByb3BlcnR5TmFtZXMsXG4gIFJlcG9zaXRvcnlVcGRhdGVQYXJhbXMsXG4gIFVwZGF0ZU9wdGlvbkFjdGlvbnMsXG4gIFVwZGF0ZU9wdGlvbnMsXG4gIFVwZGF0ZVJlcG9zaXRvcnksXG59IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbidcbmltcG9ydCB7IEZpcmVzdG9yZUhlbHBlcnMsIEZpcmVzdG9yZVJlcG9zaXRvcnkgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IGlzTmlsLCBNaXhpbkN0b3IsIFByb3BUeXBlIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMnXG5cbmV4cG9ydCBjb25zdCB3aXRoVXBkYXRlRmlyZXN0b3JlID0gPFRCYXNlIGV4dGVuZHMgQmFzZU1vZGVsV2l0aElkZW50aWZpZXI8VEJhc2U+LCBUTWl4aW5CYXNlIGV4dGVuZHMgTWl4aW5DdG9yPihcbiAgTWl4aW5CYXNlOiBNaXhpbkN0b3I8RmlyZXN0b3JlUmVwb3NpdG9yeTxUQmFzZT4gJiBGaXJlc3RvcmVIZWxwZXJzPiAmIFRNaXhpbkJhc2UsXG4pID0+IHtcbiAgY29uc3QgZ2V0VmFsdWVGcm9tUGFyYW1zID0gKFxuICAgIHBhcmFtczogUmVwb3NpdG9yeVVwZGF0ZVBhcmFtczxUQmFzZT4sXG4gICAgZmllbGQ6IE5vbkZ1bmN0aW9uUHJvcGVydHlOYW1lczxUQmFzZT4sXG4gICk6IFByb3BUeXBlPFRCYXNlLCBOb25GdW5jdGlvblByb3BlcnR5TmFtZXM8VEJhc2U+PiA9PlxuICAgIChpc05pbChwYXJhbXNbZmllbGQgYXMgc3RyaW5nXT8udmFsdWUpID8gcGFyYW1zW2ZpZWxkIGFzIHN0cmluZ10gOiBwYXJhbXNbZmllbGQgYXMgc3RyaW5nXS52YWx1ZSkgfHwgbnVsbFxuICBjb25zdCBnZXRWYWx1ZUJ5QWN0aW9uID0gKG9wdGlvbnM6IFVwZGF0ZU9wdGlvbnM8VEJhc2U+KTogZmlyZWJhc2UuZmlyZXN0b3JlLkZpZWxkVmFsdWUgfCB1bmtub3duID0+IHtcbiAgICBjb25zdCBmaWVsZFZhbHVlcyA9IGZpcmViYXNlLmZpcmVzdG9yZS5GaWVsZFZhbHVlXG5cbiAgICBpZiAob3B0aW9ucy5hY3Rpb24gPT09IFVwZGF0ZU9wdGlvbkFjdGlvbnMuUkVNT1ZFX0ZJRUxEKSByZXR1cm4gZmllbGRWYWx1ZXMuZGVsZXRlKClcbiAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zLnZhbHVlKSkge1xuICAgICAgaWYgKG9wdGlvbnMuYWN0aW9uID09PSBVcGRhdGVPcHRpb25BY3Rpb25zLk1FUkdFKSByZXR1cm4gZmllbGRWYWx1ZXMuYXJyYXlVbmlvbihvcHRpb25zLnZhbHVlKVxuICAgICAgaWYgKG9wdGlvbnMuYWN0aW9uID09PSBVcGRhdGVPcHRpb25BY3Rpb25zLlJFTU9WRSkgcmV0dXJuIGZpZWxkVmFsdWVzLmFycmF5UmVtb3ZlKG9wdGlvbnMudmFsdWUpXG4gICAgfVxuXG4gICAgcmV0dXJuIG9wdGlvbnMudmFsdWVcbiAgfVxuXG4gIHJldHVybiBjbGFzcyBVcGRhdGVGaXJlc3RvcmUgZXh0ZW5kcyBNaXhpbkJhc2UgaW1wbGVtZW50cyBVcGRhdGVSZXBvc2l0b3J5PFRCYXNlPiB7XG4gICAgYXN5bmMgdXBkYXRlKGRhdGE6IFJlcG9zaXRvcnlVcGRhdGVQYXJhbXM8VEJhc2U+KTogUHJvbWlzZTxUQmFzZT4ge1xuICAgICAgY29uc3QgbW9kZWwgPSBuZXcgdGhpcy5tb2RlbCgpXG4gICAgICBjb25zdCBrZXlGaWVsZCA9IG1vZGVsLmlkZW50aWZpZXJGaWVsZHMoKS5zaGlmdCgpXG4gICAgICBjb25zdCBkb2NSZWYgPSB0aGlzLmNvbGxlY3Rpb24odGhpcy5idWlsZENvbGxlY3Rpb25QYXRoRm9yVXBkYXRlKGRhdGEpKS5kb2MoXG4gICAgICAgIGdldFZhbHVlRnJvbVBhcmFtcyhkYXRhLCBrZXlGaWVsZCkudG9TdHJpbmcoKSxcbiAgICAgIClcblxuICAgICAgYXdhaXQgZG9jUmVmLnVwZGF0ZSh0aGlzLnBhcmFtc1RvUGxhaW4oZGF0YSkpXG5cbiAgICAgIGNvbnN0IGRvYyA9IGF3YWl0IGRvY1JlZi5nZXQoKVxuXG4gICAgICByZXR1cm4gZG9jLmRhdGEoKVxuICAgIH1cblxuICAgIGJ1aWxkQ29sbGVjdGlvblBhdGhGb3JVcGRhdGUoaWRlbnRpZmllcnM6IFJlcG9zaXRvcnlVcGRhdGVQYXJhbXM8VEJhc2U+KTogc3RyaW5nIHtcbiAgICAgIHJldHVybiB0aGlzLmlzU3ViQ29sbGVjdGlvbih0aGlzKVxuICAgICAgICA/IGAke3RoaXMucGFyZW50UmVwb3NpdG9yeS5jb2xsZWN0aW9uTmFtZX0vJHtnZXRWYWx1ZUZyb21QYXJhbXMoaWRlbnRpZmllcnMsIHRoaXMucGFyZW50SWRGaWVsZCl9LyR7XG4gICAgICAgICAgICB0aGlzLmNvbGxlY3Rpb25OYW1lXG4gICAgICAgICAgfWBcbiAgICAgICAgOiB0aGlzLmNvbGxlY3Rpb25OYW1lXG4gICAgfVxuXG4gICAgcGFyYW1zVG9QbGFpbihwYXJhbXM6IFJlcG9zaXRvcnlVcGRhdGVQYXJhbXM8VEJhc2U+KTogUGFydGlhbDxUQmFzZT4ge1xuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLm1vZGVsXG5cbiAgICAgIGlmIChwYXJhbXMgaW5zdGFuY2VvZiBtb2RlbCkgcmV0dXJuIHBhcmFtcy50b1BsYWluKClcblxuICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKHBhcmFtcykucmVkdWNlKFxuICAgICAgICAoZGF0YSwgY3VycmVudEtleSkgPT4gKHsgLi4uZGF0YSwgW2N1cnJlbnRLZXldOiBnZXRWYWx1ZUJ5QWN0aW9uKGRhdGFbY3VycmVudEtleV0pIH0pLFxuICAgICAgICB7fSxcbiAgICAgIClcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
1
  import { chunk, isEmpty, isNil, isNumber, isString } from 'lodash';
2
2
  export { chunk, isEmpty, isNil, isNumber, isString };
3
3
  export * from './mixins';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFbEUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQTtBQUNwRCxjQUFjLFVBQVUsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNodW5rLCBpc0VtcHR5LCBpc05pbCwgaXNOdW1iZXIsIGlzU3RyaW5nIH0gZnJvbSAnbG9kYXNoJ1xuXG5leHBvcnQgeyBjaHVuaywgaXNFbXB0eSwgaXNOaWwsIGlzTnVtYmVyLCBpc1N0cmluZyB9XG5leHBvcnQgKiBmcm9tICcuL21peGlucydcbiJdfQ==
4
+ export * from './types';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9saWIvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFFbEUsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsQ0FBQTtBQUNwRCxjQUFjLFVBQVUsQ0FBQTtBQUN4QixjQUFjLFNBQVMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNodW5rLCBpc0VtcHR5LCBpc05pbCwgaXNOdW1iZXIsIGlzU3RyaW5nIH0gZnJvbSAnbG9kYXNoJ1xuXG5leHBvcnQgeyBjaHVuaywgaXNFbXB0eSwgaXNOaWwsIGlzTnVtYmVyLCBpc1N0cmluZyB9XG5leHBvcnQgKiBmcm9tICcuL21peGlucydcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export * from './prop.type';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb25uZWN0L3NyYy9saWIvdXRpbHMvdHlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3Byb3AudHlwZSdcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcC50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29ubmVjdC9zcmMvbGliL3V0aWxzL3R5cGVzL3Byb3AudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUHJvcFR5cGU8VE9iaiwgVFByb3AgZXh0ZW5kcyBrZXlvZiBUT2JqPiA9IFRPYmpbVFByb3BdXG4iXX0=
@@ -3,7 +3,8 @@ import { __awaiter, __decorate } from 'tslib';
3
3
  import { isNil, isNumber, isString, isEmpty } from 'lodash';
4
4
  export { chunk, isEmpty, isNil, isNumber, isString } from 'lodash';
5
5
  import { Md5 } from 'ts-md5';
6
- import firebase from 'firebase/app';
6
+ import firebase from 'firebase';
7
+ import firebase$1 from 'firebase/app';
7
8
 
8
9
  class BaseModel {
9
10
  constructor(args) {
@@ -28,6 +29,15 @@ var Where;
28
29
  Where["LIKE"] = "like";
29
30
  })(Where || (Where = {}));
30
31
 
32
+ var UpdateOptionActions;
33
+ (function (UpdateOptionActions) {
34
+ UpdateOptionActions["UPDATE"] = "update";
35
+ UpdateOptionActions["MERGE"] = "merge";
36
+ UpdateOptionActions["REMOVE"] = "remove";
37
+ UpdateOptionActions["REMOVE_FIELD"] = "removeField";
38
+ UpdateOptionActions["NULL"] = "null";
39
+ })(UpdateOptionActions || (UpdateOptionActions = {}));
40
+
31
41
  var UserType;
32
42
  (function (UserType) {
33
43
  UserType["B2C"] = "Cliente Transacional";
@@ -294,8 +304,8 @@ class FinancialCoupon extends Coupon {
294
304
  checkoutType: CheckoutTypes.ECOMMERCE,
295
305
  discount: 30,
296
306
  user: userId,
297
- createdAt: Date.now(),
298
- expiresIn: Date.now() + COUPON_EXPIRATION,
307
+ createdAt: new Date(Date.now()),
308
+ expiresIn: new Date(Date.now() + COUPON_EXPIRATION),
299
309
  });
300
310
  }
301
311
  }
@@ -507,7 +517,15 @@ const withFirestore = (MixinBase) => {
507
517
  buildModelInstance() {
508
518
  return {
509
519
  toFirestore: (data) => data.toPlain(),
510
- fromFirestore: (snap) => this.model.toInstance(Object.assign({ id: snap.id }, snap.data())),
520
+ fromFirestore: (snap) => {
521
+ const data = snap.data();
522
+ Object.keys(data).forEach((key) => {
523
+ if (data[key] instanceof firebase.firestore.Timestamp) {
524
+ data[key] = data[key].toDate();
525
+ }
526
+ });
527
+ return this.model.toInstance(Object.assign({ id: snap.id }, data));
528
+ },
511
529
  };
512
530
  }
513
531
  };
@@ -638,20 +656,41 @@ const withCreateFirestore = (MixinBase) => {
638
656
  };
639
657
 
640
658
  const withUpdateFirestore = (MixinBase) => {
659
+ const getValueFromParams = (params, field) => { var _a; return (isNil((_a = params[field]) === null || _a === void 0 ? void 0 : _a.value) ? params[field] : params[field].value) || null; };
660
+ const getValueByAction = (options) => {
661
+ const fieldValues = firebase.firestore.FieldValue;
662
+ if (options.action === UpdateOptionActions.REMOVE_FIELD)
663
+ return fieldValues.delete();
664
+ if (Array.isArray(options.value)) {
665
+ if (options.action === UpdateOptionActions.MERGE)
666
+ return fieldValues.arrayUnion(options.value);
667
+ if (options.action === UpdateOptionActions.REMOVE)
668
+ return fieldValues.arrayRemove(options.value);
669
+ }
670
+ return options.value;
671
+ };
641
672
  return class UpdateFirestore extends MixinBase {
642
673
  update(data) {
643
674
  return __awaiter(this, void 0, void 0, function* () {
644
- const docRef = this.collection(this.buildCollectionPathForUpdate(data)).doc(data[data.identifierFields().shift().toString()]);
645
- yield docRef.update(data.toPlain());
675
+ const model = new this.model();
676
+ const keyField = model.identifierFields().shift();
677
+ const docRef = this.collection(this.buildCollectionPathForUpdate(data)).doc(getValueFromParams(data, keyField).toString());
678
+ yield docRef.update(this.paramsToPlain(data));
646
679
  const doc = yield docRef.get();
647
680
  return doc.data();
648
681
  });
649
682
  }
650
683
  buildCollectionPathForUpdate(identifiers) {
651
684
  return this.isSubCollection(this)
652
- ? `${this.parentRepository.collectionName}/${identifiers[this.parentIdField]}/${this.collectionName}`
685
+ ? `${this.parentRepository.collectionName}/${getValueFromParams(identifiers, this.parentIdField)}/${this.collectionName}`
653
686
  : this.collectionName;
654
687
  }
688
+ paramsToPlain(params) {
689
+ const model = this.model;
690
+ if (params instanceof model)
691
+ return params.toPlain();
692
+ return Object.keys(params).reduce((data, currentKey) => (Object.assign(Object.assign({}, data), { [currentKey]: getValueByAction(data[currentKey]) })), {});
693
+ }
655
694
  };
656
695
  };
657
696
 
@@ -882,7 +921,7 @@ class AuthenticationFirebaseAuthService {
882
921
  }
883
922
  signInWithGoogle() {
884
923
  return __awaiter(this, void 0, void 0, function* () {
885
- const credentials = yield this.firebaseAuth.signInWithPopup(new firebase.auth.GoogleAuthProvider());
924
+ const credentials = yield this.firebaseAuth.signInWithPopup(new firebase$1.auth.GoogleAuthProvider());
886
925
  const user = credentials.user;
887
926
  return { id: user.uid, displayName: user.displayName, email: user.email, phone: user.phoneNumber };
888
927
  });
@@ -898,5 +937,5 @@ class AuthenticationFirebaseAuthService {
898
937
  * Generated bundle index. Do not edit.
899
938
  */
900
939
 
901
- export { Address, Area, Authentication, AuthenticationFirebaseAuthService, Base, BaseModel, BeardSizes, BeautyProfile, BillingStatus, Buy2Win, Buy2WinFirestoreRepository, Category, CategoryFirestoreRepository, Checkout, CheckoutFirestoreRepository, CheckoutSubscription, CheckoutSubscriptionFirestoreRepository, CheckoutTypes, Coupon, CouponFirestoreRepository, CouponSubtypes, CouponTypes, Edition, EditionStatus, Exclusivities, FinancialCoupon, HairTypes, InvalidArgumentError, LineItem, NotFoundError, OfficePosition, Order, OrderFirestoreRepository, OrderStatus, Payment, PaymentFirestoreRepository, PaymentType, Product, ProductFirestoreRepository, ProductVariantFirestoreRepository, RequiredArgumentError, ShippingMethod, Shops, SignInMethods, SignOut, Status, Subscription, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionPayment, SubscriptionPaymentFirestoreRepository, SubscriptionPlan, SubscriptionPlanFirestoreRepository, UnauthorizedError, User, UserAddress, UserAddressFirestoreRepository, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, UserType, Variant, Where, withCreateFirestore, withCrudFirestore, withDeleteFirestore, withFindFirestore, withFirestore, withGetFirestore, withHelpers, withSubCollection, withUpdateFirestore };
940
+ export { Address, Area, Authentication, AuthenticationFirebaseAuthService, Base, BaseModel, BeardSizes, BeautyProfile, BillingStatus, Buy2Win, Buy2WinFirestoreRepository, Category, CategoryFirestoreRepository, Checkout, CheckoutFirestoreRepository, CheckoutSubscription, CheckoutSubscriptionFirestoreRepository, CheckoutTypes, Coupon, CouponFirestoreRepository, CouponSubtypes, CouponTypes, Edition, EditionStatus, Exclusivities, FinancialCoupon, HairTypes, InvalidArgumentError, LineItem, NotFoundError, OfficePosition, Order, OrderFirestoreRepository, OrderStatus, Payment, PaymentFirestoreRepository, PaymentType, Product, ProductFirestoreRepository, ProductVariantFirestoreRepository, RequiredArgumentError, ShippingMethod, Shops, SignInMethods, SignOut, Status, Subscription, SubscriptionEditionFirestoreRepository, SubscriptionFirestoreRepository, SubscriptionPayment, SubscriptionPaymentFirestoreRepository, SubscriptionPlan, SubscriptionPlanFirestoreRepository, UnauthorizedError, UpdateOptionActions, User, UserAddress, UserAddressFirestoreRepository, UserBeautyProfileFirestoreRepository, UserFirestoreRepository, UserType, Variant, Where, withCreateFirestore, withCrudFirestore, withDeleteFirestore, withFindFirestore, withFirestore, withGetFirestore, withHelpers, withSubCollection, withUpdateFirestore };
902
941
  //# sourceMappingURL=infrab4a-connect.js.map