@lyxa.ai/core 1.0.12 → 1.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js.map +1 -1
- package/dist/libraries/mongo/index.js +89 -40
- package/dist/libraries/mongo/index.js.map +1 -1
- package/dist/libraries/mongo/models/activity-log.model.d.ts +11 -0
- package/dist/libraries/mongo/models/activity-log.model.js +44 -0
- package/dist/libraries/mongo/models/activity-log.model.js.map +1 -0
- package/dist/libraries/mongo/models/admin-access-control.model.d.ts +11 -0
- package/dist/libraries/mongo/models/admin-access-control.model.js +55 -0
- package/dist/libraries/mongo/models/admin-access-control.model.js.map +1 -0
- package/dist/libraries/mongo/models/admin.model.d.ts +10 -0
- package/dist/libraries/mongo/models/admin.model.js +48 -0
- package/dist/libraries/mongo/models/admin.model.js.map +1 -0
- package/dist/libraries/mongo/models/app-screen-setting.model.d.ts +11 -0
- package/dist/libraries/mongo/models/app-screen-setting.model.js +48 -0
- package/dist/libraries/mongo/models/app-screen-setting.model.js.map +1 -0
- package/dist/libraries/mongo/models/attribute.model.d.ts +15 -0
- package/dist/libraries/mongo/models/attribute.model.js +65 -0
- package/dist/libraries/mongo/models/attribute.model.js.map +1 -0
- package/dist/libraries/mongo/models/auth-identity.model.d.ts +8 -0
- package/dist/libraries/mongo/models/auth-identity.model.js +33 -0
- package/dist/libraries/mongo/models/auth-identity.model.js.map +1 -0
- package/dist/libraries/mongo/models/banner.model.d.ts +22 -0
- package/dist/libraries/mongo/models/banner.model.js +91 -0
- package/dist/libraries/mongo/models/banner.model.js.map +1 -0
- package/dist/libraries/mongo/models/base/base-coupon.model.d.ts +15 -0
- package/dist/libraries/mongo/models/base/base-coupon.model.js +70 -0
- package/dist/libraries/mongo/models/base/base-coupon.model.js.map +1 -0
- package/dist/libraries/mongo/models/base/base-review.model.d.ts +13 -0
- package/dist/libraries/mongo/models/base/base-review.model.js +55 -0
- package/dist/libraries/mongo/models/base/base-review.model.js.map +1 -0
- package/dist/libraries/mongo/models/bob-finance.model.d.ts +29 -0
- package/dist/libraries/mongo/models/bob-finance.model.js +122 -0
- package/dist/libraries/mongo/models/bob-finance.model.js.map +1 -0
- package/dist/libraries/mongo/models/brand.model.d.ts +7 -0
- package/dist/libraries/mongo/models/brand.model.js +32 -0
- package/dist/libraries/mongo/models/brand.model.js.map +1 -0
- package/dist/libraries/mongo/models/category.model.d.ts +13 -0
- package/dist/libraries/mongo/models/category.model.js +59 -0
- package/dist/libraries/mongo/models/category.model.js.map +1 -0
- package/dist/libraries/mongo/models/counter.model.d.ts +8 -0
- package/dist/libraries/mongo/models/counter.model.js +33 -0
- package/dist/libraries/mongo/models/counter.model.js.map +1 -0
- package/dist/libraries/mongo/models/coupon.model.d.ts +9 -0
- package/dist/libraries/mongo/models/coupon.model.js +38 -0
- package/dist/libraries/mongo/models/coupon.model.js.map +1 -0
- package/dist/libraries/mongo/models/deal-setting.model.d.ts +12 -0
- package/dist/libraries/mongo/models/deal-setting.model.js +53 -0
- package/dist/libraries/mongo/models/deal-setting.model.js.map +1 -0
- package/dist/libraries/mongo/models/dish.model.d.ts +19 -0
- package/dist/libraries/mongo/models/dish.model.js +84 -0
- package/dist/libraries/mongo/models/dish.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/attribute-item.model.d.ts +5 -0
- package/dist/libraries/mongo/models/embedded/attribute-item.model.js +32 -0
- package/dist/libraries/mongo/models/embedded/attribute-item.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/attribute-map.model.d.ts +7 -0
- package/dist/libraries/mongo/models/embedded/attribute-map.model.js +29 -0
- package/dist/libraries/mongo/models/embedded/attribute-map.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/business-development-setting.model.d.ts +4 -0
- package/dist/libraries/mongo/models/embedded/business-development-setting.model.js +27 -0
- package/dist/libraries/mongo/models/embedded/business-development-setting.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/charge-setting.model.d.ts +14 -0
- package/dist/libraries/mongo/models/embedded/charge-setting.model.js +60 -0
- package/dist/libraries/mongo/models/embedded/charge-setting.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/charge.model.d.ts +5 -0
- package/dist/libraries/mongo/models/embedded/charge.model.js +28 -0
- package/dist/libraries/mongo/models/embedded/charge.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/courier-setting.model.d.ts +4 -0
- package/dist/libraries/mongo/models/embedded/courier-setting.model.js +27 -0
- package/dist/libraries/mongo/models/embedded/courier-setting.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/currency-setting.model.d.ts +7 -0
- package/dist/libraries/mongo/models/embedded/currency-setting.model.js +38 -0
- package/dist/libraries/mongo/models/embedded/currency-setting.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/currency.model.d.ts +10 -0
- package/dist/libraries/mongo/models/embedded/currency.model.js +57 -0
- package/dist/libraries/mongo/models/embedded/currency.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/featured-item.mode.d.ts +6 -0
- package/dist/libraries/mongo/models/embedded/featured-item.mode.js +33 -0
- package/dist/libraries/mongo/models/embedded/featured-item.mode.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/otp-fields.model.d.ts +5 -0
- package/dist/libraries/mongo/models/embedded/otp-fields.model.js +32 -0
- package/dist/libraries/mongo/models/embedded/otp-fields.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/package.model.d.ts +25 -0
- package/dist/libraries/mongo/models/embedded/package.model.js +86 -0
- package/dist/libraries/mongo/models/embedded/package.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/parent-document.model.d.ts +5 -0
- package/dist/libraries/mongo/models/embedded/parent-document.model.js +32 -0
- package/dist/libraries/mongo/models/embedded/parent-document.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/payout-setting.model.d.ts +5 -0
- package/dist/libraries/mongo/models/embedded/payout-setting.model.js +28 -0
- package/dist/libraries/mongo/models/embedded/payout-setting.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/price.model.d.ts +5 -0
- package/dist/libraries/mongo/models/embedded/price.model.js +32 -0
- package/dist/libraries/mongo/models/embedded/price.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/product-nutrition.model.d.ts +5 -0
- package/dist/libraries/mongo/models/embedded/product-nutrition.model.js +32 -0
- package/dist/libraries/mongo/models/embedded/product-nutrition.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/referral-discount-config.model.d.ts +6 -0
- package/dist/libraries/mongo/models/embedded/referral-discount-config.model.js +38 -0
- package/dist/libraries/mongo/models/embedded/referral-discount-config.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/rider-setting.model.d.ts +6 -0
- package/dist/libraries/mongo/models/embedded/rider-setting.model.js +37 -0
- package/dist/libraries/mongo/models/embedded/rider-setting.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/service-fee-setting.model.d.ts +5 -0
- package/dist/libraries/mongo/models/embedded/service-fee-setting.model.js +28 -0
- package/dist/libraries/mongo/models/embedded/service-fee-setting.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/shop-document.model.d.ts +5 -0
- package/dist/libraries/mongo/models/embedded/shop-document.model.js +32 -0
- package/dist/libraries/mongo/models/embedded/shop-document.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/subscription-summary.model.d.ts +8 -0
- package/dist/libraries/mongo/models/embedded/subscription-summary.model.js +47 -0
- package/dist/libraries/mongo/models/embedded/subscription-summary.model.js.map +1 -0
- package/dist/libraries/mongo/models/embedded/zone-geometry.mode.d.ts +4 -0
- package/dist/libraries/mongo/models/embedded/zone-geometry.mode.js +27 -0
- package/dist/libraries/mongo/models/embedded/zone-geometry.mode.js.map +1 -0
- package/dist/libraries/mongo/models/faq.model.d.ts +12 -0
- package/dist/libraries/mongo/models/faq.model.js +53 -0
- package/dist/libraries/mongo/models/faq.model.js.map +1 -0
- package/dist/libraries/mongo/models/favourite.model.d.ts +13 -0
- package/dist/libraries/mongo/models/favourite.model.js +46 -0
- package/dist/libraries/mongo/models/favourite.model.js.map +1 -0
- package/dist/libraries/mongo/models/featured-setting.model.d.ts +9 -0
- package/dist/libraries/mongo/models/featured-setting.model.js +34 -0
- package/dist/libraries/mongo/models/featured-setting.model.js.map +1 -0
- package/dist/libraries/mongo/models/filter-container.model.d.ts +11 -0
- package/dist/libraries/mongo/models/filter-container.model.js +53 -0
- package/dist/libraries/mongo/models/filter-container.model.js.map +1 -0
- package/dist/libraries/mongo/models/list-container.model.d.ts +17 -0
- package/dist/libraries/mongo/models/list-container.model.js +70 -0
- package/dist/libraries/mongo/models/list-container.model.js.map +1 -0
- package/dist/libraries/mongo/models/loyalty-point-category.model.d.ts +9 -0
- package/dist/libraries/mongo/models/loyalty-point-category.model.js +38 -0
- package/dist/libraries/mongo/models/loyalty-point-category.model.js.map +1 -0
- package/dist/libraries/mongo/models/loyalty-point-setting.model.d.ts +9 -0
- package/dist/libraries/mongo/models/loyalty-point-setting.model.js +42 -0
- package/dist/libraries/mongo/models/loyalty-point-setting.model.js.map +1 -0
- package/dist/libraries/mongo/models/marketing.model.d.ts +14 -0
- package/dist/libraries/mongo/models/marketing.model.js +55 -0
- package/dist/libraries/mongo/models/marketing.model.js.map +1 -0
- package/dist/libraries/mongo/models/meal-plan.model.d.ts +11 -0
- package/dist/libraries/mongo/models/meal-plan.model.js +52 -0
- package/dist/libraries/mongo/models/meal-plan.model.js.map +1 -0
- package/dist/libraries/mongo/models/notification.model.d.ts +40 -0
- package/dist/libraries/mongo/models/notification.model.js +155 -0
- package/dist/libraries/mongo/models/notification.model.js.map +1 -0
- package/dist/libraries/mongo/models/nutrition.model.d.ts +8 -0
- package/dist/libraries/mongo/models/nutrition.model.js +33 -0
- package/dist/libraries/mongo/models/nutrition.model.js.map +1 -0
- package/dist/libraries/mongo/models/order.model.d.ts +2 -0
- package/dist/libraries/mongo/models/order.model.js +7 -0
- package/dist/libraries/mongo/models/order.model.js.map +1 -0
- package/dist/libraries/mongo/models/parent.model.d.ts +21 -0
- package/dist/libraries/mongo/models/parent.model.js +83 -0
- package/dist/libraries/mongo/models/parent.model.js.map +1 -0
- package/dist/libraries/mongo/models/payout.model.d.ts +2 -0
- package/dist/libraries/mongo/models/payout.model.js +7 -0
- package/dist/libraries/mongo/models/payout.model.js.map +1 -0
- package/dist/libraries/mongo/models/product-marketing.model.d.ts +13 -0
- package/dist/libraries/mongo/models/product-marketing.model.js +50 -0
- package/dist/libraries/mongo/models/product-marketing.model.js.map +1 -0
- package/dist/libraries/mongo/models/product.model.d.ts +21 -0
- package/dist/libraries/mongo/models/product.model.js +95 -0
- package/dist/libraries/mongo/models/product.model.js.map +1 -0
- package/dist/libraries/mongo/models/providers/apple-auth-identity.model.d.ts +6 -0
- package/dist/libraries/mongo/models/providers/apple-auth-identity.model.js +25 -0
- package/dist/libraries/mongo/models/providers/apple-auth-identity.model.js.map +1 -0
- package/dist/libraries/mongo/models/providers/buy1-get1-marketing.model.d.ts +12 -0
- package/dist/libraries/mongo/models/providers/buy1-get1-marketing.model.js +42 -0
- package/dist/libraries/mongo/models/providers/buy1-get1-marketing.model.js.map +1 -0
- package/dist/libraries/mongo/models/providers/custom-coupon.model.d.ts +12 -0
- package/dist/libraries/mongo/models/providers/custom-coupon.model.js +39 -0
- package/dist/libraries/mongo/models/providers/custom-coupon.model.js.map +1 -0
- package/dist/libraries/mongo/models/providers/discount-marketing.model.d.ts +15 -0
- package/dist/libraries/mongo/models/providers/discount-marketing.model.js +57 -0
- package/dist/libraries/mongo/models/providers/discount-marketing.model.js.map +1 -0
- package/dist/libraries/mongo/models/providers/email-auth-identity.model.d.ts +9 -0
- package/dist/libraries/mongo/models/providers/email-auth-identity.model.js +36 -0
- package/dist/libraries/mongo/models/providers/email-auth-identity.model.js.map +1 -0
- package/dist/libraries/mongo/models/providers/featured-marketing.model.d.ts +8 -0
- package/dist/libraries/mongo/models/providers/featured-marketing.model.js +26 -0
- package/dist/libraries/mongo/models/providers/featured-marketing.model.js.map +1 -0
- package/dist/libraries/mongo/models/providers/free-delivery-marketing.model.d.ts +8 -0
- package/dist/libraries/mongo/models/providers/free-delivery-marketing.model.js +26 -0
- package/dist/libraries/mongo/models/providers/free-delivery-marketing.model.js.map +1 -0
- package/dist/libraries/mongo/models/providers/global-coupon.model.d.ts +7 -0
- package/dist/libraries/mongo/models/providers/global-coupon.model.js +13 -0
- package/dist/libraries/mongo/models/providers/global-coupon.model.js.map +1 -0
- package/dist/libraries/mongo/models/providers/google-auth-identity.model.d.ts +6 -0
- package/dist/libraries/mongo/models/providers/google-auth-identity.model.js +25 -0
- package/dist/libraries/mongo/models/providers/google-auth-identity.model.js.map +1 -0
- package/dist/libraries/mongo/models/providers/individual-store-coupon.model.d.ts +11 -0
- package/dist/libraries/mongo/models/providers/individual-store-coupon.model.js +38 -0
- package/dist/libraries/mongo/models/providers/individual-store-coupon.model.js.map +1 -0
- package/dist/libraries/mongo/models/providers/individual-user-coupon.model.d.ts +12 -0
- package/dist/libraries/mongo/models/providers/individual-user-coupon.model.js +39 -0
- package/dist/libraries/mongo/models/providers/individual-user-coupon.model.js.map +1 -0
- package/dist/libraries/mongo/models/providers/loyalty-point-marketing.model.d.ts +15 -0
- package/dist/libraries/mongo/models/providers/loyalty-point-marketing.model.js +53 -0
- package/dist/libraries/mongo/models/providers/loyalty-point-marketing.model.js.map +1 -0
- package/dist/libraries/mongo/models/providers/phone-auth-identity.model.d.ts +8 -0
- package/dist/libraries/mongo/models/providers/phone-auth-identity.model.js +31 -0
- package/dist/libraries/mongo/models/providers/phone-auth-identity.model.js.map +1 -0
- package/dist/libraries/mongo/models/providers/punch-marketing.model.d.ts +13 -0
- package/dist/libraries/mongo/models/providers/punch-marketing.model.js +51 -0
- package/dist/libraries/mongo/models/providers/punch-marketing.model.js.map +1 -0
- package/dist/libraries/mongo/models/providers/referral-code-coupon.mode.d.ts +10 -0
- package/dist/libraries/mongo/models/providers/referral-code-coupon.mode.js +28 -0
- package/dist/libraries/mongo/models/providers/referral-code-coupon.mode.js.map +1 -0
- package/dist/libraries/mongo/models/providers/referral-reward-coupon.model.d.ts +12 -0
- package/dist/libraries/mongo/models/providers/referral-reward-coupon.model.js +39 -0
- package/dist/libraries/mongo/models/providers/referral-reward-coupon.model.js.map +1 -0
- package/dist/libraries/mongo/models/punch-marketing-history.model.d.ts +11 -0
- package/dist/libraries/mongo/models/punch-marketing-history.model.js +44 -0
- package/dist/libraries/mongo/models/punch-marketing-history.model.js.map +1 -0
- package/dist/libraries/mongo/models/rating-setting.model.d.ts +9 -0
- package/dist/libraries/mongo/models/rating-setting.model.js +38 -0
- package/dist/libraries/mongo/models/rating-setting.model.js.map +1 -0
- package/dist/libraries/mongo/models/referral-setting.model.d.ts +8 -0
- package/dist/libraries/mongo/models/referral-setting.model.js +33 -0
- package/dist/libraries/mongo/models/referral-setting.model.js.map +1 -0
- package/dist/libraries/mongo/models/request-area.model.d.ts +9 -0
- package/dist/libraries/mongo/models/request-area.model.js +34 -0
- package/dist/libraries/mongo/models/request-area.model.js.map +1 -0
- package/dist/libraries/mongo/models/rider-review.model.d.ts +7 -0
- package/dist/libraries/mongo/models/rider-review.model.js +28 -0
- package/dist/libraries/mongo/models/rider-review.model.js.map +1 -0
- package/dist/libraries/mongo/models/rider.model.d.ts +2 -0
- package/dist/libraries/mongo/models/rider.model.js +7 -0
- package/dist/libraries/mongo/models/rider.model.js.map +1 -0
- package/dist/libraries/mongo/models/role.model.ts.d.ts +8 -0
- package/dist/libraries/mongo/models/role.model.ts.js +37 -0
- package/dist/libraries/mongo/models/role.model.ts.js.map +1 -0
- package/dist/libraries/mongo/models/setting.model.d.ts +31 -0
- package/dist/libraries/mongo/models/setting.model.js +116 -0
- package/dist/libraries/mongo/models/setting.model.js.map +1 -0
- package/dist/libraries/mongo/models/shared/address.model.d.ts +19 -0
- package/dist/libraries/mongo/models/shared/address.model.js +91 -0
- package/dist/libraries/mongo/models/shared/address.model.js.map +1 -0
- package/dist/libraries/mongo/models/shared/duration.model.d.ts +4 -0
- package/dist/libraries/mongo/models/shared/duration.model.js +27 -0
- package/dist/libraries/mongo/models/shared/duration.model.js.map +1 -0
- package/dist/libraries/mongo/models/shared/work-hour.model.d.ts +20 -0
- package/dist/libraries/mongo/models/shared/work-hour.model.js +80 -0
- package/dist/libraries/mongo/models/shared/work-hour.model.js.map +1 -0
- package/dist/libraries/mongo/models/shop-access-control.model.d.ts +13 -0
- package/dist/libraries/mongo/models/shop-access-control.model.js +61 -0
- package/dist/libraries/mongo/models/shop-access-control.model.js.map +1 -0
- package/dist/libraries/mongo/models/shop-category.model.d.ts +12 -0
- package/dist/libraries/mongo/models/shop-category.model.js +45 -0
- package/dist/libraries/mongo/models/shop-category.model.js.map +1 -0
- package/dist/libraries/mongo/models/shop-meal-plan.model.d.ts +13 -0
- package/dist/libraries/mongo/models/shop-meal-plan.model.js +46 -0
- package/dist/libraries/mongo/models/shop-meal-plan.model.js.map +1 -0
- package/dist/libraries/mongo/models/shop-product.model.d.ts +26 -0
- package/dist/libraries/mongo/models/shop-product.model.js +103 -0
- package/dist/libraries/mongo/models/shop-product.model.js.map +1 -0
- package/dist/libraries/mongo/models/shop-review.d.ts +7 -0
- package/dist/libraries/mongo/models/shop-review.js +28 -0
- package/dist/libraries/mongo/models/shop-review.js.map +1 -0
- package/dist/libraries/mongo/models/shop.model.d.ts +50 -0
- package/dist/libraries/mongo/models/shop.model.js +215 -0
- package/dist/libraries/mongo/models/shop.model.js.map +1 -0
- package/dist/libraries/mongo/models/subscription-setting.model.d.ts +9 -0
- package/dist/libraries/mongo/models/subscription-setting.model.js +38 -0
- package/dist/libraries/mongo/models/subscription-setting.model.js.map +1 -0
- package/dist/libraries/mongo/models/subscription.model.d.ts +23 -0
- package/dist/libraries/mongo/models/subscription.model.js +92 -0
- package/dist/libraries/mongo/models/subscription.model.js.map +1 -0
- package/dist/libraries/mongo/models/tag.model.d.ts +11 -0
- package/dist/libraries/mongo/models/tag.model.js +52 -0
- package/dist/libraries/mongo/models/tag.model.js.map +1 -0
- package/dist/libraries/mongo/models/transaction.model.d.ts +2 -0
- package/dist/libraries/mongo/models/transaction.model.js +7 -0
- package/dist/libraries/mongo/models/transaction.model.js.map +1 -0
- package/dist/libraries/mongo/models/user.model.d.ts +16 -0
- package/dist/libraries/mongo/models/user.model.js +73 -0
- package/dist/libraries/mongo/models/user.model.js.map +1 -0
- package/dist/libraries/mongo/models/zone.model..d.ts +15 -0
- package/dist/libraries/mongo/models/zone.model..js +64 -0
- package/dist/libraries/mongo/models/zone.model..js.map +1 -0
- package/dist/utilities/enum.d.ts +208 -0
- package/dist/utilities/enum.js +240 -1
- package/dist/utilities/enum.js.map +1 -1
- package/dist/utilities/validation/common-validation.d.ts +1 -1
- package/dist/utilities/validation/common-validation.js +2 -2
- package/dist/utilities/validation/common-validation.js.map +1 -1
- package/dist/utilities/validation/global-validation.d.ts +3 -1
- package/dist/utilities/validation/global-validation.js +9 -5
- package/dist/utilities/validation/global-validation.js.map +1 -1
- package/package.json +2 -1
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"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","sourcesContent":["import {LibraryManager} from \"./libraries\";\r\nimport {Container} from \"typedi\";\r\nimport mongoose from \"mongoose\";\r\nimport {ConfigurationOptions, ConfigurationService} from \"./libraries/configuration\";\r\nimport {EnvironmentConfigurationType} from \"./libraries/configuration/types/EnvironmentConfigurationType\";\r\nimport {LyxaLogger} from \"./libraries/logger\";\r\nimport {RedisService} from \"./libraries/redis\";\r\nimport {initGlobalConnection} from \"./libraries/mongo\";\r\nimport {SecretManagerService} from \"./libraries/secrets\";\r\nimport {MicroServiceDispatcher} from \"./libraries/dispatcher\";\r\nimport {TwilioService} from \"./libraries/twilio\";\r\nimport {FirebaseService} from \"./libraries/firebase\";\r\nimport {initEventBus, subscribeToEvent} from \"./libraries/event\";\r\nimport {SubscriptionRegistry} from \"./libraries/event/registry/SubscriptionRegistry\";\r\nimport {AuthEntityType, signTokenPair} from \"./libraries/auth\";\r\n\r\nexport { ConfigurationOptions } from \"./libraries/configuration\";\r\nexport { EnvironmentConfigurationType } from \"./libraries/configuration/types/EnvironmentConfigurationType\";\r\nexport {\r\n initGlobalConnection,\r\n createGlobalModel,\r\n createGlobalDiscriminatorModel\r\n} from './libraries/mongo';\r\n\r\nexport async function bootstrapCore(options?: ConfigurationOptions) {\r\n try {\r\n await registerLibraries(options);\r\n\r\n getLibraries().getLogger().logger.info(\"Successfully bootstrapped lyxa-core.\");\r\n\r\n const gracefulShutdown = async () => {\r\n getLibraries().getLogger().logger.info('Received shutdown signal, shutting down gracefully...');\r\n };\r\n\r\n process.on('SIGTERM', gracefulShutdown);\r\n process.on('SIGINT', gracefulShutdown);\r\n process.on('uncaughtException', (err) => {\r\n getLibraries().getLogger().logger.error('Uncaught exception, shutting down...', err);\r\n gracefulShutdown();\r\n });\r\n\r\n console.log(\"Created hooks.\");\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n}\r\n\r\nexport async function registerLibraries(options?: ConfigurationOptions) {\r\n // Setup configuration.\r\n const configurationInstance = new ConfigurationService(options);\r\n Container.set(ConfigurationService, configurationInstance);\r\n\r\n // Setup redis.\r\n const redisInstance = new RedisService(configurationInstance.options.redisURL!);\r\n Container.set(RedisService, redisInstance);\r\n\r\n // Setup secret\r\n const secretInstance = new SecretManagerService(configurationInstance, redisInstance);\r\n Container.set(SecretManagerService, secretInstance);\r\n\r\n const mongoUrl = await getLibraries().getSecretsService()\r\n .getKey(\"MONGO_URL\");\r\n\r\n await mongoose.connect(mongoUrl!, { dbName: `lyxa-${options!.environment}-${options!.tenet}` });\r\n mongoose.set('debug', getLibraries().getConfigurationService().options.environment == EnvironmentConfigurationType.DEV);\r\n\r\n await initGlobalConnection(mongoUrl!, options!.environment);\r\n\r\n // Setup logger\r\n const loggerInstance = new LyxaLogger(options!.instanceType!, mongoUrl!);\r\n Container.set(LyxaLogger, loggerInstance);\r\n\r\n // Setup firebase\r\n const firebaseInstance = new FirebaseService(configurationInstance!);\r\n Container.set(FirebaseService, firebaseInstance);\r\n\r\n // Setup microservice dispatcher\r\n const microserviceDispatcherInstance = new MicroServiceDispatcher(secretInstance);\r\n Container.set(MicroServiceDispatcher, microserviceDispatcherInstance);\r\n\r\n\r\n // Setup twilio\r\n const twilioServiceInstance = new TwilioService();\r\n Container.set(TwilioService, twilioServiceInstance);\r\n\r\n console.log(\"Initialized everything\");\r\n\r\n await initEventBus(\"amqps://vgyuplrd:wto6vUYnb4zeBI5lntKT4gj7rT8n1vwg@dog.lmq.cloudamqp.com/vgyuplrd\");\r\n const allSubscriptions = SubscriptionRegistry.getAllSubscriptions();\r\n\r\n const instantiatedServices = new Map<Function, any>();\r\n\r\n for (const { eventId, targetConstructor, methodName } of allSubscriptions) {\r\n let instance = instantiatedServices.get(targetConstructor);\r\n if (!instance) {\r\n instance = Container.get(targetConstructor as any);\r\n instantiatedServices.set(targetConstructor, instance);\r\n }\r\n\r\n await subscribeToEvent(eventId, async (payload) => {\r\n return instance[methodName](payload);\r\n });\r\n }\r\n}\r\n\r\nexport function getLibraries(): LibraryManager {\r\n return Container.get(LibraryManager)\r\n}\r\n"]}
|
|
@@ -8,56 +8,105 @@ const typegoose_1 = require("@typegoose/typegoose");
|
|
|
8
8
|
const soft_delete_plugin_1 = require("./plugins/soft-delete-plugin");
|
|
9
9
|
(0, soft_delete_plugin_1.applySoftDeletePlugin)();
|
|
10
10
|
let globalConnection;
|
|
11
|
-
let
|
|
12
|
-
let
|
|
11
|
+
let connectionPromise = null;
|
|
12
|
+
let pendingModels = new Map();
|
|
13
|
+
let pendingDiscriminatorModels = new Map();
|
|
13
14
|
async function initGlobalConnection(uri, environment) {
|
|
14
|
-
if (!
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
for (const { Class, options, callback } of pendingModels) {
|
|
20
|
-
const model = (0, typegoose_1.getModelForClass)(Class, {
|
|
21
|
-
existingConnection: globalConnection,
|
|
22
|
-
...options
|
|
15
|
+
if (!connectionPromise) {
|
|
16
|
+
connectionPromise = new Promise((resolve) => {
|
|
17
|
+
console.log(`Initializing global connection for environment: ${environment}`);
|
|
18
|
+
const connection = (0, mongoose_1.createConnection)(uri, {
|
|
19
|
+
dbName: `lyxa-${environment}-global`,
|
|
23
20
|
});
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
21
|
+
connection.once('connected', () => {
|
|
22
|
+
console.log('Global connection successfully established');
|
|
23
|
+
globalConnection = connection;
|
|
24
|
+
for (const [modelName, { Class, options, resolve }] of pendingModels.entries()) {
|
|
25
|
+
const model = (0, typegoose_1.getModelForClass)(Class, {
|
|
26
|
+
existingConnection: globalConnection,
|
|
27
|
+
...options
|
|
28
|
+
});
|
|
29
|
+
resolve(model);
|
|
30
|
+
}
|
|
31
|
+
pendingModels.clear();
|
|
32
|
+
for (const [modelName, { baseModel, subClass, discriminatorName, options, resolve }] of pendingDiscriminatorModels.entries()) {
|
|
33
|
+
const model = (0, typegoose_1.getDiscriminatorModelForClass)(baseModel, subClass, discriminatorName, {
|
|
34
|
+
existingConnection: globalConnection,
|
|
35
|
+
...options
|
|
36
|
+
});
|
|
37
|
+
resolve(model);
|
|
38
|
+
}
|
|
39
|
+
pendingDiscriminatorModels.clear();
|
|
40
|
+
resolve(connection);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
27
43
|
}
|
|
28
|
-
return
|
|
44
|
+
return connectionPromise;
|
|
29
45
|
}
|
|
30
46
|
function createGlobalModel(Class, options) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
const modelProxy = new Proxy({}, {
|
|
37
|
-
get: function (target, prop) {
|
|
38
|
-
if (!modelInstance) {
|
|
39
|
-
throw new Error('Model not initialized yet. Database connection pending.');
|
|
40
|
-
}
|
|
41
|
-
return modelInstance[prop];
|
|
42
|
-
}
|
|
47
|
+
const modelName = options?.schemaOptions?.collection || Class.name;
|
|
48
|
+
if (globalConnection) {
|
|
49
|
+
return (0, typegoose_1.getModelForClass)(Class, {
|
|
50
|
+
existingConnection: globalConnection,
|
|
51
|
+
...options
|
|
43
52
|
});
|
|
44
|
-
pendingModels.push({
|
|
45
|
-
Class,
|
|
46
|
-
options,
|
|
47
|
-
callback: (model) => {
|
|
48
|
-
modelInstance = model;
|
|
49
|
-
}
|
|
50
|
-
});
|
|
51
|
-
return modelProxy;
|
|
52
53
|
}
|
|
54
|
+
console.log(`Registering model ${modelName} to be initialized when global connection is ready`);
|
|
55
|
+
let actualModel = null;
|
|
56
|
+
let modelReadyPromise = null;
|
|
57
|
+
modelReadyPromise = new Promise((resolve) => {
|
|
58
|
+
pendingModels.set(modelName, { Class, options, resolve });
|
|
59
|
+
});
|
|
60
|
+
const modelProxy = new Proxy({}, {
|
|
61
|
+
get(target, prop, receiver) {
|
|
62
|
+
return async function (...args) {
|
|
63
|
+
if (!actualModel) {
|
|
64
|
+
actualModel = await modelReadyPromise;
|
|
65
|
+
}
|
|
66
|
+
const propValue = actualModel[prop];
|
|
67
|
+
if (typeof propValue === 'function') {
|
|
68
|
+
return propValue.apply(actualModel, args);
|
|
69
|
+
}
|
|
70
|
+
return propValue;
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
return modelProxy;
|
|
53
75
|
}
|
|
54
76
|
function createGlobalDiscriminatorModel(baseModel, subClass, discriminatorName, options) {
|
|
55
|
-
|
|
56
|
-
|
|
77
|
+
const modelName = discriminatorName || subClass.name;
|
|
78
|
+
if (globalConnection) {
|
|
79
|
+
return (0, typegoose_1.getDiscriminatorModelForClass)(baseModel, subClass, discriminatorName, {
|
|
80
|
+
existingConnection: globalConnection,
|
|
81
|
+
...options
|
|
82
|
+
});
|
|
57
83
|
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
84
|
+
console.log(`Registering discriminator model ${modelName} to be initialized when global connection is ready`);
|
|
85
|
+
let actualModel = null;
|
|
86
|
+
let modelReadyPromise = null;
|
|
87
|
+
modelReadyPromise = new Promise((resolve) => {
|
|
88
|
+
pendingDiscriminatorModels.set(modelName, {
|
|
89
|
+
baseModel,
|
|
90
|
+
subClass,
|
|
91
|
+
discriminatorName,
|
|
92
|
+
options,
|
|
93
|
+
resolve
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
const modelProxy = new Proxy({}, {
|
|
97
|
+
get(target, prop, receiver) {
|
|
98
|
+
return async function (...args) {
|
|
99
|
+
if (!actualModel) {
|
|
100
|
+
actualModel = await modelReadyPromise;
|
|
101
|
+
}
|
|
102
|
+
const propValue = actualModel[prop];
|
|
103
|
+
if (typeof propValue === 'function') {
|
|
104
|
+
return propValue.apply(actualModel, args);
|
|
105
|
+
}
|
|
106
|
+
return propValue;
|
|
107
|
+
};
|
|
108
|
+
}
|
|
61
109
|
});
|
|
110
|
+
return modelProxy;
|
|
62
111
|
}
|
|
63
112
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/mongo/index.ts"],"names":[],"mappings":";;AAkBA,oDAoBC;AAOD,8CA+BC;AAWD,wEAmBC;AA1GD,uCAAwD;AACxD,oDAAsG;AAGtG,qEAAqE;AAGrE,IAAA,0CAAqB,GAAE,CAAC;AACxB,IAAI,gBAAwC,CAAC;AAG7C,IAAI,aAAa,GAIZ,EAAE,CAAC;AACR,IAAI,uBAAuB,GAAG,KAAK,CAAC;AAE7B,KAAK,UAAU,oBAAoB,CAAC,GAAW,EAAE,WAAmB;IACvE,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,gBAAgB,GAAG,IAAA,2BAAgB,EAAC,GAAG,EAAE;YACrC,MAAM,EAAE,QAAQ,WAAW,SAAS;SACvC,CAAC,CAAC;QAGH,uBAAuB,GAAG,IAAI,CAAC;QAG/B,KAAK,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,aAAa,EAAE,CAAC;YACvD,MAAM,KAAK,GAAG,IAAA,4BAAgB,EAAC,KAAK,EAAE;gBAClC,kBAAkB,EAAE,gBAAgB;gBACpC,GAAG,OAAO;aACb,CAAC,CAAC;YACH,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,aAAa,GAAG,EAAE,CAAC;IACvB,CAAC;IACD,OAAO,gBAAgB,CAAC;AAC5B,CAAC;AAOD,SAAgB,iBAAiB,CAC7B,KAAQ,EACR,OAAuB;IAEvB,IAAI,gBAAgB,IAAI,uBAAuB,EAAE,CAAC;QAE9C,OAAO,IAAA,4BAAgB,EAAC,KAAK,EAAE,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;IACzF,CAAC;SAAM,CAAC;QAEJ,IAAI,aAAa,GAAQ,IAAI,CAAC;QAE9B,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,EAAE,EAAE;YAC7B,GAAG,EAAE,UAAS,MAAM,EAAE,IAAI;gBACtB,IAAI,CAAC,aAAa,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAC/E,CAAC;gBACD,OAAO,aAAa,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;SACJ,CAAuB,CAAC;QAGzB,aAAa,CAAC,IAAI,CAAC;YACf,KAAK;YACL,OAAO;YACP,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAChB,aAAa,GAAG,KAAK,CAAC;YAC1B,CAAC;SACJ,CAAC,CAAC;QAEH,OAAO,UAAU,CAAC;IACtB,CAAC;AACL,CAAC;AAWD,SAAgB,8BAA8B,CAI1C,SAAgC,EAChC,QAAa,EACb,iBAA0B,EAC1B,OAAuB;IAEvB,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACX,0EAA0E,CAC7E,CAAC;IACN,CAAC;IAED,OAAO,IAAA,yCAA6B,EAAC,SAAS,EAAE,QAAQ,EAAE,iBAAiB,EAAE;QACzE,kBAAkB,EAAE,gBAAgB;QACpC,GAAG,OAAO;KACb,CAAC,CAAC;AACP,CAAC","sourcesContent":["import { Connection, createConnection } from 'mongoose';\r\nimport {getDiscriminatorModelForClass, getModelForClass, ReturnModelType} from '@typegoose/typegoose';\r\nimport {AnyParamConstructor, IModelOptions} from \"@typegoose/typegoose/lib/types\";\r\n\r\nimport { applySoftDeletePlugin } from './plugins/soft-delete-plugin';\r\n\r\n// Apply the soft delete plugin globally before any connections or models\r\napplySoftDeletePlugin();\r\nlet globalConnection: Connection | undefined;\r\n\r\n// Track pending models that were requested before connection initialization\r\nlet pendingModels: Array<{\r\n Class: any,\r\n options?: IModelOptions,\r\n callback: (model: any) => void\r\n}> = [];\r\nlet isConnectionInitialized = false;\r\n\r\nexport async function initGlobalConnection(uri: string, environment: string) {\r\n if (!globalConnection) {\r\n globalConnection = createConnection(uri, {\r\n dbName: `lyxa-${environment}-global`,\r\n });\r\n\r\n // Connection is now initialized\r\n isConnectionInitialized = true;\r\n\r\n // Process any pending models\r\n for (const { Class, options, callback } of pendingModels) {\r\n const model = getModelForClass(Class, {\r\n existingConnection: globalConnection,\r\n ...options\r\n });\r\n callback(model);\r\n }\r\n pendingModels = [];\r\n }\r\n return globalConnection;\r\n}\r\n\r\n/**\r\n * Creates a Typegoose model from a class (with a single, global connection).\r\n * If connection is not yet initialized, returns a proxy that will resolve to the model\r\n * once the connection is established.\r\n */\r\nexport function createGlobalModel<T extends AnyParamConstructor<any>>(\r\n Class: T,\r\n options?: IModelOptions\r\n): ReturnModelType<T> {\r\n if (globalConnection && isConnectionInitialized) {\r\n // Normal behavior - create and return the model\r\n return getModelForClass(Class, { existingConnection: globalConnection, ...options });\r\n } else {\r\n // Connection not initialized yet - create a proxy object\r\n let modelInstance: any = null;\r\n\r\n const modelProxy = new Proxy({}, {\r\n get: function(target, prop) {\r\n if (!modelInstance) {\r\n throw new Error('Model not initialized yet. Database connection pending.');\r\n }\r\n return modelInstance[prop];\r\n }\r\n }) as ReturnModelType<T>;\r\n\r\n // Store this request to be processed when connection is initialized\r\n pendingModels.push({\r\n Class,\r\n options,\r\n callback: (model) => {\r\n modelInstance = model;\r\n }\r\n });\r\n\r\n return modelProxy;\r\n }\r\n}\r\n\r\n/**\r\n * Creates a Typegoose *discriminator* model from a base model,\r\n * using a derived sub-class & optional discriminator value.\r\n *\r\n * @param baseModel The ReturnModelType (model) for the base class\r\n * @param subClass The derived class constructor\r\n * @param discriminatorName A string to label this sub-class (e.g. \"DOG\")\r\n * @param options Additional model options\r\n */\r\nexport function createGlobalDiscriminatorModel<\r\n Base extends AnyParamConstructor<any>,\r\n Sub extends AnyParamConstructor<any>,\r\n>(\r\n baseModel: ReturnModelType<Base>,\r\n subClass: Sub,\r\n discriminatorName?: string,\r\n options?: IModelOptions,\r\n): ReturnModelType<Sub> {\r\n if (!globalConnection) {\r\n throw new Error(\r\n 'Global connection not initialized. Call initGlobalConnection(...) first.',\r\n );\r\n }\r\n\r\n return getDiscriminatorModelForClass(baseModel, subClass, discriminatorName, {\r\n existingConnection: globalConnection,\r\n ...options,\r\n });\r\n}\r\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"/","sources":["libraries/mongo/index.ts"],"names":[],"mappings":"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","sourcesContent":["import mongoose, { Connection, createConnection } from 'mongoose';\r\nimport { getDiscriminatorModelForClass, getModelForClass, ReturnModelType } from '@typegoose/typegoose';\r\nimport { AnyParamConstructor, IModelOptions } from \"@typegoose/typegoose/lib/types\";\r\nimport { applySoftDeletePlugin } from './plugins/soft-delete-plugin';\r\n\r\n// Apply the soft delete plugin globally before any connections or models\r\napplySoftDeletePlugin();\r\n\r\n// Track connection status\r\nlet globalConnection: Connection | undefined;\r\nlet connectionPromise: Promise<Connection> | null = null;\r\nlet pendingModels = new Map<string, {\r\n Class: AnyParamConstructor<any>,\r\n options?: IModelOptions,\r\n resolve: (model: any) => void\r\n}>();\r\n\r\nlet pendingDiscriminatorModels = new Map<string, {\r\n baseModel: any,\r\n subClass: AnyParamConstructor<any>,\r\n discriminatorName?: string,\r\n options?: IModelOptions,\r\n resolve: (model: any) => void\r\n}>();\r\n\r\n/**\r\n * Initialize the global database connection\r\n */\r\nexport async function initGlobalConnection(uri: string, environment: string): Promise<Connection> {\r\n if (!connectionPromise) {\r\n connectionPromise = new Promise<Connection>((resolve) => {\r\n console.log(`Initializing global connection for environment: ${environment}`);\r\n const connection = createConnection(uri, {\r\n dbName: `lyxa-${environment}-global`,\r\n });\r\n\r\n connection.once('connected', () => {\r\n console.log('Global connection successfully established');\r\n globalConnection = connection;\r\n\r\n // Initialize any pending models with the real connection\r\n for (const [modelName, { Class, options, resolve }] of pendingModels.entries()) {\r\n const model = getModelForClass(Class, {\r\n existingConnection: globalConnection,\r\n ...options\r\n });\r\n resolve(model);\r\n }\r\n pendingModels.clear();\r\n\r\n // Initialize any pending discriminator models\r\n for (const [modelName, { baseModel, subClass, discriminatorName, options, resolve }] of pendingDiscriminatorModels.entries()) {\r\n const model = getDiscriminatorModelForClass(baseModel, subClass, discriminatorName, {\r\n existingConnection: globalConnection,\r\n ...options\r\n });\r\n resolve(model);\r\n }\r\n pendingDiscriminatorModels.clear();\r\n\r\n resolve(connection);\r\n });\r\n });\r\n }\r\n return connectionPromise;\r\n}\r\n\r\n/**\r\n * Creates a Typegoose model that will use the global connection when it's ready.\r\n * Safe to call during module initialization before initGlobalConnection.\r\n */\r\nexport function createGlobalModel<T extends AnyParamConstructor<any>>(\r\n Class: T,\r\n options?: IModelOptions\r\n): ReturnModelType<T> {\r\n const modelName = options?.schemaOptions?.collection || Class.name;\r\n\r\n // If the connection is already initialized, create the model directly\r\n if (globalConnection) {\r\n return getModelForClass(Class, {\r\n existingConnection: globalConnection,\r\n ...options\r\n });\r\n }\r\n\r\n console.log(`Registering model ${modelName} to be initialized when global connection is ready`);\r\n\r\n // Create a lazy-loaded model instance that will initialize once the connection is ready\r\n let actualModel: ReturnModelType<T> | null = null;\r\n let modelReadyPromise: Promise<ReturnModelType<T>> | null = null;\r\n\r\n // Setup the promise that will resolve once the model is ready\r\n modelReadyPromise = new Promise<ReturnModelType<T>>((resolve) => {\r\n // Register this model to be initialized when connection is ready\r\n pendingModels.set(modelName, { Class, options, resolve });\r\n });\r\n\r\n // Create a proxy that forwards operations to the real model once it's available\r\n const modelProxy = new Proxy({} as ReturnModelType<T>, {\r\n get(target, prop, receiver) {\r\n return async function(...args: any[]) {\r\n if (!actualModel) {\r\n actualModel = await modelReadyPromise!;\r\n }\r\n\r\n const propValue = (actualModel as any)[prop];\r\n if (typeof propValue === 'function') {\r\n return propValue.apply(actualModel, args);\r\n }\r\n return propValue;\r\n };\r\n }\r\n });\r\n\r\n return modelProxy;\r\n}\r\n\r\n/**\r\n * Creates a Typegoose discriminator model that will use the global connection when it's ready.\r\n * Safe to call during module initialization before initGlobalConnection.\r\n */\r\nexport function createGlobalDiscriminatorModel<\r\n Base extends AnyParamConstructor<any>,\r\n Sub extends AnyParamConstructor<any>,\r\n>(\r\n baseModel: ReturnModelType<Base>,\r\n subClass: Sub,\r\n discriminatorName?: string,\r\n options?: IModelOptions,\r\n): ReturnModelType<Sub> {\r\n const modelName = discriminatorName || subClass.name;\r\n\r\n // If the connection is already initialized, create the model directly\r\n if (globalConnection) {\r\n return getDiscriminatorModelForClass(baseModel, subClass, discriminatorName, {\r\n existingConnection: globalConnection,\r\n ...options\r\n });\r\n }\r\n\r\n console.log(`Registering discriminator model ${modelName} to be initialized when global connection is ready`);\r\n\r\n // Create a lazy-loaded model instance that will initialize once the connection is ready\r\n let actualModel: ReturnModelType<Sub> | null = null;\r\n let modelReadyPromise: Promise<ReturnModelType<Sub>> | null = null;\r\n\r\n // Setup the promise that will resolve once the model is ready\r\n modelReadyPromise = new Promise<ReturnModelType<Sub>>((resolve) => {\r\n // Register this discriminator model to be initialized when connection is ready\r\n pendingDiscriminatorModels.set(modelName, {\r\n baseModel,\r\n subClass,\r\n discriminatorName,\r\n options,\r\n resolve\r\n });\r\n });\r\n\r\n // Create a proxy that forwards operations to the real model once it's available\r\n const modelProxy = new Proxy({} as ReturnModelType<Sub>, {\r\n get(target, prop, receiver) {\r\n return async function(...args: any[]) {\r\n if (!actualModel) {\r\n actualModel = await modelReadyPromise!;\r\n }\r\n\r\n const propValue = (actualModel as any)[prop];\r\n if (typeof propValue === 'function') {\r\n return propValue.apply(actualModel, args);\r\n }\r\n return propValue;\r\n };\r\n }\r\n });\r\n\r\n return modelProxy;\r\n}\r\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReturnModelType, Ref } from '@typegoose/typegoose';
|
|
2
|
+
import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
|
|
3
|
+
import { UpdatedField } from '../../../utilities/enum';
|
|
4
|
+
import { Admin } from './admin.model';
|
|
5
|
+
export declare class ActivityLog extends TimeStamps {
|
|
6
|
+
admin: Ref<Admin>;
|
|
7
|
+
updatedField: UpdatedField;
|
|
8
|
+
oldDocument: any;
|
|
9
|
+
newDocument: any;
|
|
10
|
+
}
|
|
11
|
+
export declare const ActivityLogModel: ReturnModelType<typeof ActivityLog>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.ActivityLogModel = exports.ActivityLog = void 0;
|
|
13
|
+
const typegoose_1 = require("@typegoose/typegoose");
|
|
14
|
+
const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
|
|
15
|
+
const enum_1 = require("../../../utilities/enum");
|
|
16
|
+
const admin_model_1 = require("./admin.model");
|
|
17
|
+
let ActivityLog = class ActivityLog extends defaultClasses_1.TimeStamps {
|
|
18
|
+
admin;
|
|
19
|
+
updatedField;
|
|
20
|
+
oldDocument;
|
|
21
|
+
newDocument;
|
|
22
|
+
};
|
|
23
|
+
exports.ActivityLog = ActivityLog;
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, typegoose_1.prop)({ required: true, ref: () => admin_model_1.Admin }),
|
|
26
|
+
__metadata("design:type", Object)
|
|
27
|
+
], ActivityLog.prototype, "admin", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, typegoose_1.prop)({ required: true, type: String, enum: enum_1.UpdatedField }),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], ActivityLog.prototype, "updatedField", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, typegoose_1.prop)({ required: true, type: typegoose_1.mongoose.Schema.Types.Mixed }),
|
|
34
|
+
__metadata("design:type", Object)
|
|
35
|
+
], ActivityLog.prototype, "oldDocument", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, typegoose_1.prop)({ required: true, type: typegoose_1.mongoose.Schema.Types.Mixed }),
|
|
38
|
+
__metadata("design:type", Object)
|
|
39
|
+
], ActivityLog.prototype, "newDocument", void 0);
|
|
40
|
+
exports.ActivityLog = ActivityLog = __decorate([
|
|
41
|
+
(0, typegoose_1.modelOptions)({ schemaOptions: { collection: 'activityLogs' } })
|
|
42
|
+
], ActivityLog);
|
|
43
|
+
exports.ActivityLogModel = (0, typegoose_1.getModelForClass)(ActivityLog);
|
|
44
|
+
//# sourceMappingURL=activity-log.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"activity-log.model.js","sourceRoot":"/","sources":["libraries/mongo/models/activity-log.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA4G;AAC5G,4EAAqE;AACrE,kDAAuD;AACvD,+CAAsC;AAG/B,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,2BAAU;IAEnC,KAAK,CAAc;IAGnB,YAAY,CAAgB;IAG5B,WAAW,CAAO;IAGlB,WAAW,CAAO;CACzB,CAAA;AAZY,kCAAW;AAEhB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,CAAC;;0CACjB;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAY,EAAE,CAAC;;iDACxB;AAG5B;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;;gDACnC;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,oBAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;;gDACnC;sBAXb,WAAW;IADvB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,cAAc,EAAE,EAAE,CAAC;GACnD,WAAW,CAYvB;AAEY,QAAA,gBAAgB,GAAwC,IAAA,4BAAgB,EAAC,WAAW,CAAC,CAAC","sourcesContent":["import { modelOptions, prop, getModelForClass, ReturnModelType, mongoose, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { UpdatedField } from '../../../utilities/enum';\r\nimport { Admin } from './admin.model';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'activityLogs' } })\r\nexport class ActivityLog extends TimeStamps {\r\n\t@prop({ required: true, ref: () => Admin })\r\n\tpublic admin!: Ref<Admin>;\r\n\r\n\t@prop({ required: true, type: String, enum: UpdatedField })\r\n\tpublic updatedField!: UpdatedField;\r\n\r\n\t@prop({ required: true, type: mongoose.Schema.Types.Mixed })\r\n\tpublic oldDocument!: any;\r\n\r\n\t@prop({ required: true, type: mongoose.Schema.Types.Mixed })\r\n\tpublic newDocument!: any;\r\n}\r\n\r\nexport const ActivityLogModel: ReturnModelType<typeof ActivityLog> = getModelForClass(ActivityLog);\r\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReturnModelType, Ref } from '@typegoose/typegoose';
|
|
2
|
+
import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
|
|
3
|
+
import { AdminRole } from '../../../utilities/enum';
|
|
4
|
+
import { Admin } from './admin.model';
|
|
5
|
+
export declare class AdminAccessControl extends TimeStamps {
|
|
6
|
+
email: string;
|
|
7
|
+
password: string;
|
|
8
|
+
admin: Ref<Admin>;
|
|
9
|
+
role: AdminRole;
|
|
10
|
+
}
|
|
11
|
+
export declare const AdminAccessControlModel: ReturnModelType<typeof AdminAccessControl>;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.AdminAccessControlModel = exports.AdminAccessControl = void 0;
|
|
16
|
+
const typegoose_1 = require("@typegoose/typegoose");
|
|
17
|
+
const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
|
|
18
|
+
const bcryptjs_1 = __importDefault(require("bcryptjs"));
|
|
19
|
+
const enum_1 = require("../../../utilities/enum");
|
|
20
|
+
const admin_model_1 = require("./admin.model");
|
|
21
|
+
let AdminAccessControl = class AdminAccessControl extends defaultClasses_1.TimeStamps {
|
|
22
|
+
email;
|
|
23
|
+
password;
|
|
24
|
+
admin;
|
|
25
|
+
role;
|
|
26
|
+
};
|
|
27
|
+
exports.AdminAccessControl = AdminAccessControl;
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, typegoose_1.prop)({ required: true, type: String, unique: true }),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], AdminAccessControl.prototype, "email", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, typegoose_1.prop)({ required: true, type: String }),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], AdminAccessControl.prototype, "password", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, typegoose_1.prop)({ required: true, ref: () => admin_model_1.Admin }),
|
|
38
|
+
__metadata("design:type", Object)
|
|
39
|
+
], AdminAccessControl.prototype, "admin", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, typegoose_1.prop)({ required: true, type: String, enum: enum_1.AdminRole }),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], AdminAccessControl.prototype, "role", void 0);
|
|
44
|
+
exports.AdminAccessControl = AdminAccessControl = __decorate([
|
|
45
|
+
(0, typegoose_1.pre)('save', async function (next) {
|
|
46
|
+
if (this.isModified('password')) {
|
|
47
|
+
const salt = await bcryptjs_1.default.genSalt(10);
|
|
48
|
+
this.password = await bcryptjs_1.default.hash(this.password, salt);
|
|
49
|
+
}
|
|
50
|
+
next();
|
|
51
|
+
}),
|
|
52
|
+
(0, typegoose_1.modelOptions)({ schemaOptions: { collection: 'adminAccessControls' } })
|
|
53
|
+
], AdminAccessControl);
|
|
54
|
+
exports.AdminAccessControlModel = (0, typegoose_1.getModelForClass)(AdminAccessControl);
|
|
55
|
+
//# sourceMappingURL=admin-access-control.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin-access-control.model.js","sourceRoot":"/","sources":["libraries/mongo/models/admin-access-control.model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,oDAAuG;AACvG,4EAAqE;AACrE,wDAA8B;AAC9B,kDAAoD;AACpD,+CAAsC;AAU/B,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,2BAAU;IAE1C,KAAK,CAAU;IAGf,QAAQ,CAAU;IAGlB,KAAK,CAAc;IAGnB,IAAI,CAAa;CACxB,CAAA;AAZY,gDAAkB;AAEvB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;iDAC/B;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;oDACd;AAGlB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,mBAAK,EAAE,CAAC;;iDACjB;AAGnB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAS,EAAE,CAAC;;gDAChC;6BAXZ,kBAAkB;IAR9B,IAAA,eAAG,EAAqB,MAAM,EAAE,KAAK,WAAW,IAAI;QACpD,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,qBAAqB,EAAE,EAAE,CAAC;GAC1D,kBAAkB,CAY9B;AAEY,QAAA,uBAAuB,GACnC,IAAA,4BAAgB,EAAC,kBAAkB,CAAC,CAAC","sourcesContent":["import { modelOptions, prop, getModelForClass, pre, ReturnModelType, Ref } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport bcrypt from 'bcryptjs';\r\nimport { AdminRole } from '../../../utilities/enum';\r\nimport { Admin } from './admin.model';\r\n\r\n@pre<AdminAccessControl>('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: 'adminAccessControls' } })\r\nexport class AdminAccessControl 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: () => Admin })\r\n\tpublic admin!: Ref<Admin>;\r\n\r\n\t@prop({ required: true, type: String, enum: AdminRole })\r\n\tpublic role!: AdminRole;\r\n}\r\n\r\nexport const AdminAccessControlModel: ReturnModelType<typeof AdminAccessControl> =\r\n\tgetModelForClass(AdminAccessControl);\r\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReturnModelType } from '@typegoose/typegoose';
|
|
2
|
+
import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
|
|
3
|
+
export declare class Admin extends TimeStamps {
|
|
4
|
+
name: string;
|
|
5
|
+
profilePhoto?: string;
|
|
6
|
+
phoneNumber: string;
|
|
7
|
+
isPhoneVerified?: boolean;
|
|
8
|
+
status?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const AdminModel: ReturnModelType<typeof Admin>;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AdminModel = exports.Admin = void 0;
|
|
13
|
+
const typegoose_1 = require("@typegoose/typegoose");
|
|
14
|
+
const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
|
|
15
|
+
const enum_1 = require("../../../utilities/enum");
|
|
16
|
+
let Admin = class Admin extends defaultClasses_1.TimeStamps {
|
|
17
|
+
name;
|
|
18
|
+
profilePhoto;
|
|
19
|
+
phoneNumber;
|
|
20
|
+
isPhoneVerified;
|
|
21
|
+
status;
|
|
22
|
+
};
|
|
23
|
+
exports.Admin = Admin;
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, typegoose_1.prop)({ required: true, type: String }),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], Admin.prototype, "name", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, typegoose_1.prop)({ type: String }),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], Admin.prototype, "profilePhoto", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, typegoose_1.prop)({ required: true, type: String }),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], Admin.prototype, "phoneNumber", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, typegoose_1.prop)({ type: Boolean, default: false }),
|
|
38
|
+
__metadata("design:type", Boolean)
|
|
39
|
+
], Admin.prototype, "isPhoneVerified", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, typegoose_1.prop)({ type: String, enum: enum_1.Status, default: enum_1.Status.ACTIVE }),
|
|
42
|
+
__metadata("design:type", String)
|
|
43
|
+
], Admin.prototype, "status", void 0);
|
|
44
|
+
exports.Admin = Admin = __decorate([
|
|
45
|
+
(0, typegoose_1.modelOptions)({ schemaOptions: { collection: 'admins' } })
|
|
46
|
+
], Admin);
|
|
47
|
+
exports.AdminModel = (0, typegoose_1.getModelForClass)(Admin);
|
|
48
|
+
//# sourceMappingURL=admin.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.model.js","sourceRoot":"/","sources":["libraries/mongo/models/admin.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6F;AAC7F,4EAAqE;AACrE,kDAAiD;AAG1C,IAAM,KAAK,GAAX,MAAM,KAAM,SAAQ,2BAAU;IAE7B,IAAI,CAAU;IAGd,YAAY,CAAU;IAGtB,WAAW,CAAU;IAGrB,eAAe,CAAW;IAG1B,MAAM,CAAU;CACvB,CAAA;AAfY,sBAAK;AAEV;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;mCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;2CACM;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0CACX;AAGrB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;8CACP;AAG1B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;qCACtC;gBAdX,KAAK;IADjB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,CAAC;GAC7C,KAAK,CAejB;AAEY,QAAA,UAAU,GAAkC,IAAA,4BAAgB,EAAC,KAAK,CAAC,CAAC","sourcesContent":["import { modelOptions, prop, getModelForClass, ReturnModelType } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { Status } from '../../../utilities/enum';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'admins' } })\r\nexport class Admin 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 profilePhoto?: string;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic phoneNumber!: string;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isPhoneVerified?: boolean;\r\n\r\n\t@prop({ type: String, enum: Status, default: Status.ACTIVE })\r\n\tpublic status?: string;\r\n}\r\n\r\nexport const AdminModel: ReturnModelType<typeof Admin> = getModelForClass(Admin);\r\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ReturnModelType } from '@typegoose/typegoose';
|
|
2
|
+
import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
|
|
3
|
+
import { ItemType, SectionType, Status } from '../../../utilities/enum';
|
|
4
|
+
export declare class AppScreenSetting extends TimeStamps {
|
|
5
|
+
itemType: ItemType;
|
|
6
|
+
section: SectionType;
|
|
7
|
+
alias: string;
|
|
8
|
+
status?: Status;
|
|
9
|
+
sortingOrder?: number;
|
|
10
|
+
}
|
|
11
|
+
export declare const AppScreenSettingModel: ReturnModelType<typeof AppScreenSetting>;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AppScreenSettingModel = exports.AppScreenSetting = void 0;
|
|
13
|
+
const typegoose_1 = require("@typegoose/typegoose");
|
|
14
|
+
const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
|
|
15
|
+
const enum_1 = require("../../../utilities/enum");
|
|
16
|
+
let AppScreenSetting = class AppScreenSetting extends defaultClasses_1.TimeStamps {
|
|
17
|
+
itemType;
|
|
18
|
+
section;
|
|
19
|
+
alias;
|
|
20
|
+
status;
|
|
21
|
+
sortingOrder;
|
|
22
|
+
};
|
|
23
|
+
exports.AppScreenSetting = AppScreenSetting;
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, typegoose_1.prop)({ required: true, type: String, enum: enum_1.ItemType }),
|
|
26
|
+
__metadata("design:type", String)
|
|
27
|
+
], AppScreenSetting.prototype, "itemType", void 0);
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, typegoose_1.prop)({ required: true, type: String, enum: enum_1.SectionType }),
|
|
30
|
+
__metadata("design:type", String)
|
|
31
|
+
], AppScreenSetting.prototype, "section", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, typegoose_1.prop)({ required: true, type: String }),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], AppScreenSetting.prototype, "alias", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, typegoose_1.prop)({ type: String, enum: enum_1.Status, default: enum_1.Status.ACTIVE }),
|
|
38
|
+
__metadata("design:type", String)
|
|
39
|
+
], AppScreenSetting.prototype, "status", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, typegoose_1.prop)({ type: Number, default: 0 }),
|
|
42
|
+
__metadata("design:type", Number)
|
|
43
|
+
], AppScreenSetting.prototype, "sortingOrder", void 0);
|
|
44
|
+
exports.AppScreenSetting = AppScreenSetting = __decorate([
|
|
45
|
+
(0, typegoose_1.modelOptions)({ schemaOptions: { collection: 'appScreenSettings' } })
|
|
46
|
+
], AppScreenSetting);
|
|
47
|
+
exports.AppScreenSettingModel = (0, typegoose_1.getModelForClass)(AppScreenSetting);
|
|
48
|
+
//# sourceMappingURL=app-screen-setting.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-screen-setting.model.js","sourceRoot":"/","sources":["libraries/mongo/models/app-screen-setting.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAA6F;AAC7F,4EAAqE;AACrE,kDAAwE;AAGjE,IAAM,gBAAgB,GAAtB,MAAM,gBAAiB,SAAQ,2BAAU;IAExC,QAAQ,CAAY;IAGpB,OAAO,CAAe;IAGtB,KAAK,CAAU;IAGf,MAAM,CAAU;IAGhB,YAAY,CAAU;CAC7B,CAAA;AAfY,4CAAgB;AAErB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,eAAQ,EAAE,CAAC;;kDAC5B;AAGpB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,kBAAW,EAAE,CAAC;;iDAC7B;AAGtB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;+CACjB;AAGf;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,aAAM,EAAE,OAAO,EAAE,aAAM,CAAC,MAAM,EAAE,CAAC;;gDACtC;AAGhB;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;sDACN;2BAdjB,gBAAgB;IAD5B,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,mBAAmB,EAAE,EAAE,CAAC;GACxD,gBAAgB,CAe5B;AAEY,QAAA,qBAAqB,GACjC,IAAA,4BAAgB,EAAC,gBAAgB,CAAC,CAAC","sourcesContent":["import { getModelForClass, modelOptions, prop, ReturnModelType } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { ItemType, SectionType, Status } from '../../../utilities/enum';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'appScreenSettings' } })\r\nexport class AppScreenSetting extends TimeStamps {\r\n\t@prop({ required: true, type: String, enum: ItemType })\r\n\tpublic itemType!: ItemType;\r\n\r\n\t@prop({ required: true, type: String, enum: SectionType })\r\n\tpublic section!: SectionType;\r\n\r\n\t@prop({ required: true, type: String })\r\n\tpublic alias!: 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\r\nexport const AppScreenSettingModel: ReturnModelType<typeof AppScreenSetting> =\r\n\tgetModelForClass(AppScreenSetting);\r\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Ref, ReturnModelType } from '@typegoose/typegoose';
|
|
2
|
+
import { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';
|
|
3
|
+
import { AttributeItem } from './embedded/attribute-item.model';
|
|
4
|
+
import { AttributeItemSelectionType } from '../../../utilities/enum';
|
|
5
|
+
import { Shop } from './shop.model';
|
|
6
|
+
export declare class Attribute extends TimeStamps {
|
|
7
|
+
shop: Ref<Shop>;
|
|
8
|
+
name: string;
|
|
9
|
+
isRequired?: boolean;
|
|
10
|
+
selectionType: AttributeItemSelectionType;
|
|
11
|
+
minimumRequiredItems?: number;
|
|
12
|
+
maximumRequiredItems?: number;
|
|
13
|
+
items?: AttributeItem[];
|
|
14
|
+
}
|
|
15
|
+
export declare const AttributeModel: ReturnModelType<typeof Attribute>;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.AttributeModel = exports.Attribute = void 0;
|
|
13
|
+
const typegoose_1 = require("@typegoose/typegoose");
|
|
14
|
+
const defaultClasses_1 = require("@typegoose/typegoose/lib/defaultClasses");
|
|
15
|
+
const attribute_item_model_1 = require("./embedded/attribute-item.model");
|
|
16
|
+
const enum_1 = require("../../../utilities/enum");
|
|
17
|
+
const shop_model_1 = require("./shop.model");
|
|
18
|
+
let Attribute = class Attribute extends defaultClasses_1.TimeStamps {
|
|
19
|
+
shop;
|
|
20
|
+
name;
|
|
21
|
+
isRequired;
|
|
22
|
+
selectionType;
|
|
23
|
+
minimumRequiredItems;
|
|
24
|
+
maximumRequiredItems;
|
|
25
|
+
items;
|
|
26
|
+
};
|
|
27
|
+
exports.Attribute = Attribute;
|
|
28
|
+
__decorate([
|
|
29
|
+
(0, typegoose_1.prop)({ required: true, ref: () => shop_model_1.Shop }),
|
|
30
|
+
__metadata("design:type", Object)
|
|
31
|
+
], Attribute.prototype, "shop", void 0);
|
|
32
|
+
__decorate([
|
|
33
|
+
(0, typegoose_1.prop)({ required: true, type: String }),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], Attribute.prototype, "name", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, typegoose_1.prop)({ type: Boolean, default: false }),
|
|
38
|
+
__metadata("design:type", Boolean)
|
|
39
|
+
], Attribute.prototype, "isRequired", void 0);
|
|
40
|
+
__decorate([
|
|
41
|
+
(0, typegoose_1.prop)({
|
|
42
|
+
required: true,
|
|
43
|
+
type: String,
|
|
44
|
+
enum: enum_1.AttributeItemSelectionType,
|
|
45
|
+
default: enum_1.AttributeItemSelectionType.SINGLE,
|
|
46
|
+
}),
|
|
47
|
+
__metadata("design:type", String)
|
|
48
|
+
], Attribute.prototype, "selectionType", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
(0, typegoose_1.prop)({ type: Number, min: 0, default: 0 }),
|
|
51
|
+
__metadata("design:type", Number)
|
|
52
|
+
], Attribute.prototype, "minimumRequiredItems", void 0);
|
|
53
|
+
__decorate([
|
|
54
|
+
(0, typegoose_1.prop)({ type: Number, min: 0, default: 0 }),
|
|
55
|
+
__metadata("design:type", Number)
|
|
56
|
+
], Attribute.prototype, "maximumRequiredItems", void 0);
|
|
57
|
+
__decorate([
|
|
58
|
+
(0, typegoose_1.prop)({ type: [attribute_item_model_1.AttributeItem], default: [] }),
|
|
59
|
+
__metadata("design:type", Array)
|
|
60
|
+
], Attribute.prototype, "items", void 0);
|
|
61
|
+
exports.Attribute = Attribute = __decorate([
|
|
62
|
+
(0, typegoose_1.modelOptions)({ schemaOptions: { collection: 'attributes' } })
|
|
63
|
+
], Attribute);
|
|
64
|
+
exports.AttributeModel = (0, typegoose_1.getModelForClass)(Attribute);
|
|
65
|
+
//# sourceMappingURL=attribute.model.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"attribute.model.js","sourceRoot":"/","sources":["libraries/mongo/models/attribute.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,oDAAkG;AAClG,4EAAqE;AACrE,0EAAgE;AAChE,kDAAqE;AACrE,6CAAoC;AAG7B,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,2BAAU;IAEjC,IAAI,CAAa;IAGjB,IAAI,CAAU;IAGd,UAAU,CAAW;IAQrB,aAAa,CAA8B;IAG3C,oBAAoB,CAAU;IAG9B,oBAAoB,CAAU;IAG9B,KAAK,CAAmB;CAC/B,CAAA;AA1BY,8BAAS;AAEd;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,iBAAI,EAAE,CAAC;;uCAClB;AAGjB;IADN,IAAA,gBAAI,EAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uCAClB;AAGd;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;;6CACZ;AAQrB;IANN,IAAA,gBAAI,EAAC;QACL,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,iCAA0B;QAChC,OAAO,EAAE,iCAA0B,CAAC,MAAM;KAC1C,CAAC;;gDACgD;AAG3C;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDACN;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;;uDACN;AAG9B;IADN,IAAA,gBAAI,EAAC,EAAE,IAAI,EAAE,CAAC,oCAAa,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;;wCACd;oBAzBnB,SAAS;IADrB,IAAA,wBAAY,EAAC,EAAE,aAAa,EAAE,EAAE,UAAU,EAAE,YAAY,EAAE,EAAE,CAAC;GACjD,SAAS,CA0BrB;AAEY,QAAA,cAAc,GAAsC,IAAA,4BAAgB,EAAC,SAAS,CAAC,CAAC","sourcesContent":["import { getModelForClass, modelOptions, prop, Ref, ReturnModelType } from '@typegoose/typegoose';\r\nimport { TimeStamps } from '@typegoose/typegoose/lib/defaultClasses';\r\nimport { AttributeItem } from './embedded/attribute-item.model';\r\nimport { AttributeItemSelectionType } from '../../../utilities/enum';\r\nimport { Shop } from './shop.model';\r\n\r\n@modelOptions({ schemaOptions: { collection: 'attributes' } })\r\nexport class Attribute 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 })\r\n\tpublic name!: string;\r\n\r\n\t@prop({ type: Boolean, default: false })\r\n\tpublic isRequired?: boolean;\r\n\r\n\t@prop({\r\n\t\trequired: true,\r\n\t\ttype: String,\r\n\t\tenum: AttributeItemSelectionType,\r\n\t\tdefault: AttributeItemSelectionType.SINGLE,\r\n\t})\r\n\tpublic selectionType!: AttributeItemSelectionType;\r\n\r\n\t@prop({ type: Number, min: 0, default: 0 })\r\n\tpublic minimumRequiredItems?: number;\r\n\r\n\t@prop({ type: Number, min: 0, default: 0 })\r\n\tpublic maximumRequiredItems?: number;\r\n\r\n\t@prop({ type: [AttributeItem], default: [] })\r\n\tpublic items?: AttributeItem[];\r\n}\r\n\r\nexport const AttributeModel: ReturnModelType<typeof Attribute> = getModelForClass(Attribute);\r\n"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Ref, ReturnModelType } from '@typegoose/typegoose';
|
|
2
|
+
import { AuthIdentityType } from '../../../utilities/enum';
|
|
3
|
+
import { User } from './user.model';
|
|
4
|
+
export declare class AuthIdentity {
|
|
5
|
+
user: Ref<User>;
|
|
6
|
+
type: AuthIdentityType;
|
|
7
|
+
}
|
|
8
|
+
export declare const AuthIdentityModel: ReturnModelType<typeof AuthIdentity>;
|