@lyxa.ai/core 1.0.19 → 1.0.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (173) hide show
  1. package/dist/index.js +4 -0
  2. package/dist/index.js.map +1 -1
  3. package/dist/libraries/mongo/models/admin-access-control.model.js +13 -2
  4. package/dist/libraries/mongo/models/admin-access-control.model.js.map +1 -1
  5. package/dist/libraries/mongo/models/areeba-card.model.d.ts +17 -0
  6. package/dist/libraries/mongo/models/areeba-card.model.js +73 -0
  7. package/dist/libraries/mongo/models/areeba-card.model.js.map +1 -0
  8. package/dist/libraries/mongo/models/attribute.model.d.ts +1 -1
  9. package/dist/libraries/mongo/models/attribute.model.js +3 -2
  10. package/dist/libraries/mongo/models/attribute.model.js.map +1 -1
  11. package/dist/libraries/mongo/models/auth-identity.model.d.ts +8 -0
  12. package/dist/libraries/mongo/models/auth-identity.model.js +33 -0
  13. package/dist/libraries/mongo/models/auth-identity.model.js.map +1 -0
  14. package/dist/libraries/mongo/models/base/base-coupon.model.js.map +1 -1
  15. package/dist/libraries/mongo/models/card.model.d.ts +24 -0
  16. package/dist/libraries/mongo/models/card.model.js +109 -0
  17. package/dist/libraries/mongo/models/card.model.js.map +1 -0
  18. package/dist/libraries/mongo/models/{cart-perticipant.model.d.ts → cart-participant.model.d.ts} +3 -8
  19. package/dist/libraries/mongo/models/{cart-perticipant.model.js → cart-participant.model.js} +5 -28
  20. package/dist/libraries/mongo/models/cart-participant.model.js.map +1 -0
  21. package/dist/libraries/mongo/models/cart.model.d.ts +1 -2
  22. package/dist/libraries/mongo/models/cart.model.js +3 -4
  23. package/dist/libraries/mongo/models/cart.model.js.map +1 -1
  24. package/dist/libraries/mongo/models/category.model.d.ts +1 -2
  25. package/dist/libraries/mongo/models/category.model.js +2 -7
  26. package/dist/libraries/mongo/models/category.model.js.map +1 -1
  27. package/dist/libraries/mongo/models/core-auth-identity.model.d.ts +1 -2
  28. package/dist/libraries/mongo/models/core-auth-identity.model.js +1 -3
  29. package/dist/libraries/mongo/models/core-auth-identity.model.js.map +1 -1
  30. package/dist/libraries/mongo/models/core-user.model.d.ts +0 -2
  31. package/dist/libraries/mongo/models/core-user.model.js +2 -4
  32. package/dist/libraries/mongo/models/core-user.model.js.map +1 -1
  33. package/dist/libraries/mongo/models/embedded/addon.model.d.ts +8 -0
  34. package/dist/libraries/mongo/models/embedded/addon.model.js +34 -0
  35. package/dist/libraries/mongo/models/embedded/addon.model.js.map +1 -0
  36. package/dist/libraries/mongo/models/embedded/attribute-item.model.js.map +1 -1
  37. package/dist/libraries/mongo/models/embedded/attribute-map.model.js.map +1 -1
  38. package/dist/libraries/mongo/models/embedded/business-development-setting.model.js.map +1 -1
  39. package/dist/libraries/mongo/models/embedded/charge-setting.model.js.map +1 -1
  40. package/dist/libraries/mongo/models/embedded/charge.model.js.map +1 -1
  41. package/dist/libraries/mongo/models/embedded/courier-setting.model.js.map +1 -1
  42. package/dist/libraries/mongo/models/embedded/currency-setting.model.js.map +1 -1
  43. package/dist/libraries/mongo/models/embedded/currency.model.js.map +1 -1
  44. package/dist/libraries/mongo/models/embedded/featured-item.mode.js.map +1 -1
  45. package/dist/libraries/mongo/models/embedded/otp-fields.model.js.map +1 -1
  46. package/dist/libraries/mongo/models/embedded/package.model.js.map +1 -1
  47. package/dist/libraries/mongo/models/embedded/parent-document.model.js.map +1 -1
  48. package/dist/libraries/mongo/models/embedded/payment-infromation.model.d.ts +6 -0
  49. package/dist/libraries/mongo/models/embedded/payment-infromation.model.js +38 -0
  50. package/dist/libraries/mongo/models/embedded/payment-infromation.model.js.map +1 -0
  51. package/dist/libraries/mongo/models/embedded/payout-setting.model.js.map +1 -1
  52. package/dist/libraries/mongo/models/embedded/portion.model.d.ts +5 -0
  53. package/dist/libraries/mongo/models/embedded/portion.model.js +32 -0
  54. package/dist/libraries/mongo/models/embedded/portion.model.js.map +1 -0
  55. package/dist/libraries/mongo/models/embedded/price.model.js.map +1 -1
  56. package/dist/libraries/mongo/models/embedded/product-nutrition.model.js.map +1 -1
  57. package/dist/libraries/mongo/models/embedded/referral-discount-config.model.js.map +1 -1
  58. package/dist/libraries/mongo/models/embedded/rider-equipment.model.d.ts +4 -0
  59. package/dist/libraries/mongo/models/embedded/rider-equipment.model.js +27 -0
  60. package/dist/libraries/mongo/models/embedded/rider-equipment.model.js.map +1 -0
  61. package/dist/libraries/mongo/models/embedded/rider-setting.model.js.map +1 -1
  62. package/dist/libraries/mongo/models/embedded/service-fee-setting.model.js.map +1 -1
  63. package/dist/libraries/mongo/models/embedded/shop-document.model.js.map +1 -1
  64. package/dist/libraries/mongo/models/embedded/subscription-summary.model.js.map +1 -1
  65. package/dist/libraries/mongo/models/embedded/zone-geometry.mode.d.ts +2 -1
  66. package/dist/libraries/mongo/models/embedded/zone-geometry.mode.js +2 -1
  67. package/dist/libraries/mongo/models/embedded/zone-geometry.mode.js.map +1 -1
  68. package/dist/libraries/mongo/models/faq.model.d.ts +0 -1
  69. package/dist/libraries/mongo/models/faq.model.js +0 -5
  70. package/dist/libraries/mongo/models/faq.model.js.map +1 -1
  71. package/dist/libraries/mongo/models/index.d.ts +46 -29
  72. package/dist/libraries/mongo/models/index.js +48 -31
  73. package/dist/libraries/mongo/models/index.js.map +1 -1
  74. package/dist/libraries/mongo/models/{cart-lineitem.model.d.ts → line-item.model.d.ts} +3 -14
  75. package/dist/libraries/mongo/models/{cart-lineitem.model.js → line-item.model.js} +7 -44
  76. package/dist/libraries/mongo/models/line-item.model.js.map +1 -0
  77. package/dist/libraries/mongo/models/order.model.d.ts +2 -1
  78. package/dist/libraries/mongo/models/order.model.js +30 -2
  79. package/dist/libraries/mongo/models/order.model.js.map +1 -1
  80. package/dist/libraries/mongo/models/payout.model.js.map +1 -1
  81. package/dist/libraries/mongo/models/product.model.js +1 -3
  82. package/dist/libraries/mongo/models/product.model.js.map +1 -1
  83. package/dist/libraries/mongo/models/providers/apple-auth-identity.model.d.ts +6 -0
  84. package/dist/libraries/mongo/models/providers/apple-auth-identity.model.js +25 -0
  85. package/dist/libraries/mongo/models/providers/apple-auth-identity.model.js.map +1 -0
  86. package/dist/libraries/mongo/models/providers/areeba-card.model.d.ts +14 -0
  87. package/dist/libraries/mongo/models/providers/areeba-card.model.js +69 -0
  88. package/dist/libraries/mongo/models/providers/areeba-card.model.js.map +1 -0
  89. package/dist/libraries/mongo/models/providers/core-apple-auth-identity.model.d.ts +0 -2
  90. package/dist/libraries/mongo/models/providers/core-apple-auth-identity.model.js +1 -4
  91. package/dist/libraries/mongo/models/providers/core-apple-auth-identity.model.js.map +1 -1
  92. package/dist/libraries/mongo/models/providers/core-email-auth-identity.model.d.ts +0 -2
  93. package/dist/libraries/mongo/models/providers/core-email-auth-identity.model.js +1 -4
  94. package/dist/libraries/mongo/models/providers/core-email-auth-identity.model.js.map +1 -1
  95. package/dist/libraries/mongo/models/providers/core-google-auth-identity.model.d.ts +0 -2
  96. package/dist/libraries/mongo/models/providers/core-google-auth-identity.model.js +1 -4
  97. package/dist/libraries/mongo/models/providers/core-google-auth-identity.model.js.map +1 -1
  98. package/dist/libraries/mongo/models/providers/core-phone-auth-identity.model.d.ts +0 -2
  99. package/dist/libraries/mongo/models/providers/core-phone-auth-identity.model.js +1 -4
  100. package/dist/libraries/mongo/models/providers/core-phone-auth-identity.model.js.map +1 -1
  101. package/dist/libraries/mongo/models/providers/email-auth-identity.model.d.ts +9 -0
  102. package/dist/libraries/mongo/models/providers/email-auth-identity.model.js +36 -0
  103. package/dist/libraries/mongo/models/providers/email-auth-identity.model.js.map +1 -0
  104. package/dist/libraries/mongo/models/providers/google-auth-identity.model.d.ts +6 -0
  105. package/dist/libraries/mongo/models/providers/google-auth-identity.model.js +25 -0
  106. package/dist/libraries/mongo/models/providers/google-auth-identity.model.js.map +1 -0
  107. package/dist/libraries/mongo/models/providers/phone-auth-identity.model.d.ts +8 -0
  108. package/dist/libraries/mongo/models/providers/phone-auth-identity.model.js +31 -0
  109. package/dist/libraries/mongo/models/providers/phone-auth-identity.model.js.map +1 -0
  110. package/dist/libraries/mongo/models/providers/referral-code-coupon.mode.d.ts +10 -0
  111. package/dist/libraries/mongo/models/providers/referral-code-coupon.mode.js +28 -0
  112. package/dist/libraries/mongo/models/providers/referral-code-coupon.mode.js.map +1 -0
  113. package/dist/libraries/mongo/models/request-area.model.d.ts +2 -2
  114. package/dist/libraries/mongo/models/request-area.model.js +2 -2
  115. package/dist/libraries/mongo/models/request-area.model.js.map +1 -1
  116. package/dist/libraries/mongo/models/rider-timeout.model.d.ts +10 -0
  117. package/dist/libraries/mongo/models/rider-timeout.model.js +47 -0
  118. package/dist/libraries/mongo/models/rider-timeout.model.js.map +1 -0
  119. package/dist/libraries/mongo/models/rider-tracking.model.d.ts +10 -0
  120. package/dist/libraries/mongo/models/rider-tracking.model.js +47 -0
  121. package/dist/libraries/mongo/models/rider-tracking.model.js.map +1 -0
  122. package/dist/libraries/mongo/models/rider.model.d.ts +50 -1
  123. package/dist/libraries/mongo/models/rider.model.js +238 -2
  124. package/dist/libraries/mongo/models/rider.model.js.map +1 -1
  125. package/dist/libraries/mongo/models/role.model.ts.d.ts +8 -0
  126. package/dist/libraries/mongo/models/role.model.ts.js +37 -0
  127. package/dist/libraries/mongo/models/role.model.ts.js.map +1 -0
  128. package/dist/libraries/mongo/models/shared/address.model.d.ts +2 -3
  129. package/dist/libraries/mongo/models/shared/address.model.js +10 -12
  130. package/dist/libraries/mongo/models/shared/address.model.js.map +1 -1
  131. package/dist/libraries/mongo/models/shared/duration.model.js.map +1 -1
  132. package/dist/libraries/mongo/models/shared/geo-location.model.d.ts +4 -0
  133. package/dist/libraries/mongo/models/shared/geo-location.model.js +27 -0
  134. package/dist/libraries/mongo/models/shared/geo-location.model.js.map +1 -0
  135. package/dist/libraries/mongo/models/shop-category.model.d.ts +1 -0
  136. package/dist/libraries/mongo/models/shop-category.model.js +7 -1
  137. package/dist/libraries/mongo/models/shop-category.model.js.map +1 -1
  138. package/dist/libraries/mongo/models/shop-review.d.ts +7 -0
  139. package/dist/libraries/mongo/models/shop-review.js +28 -0
  140. package/dist/libraries/mongo/models/shop-review.js.map +1 -0
  141. package/dist/libraries/mongo/models/transaction.model.js.map +1 -1
  142. package/dist/libraries/mongo/models/user.model.d.ts +30 -0
  143. package/dist/libraries/mongo/models/user.model.js +129 -0
  144. package/dist/libraries/mongo/models/user.model.js.map +1 -0
  145. package/dist/libraries/mongo/models/zone.model..d.ts +15 -0
  146. package/dist/libraries/mongo/models/zone.model..js +64 -0
  147. package/dist/libraries/mongo/models/zone.model..js.map +1 -0
  148. package/dist/libraries/mongo/models/zone.model.d.ts +5 -5
  149. package/dist/libraries/mongo/models/zone.model.js +11 -11
  150. package/dist/libraries/mongo/models/zone.model.js.map +1 -1
  151. package/dist/libraries/mongo/plugins/soft-delete-plugin.d.ts +8 -5
  152. package/dist/libraries/mongo/plugins/soft-delete-plugin.js +28 -0
  153. package/dist/libraries/mongo/plugins/soft-delete-plugin.js.map +1 -1
  154. package/dist/utilities/enum.d.ts +36 -4
  155. package/dist/utilities/enum.js +47 -6
  156. package/dist/utilities/enum.js.map +1 -1
  157. package/dist/utilities/pagination.d.ts +1 -0
  158. package/dist/utilities/pagination.js +4 -1
  159. package/dist/utilities/pagination.js.map +1 -1
  160. package/dist/utilities/response.js +1 -1
  161. package/dist/utilities/response.js.map +1 -1
  162. package/dist/utilities/transformers.d.ts +14 -3
  163. package/dist/utilities/transformers.js +49 -6
  164. package/dist/utilities/transformers.js.map +1 -1
  165. package/dist/utilities/validation/common-validation.d.ts +230 -23
  166. package/dist/utilities/validation/common-validation.js +25 -7
  167. package/dist/utilities/validation/common-validation.js.map +1 -1
  168. package/dist/utilities/validation/global-validation.d.ts +9 -0
  169. package/dist/utilities/validation/global-validation.js +1 -1
  170. package/dist/utilities/validation/global-validation.js.map +1 -1
  171. package/package.json +2 -2
  172. package/dist/libraries/mongo/models/cart-lineitem.model.js.map +0 -1
  173. package/dist/libraries/mongo/models/cart-perticipant.model.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"enum.js","sourceRoot":"/","sources":["utilities/enum.ts"],"names":[],"mappings":"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","sourcesContent":["export enum Status {\n\tACTIVE = 'active',\n\tINACTIVE = 'inactive',\n}\n\nexport enum ItemType {\n\tFOOD = 'food',\n\tGROCERY = 'grocery',\n\tPHARMACY = 'pharmacy',\n\tCOFFEE = 'coffee',\n\tFLOWER = 'flower',\n\tPET = 'pet',\n\tHEALTHY_CORNER = 'healthy_corner',\n}\n\nexport enum WeekDay {\n\tSunday = 0,\n\tMonday = 1,\n\tTuesday = 2,\n\tWednesday = 3,\n\tThursday = 4,\n\tFriday = 5,\n\tSaturday = 6,\n}\n\nexport enum WorkStatus {\n\tOPEN = 'open',\n\tCLOSED = 'closed',\n\tFULL_DAY = 'full_day',\n}\n\nexport enum HolidayWorkStatus {\n\tCLOSED = WorkStatus.CLOSED,\n\tFULL_DAY = WorkStatus.FULL_DAY,\n}\n\nexport enum ValueType {\n\tPERCENTAGE = 'percentage',\n\tFIXED = 'fixed',\n}\n\nexport enum PaymentGateway {\n\tAREEBA = 'areeba',\n\tOTHER = 'other',\n}\n\nexport enum PaymentMethod {\n\tCASH = 'cash',\n\tCARD = 'card',\n}\n\nexport enum PaymentStatus {\n\tPAID = 'paid',\n\tPENDING = 'pending',\n\tFAILED = 'failed',\n}\n\nexport enum PaidCurrency {\n\tBASE = 'base',\n\tSECONDARY = 'secondary',\n\tMIXED = 'mixed',\n}\n\nexport enum SubscriptionPackage {\n\tMONTHLY = 'monthly',\n\tYEARLY = 'yearly',\n}\n\nexport enum SubscriptionStatus {\n\tONGOING = 'ongoing',\n\tEXPIRED = 'expired',\n}\n\nexport enum RatingAccountType {\n\tSHOP = 'shop',\n\tRIDER = 'rider',\n}\n\nexport enum GeoLocationType {\n\tPOINT = 'point',\n\tPOLYGON = 'polygon',\n}\n\nexport enum UpdatedField {\n\tMAX_TOTAL_EST_ITEMS_PRICE = 'max_total_est_items_price',\n\tMAX_DISTANCE = 'max_distance',\n\tDAILY_WORKING_HOURS = 'daily_working_hours',\n\tBOB_CASH_SETTLEMENT_LIMIT = 'bob_cash_settlement_limit',\n\tTIPS = 'tips',\n\tEQUIPMENTS = 'equipments',\n\tMONTHLY_SHOP_TARGET = 'monthly_shop_target',\n\tMONTHLY_REWARD_PRIZE = 'monthly_reward_prize',\n\tBASE_CURRENCY = 'base_currency',\n\tSECONDARY_CURRENCY = 'secondary_currency',\n\tIS_DUAL_CURRENCY_ENABLED = 'is_dual_currency_enabled',\n\tEXCHANGE_RATE = 'exchange_rate',\n\tISSUANCE_DAY = 'issuance_day',\n\tOVER_DUE_PERIODS = 'over_due_periods',\n\tPAY_LIMIT_FOR_USER = 'pay_limit_for_user',\n\tVAT_PERCENTAGE = 'vat_percentage',\n\tRIDER_SEARCH_RANGES = 'rider_search_ranges',\n\tNEAR_BY_SHOP_DISTANCE = 'near_by_shop_distance',\n\tNEAR_BY_SHOP_DISTANCE_IN_HOME_SCREEN = 'near_by_shop_distance_in_home_screen',\n\tUNITS = 'units',\n\tCURRENCY_SETTING = 'currency_setting',\n\tPAYMENT_METHODS = 'payment_methods',\n\tIS_GROUND_ORDER_ENABLED = 'is_ground_order_enabled',\n\tCUSTOMER_SUPPORT_PHONE_NUMBER = 'customer_support_phone_number',\n}\n\nexport enum SectionType {\n\tSTORE_PUNCHES = 'store_punches',\n\tNEARBY_RESTAURANT = 'nearby_restaurant',\n\tNEARBY_GROCERY = 'nearby_grocery',\n\tNEARBY_PHARMACY = 'nearby_pharmacy',\n\tDISCOUNT = 'discount',\n\tFREE_DELIVERY = 'free_delivery',\n\tCRAZY_OFFER_SHOPS = 'crazy_offer_shops',\n\tORDER_AGAIN = 'order_again',\n\tFEATURED = 'featured',\n\tLOVE = 'love',\n\tAUTHENTIC_BEIRUT = 'authentic_beirut',\n\tNEAR_ME = 'near_me',\n}\n\nexport enum CoreAuthIdentityType {\n\tEMAIL = 'email',\n\tPHONE = 'phone',\n\tGOOGLE = 'google',\n\tAPPLE = 'apple',\n}\n\nexport enum FoodGroup {\n\tMEAT = 'meat',\n\tCHICKEN = 'chicken',\n\tFISH = 'fish',\n\tVEGETARIAN = 'vegetarian',\n\tOTHER = 'other',\n}\n\nexport enum PriceType {\n\tPRICE = 'price',\n\tUNIT = 'unit',\n\tPORTION = 'portion',\n}\n\nexport enum AttributeItemSelectionType {\n\tSINGLE = 'single',\n\tMULTIPLE = 'multiple',\n}\n\nexport enum ProductDietaryType {\n\tGLUTEN_FREE = 'gluten_free',\n\tLOW_CAL = 'low_cal',\n\tVEGETARIAN = 'vegetarian',\n\tVEGAN = 'vegan',\n\tGLUE_FREE = 'glue_free',\n\tKETO = 'keto',\n\tLACTOSE_FREE = 'lactose_free',\n\tHIGH_PROTEIN = 'high_protein',\n}\n\nexport enum DishCategory {\n\tBREAKFAST = 'breakfast',\n\tLUNCH = 'lunch',\n\tDINNER = 'dinner',\n\tSNACKS = 'snacks',\n}\n\nexport enum NotificationAccountType {\n\tUSER = 'user',\n\tPARENT = 'parent',\n\tSHOP = 'shop',\n\tRIDER = 'rider',\n\tADMIN = 'admin',\n\tCUSTOMER_SERVICE = 'customer_service',\n}\n\nexport enum ClickType {\n\tCLICKABLE_URL = 'clickable_url',\n\tCLICKABLE_ORDER = 'clickable_order',\n\tCLICKABLE_SHOP = 'clickable_shop',\n\tCLICKABLE_PRODUCT = 'clickable_product',\n\tCLICKABLE_LIST_CONTAINER = 'clickable_list_container',\n\tCLICKABLE_PAYOUT = 'clickable_payout',\n\tCLICKABLE_BOB_FINANCE = 'clickable_bob_finance',\n\tCLICKABLE_REQUEST_AREA = 'clickable_request_area',\n}\n\nexport enum ChargeType {\n\tGLOBAL = 'global',\n\tCUSTOM = 'custom',\n}\n\nexport enum ShopOnlineStatus {\n\tONLINE = 'online',\n\tOFFLINE = 'offline',\n\tBUSY = 'busy',\n}\n\nexport enum ShopRole {\n\tPARENT = 'parent',\n\tPARENT_ORDER_MANAGER = 'parent_order_manager',\n\tSHOP = 'shop',\n\tSHOP_ORDER_MANAGER = 'shop_order_manager',\n}\n\nexport enum BannerClickType {\n\tLINK = 'link',\n\tSHOP = 'shop',\n\tPRODUCT = 'product',\n\tLIST_CONTAINER = 'list_container',\n\tPLUS = 'plus',\n}\n\nexport enum BannerLinkType {\n\tURL = 'url',\n\tAPP_ROUTE = 'app-route',\n}\n\nexport enum BannerUserType {\n\tALL = 'all',\n\tPLUS = 'plus',\n\tNORMAL = 'normal',\n}\n\nexport enum CounterType {\n\tORDER = 'order',\n\tCRM_NUMBER = 'crm_number',\n\tshop = 'shop',\n}\n\nexport enum FaqAccountType {\n\tUSER = 'user',\n\tSHOP = 'shop',\n\tRIDER = 'rider',\n}\n\nexport enum ZoneStatus {\n\tACTIVE = 'active',\n\tINACTIVE = 'inactive',\n\tBUSY = 'busy',\n}\n\nexport enum BobAccountType {\n\tRIDER = 'rider',\n\tSHOP = 'shop',\n}\n\nexport enum BobSettlementType {\n\tSETTLE_CASH = 'settle_cash',\n\tSETTLE_PAYOUT = 'settle_Payout',\n}\n\nexport enum BobSettlementStatus {\n\tNOT_PAID = 'not_paid',\n\tPAID = 'paid',\n\tREVOKED = 'revoked',\n}\n\nexport enum BobModel {\n\tC2B = 'C2B',\n\tB2C = 'B2C',\n}\n\nexport enum BobType {\n\tINWARD = 'inward',\n\tOUTWARD = 'outward',\n}\n\nexport enum CouponType {\n\tGLOBAL = 'global',\n\tINDIVIDUAL_STORE = 'individual_store',\n\tINDIVIDUAL_USER = 'individual_user',\n\tCUSTOM_COUPON = 'custom_coupon',\n\tREFERRAL_CODE = 'referral_code',\n\tREFERRAL_REWARD = 'referral_reward',\n}\n\nexport enum CouponExpirationReason {\n\tDURATION = 'duration',\n\tSPEND_LIMIT = 'spendLimit',\n\tTOTAL_ORDER_LIMIT = 'totalOrderLimit',\n}\n\nexport enum FavouriteType {\n\tPRODUCT = 'product',\n\tSHOP = 'shop',\n}\n\nexport enum MarketingType {\n\tDISCOUNT = 'discount',\n\tBUY1GET1 = 'buy1get1',\n\tFREE_DELIVERY = 'free_delivery',\n\tFEATURED = 'featured',\n\tLOYALTY_POINT = 'loyalty_point',\n\tPUNCH_MARKETING = 'punch_marketing',\n}\n\nexport enum MarketingStatus {\n\tACTIVE = 'active',\n\tPAUSED = 'paused',\n\tEXPIRED = 'expired',\n\tDELETED = 'deleted',\n}\n\nexport enum AdminRole {\n\tSUPER_ADMIN = 'super_admin',\n\tGENERAL_MANAGER = 'general_manager',\n\tORDER_MANAGEMENT_MANAGER = 'order_management_lead',\n\tORDER_MANAGEMENT_AGENT = 'order_management_agent',\n\tACCOUNT_MANAGER = 'account_manager',\n\tBUSINESS_DEVELOPMENT_EXECUTIVE = 'business_development_executive',\n\tACCOUNTING = 'accounting',\n\tMARKETING_MANAGER = 'marketing_manager',\n}\n\nexport enum CartStatus {\n\tACTIVE = 'active',\n\tLOCKED = 'locked',\n\tSUBMITTED = 'submitted',\n\tDELETED = 'deleted',\n}\n\nexport enum PaymentPreference {\n\tPAY_FOR_EVERYONE = 'Pay for everyone',\n\tPAY_FOR_THEMSELVES = 'Pay for themselves',\n}\n"]}
1
+ {"version":3,"file":"enum.js","sourceRoot":"/","sources":["utilities/enum.ts"],"names":[],"mappings":"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","sourcesContent":["export enum Status {\r\n\tACTIVE = 'active',\r\n\tINACTIVE = 'inactive',\r\n}\r\n\r\nexport enum ItemType {\r\n\tFOOD = 'food',\r\n\tGROCERY = 'grocery',\r\n\tPHARMACY = 'pharmacy',\r\n\tCOFFEE = 'coffee',\r\n\tFLOWER = 'flower',\r\n\tPET = 'pet',\r\n\tHEALTHY_CORNER = 'healthy_corner',\r\n}\r\n\r\nexport enum WeekDay {\r\n\tSunday = 0,\r\n\tMonday = 1,\r\n\tTuesday = 2,\r\n\tWednesday = 3,\r\n\tThursday = 4,\r\n\tFriday = 5,\r\n\tSaturday = 6,\r\n}\r\n\r\nexport enum WorkStatus {\r\n\tOPEN = 'open',\r\n\tCLOSED = 'closed',\r\n\tFULL_DAY = 'full_day',\r\n}\r\n\r\nexport enum HolidayWorkStatus {\r\n\tCLOSED = WorkStatus.CLOSED,\r\n\tFULL_DAY = WorkStatus.FULL_DAY,\r\n}\r\n\r\nexport enum ValueType {\r\n\tPERCENTAGE = 'percentage',\r\n\tFIXED = 'fixed',\r\n}\r\n\r\nexport enum PaymentMethod {\r\n\tCASH = 'cash',\r\n\tCARD = 'card',\r\n}\r\n\r\nexport enum PaymentStatus {\r\n\tPAID = 'paid',\r\n\tPENDING = 'pending',\r\n\tFAILED = 'failed',\r\n}\r\n\r\nexport enum PaidCurrency {\r\n\tBASE = 'base',\r\n\tSECONDARY = 'secondary',\r\n\tMIXED = 'mixed',\r\n}\r\n\r\nexport enum SubscriptionPackage {\r\n\tMONTHLY = 'monthly',\r\n\tYEARLY = 'yearly',\r\n}\r\n\r\nexport enum SubscriptionStatus {\r\n\tONGOING = 'ongoing',\r\n\tEXPIRED = 'expired',\r\n}\r\n\r\nexport enum RatingAccountType {\r\n\tSHOP = 'shop',\r\n\tRIDER = 'rider',\r\n}\r\n\r\nexport enum GeoLocationType {\r\n\tPOINT = 'point',\r\n\tPOLYGON = 'polygon',\r\n}\r\n\r\nexport enum UpdatedField {\r\n\tMAX_TOTAL_EST_ITEMS_PRICE = 'max_total_est_items_price',\r\n\tMAX_DISTANCE = 'max_distance',\r\n\tDAILY_WORKING_HOURS = 'daily_working_hours',\r\n\tBOB_CASH_SETTLEMENT_LIMIT = 'bob_cash_settlement_limit',\r\n\tTIPS = 'tips',\r\n\tEQUIPMENTS = 'equipments',\r\n\tMONTHLY_SHOP_TARGET = 'monthly_shop_target',\r\n\tMONTHLY_REWARD_PRIZE = 'monthly_reward_prize',\r\n\tBASE_CURRENCY = 'base_currency',\r\n\tSECONDARY_CURRENCY = 'secondary_currency',\r\n\tIS_DUAL_CURRENCY_ENABLED = 'is_dual_currency_enabled',\r\n\tEXCHANGE_RATE = 'exchange_rate',\r\n\tISSUANCE_DAY = 'issuance_day',\r\n\tOVER_DUE_PERIODS = 'over_due_periods',\r\n\tPAY_LIMIT_FOR_USER = 'pay_limit_for_user',\r\n\tVAT_PERCENTAGE = 'vat_percentage',\r\n\tRIDER_SEARCH_RANGES = 'rider_search_ranges',\r\n\tNEAR_BY_SHOP_DISTANCE = 'near_by_shop_distance',\r\n\tNEAR_BY_SHOP_DISTANCE_IN_HOME_SCREEN = 'near_by_shop_distance_in_home_screen',\r\n\tUNITS = 'units',\r\n\tCURRENCY_SETTING = 'currency_setting',\r\n\tPAYMENT_METHODS = 'payment_methods',\r\n\tIS_GROUND_ORDER_ENABLED = 'is_ground_order_enabled',\r\n\tCUSTOMER_SUPPORT_PHONE_NUMBER = 'customer_support_phone_number',\r\n}\r\n\r\nexport enum SectionType {\r\n\tSTORE_PUNCHES = 'store_punches',\r\n\tNEARBY_RESTAURANT = 'nearby_restaurant',\r\n\tNEARBY_GROCERY = 'nearby_grocery',\r\n\tNEARBY_PHARMACY = 'nearby_pharmacy',\r\n\tDISCOUNT = 'discount',\r\n\tFREE_DELIVERY = 'free_delivery',\r\n\tCRAZY_OFFER_SHOPS = 'crazy_offer_shops',\r\n\tORDER_AGAIN = 'order_again',\r\n\tFEATURED = 'featured',\r\n\tLOVE = 'love',\r\n\tAUTHENTIC_BEIRUT = 'authentic_beirut',\r\n\tNEAR_ME = 'near_me',\r\n}\r\n\r\nexport enum CoreAuthIdentityType {\r\n\tEMAIL = 'email',\r\n\tPHONE = 'phone',\r\n\tGOOGLE = 'google',\r\n\tAPPLE = 'apple',\r\n}\r\n\r\nexport enum FoodGroup {\r\n\tMEAT = 'meat',\r\n\tCHICKEN = 'chicken',\r\n\tFISH = 'fish',\r\n\tVEGETARIAN = 'vegetarian',\r\n\tOTHER = 'other',\r\n}\r\n\r\nexport enum PriceType {\r\n\tPRICE = 'price',\r\n\tUNIT = 'unit',\r\n\tPORTION = 'portion',\r\n}\r\n\r\nexport enum AttributeItemSelectionType {\r\n\tSINGLE = 'single',\r\n\tMULTIPLE = 'multiple',\r\n}\r\n\r\nexport enum ProductDietaryType {\r\n\tGLUTEN_FREE = 'gluten_free',\r\n\tLOW_CAL = 'low_cal',\r\n\tVEGETARIAN = 'vegetarian',\r\n\tVEGAN = 'vegan',\r\n\tGLUE_FREE = 'glue_free',\r\n\tKETO = 'keto',\r\n\tLACTOSE_FREE = 'lactose_free',\r\n\tHIGH_PROTEIN = 'high_protein',\r\n}\r\n\r\nexport enum DishCategory {\r\n\tBREAKFAST = 'breakfast',\r\n\tLUNCH = 'lunch',\r\n\tDINNER = 'dinner',\r\n\tSNACKS = 'snacks',\r\n}\r\n\r\nexport enum NotificationAccountType {\r\n\tUSER = 'user',\r\n\tPARENT = 'parent',\r\n\tSHOP = 'shop',\r\n\tRIDER = 'rider',\r\n\tADMIN = 'admin',\r\n\tCUSTOMER_SERVICE = 'customer_service',\r\n}\r\n\r\nexport enum ClickType {\r\n\tCLICKABLE_URL = 'clickable_url',\r\n\tCLICKABLE_ORDER = 'clickable_order',\r\n\tCLICKABLE_SHOP = 'clickable_shop',\r\n\tCLICKABLE_PRODUCT = 'clickable_product',\r\n\tCLICKABLE_LIST_CONTAINER = 'clickable_list_container',\r\n\tCLICKABLE_PAYOUT = 'clickable_payout',\r\n\tCLICKABLE_BOB_FINANCE = 'clickable_bob_finance',\r\n\tCLICKABLE_REQUEST_AREA = 'clickable_request_area',\r\n}\r\n\r\nexport enum ChargeType {\r\n\tGLOBAL = 'global',\r\n\tCUSTOM = 'custom',\r\n}\r\n\r\nexport enum ShopOnlineStatus {\r\n\tONLINE = 'online',\r\n\tOFFLINE = 'offline',\r\n\tBUSY = 'busy',\r\n}\r\n\r\nexport enum ShopRole {\r\n\tPARENT = 'parent',\r\n\tPARENT_ORDER_MANAGER = 'parent_order_manager',\r\n\tSHOP = 'shop',\r\n\tSHOP_ORDER_MANAGER = 'shop_order_manager',\r\n}\r\n\r\nexport enum BannerClickType {\r\n\tLINK = 'link',\r\n\tSHOP = 'shop',\r\n\tPRODUCT = 'product',\r\n\tLIST_CONTAINER = 'list_container',\r\n\tPLUS = 'plus',\r\n}\r\n\r\nexport enum BannerLinkType {\r\n\tURL = 'url',\r\n\tAPP_ROUTE = 'app-route',\r\n}\r\n\r\nexport enum BannerUserType {\r\n\tALL = 'all',\r\n\tPLUS = 'plus',\r\n\tNORMAL = 'normal',\r\n}\r\n\r\nexport enum CounterType {\r\n\tORDER = 'order',\r\n\tCRM_NUMBER = 'crm_number',\r\n\tshop = 'shop',\r\n}\r\n\r\nexport enum FaqAccountType {\r\n\tUSER = 'user',\r\n\tSHOP = 'shop',\r\n\tRIDER = 'rider',\r\n}\r\n\r\nexport enum ZoneStatus {\r\n\tACTIVE = 'active',\r\n\tINACTIVE = 'inactive',\r\n\tBUSY = 'busy',\r\n}\r\n\r\nexport enum BobAccountType {\r\n\tRIDER = 'rider',\r\n\tSHOP = 'shop',\r\n}\r\n\r\nexport enum BobSettlementType {\r\n\tSETTLE_CASH = 'settle_cash',\r\n\tSETTLE_PAYOUT = 'settle_Payout',\r\n}\r\n\r\nexport enum BobSettlementStatus {\r\n\tNOT_PAID = 'not_paid',\r\n\tPAID = 'paid',\r\n\tREVOKED = 'revoked',\r\n}\r\n\r\nexport enum BobModel {\r\n\tC2B = 'C2B',\r\n\tB2C = 'B2C',\r\n}\r\n\r\nexport enum BobType {\r\n\tINWARD = 'inward',\r\n\tOUTWARD = 'outward',\r\n}\r\n\r\nexport enum CouponType {\r\n\tGLOBAL = 'global',\r\n\tINDIVIDUAL_STORE = 'individual_store',\r\n\tINDIVIDUAL_USER = 'individual_user',\r\n\tCUSTOM_COUPON = 'custom_coupon',\r\n\tREFERRAL_CODE = 'referral_code',\r\n\tREFERRAL_REWARD = 'referral_reward',\r\n}\r\n\r\nexport enum CouponExpirationReason {\r\n\tDURATION = 'duration',\r\n\tSPEND_LIMIT = 'spendLimit',\r\n\tTOTAL_ORDER_LIMIT = 'totalOrderLimit',\r\n}\r\n\r\nexport enum FavouriteType {\r\n\tPRODUCT = 'product',\r\n\tSHOP = 'shop',\r\n}\r\n\r\nexport enum MarketingType {\r\n\tDISCOUNT = 'discount',\r\n\tBUY1GET1 = 'buy1get1',\r\n\tFREE_DELIVERY = 'free_delivery',\r\n\tFEATURED = 'featured',\r\n\tLOYALTY_POINT = 'loyalty_point',\r\n\tPUNCH_MARKETING = 'punch_marketing',\r\n}\r\n\r\nexport enum MarketingStatus {\r\n\tACTIVE = 'active',\r\n\tPAUSED = 'paused',\r\n\tEXPIRED = 'expired',\r\n\tDELETED = 'deleted',\r\n}\r\n\r\nexport enum AdminRole {\r\n\tSUPER_ADMIN = 'super_admin',\r\n\tGENERAL_MANAGER = 'general_manager',\r\n\tORDER_MANAGEMENT_MANAGER = 'order_management_lead',\r\n\tORDER_MANAGEMENT_AGENT = 'order_management_agent',\r\n\tACCOUNT_MANAGER = 'account_manager',\r\n\tBUSINESS_DEVELOPMENT_EXECUTIVE = 'business_development_executive',\r\n\tACCOUNTING = 'accounting',\r\n\tMARKETING_MANAGER = 'marketing_manager',\r\n}\r\n\r\nexport enum CartStatus {\r\n\tACTIVE = 'active',\r\n\tLOCKED = 'locked',\r\n\tSUBMITTED = 'submitted',\r\n\tDELETED = 'deleted',\r\n}\r\n\r\nexport enum PaymentPreference {\r\n\tPAY_FOR_EVERYONE = 'Pay for everyone',\r\n\tPAY_FOR_THEMSELVES = 'Pay for themselves',\r\n}\r\n\r\nexport enum CardType {\r\n\tAREEBA = 'areeba',\r\n}\r\n\r\nexport enum CardUserType {\r\n\tPARENT = 'parent',\r\n\tADMIN = 'admin',\r\n\tUSER = 'user',\r\n}\r\n\r\nexport enum AreebaCardStatus {\r\n\tPENDING = 'pending',\r\n\tACTIVE = 'active',\r\n}\r\n\r\nexport enum LiveStatus {\r\n\tONLINE = 'online',\r\n\tOFFLINE = 'offline',\r\n}\r\n\r\nexport enum CreatedBy {\r\n\tADMIN = 'admin',\r\n\tRIDER = 'rider',\r\n\tSHOP = 'shop',\r\n}\r\n\r\nexport enum ShiftType {\r\n\tDAY = 'day',\r\n\tNIGHT = 'night',\r\n}\r\n\r\nexport enum RiderType {\r\n\tSHOP_RIDER = 'shop_rider',\r\n\tLYXA_RIDER = 'lyxa_rider',\r\n}\r\n\r\nexport enum Language {\r\n\tEN = 'en',\r\n\tAR = 'ar',\r\n}\r\n\r\nexport enum ZoneGeometryType {\r\n\tPOLYGON = 'Polygon',\r\n}\r\n"]}
@@ -51,6 +51,7 @@ export interface PaginatorOptions<TClass extends AnyParamConstructor<any>> {
51
51
  page?: number;
52
52
  size?: number;
53
53
  sort?: Record<string, 1 | -1>;
54
+ select?: string | string[] | Record<string, 0 | 1>;
54
55
  populate?: PopulateOptions | (PopulateOptions | string)[];
55
56
  }
56
57
  export declare function createRawDocumentPaginatorObject<T extends AnyParamConstructor<any>>(model: ReturnModelType<T>): (options: PaginatorOptions<T>) => Promise<RawPaginatedResult<T>>;
@@ -16,9 +16,12 @@ function createPaginatedSchema(itemSchema) {
16
16
  });
17
17
  }
18
18
  async function _basePaginate(model, options) {
19
- const { filter = {}, page = 1, size = 10, sort = {}, populate } = options;
19
+ const { filter = {}, page = 1, size = 10, sort = {}, select, populate } = options;
20
20
  const skip = (page - 1) * size;
21
21
  let query = model.find(filter).sort(sort).skip(skip).limit(size);
22
+ if (select) {
23
+ query = query.select(select);
24
+ }
22
25
  if (populate) {
23
26
  query = query.populate(populate);
24
27
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.js","sourceRoot":"/","sources":["utilities/pagination.ts"],"names":[],"mappings":";;AAQA,sDAUC;AAiED,4EAWC;AASD,sDAmBC;AAxHD,6BAAwB;AAMxB,SAAgB,qBAAqB,CAAgC,UAAoB;IACxF,OAAO,OAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;YAChB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;YACzB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;SACtB,CAAC;QACF,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,UAAU,CAAC;KAC1B,CAAC,CAAC;AACJ,CAAC;AA8BD,KAAK,UAAU,aAAa,CAC3B,KAAyB,EACzB,OAA4B;IAE5B,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAE1E,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAE/B,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjE,IAAI,QAAQ,EAAE,CAAC;QACd,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEnG,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAEnD,OAAO;QACN,QAAQ,EAAE;YACT,IAAI;YACJ,IAAI;YACJ,aAAa;YACb,UAAU;SACV;QACD,SAAS,EAAE,SAAyC;KACpD,CAAC;AACH,CAAC;AAQD,SAAgB,gCAAgC,CAC/C,KAAyB;IAEzB,OAAO,KAAK,UAAU,QAAQ,CAAC,OAA4B;QAC1D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEpE,OAAO;YACN,QAAQ;YACR,SAAS;SACT,CAAC;IACH,CAAC,CAAC;AACH,CAAC;AASD,SAAgB,qBAAqB,CACpC,KAAyB,EACzB,UAAwB,EACxB,WAAkE;IAElE,MAAM,eAAe,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAE1D,OAAO,KAAK,UAAU,QAAQ,CAAC,OAA4B;QAC1D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEpE,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnE,MAAM,eAAe,GAAG;YACvB,QAAQ;YACR,KAAK;SACL,CAAC;QAEF,OAAO,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC,CAAC;AACH,CAAC","sourcesContent":["import { DocumentType, ReturnModelType } from '@typegoose/typegoose';\r\nimport { FilterQuery, PopulateOptions } from 'mongoose';\r\nimport { z } from 'zod';\r\nimport { AnyParamConstructor } from '@typegoose/typegoose/lib/types';\r\n\r\n/**\r\n * A helper to create a paginated Zod schema for an item type.\r\n */\r\nexport function createPaginatedSchema<ItemType extends z.ZodTypeAny>(itemSchema: ItemType) {\r\n\treturn z.object({\r\n\t\tmetadata: z.object({\r\n\t\t\tpage: z.number(),\r\n\t\t\tsize: z.number(),\r\n\t\t\ttotalElements: z.number(),\r\n\t\t\ttotalPages: z.number(),\r\n\t\t}),\r\n\t\titems: z.array(itemSchema),\r\n\t});\r\n}\r\n\r\nexport interface RawPaginatedResult<T extends AnyParamConstructor<any>> {\r\n\tmetadata: {\r\n\t\tpage: number;\r\n\t\tsize: number;\r\n\t\ttotalElements: number;\r\n\t\ttotalPages: number;\r\n\t};\r\n\tdocuments: DocumentType<T>[];\r\n}\r\n\r\n/**\r\n * The common pagination options.\r\n */\r\nexport interface PaginatorOptions<TClass extends AnyParamConstructor<any>> {\r\n\tfilter?: FilterQuery<DocumentType<TClass>>;\r\n\tpage?: number;\r\n\tsize?: number;\r\n\tsort?: Record<string, 1 | -1>;\r\n\tpopulate?: PopulateOptions | (PopulateOptions | string)[];\r\n}\r\n\r\n/**\r\n * This internal function wraps the common query logic:\r\n * - filter, page, size, sort, populate\r\n * - fetch documents, count documents\r\n * - compute totalPages\r\n * Returns a standard object with `metadata` & `documents`.\r\n */\r\nasync function _basePaginate<T extends AnyParamConstructor<any>>(\r\n\tmodel: ReturnModelType<T>,\r\n\toptions: PaginatorOptions<T>\r\n): Promise<RawPaginatedResult<T>> {\r\n\tconst { filter = {}, page = 1, size = 10, sort = {}, populate } = options;\r\n\r\n\tconst skip = (page - 1) * size;\r\n\r\n\tlet query = model.find(filter).sort(sort).skip(skip).limit(size);\r\n\r\n\tif (populate) {\r\n\t\tquery = query.populate(populate);\r\n\t}\r\n\r\n\tconst [documents, totalElements] = await Promise.all([query.exec(), model.countDocuments(filter)]);\r\n\r\n\tconst totalPages = Math.ceil(totalElements / size);\r\n\r\n\treturn {\r\n\t\tmetadata: {\r\n\t\t\tpage,\r\n\t\t\tsize,\r\n\t\t\ttotalElements,\r\n\t\t\ttotalPages,\r\n\t\t},\r\n\t\tdocuments: documents as unknown as DocumentType<T>[],\r\n\t};\r\n}\r\n\r\n/**\r\n * Creates a paginator returning raw documents.\r\n *\r\n * @param model The Typegoose model\r\n * @returns A function that, when passed `PaginatorOptions`, returns raw docs + metadata.\r\n */\r\nexport function createRawDocumentPaginatorObject<T extends AnyParamConstructor<any>>(\r\n\tmodel: ReturnModelType<T>\r\n) {\r\n\treturn async function paginate(options: PaginatorOptions<T>): Promise<RawPaginatedResult<T>> {\r\n\t\tconst { metadata, documents } = await _basePaginate(model, options);\r\n\r\n\t\treturn {\r\n\t\t\tmetadata,\r\n\t\t\tdocuments,\r\n\t\t};\r\n\t};\r\n}\r\n\r\n/**\r\n * Creates a paginator that returns Zod-validated items.\r\n *\r\n * @param model The Typegoose model\r\n * @param itemSchema A Zod schema describing the shape of each item\r\n * @param transformFn Optional transform function to convert raw doc -> item\r\n */\r\nexport function createPaginatorObject<T extends AnyParamConstructor<any>>(\r\n\tmodel: ReturnModelType<T>,\r\n\titemSchema: z.ZodTypeAny,\r\n\ttransformFn?: (doc: DocumentType<T>) => z.infer<typeof itemSchema>\r\n) {\r\n\tconst PaginatedSchema = createPaginatedSchema(itemSchema);\r\n\r\n\treturn async function paginate(options: PaginatorOptions<T>) {\r\n\t\tconst { metadata, documents } = await _basePaginate(model, options);\r\n\r\n\t\tconst items = transformFn ? documents.map(transformFn) : documents;\r\n\r\n\t\tconst paginatedResult = {\r\n\t\t\tmetadata,\r\n\t\t\titems,\r\n\t\t};\r\n\r\n\t\treturn PaginatedSchema.parse(paginatedResult);\r\n\t};\r\n}\r\n"]}
1
+ {"version":3,"file":"pagination.js","sourceRoot":"/","sources":["utilities/pagination.ts"],"names":[],"mappings":";;AAQA,sDAUC;AAqED,4EAWC;AASD,sDAmBC;AA5HD,6BAAwB;AAMxB,SAAgB,qBAAqB,CAAgC,UAAoB;IACxF,OAAO,OAAC,CAAC,MAAM,CAAC;QACf,QAAQ,EAAE,OAAC,CAAC,MAAM,CAAC;YAClB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;YAChB,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;YAChB,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE;YACzB,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE;SACtB,CAAC;QACF,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,UAAU,CAAC;KAC1B,CAAC,CAAC;AACJ,CAAC;AA+BD,KAAK,UAAU,aAAa,CAC3B,KAAyB,EACzB,OAA4B;IAE5B,MAAM,EAAE,MAAM,GAAG,EAAE,EAAE,IAAI,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAElF,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IAE/B,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjE,IAAI,MAAM,EAAE,CAAC;QACZ,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAQ,CAAC;IACrC,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACd,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAClC,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAEnG,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAEnD,OAAO;QACN,QAAQ,EAAE;YACT,IAAI;YACJ,IAAI;YACJ,aAAa;YACb,UAAU;SACV;QACD,SAAS,EAAE,SAAyC;KACpD,CAAC;AACH,CAAC;AAQD,SAAgB,gCAAgC,CAC/C,KAAyB;IAEzB,OAAO,KAAK,UAAU,QAAQ,CAAC,OAA4B;QAC1D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEpE,OAAO;YACN,QAAQ;YACR,SAAS;SACT,CAAC;IACH,CAAC,CAAC;AACH,CAAC;AASD,SAAgB,qBAAqB,CACpC,KAAyB,EACzB,UAAwB,EACxB,WAAkE;IAElE,MAAM,eAAe,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAE1D,OAAO,KAAK,UAAU,QAAQ,CAAC,OAA4B;QAC1D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAEpE,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEnE,MAAM,eAAe,GAAG;YACvB,QAAQ;YACR,KAAK;SACL,CAAC;QAEF,OAAO,eAAe,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IAC/C,CAAC,CAAC;AACH,CAAC","sourcesContent":["import { DocumentType, ReturnModelType } from '@typegoose/typegoose';\r\nimport { FilterQuery, PopulateOptions } from 'mongoose';\r\nimport { z } from 'zod';\r\nimport { AnyParamConstructor } from '@typegoose/typegoose/lib/types';\r\n\r\n/**\r\n * A helper to create a paginated Zod schema for an item type.\r\n */\r\nexport function createPaginatedSchema<ItemType extends z.ZodTypeAny>(itemSchema: ItemType) {\r\n\treturn z.object({\r\n\t\tmetadata: z.object({\r\n\t\t\tpage: z.number(),\r\n\t\t\tsize: z.number(),\r\n\t\t\ttotalElements: z.number(),\r\n\t\t\ttotalPages: z.number(),\r\n\t\t}),\r\n\t\titems: z.array(itemSchema),\r\n\t});\r\n}\r\n\r\nexport interface RawPaginatedResult<T extends AnyParamConstructor<any>> {\r\n\tmetadata: {\r\n\t\tpage: number;\r\n\t\tsize: number;\r\n\t\ttotalElements: number;\r\n\t\ttotalPages: number;\r\n\t};\r\n\tdocuments: DocumentType<T>[];\r\n}\r\n\r\n/**\r\n * The common pagination options.\r\n */\r\nexport interface PaginatorOptions<TClass extends AnyParamConstructor<any>> {\r\n\tfilter?: FilterQuery<DocumentType<TClass>>;\r\n\tpage?: number;\r\n\tsize?: number;\r\n\tsort?: Record<string, 1 | -1>;\r\n\tselect?: string | string[] | Record<string, 0 | 1>;\r\n\tpopulate?: PopulateOptions | (PopulateOptions | string)[];\r\n}\r\n\r\n/**\r\n * This internal function wraps the common query logic:\r\n * - filter, page, size, sort, populate\r\n * - fetch documents, count documents\r\n * - compute totalPages\r\n * Returns a standard object with `metadata` & `documents`.\r\n */\r\nasync function _basePaginate<T extends AnyParamConstructor<any>>(\r\n\tmodel: ReturnModelType<T>,\r\n\toptions: PaginatorOptions<T>\r\n): Promise<RawPaginatedResult<T>> {\r\n\tconst { filter = {}, page = 1, size = 10, sort = {}, select, populate } = options;\r\n\r\n\tconst skip = (page - 1) * size;\r\n\r\n\tlet query = model.find(filter).sort(sort).skip(skip).limit(size);\r\n\r\n\tif (select) {\r\n\t\tquery = query.select(select) as any;\r\n\t}\r\n\tif (populate) {\r\n\t\tquery = query.populate(populate);\r\n\t}\r\n\r\n\tconst [documents, totalElements] = await Promise.all([query.exec(), model.countDocuments(filter)]);\r\n\r\n\tconst totalPages = Math.ceil(totalElements / size);\r\n\r\n\treturn {\r\n\t\tmetadata: {\r\n\t\t\tpage,\r\n\t\t\tsize,\r\n\t\t\ttotalElements,\r\n\t\t\ttotalPages,\r\n\t\t},\r\n\t\tdocuments: documents as unknown as DocumentType<T>[],\r\n\t};\r\n}\r\n\r\n/**\r\n * Creates a paginator returning raw documents.\r\n *\r\n * @param model The Typegoose model\r\n * @returns A function that, when passed `PaginatorOptions`, returns raw docs + metadata.\r\n */\r\nexport function createRawDocumentPaginatorObject<T extends AnyParamConstructor<any>>(\r\n\tmodel: ReturnModelType<T>\r\n) {\r\n\treturn async function paginate(options: PaginatorOptions<T>): Promise<RawPaginatedResult<T>> {\r\n\t\tconst { metadata, documents } = await _basePaginate(model, options);\r\n\r\n\t\treturn {\r\n\t\t\tmetadata,\r\n\t\t\tdocuments,\r\n\t\t};\r\n\t};\r\n}\r\n\r\n/**\r\n * Creates a paginator that returns Zod-validated items.\r\n *\r\n * @param model The Typegoose model\r\n * @param itemSchema A Zod schema describing the shape of each item\r\n * @param transformFn Optional transform function to convert raw doc -> item\r\n */\r\nexport function createPaginatorObject<T extends AnyParamConstructor<any>>(\r\n\tmodel: ReturnModelType<T>,\r\n\titemSchema: z.ZodTypeAny,\r\n\ttransformFn?: (doc: DocumentType<T>) => z.infer<typeof itemSchema>\r\n) {\r\n\tconst PaginatedSchema = createPaginatedSchema(itemSchema);\r\n\r\n\treturn async function paginate(options: PaginatorOptions<T>) {\r\n\t\tconst { metadata, documents } = await _basePaginate(model, options);\r\n\r\n\t\tconst items = transformFn ? documents.map(transformFn) : documents;\r\n\r\n\t\tconst paginatedResult = {\r\n\t\t\tmetadata,\r\n\t\t\titems,\r\n\t\t};\r\n\r\n\t\treturn PaginatedSchema.parse(paginatedResult);\r\n\t};\r\n}\r\n"]}
@@ -4,7 +4,7 @@ exports.response = void 0;
4
4
  const response = (message, data) => ({
5
5
  success: true,
6
6
  message,
7
- data
7
+ data,
8
8
  });
9
9
  exports.response = response;
10
10
  //# sourceMappingURL=response.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"response.js","sourceRoot":"/","sources":["utilities/response.ts"],"names":[],"mappings":";;;AAAO,MAAM,QAAQ,GAAG,CAAI,OAAe,EAAE,IAAQ,EAAE,EAAE,CAAC,CAAC;IACvD,OAAO,EAAE,IAAI;IACb,OAAO;IACP,IAAI;CACL,CAAC,CAAC;AAJQ,QAAA,QAAQ,YAIhB","sourcesContent":["export const response = <T>(message: string, data?: T) => ({\r\n success: true,\r\n message,\r\n data\r\n });"]}
1
+ {"version":3,"file":"response.js","sourceRoot":"/","sources":["utilities/response.ts"],"names":[],"mappings":";;;AAAO,MAAM,QAAQ,GAAG,CAAI,OAAe,EAAE,IAAQ,EAAE,EAAE,CAAC,CAAC;IAC1D,OAAO,EAAE,IAAI;IACb,OAAO;IACP,IAAI;CACJ,CAAC,CAAC;AAJU,QAAA,QAAQ,YAIlB","sourcesContent":["export const response = <T>(message: string, data?: T) => ({\r\n\tsuccess: true,\r\n\tmessage,\r\n\tdata,\r\n});\r\n"]}
@@ -1,15 +1,26 @@
1
1
  import { DocumentType } from '@typegoose/typegoose';
2
2
  import { z } from 'zod';
3
+ type Metadata = {
4
+ page: number;
5
+ size: number;
6
+ totalElements: number;
7
+ totalPages: number;
8
+ };
9
+ type PaginatedResponse<T> = {
10
+ metadata: Metadata;
11
+ documents: T[];
12
+ };
3
13
  export declare class GlobalTransformer<ModelType, DTOType> {
4
14
  private schema;
5
15
  constructor(schema: z.ZodType<any>);
6
- transformToBasicView(record: DocumentType<ModelType>): DTOType;
7
- transformToBasicViewArray(records: DocumentType<ModelType>[]): DTOType[];
16
+ transformToBasicView(record: DocumentType<ModelType> | DTOType): DTOType;
17
+ transformToBasicViewArray<T extends DocumentType<ModelType> | DTOType>(records: T[] | PaginatedResponse<T>): PaginatedResponse<DTOType>;
8
18
  transformToPartialView(record: DocumentType<ModelType>, fields: (keyof DTOType)[]): Partial<DTOType>;
9
- transformToPartialViewArray(records: DocumentType<ModelType>[], fields: (keyof DTOType)[]): Partial<DTOType>[];
19
+ transformToPartialViewArray(records: DocumentType<ModelType>[] | PaginatedResponse<DocumentType<ModelType>>, fields: (keyof DTOType)[]): Partial<DTOType>[] | PaginatedResponse<Partial<DTOType>>;
10
20
  transformWithAdditionalData(record: DocumentType<ModelType>, additionalData: Partial<Record<string, any>>): DTOType & Record<string, any>;
11
21
  transformWithMapping<OutputType = DTOType>(record: DocumentType<ModelType>, mapFn: (input: DTOType) => OutputType): OutputType;
12
22
  transformNestedProperty<NestedType>(record: DocumentType<ModelType>, path: string, nestedSchema: z.ZodType<any>): NestedType;
13
23
  transformWithDefaults(record: DocumentType<ModelType>, defaults: Partial<DTOType>): DTOType;
14
24
  }
15
25
  export declare function createTransformer<ModelType, DTOType>(schema: z.ZodType<any>): GlobalTransformer<ModelType, DTOType>;
26
+ export {};
@@ -58,10 +58,40 @@ let GlobalTransformer = class GlobalTransformer {
58
58
  return this.schema.parse(record);
59
59
  }
60
60
  transformToBasicViewArray(records) {
61
- if (records.length === 0) {
62
- return [];
61
+ if (records && typeof records === 'object' && 'metadata' in records && 'documents' in records) {
62
+ const paginatedRecords = records;
63
+ const processedDocuments = Array.isArray(paginatedRecords.documents)
64
+ ? paginatedRecords.documents.map(doc => this.transformToBasicView(doc))
65
+ : [];
66
+ return {
67
+ metadata: paginatedRecords.metadata,
68
+ documents: processedDocuments,
69
+ };
63
70
  }
64
- return records.map(record => this.transformToBasicView(record));
71
+ if (Array.isArray(records)) {
72
+ if (records.length === 0) {
73
+ return {
74
+ metadata: {
75
+ page: 1,
76
+ size: 0,
77
+ totalElements: 0,
78
+ totalPages: 0,
79
+ },
80
+ documents: [],
81
+ };
82
+ }
83
+ const transformedRecords = records.map(record => this.transformToBasicView(record));
84
+ return {
85
+ metadata: {
86
+ page: 1,
87
+ size: transformedRecords.length,
88
+ totalElements: transformedRecords.length,
89
+ totalPages: 1,
90
+ },
91
+ documents: transformedRecords,
92
+ };
93
+ }
94
+ throw new Error('Invalid input type for transformToBasicViewArray');
65
95
  }
66
96
  transformToPartialView(record, fields) {
67
97
  const fullView = this.transformToBasicView(record);
@@ -73,10 +103,23 @@ let GlobalTransformer = class GlobalTransformer {
73
103
  return partialView;
74
104
  }
75
105
  transformToPartialViewArray(records, fields) {
76
- if (records.length === 0) {
77
- return [];
106
+ if (records && typeof records === 'object' && 'metadata' in records && 'documents' in records) {
107
+ const paginatedRecords = records;
108
+ const processedDocuments = Array.isArray(paginatedRecords.documents)
109
+ ? paginatedRecords.documents.map(doc => this.transformToPartialView(doc, fields))
110
+ : [];
111
+ return {
112
+ metadata: paginatedRecords.metadata,
113
+ documents: processedDocuments,
114
+ };
115
+ }
116
+ if (Array.isArray(records)) {
117
+ if (records.length === 0) {
118
+ return [];
119
+ }
120
+ return records.map(record => this.transformToPartialView(record, fields));
78
121
  }
79
- return records.map(record => this.transformToPartialView(record, fields));
122
+ throw new Error('Invalid input type for transformToPartialViewArray');
80
123
  }
81
124
  transformWithAdditionalData(record, additionalData) {
82
125
  const basicView = this.transformToBasicView(record);
@@ -1 +1 @@
1
- {"version":3,"file":"transformers.js","sourceRoot":"/","sources":["utilities/transformers.ts"],"names":[],"mappings":"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","sourcesContent":["import { DocumentType } from '@typegoose/typegoose';\r\nimport Container, { Service } from 'typedi';\r\nimport { z } from 'zod';\r\n\r\n/**\r\n * GlobalTransformer provides a reusable way to transform Mongoose documents\r\n * into DTOs using Zod schemas for validation and type safety.\r\n *\r\n * @template ModelType - The Mongoose model type\r\n * @template DTOType - The output DTO type\r\n */\r\n@Service()\r\nexport class GlobalTransformer<ModelType, DTOType> {\r\n\t/**\r\n\t * Creates a new GlobalTransformer\r\n\t *\r\n\t * @param {z.ZodType<any>} schema - Zod schema used for validation and transformation\r\n\t */\r\n\tconstructor(private schema: z.ZodType<any>) {}\r\n\r\n\t/**\r\n\t * Transforms a single document to a DTO\r\n\t *\r\n\t * @param {DocumentType<ModelType>} record - The document to transform\r\n\t * @returns {DTOType} The transformed DTO\r\n\t * @throws {Error} When record is not found\r\n\t */\r\n\tpublic transformToBasicView(record: DocumentType<ModelType>): DTOType {\r\n\t\tif (!record) {\r\n\t\t\tthrow new Error('Record not found');\r\n\t\t}\r\n\r\n\t\treturn this.schema.parse(record) as DTOType;\r\n\t}\r\n\r\n\t/**\r\n\t * Transforms an array of documents to DTOs\r\n\t *\r\n\t * @param {DocumentType<ModelType>[]} records - Array of documents to transform\r\n\t * @returns {DTOType[]} Array of transformed DTOs\r\n\t */\r\n\tpublic transformToBasicViewArray(records: DocumentType<ModelType>[]): DTOType[] {\r\n\t\tif (records.length === 0) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\t\treturn records.map(record => this.transformToBasicView(record));\r\n\t}\r\n\r\n\t/**\r\n\t * Creates a partial view with only the specified fields\r\n\t *\r\n\t * @param {DocumentType<ModelType>} record - The document to transform\r\n\t * @param {(keyof DTOType)[]} fields - Fields to include in the output\r\n\t * @returns {Partial<DTOType>} Partial DTO with only the specified fields\r\n\t */\r\n\tpublic transformToPartialView(\r\n\t\trecord: DocumentType<ModelType>,\r\n\t\tfields: (keyof DTOType)[]\r\n\t): Partial<DTOType> {\r\n\t\tconst fullView = this.transformToBasicView(record);\r\n\t\tconst partialView: Partial<DTOType> = {};\r\n\r\n\t\tfields.forEach(field => {\r\n\t\t\tconst dto = fullView as Record<keyof DTOType, any>;\r\n\t\t\tpartialView[field] = dto[field];\r\n\t\t});\r\n\r\n\t\treturn partialView;\r\n\t}\r\n\r\n\t/**\r\n\t * Creates partial views for an array of documents\r\n\t *\r\n\t * @param {DocumentType<ModelType>[]} records - Array of documents to transform\r\n\t * @param {(keyof DTOType)[]} fields - Fields to include in the output\r\n\t * @returns {Partial<DTOType>[]} Array of partial DTOs\r\n\t */\r\n\tpublic transformToPartialViewArray(\r\n\t\trecords: DocumentType<ModelType>[],\r\n\t\tfields: (keyof DTOType)[]\r\n\t): Partial<DTOType>[] {\r\n\t\tif (records.length === 0) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\t\treturn records.map(record => this.transformToPartialView(record, fields));\r\n\t}\r\n\r\n\t/**\r\n\t * Transforms a document and adds additional computed fields\r\n\t *\r\n\t * @param {DocumentType<ModelType>} record - The document to transform\r\n\t * @param {Partial<Record<string, any>>} additionalData - Additional fields to add\r\n\t * @returns {DTOType & Record<string, any>} DTO with additional fields\r\n\t */\r\n\tpublic transformWithAdditionalData(\r\n\t\trecord: DocumentType<ModelType>,\r\n\t\tadditionalData: Partial<Record<string, any>>\r\n\t): DTOType & Record<string, any> {\r\n\t\tconst basicView = this.transformToBasicView(record);\r\n\t\treturn { ...basicView, ...additionalData };\r\n\t}\r\n\r\n\t/**\r\n\t * Transforms a document using a custom mapping function\r\n\t *\r\n\t * @template OutputType - The output type after mapping\r\n\t * @param {DocumentType<ModelType>} record - The document to transform\r\n\t * @param {(input: DTOType) => OutputType} mapFn - Mapping function for custom transformation\r\n\t * @returns {OutputType} Custom transformed output\r\n\t */\r\n\tpublic transformWithMapping<OutputType = DTOType>(\r\n\t\trecord: DocumentType<ModelType>,\r\n\t\tmapFn: (input: DTOType) => OutputType\r\n\t): OutputType {\r\n\t\tconst basicView = this.transformToBasicView(record);\r\n\t\treturn mapFn(basicView);\r\n\t}\r\n\r\n\t/**\r\n\t * Transforms a nested property of the document\r\n\t *\r\n\t * @template NestedType - The type of the nested property\r\n\t * @param {DocumentType<ModelType>} record - The document to transform\r\n\t * @param {string} path - Dot-notation path to the nested property\r\n\t * @param {z.ZodType<any>} nestedSchema - Zod schema for the nested property\r\n\t * @returns {NestedType} The transformed nested property\r\n\t * @throws {Error} When path is not found in record\r\n\t */\r\n\tpublic transformNestedProperty<NestedType>(\r\n\t\trecord: DocumentType<ModelType>,\r\n\t\tpath: string,\r\n\t\tnestedSchema: z.ZodType<any>\r\n\t): NestedType {\r\n\t\tif (!record) {\r\n\t\t\tthrow new Error('Record not found');\r\n\t\t}\r\n\r\n\t\tconst parts = path.split('.');\r\n\t\tlet current: any = record;\r\n\r\n\t\tfor (const part of parts) {\r\n\t\t\tif (current && part in current) {\r\n\t\t\t\tcurrent = current[part];\r\n\t\t\t} else {\r\n\t\t\t\tthrow new Error(`Path ${path} not found in record`);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn nestedSchema.parse(current) as NestedType;\r\n\t}\r\n\r\n\t/**\r\n\t * Transforms a document with default values for missing fields\r\n\t *\r\n\t * @param {DocumentType<ModelType>} record - The document to transform\r\n\t * @param {Partial<DTOType>} defaults - Default values for fields\r\n\t * @returns {DTOType} DTO with defaults applied\r\n\t */\r\n\tpublic transformWithDefaults(record: DocumentType<ModelType>, defaults: Partial<DTOType>): DTOType {\r\n\t\tconst transformed = this.transformToBasicView(record);\r\n\t\treturn { ...defaults, ...transformed };\r\n\t}\r\n}\r\n\r\n/**\r\n * Creates a transformer instance for the given schema.\r\n * Uses dependency injection if available, falls back to creating a new instance.\r\n *\r\n * @template ModelType - The Mongoose model type\r\n * @template DTOType - The output DTO type\r\n * @param {z.ZodType<any>} schema - Zod schema for validation and transformation\r\n * @returns {GlobalTransformer<ModelType, DTOType>} Instance of GlobalTransformer\r\n */\r\nexport function createTransformer<ModelType, DTOType>(\r\n\tschema: z.ZodType<any>\r\n): GlobalTransformer<ModelType, DTOType> {\r\n\ttry {\r\n\t\treturn Container.get(GlobalTransformer) as GlobalTransformer<ModelType, DTOType>;\r\n\t} catch (error) {\r\n\t\treturn new GlobalTransformer<ModelType, DTOType>(schema);\r\n\t}\r\n}\r\n"]}
1
+ {"version":3,"file":"transformers.js","sourceRoot":"/","sources":["utilities/transformers.ts"],"names":[],"mappings":"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","sourcesContent":["import { DocumentType } from '@typegoose/typegoose';\r\nimport Container, { Service } from 'typedi';\r\nimport { z } from 'zod';\r\n\r\n/**\r\n * Type definition for pagination metadata\r\n */\r\ntype Metadata = {\r\n\tpage: number;\r\n\tsize: number;\r\n\ttotalElements: number;\r\n\ttotalPages: number;\r\n};\r\n\r\n/**\r\n * Type definition for paginated response\r\n */\r\ntype PaginatedResponse<T> = {\r\n\tmetadata: Metadata;\r\n\tdocuments: T[];\r\n};\r\n\r\n/**\r\n * GlobalTransformer provides a reusable way to transform Mongoose documents\r\n * into DTOs using Zod schemas for validation and type safety.\r\n *\r\n * @template ModelType - The Mongoose model type\r\n * @template DTOType - The output DTO type\r\n */\r\n@Service()\r\nexport class GlobalTransformer<ModelType, DTOType> {\r\n\t/**\r\n\t * Creates a new GlobalTransformer\r\n\t *\r\n\t * @param {z.ZodType<any>} schema - Zod schema used for validation and transformation\r\n\t */\r\n\tconstructor(private schema: z.ZodType<any>) {}\r\n\r\n\t/**\r\n\t * Transforms a single document to a DTO\r\n\t *\r\n\t * @param {DocumentType<ModelType>} record - The document to transform\r\n\t * @returns {DTOType} The transformed DTO\r\n\t * @throws {Error} When record is not found\r\n\t */\r\n\tpublic transformToBasicView(record: DocumentType<ModelType> | DTOType): DTOType {\r\n\t\tif (!record) {\r\n\t\t\tthrow new Error('Record not found');\r\n\t\t}\r\n\r\n\t\treturn this.schema.parse(record) as DTOType;\r\n\t}\r\n\r\n\t/**\r\n\t * Transforms an array of documents or a paginated response to a paginated DTO response\r\n\t *\r\n\t * @param {DocumentType<ModelType>[] | DTOType[] | PaginatedResponse<DocumentType<ModelType>> | PaginatedResponse<DTOType>} records - Records to transform\r\n\t * @returns {PaginatedResponse<DTOType>} Paginated response with transformed DTOs\r\n\t * @throws {Error} When input type is invalid\r\n\t */\r\n\tpublic transformToBasicViewArray<T extends DocumentType<ModelType> | DTOType>(\r\n\t\trecords: T[] | PaginatedResponse<T>\r\n\t): PaginatedResponse<DTOType> {\r\n\t\t// Case 1: If records is already in the paginated format\r\n\t\tif (records && typeof records === 'object' && 'metadata' in records && 'documents' in records) {\r\n\t\t\tconst paginatedRecords = records as\r\n\t\t\t\t| PaginatedResponse<DocumentType<ModelType>>\r\n\t\t\t\t| PaginatedResponse<DTOType>;\r\n\r\n\t\t\t// Process the documents array\r\n\t\t\tconst processedDocuments = Array.isArray(paginatedRecords.documents)\r\n\t\t\t\t? paginatedRecords.documents.map(doc => this.transformToBasicView(doc))\r\n\t\t\t\t: [];\r\n\r\n\t\t\t// Return the entire paginated structure\r\n\t\t\treturn {\r\n\t\t\t\tmetadata: paginatedRecords.metadata,\r\n\t\t\t\tdocuments: processedDocuments,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t// Case 2: If records is an array\r\n\t\tif (Array.isArray(records)) {\r\n\t\t\tif (records.length === 0) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tmetadata: {\r\n\t\t\t\t\t\tpage: 1,\r\n\t\t\t\t\t\tsize: 0,\r\n\t\t\t\t\t\ttotalElements: 0,\r\n\t\t\t\t\t\ttotalPages: 0,\r\n\t\t\t\t\t},\r\n\t\t\t\t\tdocuments: [],\r\n\t\t\t\t};\r\n\t\t\t}\r\n\r\n\t\t\tconst transformedRecords = records.map(record => this.transformToBasicView(record));\r\n\r\n\t\t\t// Return in paginated format with default metadata\r\n\t\t\treturn {\r\n\t\t\t\tmetadata: {\r\n\t\t\t\t\tpage: 1,\r\n\t\t\t\t\tsize: transformedRecords.length,\r\n\t\t\t\t\ttotalElements: transformedRecords.length,\r\n\t\t\t\t\ttotalPages: 1,\r\n\t\t\t\t},\r\n\t\t\t\tdocuments: transformedRecords,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t// Fallback for unexpected input\r\n\t\tthrow new Error('Invalid input type for transformToBasicViewArray');\r\n\t}\r\n\r\n\t/**r\r\n\t * Creates a partial view with only the specified fields\r\n\t *\r\n\t * @param {DocumentType<ModelType>} record - The document to transform\r\n\t * @param {(keyof DTOType)[]} fields - Fields to include in the output\r\n\t * @returns {Partial<DTOType>} Partial DTO with only the specified fields\r\n\t */\r\n\tpublic transformToPartialView(\r\n\t\trecord: DocumentType<ModelType>,\r\n\t\tfields: (keyof DTOType)[]\r\n\t): Partial<DTOType> {\r\n\t\tconst fullView = this.transformToBasicView(record);\r\n\t\tconst partialView: Partial<DTOType> = {};\r\n\r\n\t\tfields.forEach(field => {\r\n\t\t\tconst dto = fullView as Record<keyof DTOType, any>;\r\n\t\t\tpartialView[field] = dto[field];\r\n\t\t});\r\n\r\n\t\treturn partialView;\r\n\t}\r\n\r\n\t/**\r\n\t * Creates partial views for an array of documents\r\n\t *\r\n\t * @param {DocumentType<ModelType>[]} records - Array of documents to transform\r\n\t * @param {(keyof DTOType)[]} fields - Fields to include in the output\r\n\t * @returns {Partial<DTOType>[]} Array of partial DTOs\r\n\t */\r\n\tpublic transformToPartialViewArray(\r\n\t\trecords: DocumentType<ModelType>[] | PaginatedResponse<DocumentType<ModelType>>,\r\n\t\tfields: (keyof DTOType)[]\r\n\t): Partial<DTOType>[] | PaginatedResponse<Partial<DTOType>> {\r\n\t\t// Case 1: If records is already in the paginated format\r\n\t\tif (records && typeof records === 'object' && 'metadata' in records && 'documents' in records) {\r\n\t\t\tconst paginatedRecords = records as PaginatedResponse<DocumentType<ModelType>>;\r\n\r\n\t\t\t// Process the documents array\r\n\t\t\tconst processedDocuments = Array.isArray(paginatedRecords.documents)\r\n\t\t\t\t? paginatedRecords.documents.map(doc => this.transformToPartialView(doc, fields))\r\n\t\t\t\t: [];\r\n\r\n\t\t\t// Return the entire paginated structure\r\n\t\t\treturn {\r\n\t\t\t\tmetadata: paginatedRecords.metadata,\r\n\t\t\t\tdocuments: processedDocuments,\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t// Case 2: If records is an array\r\n\t\tif (Array.isArray(records)) {\r\n\t\t\tif (records.length === 0) {\r\n\t\t\t\treturn [];\r\n\t\t\t}\r\n\t\t\treturn records.map(record => this.transformToPartialView(record, fields));\r\n\t\t}\r\n\r\n\t\t// Fallback for unexpected input\r\n\t\tthrow new Error('Invalid input type for transformToPartialViewArray');\r\n\t}\r\n\t/**\r\n\t * Transforms a document and adds additional computed fields\r\n\t *\r\n\t * @param {DocumentType<ModelType>} record - The document to transform\r\n\t * @param {Partial<Record<string, any>>} additionalData - Additional fields to add\r\n\t * @returns {DTOType & Record<string, any>} DTO with additional fields\r\n\t */\r\n\tpublic transformWithAdditionalData(\r\n\t\trecord: DocumentType<ModelType>,\r\n\t\tadditionalData: Partial<Record<string, any>>\r\n\t): DTOType & Record<string, any> {\r\n\t\tconst basicView = this.transformToBasicView(record);\r\n\t\treturn { ...basicView, ...additionalData };\r\n\t}\r\n\r\n\t/**\r\n\t * Transforms a document using a custom mapping function\r\n\t *\r\n\t * @template OutputType - The output type after mapping\r\n\t * @param {DocumentType<ModelType>} record - The document to transform\r\n\t * @param {(input: DTOType) => OutputType} mapFn - Mapping function for custom transformation\r\n\t * @returns {OutputType} Custom transformed output\r\n\t */\r\n\tpublic transformWithMapping<OutputType = DTOType>(\r\n\t\trecord: DocumentType<ModelType>,\r\n\t\tmapFn: (input: DTOType) => OutputType\r\n\t): OutputType {\r\n\t\tconst basicView = this.transformToBasicView(record);\r\n\t\treturn mapFn(basicView);\r\n\t}\r\n\r\n\t/**\r\n\t * Transforms a nested property of the document\r\n\t *\r\n\t * @template NestedType - The type of the nested property\r\n\t * @param {DocumentType<ModelType>} record - The document to transform\r\n\t * @param {string} path - Dot-notation path to the nested property\r\n\t * @param {z.ZodType<any>} nestedSchema - Zod schema for the nested property\r\n\t * @returns {NestedType} The transformed nested property\r\n\t * @throws {Error} When path is not found in record\r\n\t */\r\n\tpublic transformNestedProperty<NestedType>(\r\n\t\trecord: DocumentType<ModelType>,\r\n\t\tpath: string,\r\n\t\tnestedSchema: z.ZodType<any>\r\n\t): NestedType {\r\n\t\tif (!record) {\r\n\t\t\tthrow new Error('Record not found');\r\n\t\t}\r\n\r\n\t\tconst parts = path.split('.');\r\n\t\tlet current: any = record;\r\n\r\n\t\tfor (const part of parts) {\r\n\t\t\tif (current && part in current) {\r\n\t\t\t\tcurrent = current[part];\r\n\t\t\t} else {\r\n\t\t\t\tthrow new Error(`Path ${path} not found in record`);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn nestedSchema.parse(current) as NestedType;\r\n\t}\r\n\r\n\t/**\r\n\t * Transforms a document with default values for missing fields\r\n\t *\r\n\t * @param {DocumentType<ModelType>} record - The document to transform\r\n\t * @param {Partial<DTOType>} defaults - Default values for fields\r\n\t * @returns {DTOType} DTO with defaults applied\r\n\t */\r\n\tpublic transformWithDefaults(record: DocumentType<ModelType>, defaults: Partial<DTOType>): DTOType {\r\n\t\tconst transformed = this.transformToBasicView(record);\r\n\t\treturn { ...defaults, ...transformed };\r\n\t}\r\n}\r\n\r\n/**\r\n * Creates a transformer instance for the given schema.\r\n * Uses dependency injection if available, falls back to creating a new instance.\r\n *\r\n * @template ModelType - The Mongoose model type\r\n * @template DTOType - The output DTO type\r\n * @param {z.ZodType<any>} schema - Zod schema for validation and transformation\r\n * @returns {GlobalTransformer<ModelType, DTOType>} Instance of GlobalTransformer\r\n */\r\nexport function createTransformer<ModelType, DTOType>(\r\n\tschema: z.ZodType<any>\r\n): GlobalTransformer<ModelType, DTOType> {\r\n\ttry {\r\n\t\treturn Container.get(GlobalTransformer) as GlobalTransformer<ModelType, DTOType>;\r\n\t} catch (error) {\r\n\t\treturn new GlobalTransformer<ModelType, DTOType>(schema);\r\n\t}\r\n}\r\n"]}
@@ -1,25 +1,26 @@
1
- import { z, ZodSchema } from 'zod';
1
+ import { z } from 'zod';
2
+ import { DTO } from './global-validation';
2
3
  import { GeoLocationType, HolidayWorkStatus, WeekDay, WorkStatus } from '../enum';
3
4
  export declare const FilterSchema: z.ZodOptional<z.ZodObject<{
4
- limit: z.ZodDefault<z.ZodNumber>;
5
- skip: z.ZodDefault<z.ZodNumber>;
6
- sort: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<-1>, z.ZodLiteral<"asc">, z.ZodLiteral<"desc">]>>>;
5
+ size: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
6
+ page: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
7
+ sort: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodLiteral<1>, z.ZodLiteral<-1>]>>>;
7
8
  query: z.ZodOptional<z.ZodType<Record<string, any>, z.ZodTypeDef, Record<string, any>>>;
8
9
  select: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
9
10
  populate: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
10
11
  }, "strip", z.ZodTypeAny, {
11
- skip: number;
12
- limit: number;
13
- sort?: Record<string, 1 | "desc" | -1 | "asc"> | undefined;
12
+ page: number;
13
+ size: number;
14
+ sort?: Record<string, 1 | -1> | undefined;
14
15
  select?: string[] | undefined;
15
16
  query?: Record<string, any> | undefined;
16
17
  populate?: string[] | undefined;
17
18
  }, {
18
- sort?: Record<string, 1 | "desc" | -1 | "asc"> | undefined;
19
+ sort?: Record<string, 1 | -1> | undefined;
20
+ page?: number | undefined;
19
21
  select?: string[] | undefined;
22
+ size?: number | undefined;
20
23
  query?: Record<string, any> | undefined;
21
- skip?: number | undefined;
22
- limit?: number | undefined;
23
24
  populate?: string[] | undefined;
24
25
  }>>;
25
26
  export type FilterDTO = z.infer<typeof FilterSchema>;
@@ -38,18 +39,18 @@ export declare const AddressSchema: z.ZodObject<{
38
39
  state: string;
39
40
  address: string;
40
41
  country: string;
41
- city: string;
42
- geoLocationType: GeoLocationType;
43
42
  coordinates: number[];
43
+ city: string;
44
44
  latitude: number;
45
45
  longitude: number;
46
+ geoLocationType: GeoLocationType;
46
47
  description?: string | undefined;
47
48
  }, {
48
49
  state: string;
49
50
  address: string;
50
51
  country: string;
51
- city: string;
52
52
  coordinates: number[];
53
+ city: string;
53
54
  latitude: number;
54
55
  longitude: number;
55
56
  description?: string | undefined;
@@ -75,14 +76,14 @@ export declare const UserAddressSchema: z.ZodObject<z.objectUtil.extendShape<{
75
76
  state: string;
76
77
  address: string;
77
78
  country: string;
78
- city: string;
79
- geoLocationType: GeoLocationType;
80
79
  coordinates: number[];
80
+ city: string;
81
81
  latitude: number;
82
82
  longitude: number;
83
83
  addressLabel: string;
84
84
  apartment: string;
85
85
  buildingName: string;
86
+ geoLocationType: GeoLocationType;
86
87
  description?: string | undefined;
87
88
  deliveryOption?: string | undefined;
88
89
  instructions?: string | undefined;
@@ -90,17 +91,17 @@ export declare const UserAddressSchema: z.ZodObject<z.objectUtil.extendShape<{
90
91
  state: string;
91
92
  address: string;
92
93
  country: string;
93
- city: string;
94
94
  coordinates: number[];
95
+ city: string;
95
96
  latitude: number;
96
97
  longitude: number;
97
98
  addressLabel: string;
98
99
  apartment: string;
99
100
  buildingName: string;
100
101
  description?: string | undefined;
101
- geoLocationType?: GeoLocationType | undefined;
102
102
  deliveryOption?: string | undefined;
103
103
  instructions?: string | undefined;
104
+ geoLocationType?: GeoLocationType | undefined;
104
105
  }>;
105
106
  export declare const DurationSchema: z.ZodObject<{
106
107
  start: z.ZodEffects<z.ZodEffects<z.ZodUnion<[z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, Date, string>, z.ZodDate]>, Date, string | Date>, Date, string | Date>;
@@ -270,26 +271,231 @@ export declare const LoginSchema: z.ZodObject<{
270
271
  email: string;
271
272
  password: string;
272
273
  }>;
273
- export declare const createResponseSchema: <T>(schema: ZodSchema<T>) => z.ZodObject<{
274
+ export declare const createPaginatedSchema: <T>(documentSchema: z.ZodSchema<T>) => z.ZodObject<{
275
+ metadata: z.ZodObject<{
276
+ page: z.ZodNumber;
277
+ size: z.ZodNumber;
278
+ totalElements: z.ZodNumber;
279
+ totalPages: z.ZodNumber;
280
+ }, "strip", z.ZodTypeAny, {
281
+ page: number;
282
+ size: number;
283
+ totalElements: number;
284
+ totalPages: number;
285
+ }, {
286
+ page: number;
287
+ size: number;
288
+ totalElements: number;
289
+ totalPages: number;
290
+ }>;
291
+ documents: z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">;
292
+ }, "strip", z.ZodTypeAny, {
293
+ metadata: {
294
+ page: number;
295
+ size: number;
296
+ totalElements: number;
297
+ totalPages: number;
298
+ };
299
+ documents: T[];
300
+ }, {
301
+ metadata: {
302
+ page: number;
303
+ size: number;
304
+ totalElements: number;
305
+ totalPages: number;
306
+ };
307
+ documents: T[];
308
+ }>;
309
+ export declare const createResponseSchema: <T>(schema: z.ZodSchema<T>) => z.ZodObject<{
274
310
  success: z.ZodBoolean;
275
311
  message: z.ZodString;
276
- data: z.ZodOptional<z.ZodUnion<[z.ZodType<T, z.ZodTypeDef, T>, z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">]>>;
312
+ data: z.ZodOptional<z.ZodUnion<[z.ZodType<T, z.ZodTypeDef, T>, z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">, z.ZodObject<{
313
+ metadata: z.ZodObject<{
314
+ page: z.ZodNumber;
315
+ size: z.ZodNumber;
316
+ totalElements: z.ZodNumber;
317
+ totalPages: z.ZodNumber;
318
+ }, "strip", z.ZodTypeAny, {
319
+ page: number;
320
+ size: number;
321
+ totalElements: number;
322
+ totalPages: number;
323
+ }, {
324
+ page: number;
325
+ size: number;
326
+ totalElements: number;
327
+ totalPages: number;
328
+ }>;
329
+ documents: z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">;
330
+ }, "strip", z.ZodTypeAny, {
331
+ metadata: {
332
+ page: number;
333
+ size: number;
334
+ totalElements: number;
335
+ totalPages: number;
336
+ };
337
+ documents: T[];
338
+ }, {
339
+ metadata: {
340
+ page: number;
341
+ size: number;
342
+ totalElements: number;
343
+ totalPages: number;
344
+ };
345
+ documents: T[];
346
+ }>]>>;
277
347
  }, "strip", z.ZodTypeAny, z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
278
348
  success: z.ZodBoolean;
279
349
  message: z.ZodString;
280
- data: z.ZodOptional<z.ZodUnion<[z.ZodType<T, z.ZodTypeDef, T>, z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">]>>;
350
+ data: z.ZodOptional<z.ZodUnion<[z.ZodType<T, z.ZodTypeDef, T>, z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">, z.ZodObject<{
351
+ metadata: z.ZodObject<{
352
+ page: z.ZodNumber;
353
+ size: z.ZodNumber;
354
+ totalElements: z.ZodNumber;
355
+ totalPages: z.ZodNumber;
356
+ }, "strip", z.ZodTypeAny, {
357
+ page: number;
358
+ size: number;
359
+ totalElements: number;
360
+ totalPages: number;
361
+ }, {
362
+ page: number;
363
+ size: number;
364
+ totalElements: number;
365
+ totalPages: number;
366
+ }>;
367
+ documents: z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">;
368
+ }, "strip", z.ZodTypeAny, {
369
+ metadata: {
370
+ page: number;
371
+ size: number;
372
+ totalElements: number;
373
+ totalPages: number;
374
+ };
375
+ documents: T[];
376
+ }, {
377
+ metadata: {
378
+ page: number;
379
+ size: number;
380
+ totalElements: number;
381
+ totalPages: number;
382
+ };
383
+ documents: T[];
384
+ }>]>>;
281
385
  }>, any> extends infer T_1 ? { [k in keyof T_1]: z.objectUtil.addQuestionMarks<z.baseObjectOutputType<{
282
386
  success: z.ZodBoolean;
283
387
  message: z.ZodString;
284
- data: z.ZodOptional<z.ZodUnion<[z.ZodType<T, z.ZodTypeDef, T>, z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">]>>;
388
+ data: z.ZodOptional<z.ZodUnion<[z.ZodType<T, z.ZodTypeDef, T>, z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">, z.ZodObject<{
389
+ metadata: z.ZodObject<{
390
+ page: z.ZodNumber;
391
+ size: z.ZodNumber;
392
+ totalElements: z.ZodNumber;
393
+ totalPages: z.ZodNumber;
394
+ }, "strip", z.ZodTypeAny, {
395
+ page: number;
396
+ size: number;
397
+ totalElements: number;
398
+ totalPages: number;
399
+ }, {
400
+ page: number;
401
+ size: number;
402
+ totalElements: number;
403
+ totalPages: number;
404
+ }>;
405
+ documents: z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">;
406
+ }, "strip", z.ZodTypeAny, {
407
+ metadata: {
408
+ page: number;
409
+ size: number;
410
+ totalElements: number;
411
+ totalPages: number;
412
+ };
413
+ documents: T[];
414
+ }, {
415
+ metadata: {
416
+ page: number;
417
+ size: number;
418
+ totalElements: number;
419
+ totalPages: number;
420
+ };
421
+ documents: T[];
422
+ }>]>>;
285
423
  }>, any>[k]; } : never, z.baseObjectInputType<{
286
424
  success: z.ZodBoolean;
287
425
  message: z.ZodString;
288
- data: z.ZodOptional<z.ZodUnion<[z.ZodType<T, z.ZodTypeDef, T>, z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">]>>;
426
+ data: z.ZodOptional<z.ZodUnion<[z.ZodType<T, z.ZodTypeDef, T>, z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">, z.ZodObject<{
427
+ metadata: z.ZodObject<{
428
+ page: z.ZodNumber;
429
+ size: z.ZodNumber;
430
+ totalElements: z.ZodNumber;
431
+ totalPages: z.ZodNumber;
432
+ }, "strip", z.ZodTypeAny, {
433
+ page: number;
434
+ size: number;
435
+ totalElements: number;
436
+ totalPages: number;
437
+ }, {
438
+ page: number;
439
+ size: number;
440
+ totalElements: number;
441
+ totalPages: number;
442
+ }>;
443
+ documents: z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">;
444
+ }, "strip", z.ZodTypeAny, {
445
+ metadata: {
446
+ page: number;
447
+ size: number;
448
+ totalElements: number;
449
+ totalPages: number;
450
+ };
451
+ documents: T[];
452
+ }, {
453
+ metadata: {
454
+ page: number;
455
+ size: number;
456
+ totalElements: number;
457
+ totalPages: number;
458
+ };
459
+ documents: T[];
460
+ }>]>>;
289
461
  }> extends infer T_2 ? { [k_1 in keyof T_2]: z.baseObjectInputType<{
290
462
  success: z.ZodBoolean;
291
463
  message: z.ZodString;
292
- data: z.ZodOptional<z.ZodUnion<[z.ZodType<T, z.ZodTypeDef, T>, z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">]>>;
464
+ data: z.ZodOptional<z.ZodUnion<[z.ZodType<T, z.ZodTypeDef, T>, z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">, z.ZodObject<{
465
+ metadata: z.ZodObject<{
466
+ page: z.ZodNumber;
467
+ size: z.ZodNumber;
468
+ totalElements: z.ZodNumber;
469
+ totalPages: z.ZodNumber;
470
+ }, "strip", z.ZodTypeAny, {
471
+ page: number;
472
+ size: number;
473
+ totalElements: number;
474
+ totalPages: number;
475
+ }, {
476
+ page: number;
477
+ size: number;
478
+ totalElements: number;
479
+ totalPages: number;
480
+ }>;
481
+ documents: z.ZodArray<z.ZodType<T, z.ZodTypeDef, T>, "many">;
482
+ }, "strip", z.ZodTypeAny, {
483
+ metadata: {
484
+ page: number;
485
+ size: number;
486
+ totalElements: number;
487
+ totalPages: number;
488
+ };
489
+ documents: T[];
490
+ }, {
491
+ metadata: {
492
+ page: number;
493
+ size: number;
494
+ totalElements: number;
495
+ totalPages: number;
496
+ };
497
+ documents: T[];
498
+ }>]>>;
293
499
  }>[k_1]; } : never>;
294
500
  export declare const TokenSchema: z.ZodObject<{
295
501
  accessToken: z.ZodString;
@@ -311,3 +517,4 @@ export declare const UpdateSortingOrderSchema: z.ZodObject<{
311
517
  list: (string | import("mongoose").Types.ObjectId)[];
312
518
  startIndex?: number | undefined;
313
519
  }>;
520
+ export type UpdateSortingOrderDTO = DTO<typeof UpdateSortingOrderSchema>;