@reachu/database 1.0.0
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/.babelrc +28 -0
- package/.env.test +50 -0
- package/.eslintrc.json +23 -0
- package/.nvmrc +1 -0
- package/.prettierrc +6 -0
- package/.vscode/launch.json +13 -0
- package/.vscode/settings.json +3 -0
- package/README.md +17 -0
- package/dist/config/connect.d.ts +2 -0
- package/dist/config/connect.js +34 -0
- package/dist/config/connect.js.map +1 -0
- package/dist/entity/Address.d.ts +9 -0
- package/dist/entity/Address.js +44 -0
- package/dist/entity/Address.js.map +1 -0
- package/dist/entity/ApiCredential.d.ts +8 -0
- package/dist/entity/ApiCredential.js +41 -0
- package/dist/entity/ApiCredential.js.map +1 -0
- package/dist/entity/AuditedModel.d.ts +4 -0
- package/dist/entity/AuditedModel.js +24 -0
- package/dist/entity/AuditedModel.js.map +1 -0
- package/dist/entity/BankAccount.d.ts +11 -0
- package/dist/entity/BankAccount.js +55 -0
- package/dist/entity/BankAccount.js.map +1 -0
- package/dist/entity/Business.d.ts +21 -0
- package/dist/entity/Business.js +83 -0
- package/dist/entity/Business.js.map +1 -0
- package/dist/entity/BusinessProducts.d.ts +6 -0
- package/dist/entity/BusinessProducts.js +32 -0
- package/dist/entity/BusinessProducts.js.map +1 -0
- package/dist/entity/CardRegistration.d.ts +10 -0
- package/dist/entity/CardRegistration.js +51 -0
- package/dist/entity/CardRegistration.js.map +1 -0
- package/dist/entity/Category.d.ts +7 -0
- package/dist/entity/Category.js +36 -0
- package/dist/entity/Category.js.map +1 -0
- package/dist/entity/Channel.d.ts +12 -0
- package/dist/entity/Channel.js +56 -0
- package/dist/entity/Channel.js.map +1 -0
- package/dist/entity/ChannelGroup.d.ts +15 -0
- package/dist/entity/ChannelGroup.js +77 -0
- package/dist/entity/ChannelGroup.js.map +1 -0
- package/dist/entity/ChannelUser.d.ts +13 -0
- package/dist/entity/ChannelUser.js +59 -0
- package/dist/entity/ChannelUser.js.map +1 -0
- package/dist/entity/ChannelUserProductSync.d.ts +12 -0
- package/dist/entity/ChannelUserProductSync.js +63 -0
- package/dist/entity/ChannelUserProductSync.js.map +1 -0
- package/dist/entity/Check.d.ts +5 -0
- package/dist/entity/Check.js +28 -0
- package/dist/entity/Check.js.map +1 -0
- package/dist/entity/CheckoutMetadata.d.ts +6 -0
- package/dist/entity/CheckoutMetadata.js +35 -0
- package/dist/entity/CheckoutMetadata.js.map +1 -0
- package/dist/entity/Collection.d.ts +16 -0
- package/dist/entity/Collection.js +73 -0
- package/dist/entity/Collection.js.map +1 -0
- package/dist/entity/CollectionItem.d.ts +10 -0
- package/dist/entity/CollectionItem.js +47 -0
- package/dist/entity/CollectionItem.js.map +1 -0
- package/dist/entity/CollectionShared.d.ts +11 -0
- package/dist/entity/CollectionShared.js +51 -0
- package/dist/entity/CollectionShared.js.map +1 -0
- package/dist/entity/Contact.d.ts +9 -0
- package/dist/entity/Contact.js +44 -0
- package/dist/entity/Contact.js.map +1 -0
- package/dist/entity/Country.d.ts +7 -0
- package/dist/entity/Country.js +36 -0
- package/dist/entity/Country.js.map +1 -0
- package/dist/entity/Courier.d.ts +7 -0
- package/dist/entity/Courier.js +39 -0
- package/dist/entity/Courier.js.map +1 -0
- package/dist/entity/Currency.d.ts +7 -0
- package/dist/entity/Currency.js +39 -0
- package/dist/entity/Currency.js.map +1 -0
- package/dist/entity/CustomProduct.d.ts +22 -0
- package/dist/entity/CustomProduct.js +95 -0
- package/dist/entity/CustomProduct.js.map +1 -0
- package/dist/entity/CustomProductImage.d.ts +10 -0
- package/dist/entity/CustomProductImage.js +51 -0
- package/dist/entity/CustomProductImage.js.map +1 -0
- package/dist/entity/CustomVariant.d.ts +13 -0
- package/dist/entity/CustomVariant.js +59 -0
- package/dist/entity/CustomVariant.js.map +1 -0
- package/dist/entity/ExchangeRate.d.ts +8 -0
- package/dist/entity/ExchangeRate.js +43 -0
- package/dist/entity/ExchangeRate.js.map +1 -0
- package/dist/entity/FlatRate.d.ts +9 -0
- package/dist/entity/FlatRate.js +45 -0
- package/dist/entity/FlatRate.js.map +1 -0
- package/dist/entity/FlatRateCountry.d.ts +7 -0
- package/dist/entity/FlatRateCountry.js +39 -0
- package/dist/entity/FlatRateCountry.js.map +1 -0
- package/dist/entity/Fulfillment.d.ts +5 -0
- package/dist/entity/Fulfillment.js +28 -0
- package/dist/entity/Fulfillment.js.map +1 -0
- package/dist/entity/Image.d.ts +10 -0
- package/dist/entity/Image.js +49 -0
- package/dist/entity/Image.js.map +1 -0
- package/dist/entity/ImportedProduct.d.ts +14 -0
- package/dist/entity/ImportedProduct.js +66 -0
- package/dist/entity/ImportedProduct.js.map +1 -0
- package/dist/entity/MagentoConnection.entity.d.ts +13 -0
- package/dist/entity/MagentoConnection.entity.js +65 -0
- package/dist/entity/MagentoConnection.entity.js.map +1 -0
- package/dist/entity/MetricActiveUser.d.ts +8 -0
- package/dist/entity/MetricActiveUser.js +43 -0
- package/dist/entity/MetricActiveUser.js.map +1 -0
- package/dist/entity/Notification.d.ts +20 -0
- package/dist/entity/Notification.js +58 -0
- package/dist/entity/Notification.js.map +1 -0
- package/dist/entity/Option.d.ts +9 -0
- package/dist/entity/Option.js +45 -0
- package/dist/entity/Option.js.map +1 -0
- package/dist/entity/Order.d.ts +29 -0
- package/dist/entity/Order.js +106 -0
- package/dist/entity/Order.js.map +1 -0
- package/dist/entity/OrderCustomer.d.ts +17 -0
- package/dist/entity/OrderCustomer.js +76 -0
- package/dist/entity/OrderCustomer.js.map +1 -0
- package/dist/entity/OrderItem.d.ts +36 -0
- package/dist/entity/OrderItem.js +159 -0
- package/dist/entity/OrderItem.js.map +1 -0
- package/dist/entity/OrderShipping.d.ts +12 -0
- package/dist/entity/OrderShipping.js +69 -0
- package/dist/entity/OrderShipping.js.map +1 -0
- package/dist/entity/OrderTracking.d.ts +16 -0
- package/dist/entity/OrderTracking.js +73 -0
- package/dist/entity/OrderTracking.js.map +1 -0
- package/dist/entity/Payment.d.ts +19 -0
- package/dist/entity/Payment.js +85 -0
- package/dist/entity/Payment.js.map +1 -0
- package/dist/entity/PaymentMethod.d.ts +9 -0
- package/dist/entity/PaymentMethod.js +48 -0
- package/dist/entity/PaymentMethod.js.map +1 -0
- package/dist/entity/PaymentShopify.d.ts +7 -0
- package/dist/entity/PaymentShopify.js +39 -0
- package/dist/entity/PaymentShopify.js.map +1 -0
- package/dist/entity/Permission.d.ts +5 -0
- package/dist/entity/Permission.js +31 -0
- package/dist/entity/Permission.js.map +1 -0
- package/dist/entity/Price.entity.d.ts +5 -0
- package/dist/entity/Price.entity.js +29 -0
- package/dist/entity/Price.entity.js.map +1 -0
- package/dist/entity/Product.entity.d.ts +63 -0
- package/dist/entity/Product.entity.js +256 -0
- package/dist/entity/Product.entity.js.map +1 -0
- package/dist/entity/Request.d.ts +8 -0
- package/dist/entity/Request.js +42 -0
- package/dist/entity/Request.js.map +1 -0
- package/dist/entity/Return.d.ts +8 -0
- package/dist/entity/Return.js +40 -0
- package/dist/entity/Return.js.map +1 -0
- package/dist/entity/ReturnAddress.d.ts +10 -0
- package/dist/entity/ReturnAddress.js +48 -0
- package/dist/entity/ReturnAddress.js.map +1 -0
- package/dist/entity/Role.d.ts +7 -0
- package/dist/entity/Role.js +42 -0
- package/dist/entity/Role.js.map +1 -0
- package/dist/entity/RolePermission.d.ts +8 -0
- package/dist/entity/RolePermission.js +40 -0
- package/dist/entity/RolePermission.js.map +1 -0
- package/dist/entity/ShippingPackage.d.ts +7 -0
- package/dist/entity/ShippingPackage.js +39 -0
- package/dist/entity/ShippingPackage.js.map +1 -0
- package/dist/entity/ShopifyConnection.d.ts +13 -0
- package/dist/entity/ShopifyConnection.js +65 -0
- package/dist/entity/ShopifyConnection.js.map +1 -0
- package/dist/entity/Subcategory.d.ts +7 -0
- package/dist/entity/Subcategory.js +36 -0
- package/dist/entity/Subcategory.js.map +1 -0
- package/dist/entity/User.d.ts +87 -0
- package/dist/entity/User.js +321 -0
- package/dist/entity/User.js.map +1 -0
- package/dist/entity/UserChannelApiKey.d.ts +10 -0
- package/dist/entity/UserChannelApiKey.js +47 -0
- package/dist/entity/UserChannelApiKey.js.map +1 -0
- package/dist/entity/UserRole.d.ts +8 -0
- package/dist/entity/UserRole.js +40 -0
- package/dist/entity/UserRole.js.map +1 -0
- package/dist/entity/UserSettings.d.ts +12 -0
- package/dist/entity/UserSettings.js +54 -0
- package/dist/entity/UserSettings.js.map +1 -0
- package/dist/entity/UserTokenWolt.d.ts +8 -0
- package/dist/entity/UserTokenWolt.js +41 -0
- package/dist/entity/UserTokenWolt.js.map +1 -0
- package/dist/entity/Variant.d.ts +17 -0
- package/dist/entity/Variant.js +75 -0
- package/dist/entity/Variant.js.map +1 -0
- package/dist/entity/Wallet.d.ts +6 -0
- package/dist/entity/Wallet.js +35 -0
- package/dist/entity/Wallet.js.map +1 -0
- package/dist/entity/WooConnection.d.ts +9 -0
- package/dist/entity/WooConnection.js +48 -0
- package/dist/entity/WooConnection.js.map +1 -0
- package/dist/entity/index.d.ts +71 -0
- package/dist/entity/index.js +148 -0
- package/dist/entity/index.js.map +1 -0
- package/dist/entity/modules/shipping/ProductShipping.d.ts +10 -0
- package/dist/entity/modules/shipping/ProductShipping.js +53 -0
- package/dist/entity/modules/shipping/ProductShipping.js.map +1 -0
- package/dist/entity/modules/shipping/Shipping.d.ts +15 -0
- package/dist/entity/modules/shipping/Shipping.js +70 -0
- package/dist/entity/modules/shipping/Shipping.js.map +1 -0
- package/dist/entity/modules/shipping/ShippingCountry.d.ts +10 -0
- package/dist/entity/modules/shipping/ShippingCountry.js +52 -0
- package/dist/entity/modules/shipping/ShippingCountry.js.map +1 -0
- package/dist/entity/modules/shopcart/Cart.d.ts +14 -0
- package/dist/entity/modules/shopcart/Cart.js +60 -0
- package/dist/entity/modules/shopcart/Cart.js.map +1 -0
- package/dist/entity/modules/shopcart/CartItem.d.ts +13 -0
- package/dist/entity/modules/shopcart/CartItem.js +57 -0
- package/dist/entity/modules/shopcart/CartItem.js.map +1 -0
- package/dist/entity/modules/shopcart/Checkout.d.ts +23 -0
- package/dist/entity/modules/shopcart/Checkout.js +99 -0
- package/dist/entity/modules/shopcart/Checkout.js.map +1 -0
- package/dist/entity/modules/shopcart/CheckoutBillingAddress.d.ts +18 -0
- package/dist/entity/modules/shopcart/CheckoutBillingAddress.js +84 -0
- package/dist/entity/modules/shopcart/CheckoutBillingAddress.js.map +1 -0
- package/dist/entity/modules/shopcart/CheckoutShippingAddress.d.ts +18 -0
- package/dist/entity/modules/shopcart/CheckoutShippingAddress.js +84 -0
- package/dist/entity/modules/shopcart/CheckoutShippingAddress.js.map +1 -0
- package/dist/entity/modules/shopcart/PriceData.d.ts +8 -0
- package/dist/entity/modules/shopcart/PriceData.js +44 -0
- package/dist/entity/modules/shopcart/PriceData.js.map +1 -0
- package/dist/examples/app01.d.ts +1 -0
- package/dist/examples/app01.js +23 -0
- package/dist/examples/app01.js.map +1 -0
- package/dist/helpers/index.d.ts +5 -0
- package/dist/helpers/index.js +31 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/order/index.d.ts +28 -0
- package/dist/helpers/order/index.js +47 -0
- package/dist/helpers/order/index.js.map +1 -0
- package/dist/helpers/products/index.d.ts +2 -0
- package/dist/helpers/products/index.js +25 -0
- package/dist/helpers/products/index.js.map +1 -0
- package/dist/helpers/products/storage/index.d.ts +2 -0
- package/dist/helpers/products/storage/index.js +25 -0
- package/dist/helpers/products/storage/index.js.map +1 -0
- package/dist/helpers/products/storage/search.d.ts +52 -0
- package/dist/helpers/products/storage/search.js +181 -0
- package/dist/helpers/products/storage/search.js.map +1 -0
- package/dist/helpers/returns/index.d.ts +2 -0
- package/dist/helpers/returns/index.js +25 -0
- package/dist/helpers/returns/index.js.map +1 -0
- package/dist/helpers/returns/storage.d.ts +3 -0
- package/dist/helpers/returns/storage.js +23 -0
- package/dist/helpers/returns/storage.js.map +1 -0
- package/dist/helpers/statistics/connections.d.ts +6 -0
- package/dist/helpers/statistics/connections.js +78 -0
- package/dist/helpers/statistics/connections.js.map +1 -0
- package/dist/helpers/statistics/index.d.ts +2 -0
- package/dist/helpers/statistics/index.js +25 -0
- package/dist/helpers/statistics/index.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -0
- package/dist/interface/connectionConfig.d.ts +16 -0
- package/dist/interface/connectionConfig.js +3 -0
- package/dist/interface/connectionConfig.js.map +1 -0
- package/dist/migrations/1628474597284-InitialSchema.d.ts +6 -0
- package/dist/migrations/1628474597284-InitialSchema.js +203 -0
- package/dist/migrations/1628474597284-InitialSchema.js.map +1 -0
- package/dist/migrations/1630077596132-RemoveMangopay.d.ts +6 -0
- package/dist/migrations/1630077596132-RemoveMangopay.js +53 -0
- package/dist/migrations/1630077596132-RemoveMangopay.js.map +1 -0
- package/dist/migrations/1633444449026-MagentoIntegration.d.ts +6 -0
- package/dist/migrations/1633444449026-MagentoIntegration.js +42 -0
- package/dist/migrations/1633444449026-MagentoIntegration.js.map +1 -0
- package/dist/migrations/1634070448072-MagentoIntegrationExternalChannelOrder.d.ts +6 -0
- package/dist/migrations/1634070448072-MagentoIntegrationExternalChannelOrder.js +31 -0
- package/dist/migrations/1634070448072-MagentoIntegrationExternalChannelOrder.js.map +1 -0
- package/dist/migrations/1635811861541-SSCCOrderGenerator.d.ts +6 -0
- package/dist/migrations/1635811861541-SSCCOrderGenerator.js +29 -0
- package/dist/migrations/1635811861541-SSCCOrderGenerator.js.map +1 -0
- package/dist/migrations/1638447028594-RolesFeature.d.ts +6 -0
- package/dist/migrations/1638447028594-RolesFeature.js +47 -0
- package/dist/migrations/1638447028594-RolesFeature.js.map +1 -0
- package/dist/migrations/1638493697631-ProductCurrencyPrice.d.ts +6 -0
- package/dist/migrations/1638493697631-ProductCurrencyPrice.js +35 -0
- package/dist/migrations/1638493697631-ProductCurrencyPrice.js.map +1 -0
- package/dist/migrations/1646797095632-UpdateWooTrackingNumber.d.ts +6 -0
- package/dist/migrations/1646797095632-UpdateWooTrackingNumber.js +33 -0
- package/dist/migrations/1646797095632-UpdateWooTrackingNumber.js.map +1 -0
- package/dist/migrations/1648526519546-AddedUserSettings.d.ts +6 -0
- package/dist/migrations/1648526519546-AddedUserSettings.js +37 -0
- package/dist/migrations/1648526519546-AddedUserSettings.js.map +1 -0
- package/dist/migrations/1651206194365-Wolt.d.ts +6 -0
- package/dist/migrations/1651206194365-Wolt.js +52 -0
- package/dist/migrations/1651206194365-Wolt.js.map +1 -0
- package/dist/migrations/1663227133335-shop-cart.d.ts +6 -0
- package/dist/migrations/1663227133335-shop-cart.js +62 -0
- package/dist/migrations/1663227133335-shop-cart.js.map +1 -0
- package/dist/migrations/1664160721396-collection.d.ts +6 -0
- package/dist/migrations/1664160721396-collection.js +43 -0
- package/dist/migrations/1664160721396-collection.js.map +1 -0
- package/dist/migrations/1664222251306-update-collection.d.ts +6 -0
- package/dist/migrations/1664222251306-update-collection.js +37 -0
- package/dist/migrations/1664222251306-update-collection.js.map +1 -0
- package/dist/migrations/1665757388450-channel.d.ts +6 -0
- package/dist/migrations/1665757388450-channel.js +59 -0
- package/dist/migrations/1665757388450-channel.js.map +1 -0
- package/dist/migrations/1666098098114-prod-22-10-18.d.ts +6 -0
- package/dist/migrations/1666098098114-prod-22-10-18.js +110 -0
- package/dist/migrations/1666098098114-prod-22-10-18.js.map +1 -0
- package/dist/migrations/1666631086586-user-channel-api-key-and-currency.d.ts +6 -0
- package/dist/migrations/1666631086586-user-channel-api-key-and-currency.js +39 -0
- package/dist/migrations/1666631086586-user-channel-api-key-and-currency.js.map +1 -0
- package/dist/migrations/1666632054252-user-channel-api-key-and-currency-update.d.ts +6 -0
- package/dist/migrations/1666632054252-user-channel-api-key-and-currency-update.js +35 -0
- package/dist/migrations/1666632054252-user-channel-api-key-and-currency-update.js.map +1 -0
- package/dist/migrations/1666752877685-checkout-and-usser-settings.d.ts +6 -0
- package/dist/migrations/1666752877685-checkout-and-usser-settings.js +39 -0
- package/dist/migrations/1666752877685-checkout-and-usser-settings.js.map +1 -0
- package/dist/migrations/1666846907205-update-user-settings.d.ts +6 -0
- package/dist/migrations/1666846907205-update-user-settings.js +31 -0
- package/dist/migrations/1666846907205-update-user-settings.js.map +1 -0
- package/dist/migrations/1667259333252-prod-22-10-31.d.ts +6 -0
- package/dist/migrations/1667259333252-prod-22-10-31.js +43 -0
- package/dist/migrations/1667259333252-prod-22-10-31.js.map +1 -0
- package/dist/migrations/1667518502388-product-update.d.ts +6 -0
- package/dist/migrations/1667518502388-product-update.js +31 -0
- package/dist/migrations/1667518502388-product-update.js.map +1 -0
- package/dist/migrations/1668571948507-ExchangeRate.d.ts +6 -0
- package/dist/migrations/1668571948507-ExchangeRate.js +29 -0
- package/dist/migrations/1668571948507-ExchangeRate.js.map +1 -0
- package/dist/migrations/1668580085818-update-ExchangeRate.d.ts +6 -0
- package/dist/migrations/1668580085818-update-ExchangeRate.js +31 -0
- package/dist/migrations/1668580085818-update-ExchangeRate.js.map +1 -0
- package/dist/migrations/1669318273596-update-oder-notification.d.ts +6 -0
- package/dist/migrations/1669318273596-update-oder-notification.js +33 -0
- package/dist/migrations/1669318273596-update-oder-notification.js.map +1 -0
- package/dist/migrations/1669737769669-option.d.ts +6 -0
- package/dist/migrations/1669737769669-option.js +29 -0
- package/dist/migrations/1669737769669-option.js.map +1 -0
- package/dist/migrations/1669912111945-shipping.d.ts +6 -0
- package/dist/migrations/1669912111945-shipping.js +39 -0
- package/dist/migrations/1669912111945-shipping.js.map +1 -0
- package/dist/migrations/1670258127812-price.d.ts +6 -0
- package/dist/migrations/1670258127812-price.js +31 -0
- package/dist/migrations/1670258127812-price.js.map +1 -0
- package/dist/migrations/1670952109146-variant.d.ts +6 -0
- package/dist/migrations/1670952109146-variant.js +29 -0
- package/dist/migrations/1670952109146-variant.js.map +1 -0
- package/dist/migrations/1671409580304-order.d.ts +6 -0
- package/dist/migrations/1671409580304-order.js +33 -0
- package/dist/migrations/1671409580304-order.js.map +1 -0
- package/dist/migrations/1672239194236-user-shipping.d.ts +6 -0
- package/dist/migrations/1672239194236-user-shipping.js +31 -0
- package/dist/migrations/1672239194236-user-shipping.js.map +1 -0
- package/dist/migrations/1673628218703-promote_to_production_2023_13_01.d.ts +6 -0
- package/dist/migrations/1673628218703-promote_to_production_2023_13_01.js +67 -0
- package/dist/migrations/1673628218703-promote_to_production_2023_13_01.js.map +1 -0
- package/dist/migrations/1674016904315-exchangeRate_2023_13_01.d.ts +6 -0
- package/dist/migrations/1674016904315-exchangeRate_2023_13_01.js +29 -0
- package/dist/migrations/1674016904315-exchangeRate_2023_13_01.js.map +1 -0
- package/dist/migrations/1674743576475-promote_to_production_2023_26_01.d.ts +6 -0
- package/dist/migrations/1674743576475-promote_to_production_2023_26_01.js +29 -0
- package/dist/migrations/1674743576475-promote_to_production_2023_26_01.js.map +1 -0
- package/dist/migrations/1675452256156-task-1062.d.ts +6 -0
- package/dist/migrations/1675452256156-task-1062.js +39 -0
- package/dist/migrations/1675452256156-task-1062.js.map +1 -0
- package/dist/migrations/1676057445311-task-1062V2.d.ts +6 -0
- package/dist/migrations/1676057445311-task-1062V2.js +29 -0
- package/dist/migrations/1676057445311-task-1062V2.js.map +1 -0
- package/dist/migrations/1676060390524-task-1062V3.d.ts +6 -0
- package/dist/migrations/1676060390524-task-1062V3.js +31 -0
- package/dist/migrations/1676060390524-task-1062V3.js.map +1 -0
- package/dist/migrations/1676389900564-task-1062V4.d.ts +6 -0
- package/dist/migrations/1676389900564-task-1062V4.js +29 -0
- package/dist/migrations/1676389900564-task-1062V4.js.map +1 -0
- package/dist/migrations/1676558804200-task-1074V1.d.ts +6 -0
- package/dist/migrations/1676558804200-task-1074V1.js +29 -0
- package/dist/migrations/1676558804200-task-1074V1.js.map +1 -0
- package/dist/migrations/1676656657956-task-1084V1.d.ts +6 -0
- package/dist/migrations/1676656657956-task-1084V1.js +29 -0
- package/dist/migrations/1676656657956-task-1084V1.js.map +1 -0
- package/dist/migrations/execute/index.d.ts +1 -0
- package/dist/migrations/execute/index.js +9 -0
- package/dist/migrations/execute/index.js.map +1 -0
- package/dist/migrations/index.d.ts +11 -0
- package/dist/migrations/index.js +24 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/repositories/index.d.ts +158 -0
- package/dist/repositories/index.js +383 -0
- package/dist/repositories/index.js.map +1 -0
- package/dist/repositories/shipping/index.d.ts +10 -0
- package/dist/repositories/shipping/index.js +35 -0
- package/dist/repositories/shipping/index.js.map +1 -0
- package/dist/repositories/shopcart/index.d.ts +19 -0
- package/dist/repositories/shopcart/index.js +56 -0
- package/dist/repositories/shopcart/index.js.map +1 -0
- package/dist/staticData/ChannelName.d.ts +9 -0
- package/dist/staticData/ChannelName.js +11 -0
- package/dist/staticData/ChannelName.js.map +1 -0
- package/dist/staticData/ConnectionType.d.ts +5 -0
- package/dist/staticData/ConnectionType.js +7 -0
- package/dist/staticData/ConnectionType.js.map +1 -0
- package/dist/staticData/Currency.d.ts +9 -0
- package/dist/staticData/Currency.js +14 -0
- package/dist/staticData/Currency.js.map +1 -0
- package/dist/staticData/OrderStatus.d.ts +18 -0
- package/dist/staticData/OrderStatus.js +44 -0
- package/dist/staticData/OrderStatus.js.map +1 -0
- package/dist/staticData/PaymentProcessor.d.ts +8 -0
- package/dist/staticData/PaymentProcessor.js +12 -0
- package/dist/staticData/PaymentProcessor.js.map +1 -0
- package/dist/staticData/ProductOrigin.d.ts +10 -0
- package/dist/staticData/ProductOrigin.js +18 -0
- package/dist/staticData/ProductOrigin.js.map +1 -0
- package/dist/staticData/TrackingProcessor.d.ts +7 -0
- package/dist/staticData/TrackingProcessor.js +11 -0
- package/dist/staticData/TrackingProcessor.js.map +1 -0
- package/dist/staticData/VippsPaymentStatus.d.ts +15 -0
- package/dist/staticData/VippsPaymentStatus.js +41 -0
- package/dist/staticData/VippsPaymentStatus.js.map +1 -0
- package/dist/staticData/index.d.ts +9 -0
- package/dist/staticData/index.js +23 -0
- package/dist/staticData/index.js.map +1 -0
- package/dist/subscribers/ProductSubscriber.d.ts +8 -0
- package/dist/subscribers/ProductSubscriber.js +46 -0
- package/dist/subscribers/ProductSubscriber.js.map +1 -0
- package/dist/subscribers/UserSubscriber.d.ts +8 -0
- package/dist/subscribers/UserSubscriber.js +46 -0
- package/dist/subscribers/UserSubscriber.js.map +1 -0
- package/dist/subscribers/index.d.ts +3 -0
- package/dist/subscribers/index.js +8 -0
- package/dist/subscribers/index.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +8681 -0
- package/dist/utils/index.d.ts +13 -0
- package/dist/utils/index.js +109 -0
- package/dist/utils/index.js.map +1 -0
- package/docs/notas.txt +1 -0
- package/jsconfig.json +5 -0
- package/nodemon.json +5 -0
- package/package.json +76 -0
- package/src/config/connect.ts +28 -0
- package/src/entity/Address.ts +24 -0
- package/src/entity/ApiCredential.ts +19 -0
- package/src/entity/AuditedModel.ts +9 -0
- package/src/entity/BankAccount.ts +29 -0
- package/src/entity/Business.ts +51 -0
- package/src/entity/BusinessProducts.ts +15 -0
- package/src/entity/CardRegistration.ts +26 -0
- package/src/entity/Category.ts +16 -0
- package/src/entity/Channel.ts +44 -0
- package/src/entity/ChannelGroup.ts +52 -0
- package/src/entity/ChannelUser.ts +46 -0
- package/src/entity/ChannelUserProductSync.ts +46 -0
- package/src/entity/Check.ts +12 -0
- package/src/entity/CheckoutMetadata.ts +16 -0
- package/src/entity/Collection.ts +55 -0
- package/src/entity/CollectionItem.ts +31 -0
- package/src/entity/CollectionShared.ts +35 -0
- package/src/entity/Contact.ts +24 -0
- package/src/entity/Country.ts +18 -0
- package/src/entity/Courier.ts +17 -0
- package/src/entity/Currency.ts +17 -0
- package/src/entity/CustomProduct.ts +85 -0
- package/src/entity/CustomProductImage.ts +36 -0
- package/src/entity/CustomVariant.ts +40 -0
- package/src/entity/ExchangeRate.ts +20 -0
- package/src/entity/FlatRate.ts +29 -0
- package/src/entity/FlatRateCountry.ts +17 -0
- package/src/entity/Fulfillment.ts +12 -0
- package/src/entity/Image.ts +34 -0
- package/src/entity/ImportedProduct.ts +45 -0
- package/src/entity/MagentoConnection.entity.ts +36 -0
- package/src/entity/MetricActiveUser.ts +25 -0
- package/src/entity/Notification.ts +46 -0
- package/src/entity/Option.ts +31 -0
- package/src/entity/Order.ts +80 -0
- package/src/entity/OrderCustomer.ts +48 -0
- package/src/entity/OrderItem.ts +118 -0
- package/src/entity/OrderShipping.ts +47 -0
- package/src/entity/OrderTracking.ts +50 -0
- package/src/entity/Payment.ts +52 -0
- package/src/entity/PaymentMethod.ts +32 -0
- package/src/entity/PaymentShopify.ts +17 -0
- package/src/entity/Permission.ts +13 -0
- package/src/entity/Price.entity.ts +12 -0
- package/src/entity/Product.entity.ts +200 -0
- package/src/entity/Request.ts +23 -0
- package/src/entity/Return.ts +19 -0
- package/src/entity/ReturnAddress.ts +27 -0
- package/src/entity/Role.ts +20 -0
- package/src/entity/RolePermission.ts +19 -0
- package/src/entity/ShippingPackage.ts +19 -0
- package/src/entity/ShopifyConnection.ts +37 -0
- package/src/entity/Subcategory.ts +16 -0
- package/src/entity/User.ts +261 -0
- package/src/entity/UserChannelApiKey.ts +32 -0
- package/src/entity/UserRole.ts +19 -0
- package/src/entity/UserSettings.ts +37 -0
- package/src/entity/UserTokenWolt.ts +19 -0
- package/src/entity/Variant.ts +53 -0
- package/src/entity/Wallet.ts +14 -0
- package/src/entity/WooConnection.ts +24 -0
- package/src/entity/index.ts +148 -0
- package/src/entity/modules/shipping/ProductShipping.ts +37 -0
- package/src/entity/modules/shipping/Shipping.ts +54 -0
- package/src/entity/modules/shipping/ShippingCountry.ts +35 -0
- package/src/entity/modules/shopcart/Cart.ts +43 -0
- package/src/entity/modules/shopcart/CartItem.ts +40 -0
- package/src/entity/modules/shopcart/Checkout.ts +74 -0
- package/src/entity/modules/shopcart/CheckoutBillingAddress.ts +50 -0
- package/src/entity/modules/shopcart/CheckoutShippingAddress.ts +50 -0
- package/src/entity/modules/shopcart/PriceData.ts +20 -0
- package/src/examples/app01.ts +9 -0
- package/src/helpers/index.ts +6 -0
- package/src/helpers/order/index.ts +47 -0
- package/src/helpers/products/index.ts +2 -0
- package/src/helpers/products/storage/index.ts +2 -0
- package/src/helpers/products/storage/search.ts +249 -0
- package/src/helpers/returns/index.ts +2 -0
- package/src/helpers/returns/storage.ts +9 -0
- package/src/helpers/statistics/connections.ts +70 -0
- package/src/helpers/statistics/index.ts +2 -0
- package/src/index.ts +8 -0
- package/src/interface/connectionConfig.ts +17 -0
- package/src/migrations/1628474597284-InitialSchema.ts +471 -0
- package/src/migrations/1630077596132-RemoveMangopay.ts +79 -0
- package/src/migrations/1633444449026-MagentoIntegration.ts +50 -0
- package/src/migrations/1634070448072-MagentoIntegrationExternalChannelOrder.ts +23 -0
- package/src/migrations/1635811861541-SSCCOrderGenerator.ts +13 -0
- package/src/migrations/1638447028594-RolesFeature.ts +59 -0
- package/src/migrations/1638493697631-ProductCurrencyPrice.ts +31 -0
- package/src/migrations/1646797095632-UpdateWooTrackingNumber.ts +27 -0
- package/src/migrations/1648526519546-AddedUserSettings.ts +35 -0
- package/src/migrations/1651206194365-Wolt.ts +37 -0
- package/src/migrations/1663227133335-shop-cart.ts +47 -0
- package/src/migrations/1664160721396-collection.ts +28 -0
- package/src/migrations/1664222251306-update-collection.ts +22 -0
- package/src/migrations/1665757388450-channel.ts +44 -0
- package/src/migrations/1666098098114-prod-22-10-18.ts +95 -0
- package/src/migrations/1666631086586-user-channel-api-key-and-currency.ts +24 -0
- package/src/migrations/1666632054252-user-channel-api-key-and-currency-update.ts +20 -0
- package/src/migrations/1666752877685-checkout-and-usser-settings.ts +24 -0
- package/src/migrations/1666846907205-update-user-settings.ts +16 -0
- package/src/migrations/1667259333252-prod-22-10-31.ts +28 -0
- package/src/migrations/1667518502388-product-update.ts +16 -0
- package/src/migrations/1668571948507-ExchangeRate.ts +14 -0
- package/src/migrations/1668580085818-update-ExchangeRate.ts +16 -0
- package/src/migrations/1669318273596-update-oder-notification.ts +18 -0
- package/src/migrations/1669737769669-option.ts +14 -0
- package/src/migrations/1669912111945-shipping.ts +24 -0
- package/src/migrations/1670258127812-price.ts +16 -0
- package/src/migrations/1670952109146-variant.ts +14 -0
- package/src/migrations/1671409580304-order.ts +18 -0
- package/src/migrations/1672239194236-user-shipping.ts +16 -0
- package/src/migrations/1673628218703-promote_to_production_2023_13_01.ts +52 -0
- package/src/migrations/1674016904315-exchangeRate_2023_13_01.ts +14 -0
- package/src/migrations/1674743576475-promote_to_production_2023_26_01.ts +14 -0
- package/src/migrations/1675452256156-task-1062.ts +24 -0
- package/src/migrations/1676057445311-task-1062V2.ts +14 -0
- package/src/migrations/1676060390524-task-1062V3.ts +16 -0
- package/src/migrations/1676389900564-task-1062V4.ts +14 -0
- package/src/migrations/1676558804200-task-1074V1.ts +14 -0
- package/src/migrations/1676656657956-task-1084V1.ts +14 -0
- package/src/migrations/execute/index.ts +3 -0
- package/src/migrations/index.ts +23 -0
- package/src/repositories/index.ts +233 -0
- package/src/repositories/shipping/index.ts +15 -0
- package/src/repositories/shopcart/index.ts +25 -0
- package/src/staticData/ChannelName.ts +8 -0
- package/src/staticData/ConnectionType.ts +4 -0
- package/src/staticData/Currency.ts +11 -0
- package/src/staticData/OrderStatus.ts +41 -0
- package/src/staticData/PaymentProcessor.ts +9 -0
- package/src/staticData/ProductOrigin.ts +19 -0
- package/src/staticData/TrackingProcessor.ts +8 -0
- package/src/staticData/VippsPaymentStatus.ts +41 -0
- package/src/staticData/index.ts +20 -0
- package/src/subscribers/ProductSubscriber.ts +25 -0
- package/src/subscribers/UserSubscriber.ts +23 -0
- package/src/subscribers/index.ts +4 -0
- package/src/utils/index.ts +88 -0
- package/test/setup.ts +4 -0
- package/test/staticData/OrderStatus.test.ts +0 -0
- package/test/staticData/VippsPaymentStatus.test.ts +0 -0
- package/test/utils.test.ts +22 -0
- package/tsconfig.build.json +9 -0
- package/tsconfig.json +18 -0
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
import { Brackets, getRepository } from 'typeorm';
|
|
2
|
+
import { logger } from '@reachu/logger';
|
|
3
|
+
|
|
4
|
+
import Request from '../../../entity/Request';
|
|
5
|
+
import ImportedProduct from '../../../entity/ImportedProduct';
|
|
6
|
+
import OrderItem from '../../../entity/OrderItem';
|
|
7
|
+
import { Product } from '../../../entity/Product.entity';
|
|
8
|
+
|
|
9
|
+
export const find = async (page = 0, size = 10, filters = {}) => {
|
|
10
|
+
logger.debug(
|
|
11
|
+
`[productService.find] (page ${page}, size ${size}) by filters ${JSON.stringify(filters)}`,
|
|
12
|
+
);
|
|
13
|
+
const {
|
|
14
|
+
categories,
|
|
15
|
+
channels,
|
|
16
|
+
text,
|
|
17
|
+
priceFrom,
|
|
18
|
+
priceTo,
|
|
19
|
+
user,
|
|
20
|
+
hiddenUserId,
|
|
21
|
+
referralFeeFrom,
|
|
22
|
+
referralFeeTo,
|
|
23
|
+
shipTo,
|
|
24
|
+
status,
|
|
25
|
+
loggedUserId,
|
|
26
|
+
imported,
|
|
27
|
+
} = filters as any;
|
|
28
|
+
|
|
29
|
+
let queryBuilder;
|
|
30
|
+
if (!imported) {
|
|
31
|
+
queryBuilder = getRepository(Product)
|
|
32
|
+
.createQueryBuilder('product')
|
|
33
|
+
.select([
|
|
34
|
+
'product.id',
|
|
35
|
+
'product.createdAt',
|
|
36
|
+
'product.title',
|
|
37
|
+
'product.status',
|
|
38
|
+
'product.referralFee',
|
|
39
|
+
'product.rate',
|
|
40
|
+
'product.publicPrice',
|
|
41
|
+
'product.origin',
|
|
42
|
+
'product.originId',
|
|
43
|
+
'product.optionsEnabled',
|
|
44
|
+
'user.id',
|
|
45
|
+
'user.avatar',
|
|
46
|
+
'user.name',
|
|
47
|
+
'user.surname',
|
|
48
|
+
])
|
|
49
|
+
.leftJoin('product.subcategories', 'subcategory')
|
|
50
|
+
.leftJoin('product.user', 'user')
|
|
51
|
+
.leftJoinAndSelect('product.images', 'images')
|
|
52
|
+
.leftJoin('product.channels', 'channel');
|
|
53
|
+
|
|
54
|
+
if (loggedUserId) {
|
|
55
|
+
queryBuilder.leftJoinAndMapOne(
|
|
56
|
+
'product.importedProduct',
|
|
57
|
+
ImportedProduct,
|
|
58
|
+
'importedProduct',
|
|
59
|
+
'importedProduct.product.id = product.id and importedProduct.user.id = :loggedUserId',
|
|
60
|
+
{ loggedUserId },
|
|
61
|
+
);
|
|
62
|
+
}
|
|
63
|
+
if (loggedUserId && user !== loggedUserId) {
|
|
64
|
+
queryBuilder
|
|
65
|
+
.addSelect(
|
|
66
|
+
(sq) =>
|
|
67
|
+
sq
|
|
68
|
+
.select('COUNT(rr.id)')
|
|
69
|
+
.from(Request, 'rr')
|
|
70
|
+
.where(`rr.receiver.id = user.id AND rr.sender.id = ${loggedUserId}`),
|
|
71
|
+
'product_user_is_receiver',
|
|
72
|
+
)
|
|
73
|
+
.addSelect(
|
|
74
|
+
(sq) =>
|
|
75
|
+
sq
|
|
76
|
+
.select('COUNT(rs.id)')
|
|
77
|
+
.from(Request, 'rs')
|
|
78
|
+
.where(`rs.sender.id = user.id AND rs.receiver.id = ${loggedUserId}`),
|
|
79
|
+
'product_user_is_sender',
|
|
80
|
+
)
|
|
81
|
+
.leftJoinAndMapOne(
|
|
82
|
+
'product.request',
|
|
83
|
+
Request,
|
|
84
|
+
'request',
|
|
85
|
+
'(request.sender.id = user.id AND request.receiver.id = :userId) OR (request.receiver.id = user.id AND request.sender.id = :userId)',
|
|
86
|
+
{ userId: loggedUserId },
|
|
87
|
+
);
|
|
88
|
+
}
|
|
89
|
+
if (status) {
|
|
90
|
+
queryBuilder.andWhere('product.status = :status', { status });
|
|
91
|
+
}
|
|
92
|
+
if (user) {
|
|
93
|
+
queryBuilder.andWhere('product.user.id = :user', { user });
|
|
94
|
+
}
|
|
95
|
+
if (hiddenUserId) {
|
|
96
|
+
queryBuilder.andWhere('product.user.id != :hiddenUserId', { hiddenUserId });
|
|
97
|
+
}
|
|
98
|
+
if (shipTo && shipTo.length) {
|
|
99
|
+
queryBuilder.andWhere(
|
|
100
|
+
new Brackets((sqb) => {
|
|
101
|
+
sqb.where('product.shipTo LIKE :shipTo', { shipTo: `%${shipTo[0]}%` });
|
|
102
|
+
for (let index = 1; index < shipTo.length; index += 1) {
|
|
103
|
+
sqb.orWhere(`product.shipTo LIKE :shipTo${index}`, {
|
|
104
|
+
[`shipTo${index}`]: `%${shipTo[index]}%`,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}),
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
if (categories && categories.length) {
|
|
111
|
+
queryBuilder.andWhere('subcategory.category.id IN (:...categories)', { categories });
|
|
112
|
+
}
|
|
113
|
+
if (channels && channels.length) {
|
|
114
|
+
queryBuilder.andWhere('channel.name IN (:...channels)', { channels });
|
|
115
|
+
}
|
|
116
|
+
if (text) {
|
|
117
|
+
queryBuilder.andWhere('product.title LIKE :text', { text: `%${text}%` });
|
|
118
|
+
}
|
|
119
|
+
if (priceFrom && priceTo) {
|
|
120
|
+
queryBuilder.andWhere('product.publicPrice BETWEEN :priceFrom AND :priceTo', {
|
|
121
|
+
priceFrom,
|
|
122
|
+
priceTo,
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
if (referralFeeFrom && referralFeeTo) {
|
|
126
|
+
queryBuilder.andWhere('product.referralFee BETWEEN :referralFeeFrom AND :referralFeeTo', {
|
|
127
|
+
referralFeeFrom,
|
|
128
|
+
referralFeeTo,
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
const { raw, entities } = await queryBuilder
|
|
133
|
+
.skip(page * size)
|
|
134
|
+
.take(size)
|
|
135
|
+
.orderBy('product.rate', 'DESC')
|
|
136
|
+
.addOrderBy('product.createdAt', 'DESC')
|
|
137
|
+
.getRawAndEntities();
|
|
138
|
+
const total = await queryBuilder.getCount();
|
|
139
|
+
const items = entities.map((entity) => {
|
|
140
|
+
const row = raw.find((r) => r.product_id === entity.id);
|
|
141
|
+
return {
|
|
142
|
+
...entity,
|
|
143
|
+
userIsSender: row.product_user_is_sender,
|
|
144
|
+
userIsReceiver: row.product_user_is_receiver,
|
|
145
|
+
};
|
|
146
|
+
});
|
|
147
|
+
logger.debug(
|
|
148
|
+
`[productService.find] Found ${total} by (page ${page}, size ${size}) filters: ${JSON.stringify(
|
|
149
|
+
filters,
|
|
150
|
+
)}`,
|
|
151
|
+
);
|
|
152
|
+
return { items, total };
|
|
153
|
+
} else {
|
|
154
|
+
logger.debug(`[productService.find] by imported ${imported}`);
|
|
155
|
+
queryBuilder = getRepository(ImportedProduct)
|
|
156
|
+
.createQueryBuilder('importedProduct')
|
|
157
|
+
.leftJoinAndSelect('importedProduct.product', 'product')
|
|
158
|
+
.leftJoin('importedProduct.user', 'userImport')
|
|
159
|
+
.leftJoinAndSelect('product.user', 'user')
|
|
160
|
+
.leftJoinAndSelect('product.images', 'image')
|
|
161
|
+
.where('userImport.id = :userId', { userId: loggedUserId })
|
|
162
|
+
.andWhere('user.id != :userId', { userId: loggedUserId })
|
|
163
|
+
.andWhere('product.status = 1')
|
|
164
|
+
.leftJoin(
|
|
165
|
+
Request,
|
|
166
|
+
'request',
|
|
167
|
+
`(request.sender.id=user.id AND request.receiver.id=${loggedUserId}) OR (request.receiver.id=user.id AND request.sender.id=${loggedUserId})`,
|
|
168
|
+
)
|
|
169
|
+
.andWhere('request.state = 1');
|
|
170
|
+
|
|
171
|
+
const [items, total] = await queryBuilder
|
|
172
|
+
.skip(page * size)
|
|
173
|
+
.take(size)
|
|
174
|
+
.getManyAndCount();
|
|
175
|
+
|
|
176
|
+
items.forEach((item) => {
|
|
177
|
+
item.product.shopifyId = item.shopifyId;
|
|
178
|
+
item.product.wooId = item.wooId;
|
|
179
|
+
});
|
|
180
|
+
logger.debug(`[productService.find] Found ${total} by filters: ${JSON.stringify(filters)}`);
|
|
181
|
+
return { items: items.map((item) => item.product), total };
|
|
182
|
+
}
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
export const findById = async (id, loggedUser) => {
|
|
186
|
+
const product = await getRepository(Product)
|
|
187
|
+
.createQueryBuilder('product')
|
|
188
|
+
.select('product')
|
|
189
|
+
.addSelect(
|
|
190
|
+
(sq) =>
|
|
191
|
+
sq
|
|
192
|
+
.select('COUNT(orderItem.id)')
|
|
193
|
+
.from(OrderItem, 'orderItem')
|
|
194
|
+
.where('orderItem.product.id = product.id'),
|
|
195
|
+
'product_total_orders',
|
|
196
|
+
)
|
|
197
|
+
.addSelect(
|
|
198
|
+
(sq) =>
|
|
199
|
+
sq
|
|
200
|
+
.select('COUNT(importedProduct.id)')
|
|
201
|
+
.from(ImportedProduct, 'importedProduct')
|
|
202
|
+
.where('importedProduct.product.id = product.id')
|
|
203
|
+
.andWhere('importedProduct.user.id != product.user.id'),
|
|
204
|
+
'product_total_imports',
|
|
205
|
+
)
|
|
206
|
+
.addSelect(
|
|
207
|
+
(sq) =>
|
|
208
|
+
sq
|
|
209
|
+
.select('COUNT(rr.id)')
|
|
210
|
+
.from(Request, 'rr')
|
|
211
|
+
.where(`rr.receiver.id = user.id AND rr.sender.id = ${loggedUser.id}`),
|
|
212
|
+
'product_user_is_receiver',
|
|
213
|
+
)
|
|
214
|
+
.addSelect(
|
|
215
|
+
(sq) =>
|
|
216
|
+
sq
|
|
217
|
+
.select('COUNT(rs.id)')
|
|
218
|
+
.from(Request, 'rs')
|
|
219
|
+
.where(`rs.sender.id = user.id AND rs.receiver.id = ${loggedUser.id}`),
|
|
220
|
+
'product_user_is_sender',
|
|
221
|
+
)
|
|
222
|
+
.leftJoinAndSelect('product.subcategories', 'subcategory')
|
|
223
|
+
.leftJoinAndSelect('product.variants', 'variant')
|
|
224
|
+
.leftJoinAndSelect('product.options', 'option')
|
|
225
|
+
.leftJoinAndSelect('product.user', 'user')
|
|
226
|
+
.leftJoinAndSelect('product.images', 'image')
|
|
227
|
+
.leftJoinAndSelect('product.channels', 'channel')
|
|
228
|
+
.leftJoinAndSelect('product.flatRate', 'flatRate')
|
|
229
|
+
.leftJoinAndSelect('flatRate.countries', 'flatRateCountry')
|
|
230
|
+
.leftJoinAndMapOne(
|
|
231
|
+
'product.importedProduct',
|
|
232
|
+
ImportedProduct,
|
|
233
|
+
'importedProduct',
|
|
234
|
+
'importedProduct.product.id = product.id and importedProduct.user.id = :userId',
|
|
235
|
+
{ userId: loggedUser.id },
|
|
236
|
+
)
|
|
237
|
+
.leftJoinAndMapOne(
|
|
238
|
+
'product.request',
|
|
239
|
+
Request,
|
|
240
|
+
'request',
|
|
241
|
+
'(request.sender.id = user.id AND request.receiver.id = :userId) OR (request.receiver.id = user.id AND request.sender.id = :userId)',
|
|
242
|
+
{ userId: loggedUser.id },
|
|
243
|
+
)
|
|
244
|
+
.where('product.id = :productId', { productId: id })
|
|
245
|
+
.getOne();
|
|
246
|
+
logger.debug(`[productService.findById] Adding statistic information to product ${id}`);
|
|
247
|
+
// const user = await userService.addStatistics(product.user);
|
|
248
|
+
return { ...product /*, user */ };
|
|
249
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { getRepository } from 'typeorm';
|
|
2
|
+
import OrderItem from '../../entity/OrderItem';
|
|
3
|
+
|
|
4
|
+
const findOrderItemBy = async (productId, orderId) => {
|
|
5
|
+
const where = { product: { id: productId }, order: { id: orderId } };
|
|
6
|
+
return getRepository(OrderItem).findOne({ where });
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export { findOrderItemBy };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { getRepository } from 'typeorm';
|
|
2
|
+
import { Array } from '@reachu/utils';
|
|
3
|
+
import User from '../../entity/User';
|
|
4
|
+
import ImportedProduct from '../../entity/ImportedProduct';
|
|
5
|
+
import ChannelName from '../../staticData/ChannelName';
|
|
6
|
+
|
|
7
|
+
const usersWithConnections = async () => {
|
|
8
|
+
const userRepo = getRepository(User);
|
|
9
|
+
const query = userRepo
|
|
10
|
+
.createQueryBuilder('user')
|
|
11
|
+
.leftJoinAndSelect('user.shopifyReseller', 'shopifyReseller')
|
|
12
|
+
.where('shopifyReseller.accessToken IS NOT NULL')
|
|
13
|
+
.orWhere('user.facebookAccessToken IS NOT NULL')
|
|
14
|
+
.orWhere('user.woo_id IS NOT NULL');
|
|
15
|
+
return query.getCount();
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
const usersWithoutConnections = async () => {
|
|
19
|
+
const userRepo = getRepository(User);
|
|
20
|
+
const query = userRepo
|
|
21
|
+
.createQueryBuilder('user')
|
|
22
|
+
.leftJoinAndSelect('user.shopifyReseller', 'shopifyReseller')
|
|
23
|
+
.where('shopifyReseller.accessToken IS NULL')
|
|
24
|
+
.andWhere('user.facebookAccessToken IS NULL')
|
|
25
|
+
.andWhere('user.woo_id IS NULL');
|
|
26
|
+
return query.getCount();
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const avgSavedProducts = async () => {
|
|
30
|
+
const [importedProducts, count] = await savedProducts();
|
|
31
|
+
const sellersLength = Array.uniqBy(importedProducts, (ip) => ip.user.id).length;
|
|
32
|
+
return Number((count / sellersLength).toFixed(2));
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
async function savedProducts() {
|
|
36
|
+
return await getRepository(ImportedProduct)
|
|
37
|
+
.createQueryBuilder('importedProduct')
|
|
38
|
+
.innerJoinAndSelect('importedProduct.user', 'seller')
|
|
39
|
+
.innerJoinAndSelect('importedProduct.product', 'product')
|
|
40
|
+
.innerJoinAndSelect('product.user', 'supplier')
|
|
41
|
+
.where('supplier.id <> seller.id')
|
|
42
|
+
.getManyAndCount();
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
const productsOnChannel = async (channel) => {
|
|
46
|
+
const queryBuilder = getRepository(ImportedProduct).createQueryBuilder('importedProduct');
|
|
47
|
+
|
|
48
|
+
if (channel === ChannelName.SHOPIFY) {
|
|
49
|
+
queryBuilder.where('shopify_id IS NOT NULL');
|
|
50
|
+
}
|
|
51
|
+
if (channel === ChannelName.WOO) {
|
|
52
|
+
queryBuilder.where('woo_id IS NOT NULL');
|
|
53
|
+
}
|
|
54
|
+
return await queryBuilder.getCount();
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
const usersWhoExportedProducts = async () => {
|
|
58
|
+
return await getRepository(ImportedProduct)
|
|
59
|
+
.createQueryBuilder('importedProduct')
|
|
60
|
+
.where('shopify_id IS NOT NULL OR woo_id IS NOT NULL')
|
|
61
|
+
.getCount();
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export {
|
|
65
|
+
usersWithConnections,
|
|
66
|
+
usersWithoutConnections,
|
|
67
|
+
avgSavedProducts,
|
|
68
|
+
productsOnChannel,
|
|
69
|
+
usersWhoExportedProducts,
|
|
70
|
+
};
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as Migration from './migrations';
|
|
2
|
+
import * as Entity from './entity';
|
|
3
|
+
import * as StaticData from './staticData';
|
|
4
|
+
import * as Utils from './utils';
|
|
5
|
+
import * as Repository from './repositories';
|
|
6
|
+
import * as Helper from './helpers';
|
|
7
|
+
|
|
8
|
+
export { Migration, Entity, StaticData, Utils, Repository, Helper };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { EntitySchema, EntitySubscriberInterface, MigrationInterface } from 'typeorm';
|
|
2
|
+
import { SnakeNamingStrategy } from 'typeorm-naming-strategies';
|
|
3
|
+
|
|
4
|
+
export interface ConnectionConfig {
|
|
5
|
+
type: string;
|
|
6
|
+
host: string;
|
|
7
|
+
port: number;
|
|
8
|
+
username: string;
|
|
9
|
+
password: string;
|
|
10
|
+
database: string;
|
|
11
|
+
namingStrategy: SnakeNamingStrategy;
|
|
12
|
+
entities: EntitySchema<any>[];
|
|
13
|
+
synchronize: boolean;
|
|
14
|
+
timezone: string;
|
|
15
|
+
migrations: MigrationInterface[];
|
|
16
|
+
subscribers: EntitySubscriberInterface<any>[];
|
|
17
|
+
}
|