@lyxa.ai/core 1.0.21 → 1.0.23

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 (51) hide show
  1. package/dist/index.js.map +1 -1
  2. package/dist/libraries/logger/index.d.ts +2 -0
  3. package/dist/libraries/logger/index.js +17 -1
  4. package/dist/libraries/logger/index.js.map +1 -1
  5. package/dist/libraries/mongo/index.js +49 -16
  6. package/dist/libraries/mongo/index.js.map +1 -1
  7. package/dist/libraries/mongo/models/cart.model.js +9 -2
  8. package/dist/libraries/mongo/models/cart.model.js.map +1 -1
  9. package/dist/libraries/mongo/models/embedded/price-breakdown.model.d.ts +5 -0
  10. package/dist/libraries/mongo/models/embedded/price-breakdown.model.js +32 -0
  11. package/dist/libraries/mongo/models/embedded/price-breakdown.model.js.map +1 -0
  12. package/dist/libraries/mongo/models/index.d.ts +24 -3
  13. package/dist/libraries/mongo/models/index.js +26 -5
  14. package/dist/libraries/mongo/models/index.js.map +1 -1
  15. package/dist/libraries/mongo/models/line-item.model.d.ts +4 -4
  16. package/dist/libraries/mongo/models/line-item.model.js +8 -8
  17. package/dist/libraries/mongo/models/line-item.model.js.map +1 -1
  18. package/dist/libraries/mongo/models/product.model.d.ts +24 -7
  19. package/dist/libraries/mongo/models/product.model.js +84 -19
  20. package/dist/libraries/mongo/models/product.model.js.map +1 -1
  21. package/dist/libraries/mongo/models/shared/work-hour.model.js +1 -1
  22. package/dist/libraries/mongo/models/shared/work-hour.model.js.map +1 -1
  23. package/dist/libraries/mongo/models/shop-access-control.model.js +10 -6
  24. package/dist/libraries/mongo/models/shop-access-control.model.js.map +1 -1
  25. package/dist/libraries/mongo/models/shop-product.model.d.ts +4 -4
  26. package/dist/libraries/mongo/models/shop-product.model.js +7 -7
  27. package/dist/libraries/mongo/models/shop-product.model.js.map +1 -1
  28. package/dist/libraries/mongo/models/shop.model.js.map +1 -1
  29. package/dist/libraries/trpc/index.d.ts +99 -9
  30. package/dist/libraries/trpc/index.js +22 -1
  31. package/dist/libraries/trpc/index.js.map +1 -1
  32. package/dist/libraries/trpc/middlewares/auth.d.ts +11 -1
  33. package/dist/utilities/common/password.d.ts +1 -0
  34. package/dist/utilities/common/password.js +12 -0
  35. package/dist/utilities/common/password.js.map +1 -0
  36. package/dist/utilities/common/week.d.ts +1 -0
  37. package/dist/utilities/common/week.js +5 -0
  38. package/dist/utilities/common/week.js.map +1 -0
  39. package/dist/utilities/enum.d.ts +9 -6
  40. package/dist/utilities/enum.js +21 -17
  41. package/dist/utilities/enum.js.map +1 -1
  42. package/dist/utilities/error-handler.js +20 -5
  43. package/dist/utilities/error-handler.js.map +1 -1
  44. package/dist/utilities/transformers.js.map +1 -1
  45. package/dist/utilities/validation/common-validation.d.ts +110 -110
  46. package/dist/utilities/validation/common-validation.js +5 -2
  47. package/dist/utilities/validation/common-validation.js.map +1 -1
  48. package/dist/utilities/validation/global-validation.d.ts +19 -5
  49. package/dist/utilities/validation/global-validation.js +34 -14
  50. package/dist/utilities/validation/global-validation.js.map +1 -1
  51. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/mongo/models/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { getDiscriminatorModelForClass, getModelForClass, ReturnModelType } from '@typegoose/typegoose';\r\nimport { Admin } from './admin.model';\r\nimport { AdminAccessControl } from './admin-access-control.model';\r\nimport { ActivityLog } from './activity-log.model';\r\nimport { AppScreenSetting } from './app-screen-setting.model';\r\nimport { Attribute } from './attribute.model';\r\nimport { Banner } from './banner.model';\r\nimport { BOBFinance } from './bob-finance.model';\r\nimport { Brand } from './brand.model';\r\nimport { Category } from './category.model';\r\nimport { Counter } from './counter.model';\r\nimport { Coupon } from './coupon.model';\r\nimport { DealSetting } from './deal-setting.model';\r\nimport { Dish } from './dish.model';\r\nimport { Faq } from './faq.model';\r\nimport { Favourite } from './favourite.model';\r\nimport { FeaturedSetting } from './featured-setting.model';\r\nimport { FilterContainer } from './filter-container.model';\r\nimport { ListContainer } from './list-container.model';\r\nimport { LoyaltyPointCategory } from './loyalty-point-category.model';\r\nimport { LoyaltyPointSetting } from './loyalty-point-setting.model';\r\nimport { Marketing } from './marketing.model';\r\nimport { MealPlan } from './meal-plan.model';\r\nimport { Nutrition } from './nutrition.model';\r\nimport { Parent } from './parent.model';\r\nimport { ProductMarketing } from './product-marketing.model';\r\nimport { Product } from './product.model';\r\nimport { PunchMarketingHistory } from './punch-marketing-history.model';\r\nimport { RatingSetting } from './rating-setting.model';\r\nimport { ReferralSetting } from './referral-setting.model';\r\nimport { RequestArea } from './request-area.model';\r\nimport { RiderReview } from './rider-review.model';\r\nimport { Role } from './role.model';\r\nimport { createGlobalDiscriminatorModel, createGlobalModel } from '../../mongo';\r\nimport { Setting } from './setting.model';\r\nimport { ShopAccessControl } from './shop-access-control.model';\r\nimport { ShopCategory } from './shop-category.model';\r\nimport { ShopMealPlan } from './shop-meal-plan.model';\r\nimport { ShopProduct } from './shop-product.model';\r\nimport { ShopReview } from './shop-review.model';\r\nimport { Shop } from './shop.model';\r\nimport { SubscriptionSetting } from './subscription-setting.model';\r\nimport { Subscription } from './subscription.model';\r\nimport { Tag } from './tag.model';\r\nimport { Zone } from './zone.model';\r\nimport { Buy1Get1Marketing } from './providers/buy1-get1-marketing.model';\r\nimport { CardType, CoreAuthIdentityType, CouponType, MarketingType } from '../../../utilities/enum';\r\nimport { CustomCoupon } from './providers/custom-coupon.model';\r\nimport { DiscountMarketing } from './providers/discount-marketing.model';\r\nimport { FeaturedMarketing } from './providers/featured-marketing.model';\r\nimport { FreeDeliveryMarketing } from './providers/free-delivery-marketing.model';\r\nimport { GlobalCoupon } from './providers/global-coupon.model';\r\nimport { IndividualStoreCoupon } from './providers/individual-store-coupon.model';\r\nimport { IndividualUserCoupon } from './providers/individual-user-coupon.model';\r\nimport { LoyaltyPointMarketing } from './providers/loyalty-point-marketing.model';\r\nimport { PunchMarketing } from './providers/punch-marketing.model';\r\nimport { ReferralCodeCoupon } from './providers/referral-code-coupon.model';\r\nimport { ReferralRewardCoupon } from './providers/referral-reward-coupon.model';\r\nimport { Notification } from './notification.model';\r\nimport { CoreAuthIdentity } from './core-auth-identity.model';\r\nimport { CoreEmailAuthIdentity } from './providers/core-email-auth-identity.model';\r\nimport { CorePhoneAuthIdentity } from './providers/core-phone-auth-identity.model';\r\nimport { CoreGoogleAuthIdentity } from './providers/core-google-auth-identity.model';\r\nimport { CoreAppleAuthIdentity } from './providers/core-apple-auth-identity.model';\r\nimport { CoreUser } from './core-user.model';\r\nimport { Card } from './card.model';\r\nimport { AreebaCard } from './providers/areeba-card.model';\r\nimport { RiderTracking } from './rider-tracking.model';\r\nimport { Rider } from './rider.model';\r\nimport { RiderTimeout } from './rider-timeout.model';\r\nimport { User } from './user.model';\r\nimport { Cart } from './cart.model';\r\nimport { LineItem } from './line-item.model';\r\nimport { CartParticipant } from './cart-participant.model';\r\n\r\nexport const ActivityLogModel: ReturnModelType<typeof ActivityLog> = getModelForClass(ActivityLog);\r\nexport * from './activity-log.model';\r\n\r\nexport const AdminAccessControlModel: ReturnModelType<typeof AdminAccessControl> =\r\n\tgetModelForClass(AdminAccessControl);\r\nexport * from './admin-access-control.model';\r\n\r\nexport const AdminModel: ReturnModelType<typeof Admin> = getModelForClass(Admin);\r\nexport * from './admin.model';\r\n\r\nexport const AppScreenSettingModel: ReturnModelType<typeof AppScreenSetting> =\r\n\tgetModelForClass(AppScreenSetting);\r\nexport * from './app-screen-setting.model';\r\n\r\nexport const AttributeModel: ReturnModelType<typeof Attribute> = getModelForClass(Attribute);\r\nexport * from './attribute.model';\r\n\r\nexport const BannerModel: ReturnModelType<typeof Banner> = getModelForClass(Banner);\r\nexport * from './banner.model';\r\n\r\nexport const BOBFinanceModel: ReturnModelType<typeof BOBFinance> = getModelForClass(BOBFinance);\r\nexport * from './bob-finance.model';\r\n\r\nexport const BrandModel: ReturnModelType<typeof Brand> = getModelForClass(Brand);\r\nexport * from './brand.model';\r\n\r\n// export const CardModel: ReturnModelType<typeof Card> = createGlobalModel(Card);\r\n// export const AreebaCardModel: ReturnModelType<typeof AreebaCard> = createGlobalDiscriminatorModel(\r\n// \tCardModel,\r\n// \tAreebaCard,\r\n// \tCardType.AREEBA\r\n// );\r\n// export * from './card.model';\r\n// export * from './providers/areeba-card.model';\r\n\r\nexport const CategoryModel: ReturnModelType<typeof Category> = getModelForClass(Category);\r\nexport * from './category.model';\r\n\r\n// export const CoreAuthIdentityModel: ReturnModelType<typeof CoreAuthIdentity> =\r\n// \tcreateGlobalModel(CoreAuthIdentity);\r\n// export const CoreEmailAuthIdentityModel: ReturnModelType<typeof CoreEmailAuthIdentity> =\r\n// \tcreateGlobalDiscriminatorModel(CoreAuthIdentityModel, CoreEmailAuthIdentity, CoreAuthIdentityType.EMAIL);\r\n// export const CorePhoneAuthIdentityModel: ReturnModelType<typeof CorePhoneAuthIdentity> =\r\n// \tcreateGlobalDiscriminatorModel(CoreAuthIdentityModel, CorePhoneAuthIdentity, CoreAuthIdentityType.PHONE);\r\n// export const CoreGoogleAuthIdentityModel: ReturnModelType<typeof CoreGoogleAuthIdentity> =\r\n// \tcreateGlobalDiscriminatorModel(CoreAuthIdentityModel, CoreGoogleAuthIdentity, CoreAuthIdentityType.GOOGLE);\r\n// export const CoreAppleAuthIdentityModel: ReturnModelType<typeof CoreAppleAuthIdentity> =\r\n// \tcreateGlobalDiscriminatorModel(CoreAuthIdentityModel, CoreAppleAuthIdentity, CoreAuthIdentityType.APPLE);\r\n// export * from './core-auth-identity.model';\r\n// export * from './providers/core-apple-auth-identity.model';\r\n// export * from './providers/core-email-auth-identity.model';\r\n// export * from './providers/core-google-auth-identity.model';\r\n// export * from './providers/core-phone-auth-identity.model';\r\n\r\n// export const CoreUserModel: ReturnModelType<typeof CoreUser> = createGlobalModel(CoreUser);\r\n// export * from './core-user.model';\r\n\r\nexport const CounterModel: ReturnModelType<typeof Counter> = getModelForClass(Counter);\r\nexport * from './counter.model';\r\n\r\nexport const CouponModel: ReturnModelType<typeof Coupon> = getModelForClass(Coupon);\r\nexport const CustomCouponModel: ReturnModelType<typeof CustomCoupon> = getDiscriminatorModelForClass(\r\n\tCouponModel,\r\n\tCustomCoupon,\r\n\tCouponType.CUSTOM_COUPON\r\n);\r\nexport const GlobalCouponModel: ReturnModelType<typeof GlobalCoupon> = getDiscriminatorModelForClass(\r\n\tCouponModel,\r\n\tGlobalCoupon,\r\n\tCouponType.GLOBAL\r\n);\r\nexport const IndividualStoreCouponModel: ReturnModelType<typeof IndividualStoreCoupon> =\r\n\tgetDiscriminatorModelForClass(CouponModel, IndividualStoreCoupon, CouponType.INDIVIDUAL_STORE);\r\nexport const IndividualUserCouponModel: ReturnModelType<typeof IndividualUserCoupon> =\r\n\tgetDiscriminatorModelForClass(CouponModel, IndividualUserCoupon, CouponType.INDIVIDUAL_USER);\r\nexport const ReferralCodeCouponModel: ReturnModelType<typeof ReferralCodeCoupon> =\r\n\tgetDiscriminatorModelForClass(CouponModel, ReferralCodeCoupon, CouponType.REFERRAL_CODE);\r\nexport const ReferralRewardCouponModel: ReturnModelType<typeof ReferralRewardCoupon> =\r\n\tgetDiscriminatorModelForClass(CouponModel, ReferralRewardCoupon, CouponType.REFERRAL_REWARD);\r\nexport * from './coupon.model';\r\nexport * from './providers/custom-coupon.model';\r\nexport * from './providers/global-coupon.model';\r\nexport * from './providers/individual-store-coupon.model';\r\nexport * from './providers/individual-user-coupon.model';\r\nexport * from './providers/referral-code-coupon.model';\r\nexport * from './providers/referral-reward-coupon.model';\r\n\r\nexport const DealSettingModel: ReturnModelType<typeof DealSetting> = getModelForClass(DealSetting);\r\nexport * from './deal-setting.model';\r\n\r\nexport const DishModel: ReturnModelType<typeof Dish> = getModelForClass(Dish);\r\nexport * from './dish.model';\r\n\r\nexport const FaqModel: ReturnModelType<typeof Faq> = getModelForClass(Faq);\r\nexport * from './faq.model';\r\n\r\nexport const FavouriteModel: ReturnModelType<typeof Favourite> = getModelForClass(Favourite);\r\nexport * from './favourite.model';\r\n\r\nexport const FeaturedSettingModel: ReturnModelType<typeof FeaturedSetting> =\r\n\tgetModelForClass(FeaturedSetting);\r\nexport * from './featured-setting.model';\r\n\r\nexport const FilterContainerModel: ReturnModelType<typeof FilterContainer> =\r\n\tgetModelForClass(FilterContainer);\r\nexport * from './filter-container.model';\r\n\r\nexport const ListContainerModel: ReturnModelType<typeof ListContainer> = getModelForClass(ListContainer);\r\nexport * from './list-container.model';\r\n\r\nexport const LoyaltyPointCategoryModel: ReturnModelType<typeof LoyaltyPointCategory> =\r\n\tgetModelForClass(LoyaltyPointCategory);\r\nexport * from './loyalty-point-category.model';\r\n\r\nexport const LoyaltyPointSettingModel: ReturnModelType<typeof LoyaltyPointSetting> =\r\n\tgetModelForClass(LoyaltyPointSetting);\r\nexport * from './loyalty-point-setting.model';\r\n\r\nexport const MarketingModel: ReturnModelType<typeof Marketing> = getModelForClass(Marketing);\r\nexport const Buy1Get1MarketingModel: ReturnModelType<typeof Buy1Get1Marketing> =\r\n\tgetDiscriminatorModelForClass(MarketingModel, Buy1Get1Marketing, MarketingType.BUY1GET1);\r\nexport const DiscountMarketingModel: ReturnModelType<typeof DiscountMarketing> =\r\n\tgetDiscriminatorModelForClass(MarketingModel, DiscountMarketing, MarketingType.DISCOUNT);\r\nexport const FeaturedMarketingModel: ReturnModelType<typeof FeaturedMarketing> =\r\n\tgetDiscriminatorModelForClass(MarketingModel, FeaturedMarketing, MarketingType.FEATURED);\r\nexport const FreeDeliveryMarketingModel: ReturnModelType<typeof FreeDeliveryMarketing> =\r\n\tgetDiscriminatorModelForClass(MarketingModel, FreeDeliveryMarketing, MarketingType.FREE_DELIVERY);\r\nexport const LoyaltyPointMarketingModel: ReturnModelType<typeof LoyaltyPointMarketing> =\r\n\tgetDiscriminatorModelForClass(MarketingModel, LoyaltyPointMarketing, MarketingType.LOYALTY_POINT);\r\nexport const PunchMarketingModel: ReturnModelType<typeof PunchMarketing> = getDiscriminatorModelForClass(\r\n\tMarketingModel,\r\n\tPunchMarketing,\r\n\tMarketingType.PUNCH_MARKETING\r\n);\r\nexport * from './marketing.model';\r\nexport * from './providers/buy1-get1-marketing.model';\r\nexport * from './providers/discount-marketing.model';\r\nexport * from './providers/featured-marketing.model';\r\nexport * from './providers/free-delivery-marketing.model';\r\nexport * from './providers/loyalty-point-marketing.model';\r\nexport * from './providers/punch-marketing.model';\r\n\r\nexport const MealPlanModel: ReturnModelType<typeof MealPlan> = getModelForClass(MealPlan);\r\nexport * from './meal-plan.model';\r\n\r\nexport const NotificationModel: ReturnModelType<typeof Notification> = getModelForClass(Notification);\r\nexport * from './notification.model';\r\n\r\nexport const NutritionModel: ReturnModelType<typeof Nutrition> = getModelForClass(Nutrition);\r\nexport * from './nutrition.model';\r\n\r\nexport const ParentModel: ReturnModelType<typeof Parent> = getModelForClass(Parent);\r\nexport * from './parent.model';\r\n\r\nexport const ProductMarketingModel: ReturnModelType<typeof ProductMarketing> =\r\n\tgetModelForClass(ProductMarketing);\r\nexport * from './product-marketing.model';\r\n\r\nexport const ProductModel: ReturnModelType<typeof Product> = getModelForClass(Product);\r\nexport * from './product.model';\r\n\r\nexport const PunchMarketingHistoryModel: ReturnModelType<typeof PunchMarketingHistory> =\r\n\tgetModelForClass(PunchMarketingHistory);\r\nexport * from './punch-marketing-history.model';\r\n\r\nexport const RatingSettingModel: ReturnModelType<typeof RatingSetting> = getModelForClass(RatingSetting);\r\nexport * from './rating-setting.model';\r\n\r\nexport const ReferralSettingModel: ReturnModelType<typeof ReferralSetting> =\r\n\tgetModelForClass(ReferralSetting);\r\nexport * from './referral-setting.model';\r\n\r\nexport const RequestAreaModel: ReturnModelType<typeof RequestArea> = getModelForClass(RequestArea);\r\nexport * from './request-area.model';\r\n\r\nexport const RiderReviewModel: ReturnModelType<typeof RiderReview> = getModelForClass(RiderReview);\r\nexport * from './rider-review.model';\r\n\r\nexport const RiderTimeoutModel: ReturnModelType<typeof RiderTimeout> = getModelForClass(RiderTimeout);\r\nexport * from './rider-timeout.model';\r\n\r\nexport const RiderTrackingModel: ReturnModelType<typeof RiderTracking> = getModelForClass(RiderTracking);\r\nexport * from './rider-tracking.model';\r\n\r\nexport const RiderModel: ReturnModelType<typeof Rider> = getModelForClass(Rider);\r\nexport * from './rider.model';\r\n\r\nexport const RoleModel: ReturnModelType<typeof Role> = createGlobalModel(Role);\r\nexport * from './role.model';\r\n\r\nexport const SettingModel: ReturnModelType<typeof Setting> = getModelForClass(Setting);\r\nexport * from './setting.model';\r\n\r\nexport const ShopAccessControlModel: ReturnModelType<typeof ShopAccessControl> =\r\n\tgetModelForClass(ShopAccessControl);\r\nexport * from './shop-access-control.model';\r\n\r\nexport const ShopCategoryModel: ReturnModelType<typeof ShopCategory> = getModelForClass(ShopCategory);\r\nexport * from './shop-category.model';\r\n\r\nexport const ShopMealPlanModel: ReturnModelType<typeof ShopMealPlan> = getModelForClass(ShopMealPlan);\r\nexport * from './shop-meal-plan.model';\r\n\r\nexport const ShopProductModel: ReturnModelType<typeof ShopProduct> = getModelForClass(ShopProduct);\r\nexport * from './shop-product.model';\r\n\r\nexport const ShopReviewModel: ReturnModelType<typeof ShopReview> = getModelForClass(ShopReview);\r\nexport * from './shop-review.model';\r\n\r\nexport const ShopModel: ReturnModelType<typeof Shop> = getModelForClass(Shop);\r\nexport * from './shop.model';\r\n\r\nexport const SubscriptionSettingModel: ReturnModelType<typeof SubscriptionSetting> =\r\n\tgetModelForClass(SubscriptionSetting);\r\nexport * from './subscription-setting.model';\r\n\r\nexport const SubscriptionModel: ReturnModelType<typeof Subscription> = getModelForClass(Subscription);\r\nexport * from './subscription.model';\r\n\r\nexport const TagModel: ReturnModelType<typeof Tag> = getModelForClass(Tag);\r\nexport * from './tag.model';\r\n\r\nexport const UserModel: ReturnModelType<typeof User> = getModelForClass(User);\r\nexport * from './user.model';\r\n\r\nexport const ZoneModel: ReturnModelType<typeof Zone> = getModelForClass(Zone);\r\nexport * from './zone.model';\r\n\r\nexport const CartModel: ReturnModelType<typeof Cart> = getModelForClass(Cart);\r\nexport * from './cart.model';\r\n\r\nexport const LineItemModel: ReturnModelType<typeof LineItem> = getModelForClass(LineItem);\r\nexport * from './line-item.model';\r\n\r\nexport const CartParticipantModel: ReturnModelType<typeof CartParticipant> =\r\n\tgetModelForClass(CartParticipant);\r\nexport * from './cart-participant.model';\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/mongo/models/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { getDiscriminatorModelForClass, getModelForClass, ReturnModelType } from '@typegoose/typegoose';\r\nimport { Admin } from './admin.model';\r\nimport { AdminAccessControl } from './admin-access-control.model';\r\nimport { ActivityLog } from './activity-log.model';\r\nimport { AppScreenSetting } from './app-screen-setting.model';\r\nimport { Attribute } from './attribute.model';\r\nimport { Banner } from './banner.model';\r\nimport { BOBFinance } from './bob-finance.model';\r\nimport { Brand } from './brand.model';\r\nimport { Category } from './category.model';\r\nimport { Counter } from './counter.model';\r\nimport { Coupon } from './coupon.model';\r\nimport { DealSetting } from './deal-setting.model';\r\nimport { Dish } from './dish.model';\r\nimport { Faq } from './faq.model';\r\nimport { Favourite } from './favourite.model';\r\nimport { FeaturedSetting } from './featured-setting.model';\r\nimport { FilterContainer } from './filter-container.model';\r\nimport { ListContainer } from './list-container.model';\r\nimport { LoyaltyPointCategory } from './loyalty-point-category.model';\r\nimport { LoyaltyPointSetting } from './loyalty-point-setting.model';\r\nimport { Marketing } from './marketing.model';\r\nimport { MealPlan } from './meal-plan.model';\r\nimport { Nutrition } from './nutrition.model';\r\nimport { Parent } from './parent.model';\r\nimport { ProductMarketing } from './product-marketing.model';\r\nimport { Product } from './product.model';\r\nimport { PunchMarketingHistory } from './punch-marketing-history.model';\r\nimport { RatingSetting } from './rating-setting.model';\r\nimport { ReferralSetting } from './referral-setting.model';\r\nimport { RequestArea } from './request-area.model';\r\nimport { RiderReview } from './rider-review.model';\r\nimport { Role } from './role.model';\r\nimport { createGlobalDiscriminatorModel, createGlobalModel } from '../../mongo';\r\nimport { Setting } from './setting.model';\r\nimport { ShopAccessControl } from './shop-access-control.model';\r\nimport { ShopCategory } from './shop-category.model';\r\nimport { ShopMealPlan } from './shop-meal-plan.model';\r\nimport { ShopReview } from './shop-review.model';\r\nimport { Shop } from './shop.model';\r\nimport { SubscriptionSetting } from './subscription-setting.model';\r\nimport { Subscription } from './subscription.model';\r\nimport { Tag } from './tag.model';\r\nimport { Zone } from './zone.model';\r\nimport { Buy1Get1Marketing } from './providers/buy1-get1-marketing.model';\r\nimport { CardType, CoreAuthIdentityType, CouponType, MarketingType } from '../../../utilities/enum';\r\nimport { CustomCoupon } from './providers/custom-coupon.model';\r\nimport { DiscountMarketing } from './providers/discount-marketing.model';\r\nimport { FeaturedMarketing } from './providers/featured-marketing.model';\r\nimport { FreeDeliveryMarketing } from './providers/free-delivery-marketing.model';\r\nimport { GlobalCoupon } from './providers/global-coupon.model';\r\nimport { IndividualStoreCoupon } from './providers/individual-store-coupon.model';\r\nimport { IndividualUserCoupon } from './providers/individual-user-coupon.model';\r\nimport { LoyaltyPointMarketing } from './providers/loyalty-point-marketing.model';\r\nimport { PunchMarketing } from './providers/punch-marketing.model';\r\nimport { ReferralCodeCoupon } from './providers/referral-code-coupon.model';\r\nimport { ReferralRewardCoupon } from './providers/referral-reward-coupon.model';\r\nimport { Notification } from './notification.model';\r\nimport { CoreAuthIdentity } from './core-auth-identity.model';\r\nimport { CoreEmailAuthIdentity } from './providers/core-email-auth-identity.model';\r\nimport { CorePhoneAuthIdentity } from './providers/core-phone-auth-identity.model';\r\nimport { CoreGoogleAuthIdentity } from './providers/core-google-auth-identity.model';\r\nimport { CoreAppleAuthIdentity } from './providers/core-apple-auth-identity.model';\r\nimport { CoreUser } from './core-user.model';\r\nimport { Card } from './card.model';\r\nimport { AreebaCard } from './providers/areeba-card.model';\r\nimport { RiderTracking } from './rider-tracking.model';\r\nimport { Rider } from './rider.model';\r\nimport { RiderTimeout } from './rider-timeout.model';\r\nimport { User } from './user.model';\r\nimport { Cart } from './cart.model';\r\nimport { LineItem } from './line-item.model';\r\nimport { CartParticipant } from './cart-participant.model';\r\n\r\nexport const ActivityLogModel: ReturnModelType<typeof ActivityLog> = getModelForClass(ActivityLog);\r\nexport * from './activity-log.model';\r\n\r\nexport const AdminAccessControlModel: ReturnModelType<typeof AdminAccessControl> =\r\n\tgetModelForClass(AdminAccessControl);\r\nexport * from './admin-access-control.model';\r\n\r\nexport const AdminModel: ReturnModelType<typeof Admin> = getModelForClass(Admin);\r\nexport * from './admin.model';\r\n\r\nexport const AppScreenSettingModel: ReturnModelType<typeof AppScreenSetting> =\r\n\tgetModelForClass(AppScreenSetting);\r\nexport * from './app-screen-setting.model';\r\n\r\nexport const AttributeModel: ReturnModelType<typeof Attribute> = getModelForClass(Attribute);\r\nexport * from './attribute.model';\r\n\r\nexport const BannerModel: ReturnModelType<typeof Banner> = getModelForClass(Banner);\r\nexport * from './banner.model';\r\n\r\nexport const BOBFinanceModel: ReturnModelType<typeof BOBFinance> = getModelForClass(BOBFinance);\r\nexport * from './bob-finance.model';\r\n\r\nexport const BrandModel: ReturnModelType<typeof Brand> = getModelForClass(Brand);\r\nexport * from './brand.model';\r\n\r\nexport const CardModel: ReturnModelType<typeof Card> = createGlobalModel(Card);\r\nexport const AreebaCardModel: ReturnModelType<typeof AreebaCard> = createGlobalDiscriminatorModel(\r\n\tCardModel,\r\n\tAreebaCard,\r\n\tCardType.AREEBA\r\n);\r\nexport * from './card.model';\r\nexport * from './providers/areeba-card.model';\r\n\r\nexport const CategoryModel: ReturnModelType<typeof Category> = getModelForClass(Category);\r\nexport * from './category.model';\r\n\r\nexport const CoreAuthIdentityModel: ReturnModelType<typeof CoreAuthIdentity> =\r\ncreateGlobalModel(CoreAuthIdentity);\r\nexport const CoreEmailAuthIdentityModel: ReturnModelType<typeof CoreEmailAuthIdentity> =\r\ncreateGlobalDiscriminatorModel(CoreAuthIdentityModel, CoreEmailAuthIdentity, CoreAuthIdentityType.EMAIL);\r\nexport const CorePhoneAuthIdentityModel: ReturnModelType<typeof CorePhoneAuthIdentity> =\r\ncreateGlobalDiscriminatorModel(CoreAuthIdentityModel, CorePhoneAuthIdentity, CoreAuthIdentityType.PHONE);\r\nexport const CoreGoogleAuthIdentityModel: ReturnModelType<typeof CoreGoogleAuthIdentity> =\r\ncreateGlobalDiscriminatorModel(CoreAuthIdentityModel, CoreGoogleAuthIdentity, CoreAuthIdentityType.GOOGLE);\r\nexport const CoreAppleAuthIdentityModel: ReturnModelType<typeof CoreAppleAuthIdentity> =\r\ncreateGlobalDiscriminatorModel(CoreAuthIdentityModel, CoreAppleAuthIdentity, CoreAuthIdentityType.APPLE);\r\nexport * from './core-auth-identity.model';\r\nexport * from './providers/core-apple-auth-identity.model';\r\nexport * from './providers/core-email-auth-identity.model';\r\nexport * from './providers/core-google-auth-identity.model';\r\nexport * from './providers/core-phone-auth-identity.model';\r\n\r\nexport const CoreUserModel: ReturnModelType<typeof CoreUser> = createGlobalModel(CoreUser);\r\nexport * from './core-user.model';\r\n\r\nexport const CounterModel: ReturnModelType<typeof Counter> = getModelForClass(Counter);\r\nexport * from './counter.model';\r\n\r\nexport const CouponModel: ReturnModelType<typeof Coupon> = getModelForClass(Coupon);\r\nexport const CustomCouponModel: ReturnModelType<typeof CustomCoupon> = getDiscriminatorModelForClass(\r\n\tCouponModel,\r\n\tCustomCoupon,\r\n\tCouponType.CUSTOM_COUPON\r\n);\r\nexport const GlobalCouponModel: ReturnModelType<typeof GlobalCoupon> = getDiscriminatorModelForClass(\r\n\tCouponModel,\r\n\tGlobalCoupon,\r\n\tCouponType.GLOBAL\r\n);\r\nexport const IndividualStoreCouponModel: ReturnModelType<typeof IndividualStoreCoupon> =\r\n\tgetDiscriminatorModelForClass(CouponModel, IndividualStoreCoupon, CouponType.INDIVIDUAL_STORE);\r\nexport const IndividualUserCouponModel: ReturnModelType<typeof IndividualUserCoupon> =\r\n\tgetDiscriminatorModelForClass(CouponModel, IndividualUserCoupon, CouponType.INDIVIDUAL_USER);\r\nexport const ReferralCodeCouponModel: ReturnModelType<typeof ReferralCodeCoupon> =\r\n\tgetDiscriminatorModelForClass(CouponModel, ReferralCodeCoupon, CouponType.REFERRAL_CODE);\r\nexport const ReferralRewardCouponModel: ReturnModelType<typeof ReferralRewardCoupon> =\r\n\tgetDiscriminatorModelForClass(CouponModel, ReferralRewardCoupon, CouponType.REFERRAL_REWARD);\r\nexport * from './coupon.model';\r\nexport * from './providers/custom-coupon.model';\r\nexport * from './providers/global-coupon.model';\r\nexport * from './providers/individual-store-coupon.model';\r\nexport * from './providers/individual-user-coupon.model';\r\nexport * from './providers/referral-code-coupon.model';\r\nexport * from './providers/referral-reward-coupon.model';\r\n\r\nexport const DealSettingModel: ReturnModelType<typeof DealSetting> = getModelForClass(DealSetting);\r\nexport * from './deal-setting.model';\r\n\r\nexport const DishModel: ReturnModelType<typeof Dish> = getModelForClass(Dish);\r\nexport * from './dish.model';\r\n\r\nexport const FaqModel: ReturnModelType<typeof Faq> = getModelForClass(Faq);\r\nexport * from './faq.model';\r\n\r\nexport const FavouriteModel: ReturnModelType<typeof Favourite> = getModelForClass(Favourite);\r\nexport * from './favourite.model';\r\n\r\nexport const FeaturedSettingModel: ReturnModelType<typeof FeaturedSetting> =\r\n\tgetModelForClass(FeaturedSetting);\r\nexport * from './featured-setting.model';\r\n\r\nexport const FilterContainerModel: ReturnModelType<typeof FilterContainer> =\r\n\tgetModelForClass(FilterContainer);\r\nexport * from './filter-container.model';\r\n\r\nexport const ListContainerModel: ReturnModelType<typeof ListContainer> = getModelForClass(ListContainer);\r\nexport * from './list-container.model';\r\n\r\nexport const LoyaltyPointCategoryModel: ReturnModelType<typeof LoyaltyPointCategory> =\r\n\tgetModelForClass(LoyaltyPointCategory);\r\nexport * from './loyalty-point-category.model';\r\n\r\nexport const LoyaltyPointSettingModel: ReturnModelType<typeof LoyaltyPointSetting> =\r\n\tgetModelForClass(LoyaltyPointSetting);\r\nexport * from './loyalty-point-setting.model';\r\n\r\nexport const MarketingModel: ReturnModelType<typeof Marketing> = getModelForClass(Marketing);\r\nexport const Buy1Get1MarketingModel: ReturnModelType<typeof Buy1Get1Marketing> =\r\n\tgetDiscriminatorModelForClass(MarketingModel, Buy1Get1Marketing, MarketingType.BUY1GET1);\r\nexport const DiscountMarketingModel: ReturnModelType<typeof DiscountMarketing> =\r\n\tgetDiscriminatorModelForClass(MarketingModel, DiscountMarketing, MarketingType.DISCOUNT);\r\nexport const FeaturedMarketingModel: ReturnModelType<typeof FeaturedMarketing> =\r\n\tgetDiscriminatorModelForClass(MarketingModel, FeaturedMarketing, MarketingType.FEATURED);\r\nexport const FreeDeliveryMarketingModel: ReturnModelType<typeof FreeDeliveryMarketing> =\r\n\tgetDiscriminatorModelForClass(MarketingModel, FreeDeliveryMarketing, MarketingType.FREE_DELIVERY);\r\nexport const LoyaltyPointMarketingModel: ReturnModelType<typeof LoyaltyPointMarketing> =\r\n\tgetDiscriminatorModelForClass(MarketingModel, LoyaltyPointMarketing, MarketingType.LOYALTY_POINT);\r\nexport const PunchMarketingModel: ReturnModelType<typeof PunchMarketing> = getDiscriminatorModelForClass(\r\n\tMarketingModel,\r\n\tPunchMarketing,\r\n\tMarketingType.PUNCH_MARKETING\r\n);\r\nexport * from './marketing.model';\r\nexport * from './providers/buy1-get1-marketing.model';\r\nexport * from './providers/discount-marketing.model';\r\nexport * from './providers/featured-marketing.model';\r\nexport * from './providers/free-delivery-marketing.model';\r\nexport * from './providers/loyalty-point-marketing.model';\r\nexport * from './providers/punch-marketing.model';\r\n\r\nexport const MealPlanModel: ReturnModelType<typeof MealPlan> = getModelForClass(MealPlan);\r\nexport * from './meal-plan.model';\r\n\r\nexport const NotificationModel: ReturnModelType<typeof Notification> = getModelForClass(Notification);\r\nexport * from './notification.model';\r\n\r\nexport const NutritionModel: ReturnModelType<typeof Nutrition> = getModelForClass(Nutrition);\r\nexport * from './nutrition.model';\r\n\r\nexport const ParentModel: ReturnModelType<typeof Parent> = getModelForClass(Parent);\r\nexport * from './parent.model';\r\n\r\nexport const ProductMarketingModel: ReturnModelType<typeof ProductMarketing> =\r\n\tgetModelForClass(ProductMarketing);\r\nexport * from './product-marketing.model';\r\n\r\nexport const ProductModel: ReturnModelType<typeof Product> = getModelForClass(Product);\r\nexport * from './product.model';\r\n\r\nexport const PunchMarketingHistoryModel: ReturnModelType<typeof PunchMarketingHistory> =\r\n\tgetModelForClass(PunchMarketingHistory);\r\nexport * from './punch-marketing-history.model';\r\n\r\nexport const RatingSettingModel: ReturnModelType<typeof RatingSetting> = getModelForClass(RatingSetting);\r\nexport * from './rating-setting.model';\r\n\r\nexport const ReferralSettingModel: ReturnModelType<typeof ReferralSetting> =\r\n\tgetModelForClass(ReferralSetting);\r\nexport * from './referral-setting.model';\r\n\r\nexport const RequestAreaModel: ReturnModelType<typeof RequestArea> = getModelForClass(RequestArea);\r\nexport * from './request-area.model';\r\n\r\nexport const RiderReviewModel: ReturnModelType<typeof RiderReview> = getModelForClass(RiderReview);\r\nexport * from './rider-review.model';\r\n\r\nexport const RiderTimeoutModel: ReturnModelType<typeof RiderTimeout> = getModelForClass(RiderTimeout);\r\nexport * from './rider-timeout.model';\r\n\r\nexport const RiderTrackingModel: ReturnModelType<typeof RiderTracking> = getModelForClass(RiderTracking);\r\nexport * from './rider-tracking.model';\r\n\r\nexport const RiderModel: ReturnModelType<typeof Rider> = getModelForClass(Rider);\r\nexport * from './rider.model';\r\n\r\nexport const RoleModel: ReturnModelType<typeof Role> = createGlobalModel(Role);\r\nexport * from './role.model';\r\n\r\nexport const SettingModel: ReturnModelType<typeof Setting> = getModelForClass(Setting);\r\nexport * from './setting.model';\r\n\r\nexport const ShopAccessControlModel: ReturnModelType<typeof ShopAccessControl> =\r\n\tgetModelForClass(ShopAccessControl);\r\nexport * from './shop-access-control.model';\r\n\r\nexport const ShopCategoryModel: ReturnModelType<typeof ShopCategory> = getModelForClass(ShopCategory);\r\nexport * from './shop-category.model';\r\n\r\nexport const ShopMealPlanModel: ReturnModelType<typeof ShopMealPlan> = getModelForClass(ShopMealPlan);\r\nexport * from './shop-meal-plan.model';\r\n\r\nexport const ShopReviewModel: ReturnModelType<typeof ShopReview> = getModelForClass(ShopReview);\r\nexport * from './shop-review.model';\r\n\r\nexport const ShopModel: ReturnModelType<typeof Shop> = getModelForClass(Shop);\r\nexport * from './shop.model';\r\n\r\nexport const SubscriptionSettingModel: ReturnModelType<typeof SubscriptionSetting> =\r\n\tgetModelForClass(SubscriptionSetting);\r\nexport * from './subscription-setting.model';\r\n\r\nexport const SubscriptionModel: ReturnModelType<typeof Subscription> = getModelForClass(Subscription);\r\nexport * from './subscription.model';\r\n\r\nexport const TagModel: ReturnModelType<typeof Tag> = getModelForClass(Tag);\r\nexport * from './tag.model';\r\n\r\nexport const UserModel: ReturnModelType<typeof User> = getModelForClass(User);\r\nexport * from './user.model';\r\n\r\nexport const ZoneModel: ReturnModelType<typeof Zone> = getModelForClass(Zone);\r\nexport * from './zone.model';\r\n\r\nexport const CartModel: ReturnModelType<typeof Cart> = getModelForClass(Cart);\r\nexport * from './cart.model';\r\n\r\nexport const LineItemModel: ReturnModelType<typeof LineItem> = getModelForClass(LineItem);\r\nexport * from './line-item.model';\r\n\r\nexport const CartParticipantModel: ReturnModelType<typeof CartParticipant> =\r\n\tgetModelForClass(CartParticipant);\r\nexport * from './cart-participant.model';\r\n"]}
@@ -2,8 +2,8 @@ import { Ref } from '@typegoose/typegoose';
2
2
  import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
3
3
  import { Cart } from './cart.model';
4
4
  import { Product } from './product.model';
5
- import { Price } from './embedded/price.model';
6
- import { PriceType } from '../../../utilities/enum';
5
+ import { PriceBreakdown } from './embedded/price-breakdown.model';
6
+ import { PriceOption } from '../../../utilities/enum';
7
7
  import { LineItemAttribute } from './embedded/line-item-attribute.model';
8
8
  import { User } from './user.model';
9
9
  export declare class LineItem extends TimeStamps {
@@ -11,8 +11,8 @@ export declare class LineItem extends TimeStamps {
11
11
  user: Ref<User>;
12
12
  product: Ref<Product>;
13
13
  quantity?: number;
14
- priceType?: PriceType;
15
- price: Price;
14
+ priceOption?: PriceOption;
15
+ priceBreakdown: PriceBreakdown;
16
16
  attributes?: LineItemAttribute[];
17
17
  removedIngredients?: string[];
18
18
  specialInstructions?: string;
@@ -14,7 +14,7 @@ const typegoose_1 = require("@typegoose/typegoose");
14
14
  const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
15
15
  const cart_model_1 = require("./cart.model");
16
16
  const product_model_1 = require("./product.model");
17
- const price_model_1 = require("./embedded/price.model");
17
+ const price_breakdown_model_1 = require("./embedded/price-breakdown.model");
18
18
  const enum_1 = require("../../../utilities/enum");
19
19
  const line_item_attribute_model_1 = require("./embedded/line-item-attribute.model");
20
20
  const user_model_1 = require("./user.model");
@@ -23,8 +23,8 @@ let LineItem = class LineItem extends defaultClasses_1.TimeStamps {
23
23
  user;
24
24
  product;
25
25
  quantity;
26
- priceType;
27
- price;
26
+ priceOption;
27
+ priceBreakdown;
28
28
  attributes;
29
29
  removedIngredients;
30
30
  specialInstructions;
@@ -47,13 +47,13 @@ __decorate([
47
47
  __metadata("design:type", Number)
48
48
  ], LineItem.prototype, "quantity", void 0);
49
49
  __decorate([
50
- (0, typegoose_1.prop)({ type: String, enum: enum_1.PriceType, default: enum_1.PriceType.PRICE }),
50
+ (0, typegoose_1.prop)({ type: String, enum: enum_1.PriceOption, default: enum_1.PriceOption.SINGLE_PRICE }),
51
51
  __metadata("design:type", String)
52
- ], LineItem.prototype, "priceType", void 0);
52
+ ], LineItem.prototype, "priceOption", void 0);
53
53
  __decorate([
54
- (0, typegoose_1.prop)({ required: true, type: price_model_1.Price }),
55
- __metadata("design:type", price_model_1.Price)
56
- ], LineItem.prototype, "price", void 0);
54
+ (0, typegoose_1.prop)({ required: true, type: price_breakdown_model_1.PriceBreakdown }),
55
+ __metadata("design:type", price_breakdown_model_1.PriceBreakdown)
56
+ ], LineItem.prototype, "priceBreakdown", void 0);
57
57
  __decorate([
58
58
  (0, typegoose_1.prop)({ type: () => [line_item_attribute_model_1.LineItemAttribute], default: [] }),
59
59
  __metadata("design:type", Array)
@@ -1 +1 @@
1
- {"version":3,"file":"line-item.model.js","sourceRoot":"/","sources":["libraries/mongo/models/line-item.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAgF;AAChF,4EAAqE;AACrE,6CAAoC;AACpC,mDAA0C;AAC1C,wDAA+C;AAC/C,kDAAoD;AACpD,oFAAyE;AACzE,6CAAoC;AAkB7B,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,2BAAU;IAEhC,IAAI,CAAa;IAGjB,IAAI,CAAa;IAGjB,OAAO,CAAgB;IAGvB,QAAQ,CAAU;IAGlB,SAAS,CAAa;IAGtB,KAAK,CAAQ;IAGb,UAAU,CAAuB;IAGjC,kBAAkB,CAAY;IAG9B,mBAAmB,CAAU;CACpC,CAAA;AA3BY,4BAAQ;AAEb;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;sCAClB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;sCAClB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,uBAAO,EAAE,CAAC;;yCACf;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0CACJ;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,OAAO,EAAE,gBAAS,CAAC,KAAK,EAAE,CAAC;;2CACrC;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,mBAAK,EAAE,CAAC;8BACxB,mBAAK;uCAAC;AAGb;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,6CAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;4CACf;AAGjC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;oDACP;AAG9B;IADN,IAAA,gBAAI,GAAE;;qDAC6B;mBA1BxB,QAAQ;IAbpB,IAAA,wBAAY,EAAC;QACb,aAAa,EAAE;YACd,UAAU,EAAE,WAAW;YACvB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC5B;QACD,OAAO,EAAE;YACR,UAAU,EAAE,oBAAQ,CAAC,KAAK;SAC1B;KACD,CAAC;IACD,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAClB,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC3B,IAAA,iBAAK,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;GACT,QAAQ,CA2BpB","sourcesContent":["import { prop, Ref, index, modelOptions, Severity } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { Cart } from './cart.model';\r\nimport { Product } from './product.model';\r\nimport { Price } from './embedded/price.model';\r\nimport { PriceType } from '../../../utilities/enum';\r\nimport { LineItemAttribute } from './embedded/line-item-attribute.model';\r\nimport { User } from './user.model';\r\n\r\n/**\r\n * LineItem model - Represents individual items in a cart\r\n */\r\n@modelOptions({\r\n\tschemaOptions: {\r\n\t\tcollection: 'lineItems',\r\n\t\ttoJSON: { virtuals: true },\r\n\t\ttoObject: { virtuals: true },\r\n\t},\r\n\toptions: {\r\n\t\tallowMixed: Severity.ALLOW,\r\n\t},\r\n})\r\n@index({ cart: 1 })\r\n@index({ cart: 1, user: 1 })\r\n@index({ product: 1 })\r\nexport class LineItem extends TimeStamps {\r\n\t@prop({ required: true, ref: () => Cart })\r\n\tpublic cart!: Ref<Cart>;\r\n\r\n\t@prop({ required: true, ref: () => User })\r\n\tpublic user!: Ref<User>;\r\n\r\n\t@prop({ required: true, ref: () => Product })\r\n\tpublic product!: Ref<Product>;\r\n\r\n\t@prop({ min: 1, default: 1 })\r\n\tpublic quantity?: number;\r\n\r\n\t@prop({ type: String, enum: PriceType, default: PriceType.PRICE })\r\n\tpublic priceType?: PriceType;\r\n\r\n\t@prop({ required: true, type: Price })\r\n\tpublic price: Price;\r\n\r\n\t@prop({ type: () => [LineItemAttribute], default: [] })\r\n\tpublic attributes?: LineItemAttribute[];\r\n\r\n\t@prop({ type: () => [String], default: [] })\r\n\tpublic removedIngredients?: string[];\r\n\r\n\t@prop()\r\n\tpublic specialInstructions?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"line-item.model.js","sourceRoot":"/","sources":["libraries/mongo/models/line-item.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAgF;AAChF,4EAAqE;AACrE,6CAAoC;AACpC,mDAA0C;AAC1C,4EAAkE;AAClE,kDAAsD;AACtD,oFAAyE;AACzE,6CAAoC;AAkB7B,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,2BAAU;IAEhC,IAAI,CAAa;IAGjB,IAAI,CAAa;IAGjB,OAAO,CAAgB;IAGvB,QAAQ,CAAU;IAGlB,WAAW,CAAe;IAG1B,cAAc,CAAiB;IAG/B,UAAU,CAAuB;IAGjC,kBAAkB,CAAY;IAG9B,mBAAmB,CAAU;CACpC,CAAA;AA3BY,4BAAQ;AAEb;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;sCAClB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;sCAClB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,uBAAO,EAAE,CAAC;;yCACf;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;0CACJ;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAW,EAAE,OAAO,EAAE,kBAAW,CAAC,YAAY,EAAE,CAAC;;6CAC5C;AAG1B;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,sCAAc,EAAE,CAAC;8BACxB,sCAAc;gDAAC;AAG/B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,6CAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;4CACf;AAGjC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;oDACP;AAG9B;IADN,IAAA,gBAAI,GAAE;;qDAC6B;mBA1BxB,QAAQ;IAbpB,IAAA,wBAAY,EAAC;QACb,aAAa,EAAE;YACd,UAAU,EAAE,WAAW;YACvB,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC1B,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;SAC5B;QACD,OAAO,EAAE;YACR,UAAU,EAAE,oBAAQ,CAAC,KAAK;SAC1B;KACD,CAAC;IACD,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAClB,IAAA,iBAAK,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;IAC3B,IAAA,iBAAK,EAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;GACT,QAAQ,CA2BpB","sourcesContent":["import { prop, Ref, index, modelOptions, Severity } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { Cart } from './cart.model';\r\nimport { Product } from './product.model';\r\nimport { PriceBreakdown } from './embedded/price-breakdown.model';\r\nimport { PriceOption } from '../../../utilities/enum';\r\nimport { LineItemAttribute } from './embedded/line-item-attribute.model';\r\nimport { User } from './user.model';\r\n\r\n/**\r\n * LineItem model - Represents individual items in a cart\r\n */\r\n@modelOptions({\r\n\tschemaOptions: {\r\n\t\tcollection: 'lineItems',\r\n\t\ttoJSON: { virtuals: true },\r\n\t\ttoObject: { virtuals: true },\r\n\t},\r\n\toptions: {\r\n\t\tallowMixed: Severity.ALLOW,\r\n\t},\r\n})\r\n@index({ cart: 1 })\r\n@index({ cart: 1, user: 1 })\r\n@index({ product: 1 })\r\nexport class LineItem extends TimeStamps {\r\n\t@prop({ required: true, ref: () => Cart })\r\n\tpublic cart!: Ref<Cart>;\r\n\r\n\t@prop({ required: true, ref: () => User })\r\n\tpublic user!: Ref<User>;\r\n\r\n\t@prop({ required: true, ref: () => Product })\r\n\tpublic product!: Ref<Product>;\r\n\r\n\t@prop({ min: 1, default: 1 })\r\n\tpublic quantity?: number;\r\n\r\n\t@prop({ type: String, enum: PriceOption, default: PriceOption.SINGLE_PRICE })\r\n\tpublic priceOption?: PriceOption;\r\n\r\n\t@prop({ required: true, type: PriceBreakdown })\r\n\tpublic priceBreakdown: PriceBreakdown;\r\n\r\n\t@prop({ type: () => [LineItemAttribute], default: [] })\r\n\tpublic attributes?: LineItemAttribute[];\r\n\r\n\t@prop({ type: () => [String], default: [] })\r\n\tpublic removedIngredients?: string[];\r\n\r\n\t@prop()\r\n\tpublic specialInstructions?: string;\r\n}\r\n"]}
@@ -1,19 +1,36 @@
1
+ import { Ref } from '@typegoose/typegoose';
1
2
  import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
2
- import { FoodGroup, ItemType, ProductDietaryType, Status } from '../../../utilities/enum';
3
+ import { ProductType, ItemType, ProductDietaryType, Status, PriceOption } from '../../../utilities/enum';
3
4
  import { ProductNutrition } from './embedded/product-nutrition.model';
5
+ import { Shop } from './shop.model';
6
+ import { PriceBreakdown } from './embedded/price-breakdown.model';
7
+ import { AttributeMap } from './embedded/attribute-map.model';
8
+ import { ShopCategory } from './shop-category.model';
4
9
  export declare class Product extends TimeStamps {
10
+ shop: Ref<Shop>;
5
11
  name: string;
6
12
  barcode?: string;
13
+ shopCategory: Ref<ShopCategory>;
7
14
  itemType: ItemType;
8
- foodGroup?: FoodGroup;
15
+ productType?: ProductType;
9
16
  images: string[];
10
- status?: Status;
17
+ priceOption?: PriceOption;
18
+ priceBreakdowns?: PriceBreakdown[];
19
+ description?: string;
20
+ attributeMaps?: AttributeMap[];
21
+ addons?: Ref<Product>[];
22
+ nutritionPackSize?: number;
23
+ nutritionPackSizeUnit?: string;
11
24
  nutritionServingSize?: number;
12
- nutritionServingUnit?: string;
13
- nutritionPerUnit?: number;
14
25
  nutritionCalories?: number;
15
26
  nutritions?: ProductNutrition[];
16
27
  dietaryTypes?: ProductDietaryType[];
17
- storingTemperature?: number;
18
- storingTemperatureUnit?: string;
28
+ storedTemperature?: number;
29
+ isStockEnabled?: boolean;
30
+ stockQuantity?: number;
31
+ isDrinkIncluded?: boolean;
32
+ orderQuantityLimit?: number;
33
+ note?: string;
34
+ status?: Status;
35
+ sortingOrder?: number;
19
36
  }
@@ -14,59 +14,99 @@ const typegoose_1 = require("@typegoose/typegoose");
14
14
  const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
15
15
  const enum_1 = require("../../../utilities/enum");
16
16
  const product_nutrition_model_1 = require("./embedded/product-nutrition.model");
17
+ const shop_model_1 = require("./shop.model");
18
+ const price_breakdown_model_1 = require("./embedded/price-breakdown.model");
19
+ const attribute_map_model_1 = require("./embedded/attribute-map.model");
20
+ const shop_category_model_1 = require("./shop-category.model");
17
21
  let Product = class Product extends defaultClasses_1.TimeStamps {
22
+ shop;
18
23
  name;
19
24
  barcode;
25
+ shopCategory;
20
26
  itemType;
21
- foodGroup;
27
+ productType;
22
28
  images;
23
- status;
29
+ priceOption;
30
+ priceBreakdowns;
31
+ description;
32
+ attributeMaps;
33
+ addons;
34
+ nutritionPackSize;
35
+ nutritionPackSizeUnit;
24
36
  nutritionServingSize;
25
- nutritionServingUnit;
26
- nutritionPerUnit;
27
37
  nutritionCalories;
28
38
  nutritions;
29
39
  dietaryTypes;
30
- storingTemperature;
31
- storingTemperatureUnit;
40
+ storedTemperature;
41
+ isStockEnabled;
42
+ stockQuantity;
43
+ isDrinkIncluded;
44
+ orderQuantityLimit;
45
+ note;
46
+ status;
47
+ sortingOrder;
32
48
  };
33
49
  exports.Product = Product;
34
50
  __decorate([
35
- (0, typegoose_1.prop)({ required: true, type: String }),
51
+ (0, typegoose_1.prop)({ required: true, ref: () => shop_model_1.Shop }),
52
+ __metadata("design:type", Object)
53
+ ], Product.prototype, "shop", void 0);
54
+ __decorate([
55
+ (0, typegoose_1.prop)({ required: true, type: String, maxlength: 50 }),
36
56
  __metadata("design:type", String)
37
57
  ], Product.prototype, "name", void 0);
38
58
  __decorate([
39
- (0, typegoose_1.prop)({ type: String }),
59
+ (0, typegoose_1.prop)({ type: String, default: '0000000' }),
40
60
  __metadata("design:type", String)
41
61
  ], Product.prototype, "barcode", void 0);
62
+ __decorate([
63
+ (0, typegoose_1.prop)({ required: true, ref: () => shop_category_model_1.ShopCategory }),
64
+ __metadata("design:type", Object)
65
+ ], Product.prototype, "shopCategory", void 0);
42
66
  __decorate([
43
67
  (0, typegoose_1.prop)({ required: true, type: String, enum: enum_1.ItemType }),
44
68
  __metadata("design:type", String)
45
69
  ], Product.prototype, "itemType", void 0);
46
70
  __decorate([
47
- (0, typegoose_1.prop)({ type: String, enum: enum_1.FoodGroup }),
71
+ (0, typegoose_1.prop)({ type: String, enum: enum_1.ProductType, default: enum_1.ProductType.OTHER }),
48
72
  __metadata("design:type", String)
49
- ], Product.prototype, "foodGroup", void 0);
73
+ ], Product.prototype, "productType", void 0);
50
74
  __decorate([
51
75
  (0, typegoose_1.prop)({ required: true, type: [String] }),
52
76
  __metadata("design:type", Array)
53
77
  ], Product.prototype, "images", void 0);
54
78
  __decorate([
55
- (0, typegoose_1.prop)({ type: String, enum: enum_1.Status, default: enum_1.Status.ACTIVE }),
79
+ (0, typegoose_1.prop)({ type: String, enum: enum_1.PriceOption, default: enum_1.PriceOption.SINGLE_PRICE }),
56
80
  __metadata("design:type", String)
57
- ], Product.prototype, "status", void 0);
81
+ ], Product.prototype, "priceOption", void 0);
82
+ __decorate([
83
+ (0, typegoose_1.prop)({ required: true, type: [price_breakdown_model_1.PriceBreakdown], min: 1 }),
84
+ __metadata("design:type", Array)
85
+ ], Product.prototype, "priceBreakdowns", void 0);
86
+ __decorate([
87
+ (0, typegoose_1.prop)({ type: String, maxlength: 250 }),
88
+ __metadata("design:type", String)
89
+ ], Product.prototype, "description", void 0);
90
+ __decorate([
91
+ (0, typegoose_1.prop)({ type: [attribute_map_model_1.AttributeMap], default: [] }),
92
+ __metadata("design:type", Array)
93
+ ], Product.prototype, "attributeMaps", void 0);
94
+ __decorate([
95
+ (0, typegoose_1.prop)({ ref: () => Product, default: [] }),
96
+ __metadata("design:type", Array)
97
+ ], Product.prototype, "addons", void 0);
58
98
  __decorate([
59
99
  (0, typegoose_1.prop)({ type: Number, min: 0 }),
60
100
  __metadata("design:type", Number)
61
- ], Product.prototype, "nutritionServingSize", void 0);
101
+ ], Product.prototype, "nutritionPackSize", void 0);
62
102
  __decorate([
63
103
  (0, typegoose_1.prop)({ type: String }),
64
104
  __metadata("design:type", String)
65
- ], Product.prototype, "nutritionServingUnit", void 0);
105
+ ], Product.prototype, "nutritionPackSizeUnit", void 0);
66
106
  __decorate([
67
107
  (0, typegoose_1.prop)({ type: Number, min: 0 }),
68
108
  __metadata("design:type", Number)
69
- ], Product.prototype, "nutritionPerUnit", void 0);
109
+ ], Product.prototype, "nutritionServingSize", void 0);
70
110
  __decorate([
71
111
  (0, typegoose_1.prop)({ type: Number, min: 0 }),
72
112
  __metadata("design:type", Number)
@@ -79,19 +119,44 @@ __decorate([
79
119
  (0, typegoose_1.prop)({ type: [String], enum: enum_1.ProductDietaryType, default: [] }),
80
120
  __metadata("design:type", Array)
81
121
  ], Product.prototype, "dietaryTypes", void 0);
122
+ __decorate([
123
+ (0, typegoose_1.prop)({ type: Number, max: 999999999 }),
124
+ __metadata("design:type", Number)
125
+ ], Product.prototype, "storedTemperature", void 0);
126
+ __decorate([
127
+ (0, typegoose_1.prop)({ type: Boolean, default: false }),
128
+ __metadata("design:type", Boolean)
129
+ ], Product.prototype, "isStockEnabled", void 0);
82
130
  __decorate([
83
131
  (0, typegoose_1.prop)({ type: Number }),
84
132
  __metadata("design:type", Number)
85
- ], Product.prototype, "storingTemperature", void 0);
133
+ ], Product.prototype, "stockQuantity", void 0);
134
+ __decorate([
135
+ (0, typegoose_1.prop)({ type: Boolean, default: false }),
136
+ __metadata("design:type", Boolean)
137
+ ], Product.prototype, "isDrinkIncluded", void 0);
138
+ __decorate([
139
+ (0, typegoose_1.prop)({ type: Number, default: 0, min: 0, max: 999999999 }),
140
+ __metadata("design:type", Number)
141
+ ], Product.prototype, "orderQuantityLimit", void 0);
86
142
  __decorate([
87
143
  (0, typegoose_1.prop)({ type: String }),
88
144
  __metadata("design:type", String)
89
- ], Product.prototype, "storingTemperatureUnit", void 0);
145
+ ], Product.prototype, "note", void 0);
146
+ __decorate([
147
+ (0, typegoose_1.prop)({ type: String, enum: enum_1.Status, default: enum_1.Status.ACTIVE }),
148
+ __metadata("design:type", String)
149
+ ], Product.prototype, "status", void 0);
150
+ __decorate([
151
+ (0, typegoose_1.prop)({ type: Number, default: 0 }),
152
+ __metadata("design:type", Number)
153
+ ], Product.prototype, "sortingOrder", void 0);
90
154
  exports.Product = Product = __decorate([
91
155
  (0, typegoose_1.modelOptions)({ schemaOptions: { collection: 'products' } }),
92
- (0, typegoose_1.Index)({ name: 1, itemType: 1 }, {
156
+ (0, typegoose_1.Index)({ name: 1, shop: 1 }, { unique: true, partialFilterExpression: { deletedAt: null } }),
157
+ (0, typegoose_1.Index)({ barcode: 1, shop: 1 }, {
93
158
  unique: true,
94
- partialFilterExpression: { itemType: { $in: [enum_1.ItemType.GROCERY, enum_1.ItemType.PHARMACY] }, deletedAt: null },
159
+ partialFilterExpression: { barcode: { $exists: true, $nin: [null, '0000000'] }, deletedAt: null },
95
160
  })
96
161
  ], Product);
97
162
  //# sourceMappingURL=product.model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"product.model.js","sourceRoot":"/","sources":["libraries/mongo/models/product.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAiE;AACjE,4EAAqE;AACrE,kDAA0F;AAC1F,gFAAsE;AAU/D,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,2BAAU;IAE/B,IAAI,CAAU;IAGd,OAAO,CAAU;IAGjB,QAAQ,CAAY;IAGpB,SAAS,CAAa;IAGtB,MAAM,CAAY;IAGlB,MAAM,CAAU;IAGhB,oBAAoB,CAAU;IAG9B,oBAAoB,CAAU;IAG9B,gBAAgB,CAAU;IAG1B,iBAAiB,CAAU;IAG3B,UAAU,CAAsB;IAGhC,YAAY,CAAwB;IAGpC,kBAAkB,CAAU;IAG5B,sBAAsB,CAAU;CACvC,CAAA;AA1CY,0BAAO;AAEZ;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;wCACC;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;yCAC5B;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,CAAC;;0CACX;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;;uCAChB;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;uCACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;qDACM;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;qDACc;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;iDACE;AAG1B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;kDACG;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,CAAC,0CAAgB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;2CACT;AAGhC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,yBAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;6CACrB;AAGpC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDACY;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uDACgB;kBAzC3B,OAAO;IARnB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC;IAC3D,IAAA,iBAAK,EACL,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,EACxB;QACC,MAAM,EAAE,IAAI;QACZ,uBAAuB,EAAE,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,eAAQ,CAAC,OAAO,EAAE,eAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;KACtG,CACD;GACY,OAAO,CA0CnB","sourcesContent":["import { Index, modelOptions, prop } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { FoodGroup, ItemType, ProductDietaryType, Status } from '../../../utilities/enum';\r\nimport { ProductNutrition } from './embedded/product-nutrition.model';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'products' } })\r\n@Index(\r\n\t{ name: 1, itemType: 1 },\r\n\t{\r\n\t\tunique: true,\r\n\t\tpartialFilterExpression: { itemType: { $in: [ItemType.GROCERY, ItemType.PHARMACY] }, deletedAt: null },\r\n\t}\r\n)\r\nexport class Product extends TimeStamps {\r\n\t@prop({ required: true, type: String })\r\n\tpublic name!: string;\r\n\r\n\t@prop({ type: String })\r\n\tpublic barcode?: string;\r\n\r\n\t@prop({ required: true, type: String, enum: ItemType })\r\n\tpublic itemType!: ItemType;\r\n\r\n\t@prop({ type: String, enum: FoodGroup })\r\n\tpublic foodGroup?: FoodGroup;\r\n\r\n\t@prop({ required: true, type: [String] })\r\n\tpublic images!: string[];\r\n\r\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status?: Status;\r\n\r\n\t@prop({ type: Number, min: 0 })\r\n\tpublic nutritionServingSize?: number;\r\n\r\n\t@prop({ type: String })\r\n\tpublic nutritionServingUnit?: string;\r\n\r\n\t@prop({ type: Number, min: 0 })\r\n\tpublic nutritionPerUnit?: number;\r\n\r\n\t@prop({ type: Number, min: 0 })\r\n\tpublic nutritionCalories?: number;\r\n\r\n\t@prop({ type: [ProductNutrition], default: [] })\r\n\tpublic nutritions?: ProductNutrition[];\r\n\r\n\t@prop({ type: [String], enum: ProductDietaryType, default: [] })\r\n\tpublic dietaryTypes?: ProductDietaryType[];\r\n\r\n\t@prop({ type: Number })\r\n\tpublic storingTemperature?: number;\r\n\r\n\t@prop({ type: String })\r\n\tpublic storingTemperatureUnit?: string;\r\n}\r\n"]}
1
+ {"version":3,"file":"product.model.js","sourceRoot":"/","sources":["libraries/mongo/models/product.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { Index, modelOptions, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { ProductType, ItemType, ProductDietaryType, Status, PriceOption } from '../../../utilities/enum';\r\nimport { ProductNutrition } from './embedded/product-nutrition.model';\r\nimport { Shop } from './shop.model';\r\nimport { PriceBreakdown } from './embedded/price-breakdown.model';\r\nimport { AttributeMap } from './embedded/attribute-map.model';\r\nimport { ShopCategory } from './shop-category.model';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'products' } })\r\n@Index({ name: 1, shop: 1 }, { unique: true, partialFilterExpression: { deletedAt: null } })\r\n@Index(\r\n\t{ barcode: 1, shop: 1 },\r\n\t{\r\n\t\tunique: true,\r\n\t\tpartialFilterExpression: { barcode: { $exists: true, $nin: [null, '0000000'] }, deletedAt: null },\r\n\t}\r\n)\r\nexport class Product extends TimeStamps {\r\n\t@prop({ required: true, ref: () => Shop })\r\n\tpublic shop!: Ref<Shop>;\r\n\r\n\t@prop({ required: true, type: String, maxlength: 50 })\r\n\tpublic name!: string;\r\n\r\n\t@prop({ type: String, default: '0000000' })\r\n\tpublic barcode?: string;\r\n\r\n\t@prop({ required: true, ref: () => ShopCategory })\r\n\tpublic shopCategory!: Ref<ShopCategory>;\r\n\r\n\t@prop({ required: true, type: String, enum: ItemType })\r\n\tpublic itemType!: ItemType;\r\n\r\n\t@prop({ type: String, enum: ProductType, default: ProductType.OTHER })\r\n\tpublic productType?: ProductType;\r\n\r\n\t@prop({ required: true, type: [String] })\r\n\tpublic images!: string[];\r\n\r\n\t@prop({ type: String, enum: PriceOption, default: PriceOption.SINGLE_PRICE })\r\n\tpublic priceOption?: PriceOption;\r\n\r\n\t@prop({ required: true, type: [PriceBreakdown], min: 1 })\r\n\tpublic priceBreakdowns?: PriceBreakdown[];\r\n\r\n\t@prop({ type: String, maxlength: 250 })\r\n\tpublic description?: string;\r\n\r\n\t@prop({ type: [AttributeMap], default: [] })\r\n\tpublic attributeMaps?: AttributeMap[];\r\n\r\n\t@prop({ ref: () => Product, default: [] })\r\n\tpublic addons?: Ref<Product>[];\r\n\r\n\t@prop({ type: Number, min: 0 })\r\n\tpublic nutritionPackSize?: number;\r\n\r\n\t@prop({ type: String })\r\n\tpublic nutritionPackSizeUnit?: string;\r\n\r\n\t@prop({ type: Number, min: 0 })\r\n\tpublic nutritionServingSize?: number;\r\n\r\n\t@prop({ type: Number, min: 0 })\r\n\tpublic nutritionCalories?: number;\r\n\r\n\t@prop({ type: [ProductNutrition], default: [] })\r\n\tpublic nutritions?: ProductNutrition[];\r\n\r\n\t@prop({ type: [String], enum: ProductDietaryType, default: [] })\r\n\tpublic dietaryTypes?: ProductDietaryType[];\r\n\r\n\t@prop({ type: Number, max: 999999999 })\r\n\tpublic storedTemperature?: number;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isStockEnabled?: boolean;\r\n\r\n\t@prop({ type: Number })\r\n\tpublic stockQuantity?: number;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isDrinkIncluded?: boolean;\r\n\r\n\t@prop({ type: Number, default: 0, min: 0, max: 999999999 })\r\n\tpublic orderQuantityLimit?: number;\r\n\r\n\t@prop({ type: String })\r\n\tpublic note?: string;\r\n\r\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status?: Status;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic sortingOrder?: number;\r\n}\r\n"]}
@@ -31,7 +31,7 @@ class NormalHour {
31
31
  }
32
32
  exports.NormalHour = NormalHour;
33
33
  __decorate([
34
- (0, typegoose_1.prop)({ required: true, unique: true, type: Number, enum: enum_1.WeekDay }),
34
+ (0, typegoose_1.prop)({ required: true, type: Number, enum: enum_1.WeekDay }),
35
35
  __metadata("design:type", Number)
36
36
  ], NormalHour.prototype, "day", void 0);
37
37
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"work-hour.model.js","sourceRoot":"/","sources":["libraries/mongo/models/shared/work-hour.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAC5C,qDAAoF;AAEpF,MAAM,YAAY;IAEV,KAAK,CAAU;IAGf,GAAG,CAAU;CACpB;AAJO;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2CACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;yCACnB;AAGrB,MAAa,UAAU;IAEf,GAAG,CAAW;IAGd,MAAM,CAAc;IAGpB,YAAY,CAAkB;CACrC;AATD,gCASC;AAPO;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAO,EAAE,CAAC;;uCAC/C;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAU,EAAE,CAAC;;0CAC9B;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;gDACb;AAGtC,MAAa,WAAW;IAEhB,IAAI,CAAQ;IAOZ,MAAM,CAAqB;IAG3B,WAAW,CAAgB;CAClC;AAbD,kCAaC;AAXO;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACvB,IAAI;yCAAC;AAOZ;IALN,IAAA,gBAAI,EAAC;QACL,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,wBAAiB;KACvB,CAAC;;2CACgC;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BACR,YAAY;gDAAC;AAGnC,MAAa,eAAe;IAEpB,WAAW,CAAgB;IAG3B,YAAY,CAAiB;CACpC;AAND,0CAMC;AAJO;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;oDACd;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;qDACb","sourcesContent":["import { prop } from '@typegoose/typegoose';\r\nimport { HolidayWorkStatus, WeekDay, WorkStatus } from '../../../../utilities/enum';\r\n\r\nclass StartEndTime {\r\n\t@prop({ required: true, type: String })\r\n\tpublic start!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic end!: string;\r\n}\r\n\r\nexport class NormalHour {\r\n\t@prop({ required: true, unique: true, type: Number, enum: WeekDay })\r\n\tpublic day!: WeekDay;\r\n\r\n\t@prop({ required: true, type: String, enum: WorkStatus })\r\n\tpublic status!: WorkStatus;\r\n\r\n\t@prop({ type: () => [StartEndTime], default: [] })\r\n\tpublic openingHours?: StartEndTime[];\r\n}\r\n\r\nexport class HolidayHour {\r\n\t@prop({ required: true, type: Date })\r\n\tpublic date?: Date;\r\n\r\n\t@prop({\r\n\t\trequired: true,\r\n\t\ttype: String,\r\n\t\tenum: HolidayWorkStatus,\r\n\t})\r\n\tpublic status!: HolidayWorkStatus;\r\n\r\n\t@prop({ type: StartEndTime })\r\n\tpublic closingHour?: StartEndTime;\r\n}\r\n\r\nexport class WorkHourSetting {\r\n\t@prop({ type: () => [NormalHour], default: [] })\r\n\tpublic normalHours?: NormalHour[];\r\n\r\n\t@prop({ type: () => [HolidayHour], default: [] })\r\n\tpublic holidayHours?: HolidayHour[];\r\n}\r\n"]}
1
+ {"version":3,"file":"work-hour.model.js","sourceRoot":"/","sources":["libraries/mongo/models/shared/work-hour.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4C;AAC5C,qDAAoF;AAEpF,MAAM,YAAY;IAEV,KAAK,CAAU;IAGf,GAAG,CAAU;CACpB;AAJO;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2CACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;yCACnB;AAGrB,MAAa,UAAU;IAEf,GAAG,CAAW;IAGd,MAAM,CAAc;IAGpB,YAAY,CAAkB;CACrC;AATD,gCASC;AAPO;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAO,EAAE,CAAC;;uCACjC;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAU,EAAE,CAAC;;0CAC9B;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;gDACb;AAGtC,MAAa,WAAW;IAEhB,IAAI,CAAQ;IAOZ,MAAM,CAAqB;IAG3B,WAAW,CAAgB;CAClC;AAbD,kCAaC;AAXO;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;8BACvB,IAAI;yCAAC;AAOZ;IALN,IAAA,gBAAI,EAAC;QACL,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,wBAAiB;KACvB,CAAC;;2CACgC;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;8BACR,YAAY;gDAAC;AAGnC,MAAa,eAAe;IAEpB,WAAW,CAAgB;IAG3B,YAAY,CAAiB;CACpC;AAND,0CAMC;AAJO;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;oDACd;AAG3B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;qDACb","sourcesContent":["import { prop } from '@typegoose/typegoose';\r\nimport { HolidayWorkStatus, WeekDay, WorkStatus } from '../../../../utilities/enum';\r\n\r\nclass StartEndTime {\r\n\t@prop({ required: true, type: String })\r\n\tpublic start!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic end!: string;\r\n}\r\n\r\nexport class NormalHour {\r\n\t@prop({ required: true, type: Number, enum: WeekDay })\r\n\tpublic day!: WeekDay;\r\n\r\n\t@prop({ required: true, type: String, enum: WorkStatus })\r\n\tpublic status!: WorkStatus;\r\n\r\n\t@prop({ type: () => [StartEndTime], default: [] })\r\n\tpublic openingHours?: StartEndTime[];\r\n}\r\n\r\nexport class HolidayHour {\r\n\t@prop({ required: true, type: Date })\r\n\tpublic date?: Date;\r\n\r\n\t@prop({\r\n\t\trequired: true,\r\n\t\ttype: String,\r\n\t\tenum: HolidayWorkStatus,\r\n\t})\r\n\tpublic status!: HolidayWorkStatus;\r\n\r\n\t@prop({ type: StartEndTime })\r\n\tpublic closingHour?: StartEndTime;\r\n}\r\n\r\nexport class WorkHourSetting {\r\n\t@prop({ type: () => [NormalHour], default: [] })\r\n\tpublic normalHours?: NormalHour[];\r\n\r\n\t@prop({ type: () => [HolidayHour], default: [] })\r\n\tpublic holidayHours?: HolidayHour[];\r\n}\r\n"]}
@@ -8,17 +8,14 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
11
  Object.defineProperty(exports, "__esModule", { value: true });
15
12
  exports.ShopAccessControl = void 0;
16
13
  const typegoose_1 = require("@typegoose/typegoose");
17
14
  const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
18
- const bcryptjs_1 = __importDefault(require("bcryptjs"));
19
15
  const enum_1 = require("../../../utilities/enum");
20
16
  const parent_model_1 = require("./parent.model");
21
17
  const shop_model_1 = require("./shop.model");
18
+ const password_1 = require("../../../utilities/common/password");
22
19
  let ShopAccessControl = class ShopAccessControl extends defaultClasses_1.TimeStamps {
23
20
  email;
24
21
  password;
@@ -50,8 +47,15 @@ __decorate([
50
47
  exports.ShopAccessControl = ShopAccessControl = __decorate([
51
48
  (0, typegoose_1.pre)('save', async function (next) {
52
49
  if (this.isModified('password')) {
53
- const salt = await bcryptjs_1.default.genSalt(10);
54
- this.password = await bcryptjs_1.default.hash(this.password, salt);
50
+ this.password = await (0, password_1.hashPassword)(this.password);
51
+ }
52
+ next();
53
+ }),
54
+ (0, typegoose_1.pre)('findOneAndUpdate', async function (next) {
55
+ const update = this.getUpdate();
56
+ if (update?.password) {
57
+ update.password = await (0, password_1.hashPassword)(update.password);
58
+ this.setUpdate(update);
55
59
  }
56
60
  next();
57
61
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"shop-access-control.model.js","sourceRoot":"/","sources":["libraries/mongo/models/shop-access-control.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAAoE;AACpE,4EAAqE;AACrE,wDAA8B;AAC9B,kDAAmD;AACnD,iDAAwC;AACxC,6CAAoC;AAU7B,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,2BAAU;IAEzC,KAAK,CAAU;IAGf,QAAQ,CAAU;IAGlB,MAAM,CAAe;IAGrB,KAAK,CAAe;IAGpB,IAAI,CAAY;CACvB,CAAA;AAfY,8CAAiB;AAEtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;gDAC/B;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDACd;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,qBAAM,EAAE,CAAC;;iDAChB;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;gDACf;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;+CAChC;4BAdX,iBAAiB;IAR7B,IAAA,eAAG,EAAoB,MAAM,EAAE,KAAK,WAAW,IAAI;QACnD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,MAAM,kBAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,QAAQ,GAAG,MAAM,kBAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;IACD,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,EAAE,CAAC;GACzD,iBAAiB,CAe7B","sourcesContent":["import { modelOptions, pre, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport bcrypt from 'bcryptjs';\r\nimport { ShopRole } from '../../../utilities/enum';\r\nimport { Parent } from './parent.model';\r\nimport { Shop } from './shop.model';\r\n\r\n@pre<ShopAccessControl>('save', async function (next) {\r\n\tif (this.isModified('password')) {\r\n\t\tconst salt = await bcrypt.genSalt(10);\r\n\t\tthis.password = await bcrypt.hash(this.password, salt);\r\n\t}\r\n\tnext();\r\n})\r\n@modelOptions({ schemaOptions: { collection: 'shopAccessControls' } })\r\nexport class ShopAccessControl extends TimeStamps {\r\n\t@prop({ required: true, type: String, unique: true })\r\n\tpublic email!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic password!: string;\r\n\r\n\t@prop({ required: true, ref: () => Parent })\r\n\tpublic parent!: Ref<Parent>;\r\n\r\n\t@prop({ required: true, ref: () => Shop })\r\n\tpublic shops!: Ref<Shop>[];\r\n\r\n\t@prop({ required: true, type: String, enum: ShopRole })\r\n\tpublic role!: ShopRole;\r\n}\r\n"]}
1
+ {"version":3,"file":"shop-access-control.model.js","sourceRoot":"/","sources":["libraries/mongo/models/shop-access-control.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAoE;AACpE,4EAAqE;AAErE,kDAAmD;AACnD,iDAAwC;AACxC,6CAAoC;AACpC,iEAAkE;AAiB3D,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,2BAAU;IAEzC,KAAK,CAAU;IAGf,QAAQ,CAAU;IAGlB,MAAM,CAAe;IAGrB,KAAK,CAAe;IAGpB,IAAI,CAAY;CACvB,CAAA;AAfY,8CAAiB;AAEtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;gDAC/B;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mDACd;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,qBAAM,EAAE,CAAC;;iDAChB;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;gDACf;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;+CAChC;4BAdX,iBAAiB;IAf7B,IAAA,eAAG,EAAoB,MAAM,EAAE,KAAK,WAAW,IAAI;QACnD,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,QAAQ,GAAG,MAAM,IAAA,uBAAY,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;IACD,IAAA,eAAG,EAAgC,kBAAkB,EAAE,KAAK,WAAW,IAAI;QAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,EAAyB,CAAC;QACvD,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;YACtB,MAAM,CAAC,QAAQ,GAAG,MAAM,IAAA,uBAAY,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACtD,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,EAAE,CAAC;IACR,CAAC,CAAC;IACD,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,oBAAoB,EAAE,EAAE,CAAC;GACzD,iBAAiB,CAe7B","sourcesContent":["import { modelOptions, pre, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { Query } from 'mongoose';\r\nimport { ShopRole } from '../../../utilities/enum';\r\nimport { Parent } from './parent.model';\r\nimport { Shop } from './shop.model';\r\nimport { hashPassword } from '../../../utilities/common/password';\r\n\r\n@pre<ShopAccessControl>('save', async function (next) {\r\n\tif (this.isModified('password')) {\r\n\t\tthis.password = await hashPassword(this.password);\r\n\t}\r\n\tnext();\r\n})\r\n@pre<Query<any, ShopAccessControl>>('findOneAndUpdate', async function (next) {\r\n\tconst update = this.getUpdate() as Record<string, any>;\r\n\tif (update?.password) {\r\n\t\tupdate.password = await hashPassword(update.password);\r\n\t\tthis.setUpdate(update);\r\n\t}\r\n\tnext();\r\n})\r\n@modelOptions({ schemaOptions: { collection: 'shopAccessControls' } })\r\nexport class ShopAccessControl extends TimeStamps {\r\n\t@prop({ required: true, type: String, unique: true })\r\n\tpublic email!: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic password!: string;\r\n\r\n\t@prop({ required: true, ref: () => Parent })\r\n\tpublic parent!: Ref<Parent>;\r\n\r\n\t@prop({ required: true, ref: () => Shop })\r\n\tpublic shops!: Ref<Shop>[];\r\n\r\n\t@prop({ required: true, type: String, enum: ShopRole })\r\n\tpublic role!: ShopRole;\r\n}\r\n"]}
@@ -1,16 +1,16 @@
1
1
  import { Ref } from '@typegoose/typegoose';
2
2
  import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
3
- import { PriceType, Status } from '../../../utilities/enum';
3
+ import { PriceOption, Status } from '../../../utilities/enum';
4
4
  import { AttributeMap } from './embedded/attribute-map.model';
5
- import { Price } from './embedded/price.model';
5
+ import { PriceBreakdown } from './embedded/price-breakdown.model';
6
6
  import { Product } from './product.model';
7
7
  import { ShopCategory } from './shop-category.model';
8
8
  import { Shop } from './shop.model';
9
9
  export declare class ShopProduct extends TimeStamps {
10
10
  product: Ref<Product>;
11
11
  shop: Ref<Shop>;
12
- priceType?: PriceType;
13
- prices?: Price[];
12
+ priceOption?: PriceOption;
13
+ priceBreakdowns?: PriceBreakdown[];
14
14
  description?: string;
15
15
  attributeMaps?: AttributeMap[];
16
16
  addons?: Ref<ShopProduct>[];
@@ -14,15 +14,15 @@ const typegoose_1 = require("@typegoose/typegoose");
14
14
  const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
15
15
  const enum_1 = require("../../../utilities/enum");
16
16
  const attribute_map_model_1 = require("./embedded/attribute-map.model");
17
- const price_model_1 = require("./embedded/price.model");
17
+ const price_breakdown_model_1 = require("./embedded/price-breakdown.model");
18
18
  const product_model_1 = require("./product.model");
19
19
  const shop_category_model_1 = require("./shop-category.model");
20
20
  const shop_model_1 = require("./shop.model");
21
21
  let ShopProduct = class ShopProduct extends defaultClasses_1.TimeStamps {
22
22
  product;
23
23
  shop;
24
- priceType;
25
- prices;
24
+ priceOption;
25
+ priceBreakdowns;
26
26
  description;
27
27
  attributeMaps;
28
28
  addons;
@@ -45,13 +45,13 @@ __decorate([
45
45
  __metadata("design:type", Object)
46
46
  ], ShopProduct.prototype, "shop", void 0);
47
47
  __decorate([
48
- (0, typegoose_1.prop)({ type: String, enum: enum_1.PriceType, default: enum_1.PriceType.PRICE }),
48
+ (0, typegoose_1.prop)({ type: String, enum: enum_1.PriceOption, default: enum_1.PriceOption.SINGLE_PRICE }),
49
49
  __metadata("design:type", String)
50
- ], ShopProduct.prototype, "priceType", void 0);
50
+ ], ShopProduct.prototype, "priceOption", void 0);
51
51
  __decorate([
52
- (0, typegoose_1.prop)({ required: true, type: [price_model_1.Price], min: 1 }),
52
+ (0, typegoose_1.prop)({ required: true, type: [price_breakdown_model_1.PriceBreakdown], min: 1 }),
53
53
  __metadata("design:type", Array)
54
- ], ShopProduct.prototype, "prices", void 0);
54
+ ], ShopProduct.prototype, "priceBreakdowns", void 0);
55
55
  __decorate([
56
56
  (0, typegoose_1.prop)({ type: String }),
57
57
  __metadata("design:type", String)
@@ -1 +1 @@
1
- {"version":3,"file":"shop-product.model.js","sourceRoot":"/","sources":["libraries/mongo/models/shop-product.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,4EAAqE;AACrE,kDAA4D;AAC5D,wEAA8D;AAC9D,wDAA+C;AAC/C,mDAA0C;AAC1C,+DAAqD;AACrD,6CAAoC;AAG7B,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,2BAAU;IAEnC,OAAO,CAAgB;IAGvB,IAAI,CAAa;IAGjB,SAAS,CAAa;IAGtB,MAAM,CAAW;IAGjB,WAAW,CAAU;IAGrB,aAAa,CAAkB;IAG/B,MAAM,CAAsB;IAG5B,MAAM,CAAU;IAGhB,YAAY,CAAqB;IAGjC,YAAY,CAAU;IAGtB,cAAc,CAAW;IAGzB,aAAa,CAAU;IAGvB,IAAI,CAAU;IAGd,eAAe,CAAW;IAG1B,kBAAkB,CAAU;CACnC,CAAA;AA7CY,kCAAW;AAEhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,uBAAO,EAAE,CAAC;;4CACf;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;yCAClB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,OAAO,EAAE,gBAAS,CAAC,KAAK,EAAE,CAAC;;8CACrC;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,mBAAK,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;2CACxB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;gDACK;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,CAAC,kCAAY,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;kDACN;AAG/B;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;2CACX;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;2CACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,kCAAY,EAAE,CAAC;;iDACV;AAGjC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iDACN;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;mDACR;AAGzB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;kDACO;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;yCACF;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;oDACP;AAG1B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDACA;sBA5CvB,WAAW;IADvB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,CAAC;GACnD,WAAW,CA6CvB","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { PriceType, Status } from '../../../utilities/enum';\r\nimport { AttributeMap } from './embedded/attribute-map.model';\r\nimport { Price } from './embedded/price.model';\r\nimport { Product } from './product.model';\r\nimport { ShopCategory } from './shop-category.model';\r\nimport { Shop } from './shop.model';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'shopProducts' } })\r\nexport class ShopProduct extends TimeStamps {\r\n\t@prop({ required: true, ref: () => Product })\r\n\tpublic product!: Ref<Product>;\r\n\r\n\t@prop({ required: true, ref: () => Shop })\r\n\tpublic shop!: Ref<Shop>;\r\n\r\n\t@prop({ type: String, enum: PriceType, default: PriceType.PRICE })\r\n\tpublic priceType?: PriceType;\r\n\r\n\t@prop({ required: true, type: [Price], min: 1 })\r\n\tpublic prices?: Price[];\r\n\r\n\t@prop({ type: String })\r\n\tpublic description?: string;\r\n\r\n\t@prop({ type: [AttributeMap], default: [] })\r\n\tpublic attributeMaps?: AttributeMap[];\r\n\r\n\t@prop({ ref: () => ShopProduct, default: [] })\r\n\tpublic addons?: Ref<ShopProduct>[];\r\n\r\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status?: Status;\r\n\r\n\t@prop({ required: true, ref: () => ShopCategory })\r\n\tpublic shopCategory!: Ref<ShopCategory>;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic sortingOrder?: number;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isStockEnabled?: boolean;\r\n\r\n\t@prop({ type: Number })\r\n\tpublic stockQuantity?: number;\r\n\r\n\t@prop({ type: String })\r\n\tpublic note?: string;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isDrinkIncluded?: boolean;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic orderQuantityLimit?: number;\r\n}\r\n"]}
1
+ {"version":3,"file":"shop-product.model.js","sourceRoot":"/","sources":["libraries/mongo/models/shop-product.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA+D;AAC/D,4EAAqE;AACrE,kDAA8D;AAC9D,wEAA8D;AAC9D,4EAAkE;AAClE,mDAA0C;AAC1C,+DAAqD;AACrD,6CAAoC;AAG7B,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,2BAAU;IAEnC,OAAO,CAAgB;IAGvB,IAAI,CAAa;IAGjB,WAAW,CAAe;IAG1B,eAAe,CAAoB;IAGnC,WAAW,CAAU;IAGrB,aAAa,CAAkB;IAG/B,MAAM,CAAsB;IAG5B,MAAM,CAAU;IAGhB,YAAY,CAAqB;IAGjC,YAAY,CAAU;IAGtB,cAAc,CAAW;IAGzB,aAAa,CAAU;IAGvB,IAAI,CAAU;IAGd,eAAe,CAAW;IAG1B,kBAAkB,CAAU;CACnC,CAAA;AA7CY,kCAAW;AAEhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,uBAAO,EAAE,CAAC;;4CACf;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;yCAClB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAW,EAAE,OAAO,EAAE,kBAAW,CAAC,YAAY,EAAE,CAAC;;gDAC5C;AAG1B;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,sCAAc,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;;oDACf;AAGnC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;gDACK;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,CAAC,kCAAY,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;kDACN;AAG/B;IADN,IAAA,gBAAI,EAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;2CACX;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;2CACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,kCAAY,EAAE,CAAC;;iDACV;AAGjC;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;iDACN;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;mDACR;AAGzB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;kDACO;AAGvB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;yCACF;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;oDACP;AAG1B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDACA;sBA5CvB,WAAW;IADvB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,CAAC;GACnD,WAAW,CA6CvB","sourcesContent":["import { modelOptions, prop, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { PriceOption, Status } from '../../../utilities/enum';\r\nimport { AttributeMap } from './embedded/attribute-map.model';\r\nimport { PriceBreakdown } from './embedded/price-breakdown.model';\r\nimport { Product } from './product.model';\r\nimport { ShopCategory } from './shop-category.model';\r\nimport { Shop } from './shop.model';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'shopProducts' } })\r\nexport class ShopProduct extends TimeStamps {\r\n\t@prop({ required: true, ref: () => Product })\r\n\tpublic product!: Ref<Product>;\r\n\r\n\t@prop({ required: true, ref: () => Shop })\r\n\tpublic shop!: Ref<Shop>;\r\n\r\n\t@prop({ type: String, enum: PriceOption, default: PriceOption.SINGLE_PRICE })\r\n\tpublic priceOption?: PriceOption;\r\n\r\n\t@prop({ required: true, type: [PriceBreakdown], min: 1 })\r\n\tpublic priceBreakdowns?: PriceBreakdown[];\r\n\r\n\t@prop({ type: String })\r\n\tpublic description?: string;\r\n\r\n\t@prop({ type: [AttributeMap], default: [] })\r\n\tpublic attributeMaps?: AttributeMap[];\r\n\r\n\t@prop({ ref: () => ShopProduct, default: [] })\r\n\tpublic addons?: Ref<ShopProduct>[];\r\n\r\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status?: Status;\r\n\r\n\t@prop({ required: true, ref: () => ShopCategory })\r\n\tpublic shopCategory!: Ref<ShopCategory>;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic sortingOrder?: number;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isStockEnabled?: boolean;\r\n\r\n\t@prop({ type: Number })\r\n\tpublic stockQuantity?: number;\r\n\r\n\t@prop({ type: String })\r\n\tpublic note?: string;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isDrinkIncluded?: boolean;\r\n\r\n\t@prop({ type: Number, default: 0 })\r\n\tpublic orderQuantityLimit?: number;\r\n}\r\n"]}