procbay-schema 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.
Files changed (280) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +189 -0
  3. package/package.json +77 -0
  4. package/prisma/.env +13 -0
  5. package/prisma/migrations/20250116142512_init_user_table/migration.sql +38 -0
  6. package/prisma/migrations/20250116142709_init_role_table/migration.sql +20 -0
  7. package/prisma/migrations/20250116143847_init_user_role_table/migration.sql +20 -0
  8. package/prisma/migrations/20250116144035_init_permission_table/migration.sql +21 -0
  9. package/prisma/migrations/20250116144140_init_role_permission_table/migration.sql +21 -0
  10. package/prisma/migrations/20250116144233_init_department_table/migration.sql +20 -0
  11. package/prisma/migrations/20250116144345_init_user_department_table/migration.sql +20 -0
  12. package/prisma/migrations/20250116152941_init_serial_number_table/migration.sql +17 -0
  13. package/prisma/migrations/20250116153048_init_category_table/migration.sql +22 -0
  14. package/prisma/migrations/20250116153415_init_attributes_table/migration.sql +28 -0
  15. package/prisma/migrations/20250116153628_init_attribute_values_table/migration.sql +27 -0
  16. package/prisma/migrations/20250116153900_init_purchase_intake_table/migration.sql +32 -0
  17. package/prisma/migrations/20250116154038_init_purchase_intake_item_table/migration.sql +15 -0
  18. package/prisma/migrations/20250120090355_added_reset_token_column_in_user_table/migration.sql +10 -0
  19. package/prisma/migrations/20250120100616_init_item_table/migration.sql +42 -0
  20. package/prisma/migrations/20250120123720_init_vendor_table/migration.sql +39 -0
  21. package/prisma/migrations/20250120124526_init_vendor_categories_table/migration.sql +20 -0
  22. package/prisma/migrations/20250122114935_added_email_template_and_smtp_config_table/migration.sql +41 -0
  23. package/prisma/migrations/20250123095637_chnages_in_vendr_table/migration.sql +3 -0
  24. package/prisma/migrations/20250123103705_added_delated_filed_in_email_template_table/migration.sql +4 -0
  25. package/prisma/migrations/20250123103810_added_delated_filed_in_smtp_config_table/migration.sql +13 -0
  26. package/prisma/migrations/20250127123900_create_approval_heirarchy_table/migration.sql +72 -0
  27. package/prisma/migrations/20250128054523_make_optional_role_and_user_in_approval_hierachy/migration.sql +3 -0
  28. package/prisma/migrations/20250129084223_item_table_chnages/migration.sql +151 -0
  29. package/prisma/migrations/20250130115331_chnages_in_item_table/migration.sql +9 -0
  30. package/prisma/migrations/20250131054132_added_approval_journey_table/migration.sql +22 -0
  31. package/prisma/migrations/20250131064653_added_default_for_product_id_in_item_table/migration.sql +2 -0
  32. package/prisma/migrations/20250204101253_chnages_in_approval_table/migration.sql +39 -0
  33. package/prisma/migrations/20250206091422_added_item_document_table/migration.sql +17 -0
  34. package/prisma/migrations/20250207113110_added_new_column_media/migration.sql +9 -0
  35. package/prisma/migrations/20250207125224_added_chnages_in_pr_table/migration.sql +12 -0
  36. package/prisma/migrations/20250212092048_vendor_contact_table/migration.sql +30 -0
  37. package/prisma/migrations/20250212133620_added_tamplate_master_table/migration.sql +43 -0
  38. package/prisma/migrations/20250213111908_created_faq_catgory_and_faq_table/migration.sql +58 -0
  39. package/prisma/migrations/20250214065142_chnages_in_uom_table/migration.sql +50 -0
  40. package/prisma/migrations/20250217061122_corrected_email_teamplate_table/migration.sql +11 -0
  41. package/prisma/migrations/20250218073530_init_events/migration.sql +120 -0
  42. package/prisma/migrations/20250218092119_corrected_table_name/migration.sql +37 -0
  43. package/prisma/migrations/20250218120935_chnages_in_event_table/migration.sql +5 -0
  44. package/prisma/migrations/20250219083326_added_new_table_for_event_startegy/migration.sql +60 -0
  45. package/prisma/migrations/20250219083416_added_cms_table/migration.sql +29 -0
  46. package/prisma/migrations/20250219092918_alter_event_table/migration.sql +5 -0
  47. package/prisma/migrations/20250219093046_alter_event_to_draft/migration.sql +2 -0
  48. package/prisma/migrations/20250220080337_altered_event_table/migration.sql +9 -0
  49. package/prisma/migrations/20250221105922_added_unique_to_email_in_user_table/migration.sql +8 -0
  50. package/prisma/migrations/20250225063838_created_vendor_kyc_table/migration.sql +23 -0
  51. package/prisma/migrations/20250227060646_template_field_types_added_enum/migration.sql +14 -0
  52. package/prisma/migrations/20250227110306_updated_event_items_and_event_vendor_table/migration.sql +7 -0
  53. package/prisma/migrations/20250228060440_added_country_code_in_vendor_contact_person/migration.sql +2 -0
  54. package/prisma/migrations/20250228095319_init_currencies_table/migration.sql +23 -0
  55. package/prisma/migrations/20250303082614_added_support_ticket_table/migration.sql +89 -0
  56. package/prisma/migrations/20250304050248_alter_support_ticket_relations/migration.sql +35 -0
  57. package/prisma/migrations/20250304050613_alter_support_ticket_realtions/migration.sql +36 -0
  58. package/prisma/migrations/20250304061954_init_support_category_table/migration.sql +261 -0
  59. package/prisma/migrations/20250304092346_alter_event_vendor_table/migration.sql +2 -0
  60. package/prisma/migrations/20250305065430_alter_vendor_kyc_table/migration.sql +2 -0
  61. package/prisma/migrations/20250305111735_alter_vendor_and_user_table/migration.sql +5 -0
  62. package/prisma/migrations/20250307033751_alter_token_version_in_user_and_vendor_token/migration.sql +5 -0
  63. package/prisma/migrations/20250307034907_alter_user_and_vendor_table/migration.sql +14 -0
  64. package/prisma/migrations/20250307064359_chnages_in_approval_herarcy_table/migration.sql +2 -0
  65. package/prisma/migrations/20250307105352_alter_itme_and_vendorkyc_table/migration.sql +21 -0
  66. package/prisma/migrations/20250310103914_init_vendor_status_table/migration.sql +21 -0
  67. package/prisma/migrations/20250310105209_alter_vendor_status_table/migration.sql +18 -0
  68. package/prisma/migrations/20250310105413_init_vendor_kyc_status_table/migration.sql +23 -0
  69. package/prisma/migrations/20250311090552_alter_vendor_kyc_status_table/migration.sql +2 -0
  70. package/prisma/migrations/20250312055258_alter_status_column_in_event_vendors/migration.sql +12 -0
  71. package/prisma/migrations/20250312072145_init_vendor_event_watchlist_table/migration.sql +26 -0
  72. package/prisma/migrations/20250312083842_alter_vendor_event_watchlisst_table/migration.sql +41 -0
  73. package/prisma/migrations/20250312134730_added_chnages_in_kyc_table/migration.sql +19 -0
  74. package/prisma/migrations/20250317040841_init_admin_and_vendor_tables/migration.sql +38 -0
  75. package/prisma/migrations/20250317044110_alter_event_vendor_table/migration.sql +2 -0
  76. package/prisma/migrations/20250317071807_alter_rejected_reason_in_approval_journey_and_purchase_intak_table/migration.sql +5 -0
  77. package/prisma/migrations/20250318085504_init_customer_notification_table/migration.sql +31 -0
  78. package/prisma/migrations/20250318085856_alter_purchase_intake_table/migration.sql +18 -0
  79. package/prisma/migrations/20250319085159_alter_purchase_intake_table/migration.sql +12 -0
  80. package/prisma/migrations/20250320093356_init_bid_and_bidlog_table/migration.sql +75 -0
  81. package/prisma/migrations/20250320095501_alter_email_template_table/migration.sql +2 -0
  82. package/prisma/migrations/20250321053926_alter_approval_journey_table/migration.sql +2 -0
  83. package/prisma/migrations/20250324040851_alter_bidlog_table/migration.sql +2 -0
  84. package/prisma/migrations/20250324091328_init_form_master_and_dynamic_form_table/migration.sql +53 -0
  85. package/prisma/migrations/20250324103742_alter_bidlog_table/migration.sql +5 -0
  86. package/prisma/migrations/20250325052714_alter_form_master_table/migration.sql +27 -0
  87. package/prisma/migrations/20250327011625_init_module_and_tenant_configuration_table/migration.sql +39 -0
  88. package/prisma/migrations/20250403054008_alter_purchase_intake_table/migration.sql +5 -0
  89. package/prisma/migrations/20250404115613_init_approval_level_user/migration.sql +98 -0
  90. package/prisma/migrations/20250410060521_alter_approval_journey_enums/migration.sql +12 -0
  91. package/prisma/migrations/20250410110823_alter_purchase_intake/migration.sql +2 -0
  92. package/prisma/migrations/20250411062955_alter_template_field_table/migration.sql +2 -0
  93. package/prisma/migrations/20250414065640_alter_template/migration.sql +2 -0
  94. package/prisma/migrations/20250414111856_alter_event_vendors/migration.sql +2 -0
  95. package/prisma/migrations/20250414125356_alter_event_vendor/migration.sql +9 -0
  96. package/prisma/migrations/20250415063558_alter_alert_type_enum/migration.sql +2 -0
  97. package/prisma/migrations/20250416062508_alter_purchase_intake_table/migration.sql +15 -0
  98. package/prisma/migrations/20250417090325_alter_purchase_intake_table_updated_enum/migration.sql +13 -0
  99. package/prisma/migrations/20250417111024_alter_purchase_intake_and_purchase_intake_item/migration.sql +16 -0
  100. package/prisma/migrations/20250421061732_init_quotation_and_quotation_log_tables/migration.sql +96 -0
  101. package/prisma/migrations/20250421112331_alter_item_table_added_unique_to_slug/migration.sql +8 -0
  102. package/prisma/migrations/20250422060655_init_user_activity_table/migration.sql +17 -0
  103. package/prisma/migrations/20250423053027_/migration.sql +9 -0
  104. package/prisma/migrations/20250423103233_alter_user_login_activity_table/migration.sql +5 -0
  105. package/prisma/migrations/20250423111141_init_location_tables/migration.sql +141 -0
  106. package/prisma/migrations/20250424120106_alter_event_table_added_user_relation/migration.sql +2 -0
  107. package/prisma/migrations/20250424141637_alter_states_table/migration.sql +11 -0
  108. package/prisma/migrations/20250425105131_alter_user_login_activity_table/migration.sql +9 -0
  109. package/prisma/migrations/20250428092626_alter_location_tables/migration.sql +34 -0
  110. package/prisma/migrations/20250428114301_alter_location_table/migration.sql +14 -0
  111. package/prisma/migrations/20250429103436_alter_event_vendor_table/migration.sql +14 -0
  112. package/prisma/migrations/20250429135621_alter_event_vendor_table/migration.sql +5 -0
  113. package/prisma/migrations/20250430094809_alter_form_master_table_added_user_relation/migration.sql +2 -0
  114. package/prisma/migrations/20250430103440_alter_event_table/migration.sql +3 -0
  115. package/prisma/migrations/20250501125411_alter_strategies_table/migration.sql +2 -0
  116. package/prisma/migrations/20250502065554_init_location_table/migration.sql +41 -0
  117. package/prisma/migrations/20250505104038_alter_bid_quotation_and_dynamic_form/migration.sql +22 -0
  118. package/prisma/migrations/20250505105253_alter_quotation/migration.sql +5 -0
  119. package/prisma/migrations/20250505124851_alter_alert_enum/migration.sql +56 -0
  120. package/prisma/migrations/20250505133250_init_sub_module_table/migration.sql +17 -0
  121. package/prisma/migrations/20250506054325_alter_event_vendor_bid_status/migration.sql +14 -0
  122. package/prisma/migrations/20250506102135_init_counter_offer_table/migration.sql +38 -0
  123. package/prisma/migrations/20250506103355_alter_bid_and_quotaion_table/migration.sql +5 -0
  124. package/prisma/migrations/20250506110309_alter_tenant_configuration_table/migration.sql +3 -0
  125. package/prisma/migrations/20250506123527_alter_vendor_kyu_infor_verification_status/migration.sql +2 -0
  126. package/prisma/migrations/20250507055536_alter_dynamic_form_table/migration.sql +2 -0
  127. package/prisma/migrations/20250507070518_alter_bid_log_and_quotation_log/migration.sql +15 -0
  128. package/prisma/migrations/20250507130834_alter_bid_status/migration.sql +10 -0
  129. package/prisma/migrations/20250508065503_alter_purchase_intake_item_table/migration.sql +16 -0
  130. package/prisma/migrations/20250508130119_alter_purchase_intake_item/migration.sql +13 -0
  131. package/prisma/migrations/20250512082244_altered_template_table_to_add_currency_id/migration.sql +12 -0
  132. package/prisma/migrations/20250512100817_alter_approval_journey_table/migration.sql +3 -0
  133. package/prisma/migrations/20250513083700_alter_item_table/migration.sql +2 -0
  134. package/prisma/migrations/20250514100915_alter_event_table_added_template_realtion/migration.sql +2 -0
  135. package/prisma/migrations/20250514103503_alter_vendor_table_added_is_kyc_approved_column/migration.sql +2 -0
  136. package/prisma/migrations/20250520131556_init_purchase_order_table/migration.sql +52 -0
  137. package/prisma/migrations/20250521113946_alter_purchase_order_status_enum/migration.sql +16 -0
  138. package/prisma/migrations/20250522083917_alter_event_vendor_bid_status_enum/migration.sql +17 -0
  139. package/prisma/migrations/20250522131610_updated_vendor_table/migration.sql +16 -0
  140. package/prisma/migrations/20250523051058_alter_vendor_kyc_verificaiton_status_enum/migration.sql +2 -0
  141. package/prisma/migrations/20250526072120_alter_vendor_table/migration.sql +16 -0
  142. package/prisma/migrations/20250527055351_init_purchase_order_activity_log/migration.sql +41 -0
  143. package/prisma/migrations/20250528060657_alter_item_tale/migration.sql +14 -0
  144. package/prisma/migrations/20250528061946_alter_event_item_table/migration.sql +5 -0
  145. package/prisma/migrations/20250528081337_alter_item_table/migration.sql +2 -0
  146. package/prisma/migrations/20250528081524_removed_item_id_from_item_table/migration.sql +11 -0
  147. package/prisma/migrations/20250528081843_alter_item_table/migration.sql +2 -0
  148. package/prisma/migrations/20250528094057_alter_alert_type_enum/migration.sql +11 -0
  149. package/prisma/migrations/20250529053721_alter_added_quantity_in_purchase_order/migration.sql +2 -0
  150. package/prisma/migrations/20250602055114_alter_approval_journey_parent_id_to_string/migration.sql +2 -0
  151. package/prisma/migrations/20250602055748_alter_event_configuration_added_rule_slug/migration.sql +2 -0
  152. package/prisma/migrations/20250602111042_init_user_vendor_socket_token_table/migration.sql +17 -0
  153. package/prisma/migrations/20250602125833_alter_bidlog_and_quoatationlog_tableto_add_json_field/migration.sql +5 -0
  154. package/prisma/migrations/20250603063501_alter_bid_and_quoatation_table/migration.sql +29 -0
  155. package/prisma/migrations/20250606015045_alter_quotation_log_table/migration.sql +2 -0
  156. package/prisma/migrations/20250606020918_alter_quotation_table/migration.sql +2 -0
  157. package/prisma/migrations/20250606022901_alter_quotation_log_table/migration.sql +3 -0
  158. package/prisma/migrations/20250606054914_init_event_activity_logs_table/migration.sql +35 -0
  159. package/prisma/migrations/20250606100634_alter_added_counter_offer_status/migration.sql +5 -0
  160. package/prisma/migrations/20250606100908_alter_counter_offer_table/migration.sql +2 -0
  161. package/prisma/migrations/20250610055710_alter_enum/migration.sql +16 -0
  162. package/prisma/migrations/20250610060558_alter_event_and_event_vendor_db/migration.sql +14 -0
  163. package/prisma/migrations/20250610091013_alter_purchase_intak_item_table/migration.sql +4 -0
  164. package/prisma/migrations/20250610100156_alter_purchase_intake_item_table/migration.sql +19 -0
  165. package/prisma/migrations/20250610125706_alter_event_table/migration.sql +6 -0
  166. package/prisma/migrations/20250610133613_added_timestamp/migration.sql +319 -0
  167. package/prisma/migrations/20250611090439_init_contact_us_table/migration.sql +23 -0
  168. package/prisma/migrations/20250611121005_alter_event_vendor_table/migration.sql +10 -0
  169. package/prisma/migrations/20250612064335_alter_tenant_configuration/migration.sql +3 -0
  170. package/prisma/migrations/20250612094643_alter_event_vendor_bid_status_enum/migration.sql +2 -0
  171. package/prisma/migrations/20250618074558_alter_updated_bid_status_and_quotation_status/migration.sql +21 -0
  172. package/prisma/migrations/20250618122242_alter_added_event_phase_closed/migration.sql +2 -0
  173. package/prisma/migrations/20250620054518_alter_event_phase/migration.sql +2 -0
  174. package/prisma/migrations/20250620062723_alter_event_phase/migration.sql +2 -0
  175. package/prisma/migrations/20250620063056_alter_event_phase/migration.sql +2 -0
  176. package/prisma/migrations/20250620100507_alter_event_phase/migration.sql +2 -0
  177. package/prisma/migrations/20250627104958_alter_counter_offer_status/migration.sql +2 -0
  178. package/prisma/migrations/20250702095923_alter_item_table/migration.sql +74 -0
  179. package/prisma/migrations/20250702120134_/migration.sql +14 -0
  180. package/prisma/migrations/20250702150717_alter_attribute_table/migration.sql +9 -0
  181. package/prisma/migrations/20250703090321_alter_item_table/migration.sql +2 -0
  182. package/prisma/migrations/20250707054625_alter_purchase_order_table/migration.sql +15 -0
  183. package/prisma/migrations/20250707111354_alter_purchase_order_table_and_init_purchase_order_item_table/migration.sql +39 -0
  184. package/prisma/migrations/20250707111522_alter_purchase_order_item_table/migration.sql +17 -0
  185. package/prisma/migrations/20250710054113_alter_bid_and_quotation_status/migration.sql +31 -0
  186. package/prisma/migrations/20250710070813_alter_event_status/migration.sql +2 -0
  187. package/prisma/migrations/20250710082332_alter_bid_and_quotations_table/migration.sql +36 -0
  188. package/prisma/migrations/20250714102325_init_upload_log_table/migration.sql +27 -0
  189. package/prisma/migrations/20250716061012_alter_event_activity_logs_to_activity_logs/migration.sql +48 -0
  190. package/prisma/migrations/20250716071839_init_chat_thread_chat_message_and_ai_models/migration.sql +56 -0
  191. package/prisma/migrations/20250716135548_alter_admin_alerts_enum/migration.sql +2 -0
  192. package/prisma/migrations/20250717100515_init_user_event_configuration/migration.sql +21 -0
  193. package/prisma/migrations/20250717101037_alter_user_event_configuration_table/migration.sql +19 -0
  194. package/prisma/migrations/20250718071630_alter_added_module_in_upload_logs_table/migration.sql +5 -0
  195. package/prisma/migrations/20250718071732_alter_module_enum/migration.sql +15 -0
  196. package/prisma/migrations/20250721054851_init_export_log_table/migration.sql +34 -0
  197. package/prisma/migrations/20250722054549_init_fiscal_year_table/migration.sql +22 -0
  198. package/prisma/migrations/20250722072051_alter_fiscal_year_table_added_uuid/migration.sql +14 -0
  199. package/prisma/migrations/20250722095259_alter_fiscal_table/migration.sql +9 -0
  200. package/prisma/migrations/20250723071050_alter_department_table/migration.sql +14 -0
  201. package/prisma/migrations/20250724071201_alter_export_upload_log_enum/migration.sql +8 -0
  202. package/prisma/migrations/20250725094759_new_migrate/migration.sql +2 -0
  203. package/prisma/migrations/20250725095012_alter_migration/migration.sql +2 -0
  204. package/prisma/migrations/20250728072402_init_budget_management_tables/migration.sql +80 -0
  205. package/prisma/migrations/migration_lock.toml +3 -0
  206. package/prisma/schema.prisma +2609 -0
  207. package/prisma/seeders/approval-hierarchy.seed.js +340 -0
  208. package/prisma/seeders/attribute-value.seed.js +64 -0
  209. package/prisma/seeders/attribute.seed.js +61 -0
  210. package/prisma/seeders/category.seed.js +133 -0
  211. package/prisma/seeders/city.seed.js +147 -0
  212. package/prisma/seeders/country.seed.js +282 -0
  213. package/prisma/seeders/currency.seed.js +41 -0
  214. package/prisma/seeders/customer-notification.seed.js +83 -0
  215. package/prisma/seeders/department.seed.js +38 -0
  216. package/prisma/seeders/docs/CORE_SEEDER_OPTIMIZATIONS.md +270 -0
  217. package/prisma/seeders/docs/GEOGRAPHIC_PERFORMANCE_OPTIMIZATIONS.md +175 -0
  218. package/prisma/seeders/dynamic-form.seed.js +135 -0
  219. package/prisma/seeders/email-template.seed.js +68 -0
  220. package/prisma/seeders/faq-category.seed.js +56 -0
  221. package/prisma/seeders/faq.seed.js +61 -0
  222. package/prisma/seeders/form-master.seed.js +55 -0
  223. package/prisma/seeders/item.seed.js +133 -0
  224. package/prisma/seeders/permission.seed.js +102 -0
  225. package/prisma/seeders/region.seed.js +78 -0
  226. package/prisma/seeders/role-permission.seed.js +70 -0
  227. package/prisma/seeders/role.seed.js +38 -0
  228. package/prisma/seeders/seed.js +553 -0
  229. package/prisma/seeders/serial-number-config.seed.js +58 -0
  230. package/prisma/seeders/smtp-config.seed.js +61 -0
  231. package/prisma/seeders/state.seed.js +170 -0
  232. package/prisma/seeders/strategies.seed.js +54 -0
  233. package/prisma/seeders/subregion.seed.js +88 -0
  234. package/prisma/seeders/support-category.seed.js +56 -0
  235. package/prisma/seeders/template.seed.js +87 -0
  236. package/prisma/seeders/test-core-seeders.js +276 -0
  237. package/prisma/seeders/user-department.seed.js +66 -0
  238. package/prisma/seeders/user-event-configuration.seed.js +47 -0
  239. package/prisma/seeders/user-role.seed.js +74 -0
  240. package/prisma/seeders/user.seed.js +114 -0
  241. package/prisma/seeders/utils/bulk-seeder.js +300 -0
  242. package/prisma/seeders/utils/config.js +103 -0
  243. package/prisma/seeders/utils/connection-manager.js +380 -0
  244. package/prisma/seeders/utils/content-seeder.js +472 -0
  245. package/prisma/seeders/utils/core-seeder.js +330 -0
  246. package/prisma/seeders/utils/json-loader.js +69 -0
  247. package/prisma/seeders/utils/performance-config.js +341 -0
  248. package/prisma/seeders/utils/performance-helpers.js +206 -0
  249. package/prisma/seeders/utils/progress-tracker.js +364 -0
  250. package/prisma/seeders/utils/seeder-config-mapper.js +316 -0
  251. package/scripts/seed-databases.js +873 -0
  252. package/scripts/sync-schemas.js +865 -0
  253. package/scripts/truncate-tables.js +1048 -0
  254. package/src/prisma/client.d.ts +1 -0
  255. package/src/prisma/client.js +4 -0
  256. package/src/prisma/default.d.ts +1 -0
  257. package/src/prisma/default.js +4 -0
  258. package/src/prisma/edge.d.ts +1 -0
  259. package/src/prisma/edge.js +2084 -0
  260. package/src/prisma/index-browser.js +2043 -0
  261. package/src/prisma/index.d.ts +202051 -0
  262. package/src/prisma/index.js +2113 -0
  263. package/src/prisma/libquery_engine-darwin.dylib.node +0 -0
  264. package/src/prisma/libquery_engine-darwin.dylib.node.tmp24628 +0 -0
  265. package/src/prisma/libquery_engine-darwin.dylib.node.tmp29464 +0 -0
  266. package/src/prisma/libquery_engine-debian-openssl-3.0.x.so.node +0 -0
  267. package/src/prisma/package.json +140 -0
  268. package/src/prisma/query_engine-windows.dll.node +0 -0
  269. package/src/prisma/query_engine-windows.dll.node.tmp4144 +0 -0
  270. package/src/prisma/runtime/edge-esm.js +34 -0
  271. package/src/prisma/runtime/edge.js +34 -0
  272. package/src/prisma/runtime/index-browser.d.ts +370 -0
  273. package/src/prisma/runtime/index-browser.js +16 -0
  274. package/src/prisma/runtime/library.d.ts +3647 -0
  275. package/src/prisma/runtime/library.js +146 -0
  276. package/src/prisma/runtime/react-native.js +83 -0
  277. package/src/prisma/runtime/wasm.js +35 -0
  278. package/src/prisma/schema.prisma +2609 -0
  279. package/src/prisma/wasm.d.ts +1 -0
  280. package/src/prisma/wasm.js +2043 -0
@@ -0,0 +1,380 @@
1
+ import { PrismaClient } from "../../../src/prisma/index.js";
2
+ import colors from "colors";
3
+
4
+ // Initialize colors theme
5
+ colors.setTheme({
6
+ info: "blue",
7
+ success: "green",
8
+ warn: "yellow",
9
+ error: "red",
10
+ debug: "gray",
11
+ highlight: "cyan",
12
+ bold: "bold",
13
+ });
14
+
15
+ export class ConnectionManager {
16
+ constructor() {
17
+ this.connections = new Map();
18
+ this.isShuttingDown = false;
19
+
20
+ // Register process exit handlers to clean up connections
21
+ process.on("exit", () => this.closeAllConnections());
22
+ process.on("SIGINT", () => this.handleShutdown());
23
+ process.on("SIGTERM", () => this.handleShutdown());
24
+ process.on("uncaughtException", (err) => {
25
+ console.error(colors.error(`Uncaught exception: ${err.message}`));
26
+ this.handleShutdown();
27
+ });
28
+ }
29
+
30
+ /**
31
+ * Gets a PrismaClient instance for the specified database
32
+ * @param {string} dbName - The database name
33
+ * @param {string} url - The database connection URL
34
+ * @param {object} options - Additional options
35
+ * @returns {PrismaClient} A PrismaClient instance
36
+ */
37
+ getConnection(dbName, url, options = {}) {
38
+ const connectionKey = `${dbName}:${url}`;
39
+
40
+ // Extract our custom options from the Prisma options
41
+ const { autoRelease, ...prismaOptions } = options;
42
+
43
+ // If connection exists and is healthy, return it
44
+ if (this.connections.has(connectionKey)) {
45
+ const connection = this.connections.get(connectionKey);
46
+ console.log(colors.debug(`Reusing existing connection for ${dbName}`));
47
+ return connection;
48
+ }
49
+
50
+ // Create new connection with custom logger and connection settings
51
+ const prisma = new PrismaClient({
52
+ datasources: {
53
+ db: {
54
+ url,
55
+ },
56
+ },
57
+ log: prismaOptions.log || [
58
+ { level: "warn", emit: "event" },
59
+ { level: "error", emit: "event" },
60
+ ],
61
+ ...prismaOptions, // Pass only valid Prisma options
62
+ });
63
+
64
+ // Add event listeners for connection warnings and errors
65
+ prisma.$on("warn", (e) => {
66
+ console.warn(colors.warn(`Database warning for ${dbName}: ${e.message}`));
67
+ });
68
+
69
+ prisma.$on("error", (e) => {
70
+ console.error(colors.error(`Database error for ${dbName}: ${e.message}`));
71
+ });
72
+
73
+ // Store connection
74
+ this.connections.set(connectionKey, prisma);
75
+ console.log(colors.debug(`Created new connection for ${dbName}`));
76
+
77
+ return prisma;
78
+ }
79
+
80
+ /**
81
+ * Releases a connection back to the pool
82
+ * @param {string} dbName - The database name
83
+ * @param {string} url - The database connection URL
84
+ */
85
+ releaseConnection(dbName, url) {
86
+ const connectionKey = `${dbName}:${url}`;
87
+ if (this.connections.has(connectionKey)) {
88
+ console.log(colors.debug(`Releasing connection for ${dbName}`));
89
+ this.connections.delete(connectionKey);
90
+ }
91
+ }
92
+
93
+ /**
94
+ * Close a specific connection
95
+ * @param {string} dbName - The database name
96
+ * @param {string} url - The database connection URL
97
+ */
98
+ async closeConnection(dbName, url) {
99
+ const connectionKey = `${dbName}:${url}`;
100
+ if (this.connections.has(connectionKey)) {
101
+ const connection = this.connections.get(connectionKey);
102
+ console.log(colors.debug(`Closing connection for ${dbName}`));
103
+
104
+ try {
105
+ await connection.$disconnect();
106
+ this.connections.delete(connectionKey);
107
+ } catch (error) {
108
+ console.error(
109
+ colors.error(
110
+ `Error closing connection for ${dbName}: ${error.message}`
111
+ )
112
+ );
113
+ }
114
+ }
115
+ }
116
+
117
+ /**
118
+ * Close all open connections
119
+ */
120
+ async closeAllConnections() {
121
+ if (this.connections.size === 0) return;
122
+
123
+ console.log(
124
+ colors.yellow(`Closing ${this.connections.size} database connections...`)
125
+ );
126
+
127
+ const closePromises = [];
128
+ for (const [key, connection] of this.connections.entries()) {
129
+ closePromises.push(
130
+ connection.$disconnect().catch((error) => {
131
+ console.error(
132
+ colors.error(`Error closing connection ${key}: ${error.message}`)
133
+ );
134
+ })
135
+ );
136
+ }
137
+
138
+ try {
139
+ await Promise.all(closePromises);
140
+ this.connections.clear();
141
+ console.log(colors.green("All database connections closed"));
142
+ } catch (error) {
143
+ console.error(
144
+ colors.error(`Error closing connections: ${error.message}`)
145
+ );
146
+ }
147
+ }
148
+
149
+ /**
150
+ * Handle process shutdown
151
+ */
152
+ async handleShutdown() {
153
+ if (this.isShuttingDown) return;
154
+ this.isShuttingDown = true;
155
+
156
+ console.log(
157
+ colors.yellow("\nShutting down, closing database connections...")
158
+ );
159
+ await this.closeAllConnections();
160
+ process.exit(0);
161
+ }
162
+
163
+ /**
164
+ * Execute an operation with a database connection
165
+ * @param {string} dbName - The database name
166
+ * @param {string} url - The database connection URL
167
+ * @param {function} operation - Async function that uses the connection
168
+ * @param {object} options - Connection options
169
+ * @returns {Promise<*>} Result of the operation
170
+ */
171
+ async executeWithConnection(dbName, url, operation, options = {}) {
172
+ // Separate our custom options from Prisma client options
173
+ const { autoRelease, ...prismaOptions } = options;
174
+
175
+ // Get a connection with only valid Prisma options
176
+ const connection = this.getConnection(dbName, url, prismaOptions);
177
+
178
+ try {
179
+ // Execute the operation with the connection
180
+ const result = await operation(connection);
181
+ return result;
182
+ } catch (error) {
183
+ console.error(
184
+ colors.error(`Error executing operation on ${dbName}: ${error.message}`)
185
+ );
186
+ throw error;
187
+ } finally {
188
+ // Only disconnect if autoRelease is true
189
+ if (autoRelease === true) {
190
+ await this.closeConnection(dbName, url);
191
+ }
192
+ }
193
+ }
194
+ }
195
+
196
+ // Export a singleton instance
197
+ export const connectionManager = new ConnectionManager();
198
+ export default connectionManager;
199
+
200
+ /**
201
+ * Get singleton connection manager instance
202
+ */
203
+ export function getConnectionManager(config = {}) {
204
+ return connectionManager;
205
+ }
206
+
207
+ /**
208
+ * Helper function for seeding operations
209
+ */
210
+ export async function withOptimizedConnection(category, operation) {
211
+ const manager = getConnectionManager();
212
+ return await manager.executeWithConnection(category, operation);
213
+ }
214
+
215
+ /**
216
+ * Helper function for bulk operations
217
+ */
218
+ export async function withBulkTransaction(category, operations) {
219
+ const manager = getConnectionManager();
220
+ return await manager.executeBulkTransaction(category, operations);
221
+ }
222
+
223
+ /**
224
+ * Enhanced connection pooling for content operations
225
+ */
226
+ export class ContentConnectionPool {
227
+ constructor(options = {}) {
228
+ this.poolSize = options.poolSize || 8;
229
+ this.maxRetries = options.maxRetries || 3;
230
+ this.retryDelay = options.retryDelay || 1000;
231
+ this.connections = [];
232
+ this.activeConnections = new Set();
233
+ this.isInitialized = false;
234
+ }
235
+
236
+ /**
237
+ * Initialize connection pool
238
+ */
239
+ async initialize(dbUrl, prismaOptions = {}) {
240
+ if (this.isInitialized) return;
241
+
242
+ console.log(colors.cyan(`Initializing content connection pool with ${this.poolSize} connections...`));
243
+
244
+ for (let i = 0; i < this.poolSize; i++) {
245
+ try {
246
+ const connection = new PrismaClient({
247
+ datasources: { db: { url: dbUrl } },
248
+ log: prismaOptions.log || [{ level: "error", emit: "event" }],
249
+ ...prismaOptions
250
+ });
251
+
252
+ // Test the connection
253
+ await connection.$connect();
254
+ this.connections.push(connection);
255
+
256
+ console.log(colors.debug(`Connection ${i + 1}/${this.poolSize} initialized`));
257
+ } catch (error) {
258
+ console.error(colors.error(`Failed to initialize connection ${i + 1}: ${error.message}`));
259
+ }
260
+ }
261
+
262
+ this.isInitialized = true;
263
+ console.log(colors.green(`Content connection pool initialized with ${this.connections.length} connections`));
264
+ }
265
+
266
+ /**
267
+ * Get an available connection from the pool
268
+ */
269
+ async getConnection() {
270
+ if (!this.isInitialized) {
271
+ throw new Error('Connection pool not initialized');
272
+ }
273
+
274
+ // Find an available connection
275
+ for (const connection of this.connections) {
276
+ if (!this.activeConnections.has(connection)) {
277
+ this.activeConnections.add(connection);
278
+ return connection;
279
+ }
280
+ }
281
+
282
+ // If no connections available, wait and retry
283
+ console.log(colors.yellow('No available connections, waiting...'));
284
+ await this.sleep(100);
285
+ return await this.getConnection();
286
+ }
287
+
288
+ /**
289
+ * Release a connection back to the pool
290
+ */
291
+ releaseConnection(connection) {
292
+ this.activeConnections.delete(connection);
293
+ }
294
+
295
+ /**
296
+ * Execute operation with pooled connection
297
+ */
298
+ async executeWithPool(operation) {
299
+ let connection;
300
+ let retries = 0;
301
+
302
+ while (retries < this.maxRetries) {
303
+ try {
304
+ connection = await this.getConnection();
305
+ const result = await operation(connection);
306
+ return result;
307
+ } catch (error) {
308
+ retries++;
309
+ console.warn(colors.yellow(`Operation failed (attempt ${retries}/${this.maxRetries}): ${error.message}`));
310
+
311
+ if (retries < this.maxRetries) {
312
+ await this.sleep(this.retryDelay * retries);
313
+ } else {
314
+ throw error;
315
+ }
316
+ } finally {
317
+ if (connection) {
318
+ this.releaseConnection(connection);
319
+ }
320
+ }
321
+ }
322
+ }
323
+
324
+ /**
325
+ * Close all connections in the pool
326
+ */
327
+ async closeAll() {
328
+ console.log(colors.yellow(`Closing ${this.connections.length} pooled connections...`));
329
+
330
+ const closePromises = this.connections.map(connection =>
331
+ connection.$disconnect().catch(error =>
332
+ console.error(colors.error(`Error closing pooled connection: ${error.message}`))
333
+ )
334
+ );
335
+
336
+ await Promise.all(closePromises);
337
+ this.connections = [];
338
+ this.activeConnections.clear();
339
+ this.isInitialized = false;
340
+
341
+ console.log(colors.green('All pooled connections closed'));
342
+ }
343
+
344
+ sleep(ms) {
345
+ return new Promise(resolve => setTimeout(resolve, ms));
346
+ }
347
+ }
348
+
349
+ /**
350
+ * Global content connection pool instance
351
+ */
352
+ let contentConnectionPool = null;
353
+
354
+ /**
355
+ * Get or create content connection pool
356
+ */
357
+ export function getContentConnectionPool(options = {}) {
358
+ if (!contentConnectionPool) {
359
+ contentConnectionPool = new ContentConnectionPool(options);
360
+ }
361
+ return contentConnectionPool;
362
+ }
363
+
364
+ /**
365
+ * Helper for content seeding with connection pooling
366
+ */
367
+ export async function withContentPool(dbUrl, operation, poolOptions = {}) {
368
+ const pool = getContentConnectionPool(poolOptions);
369
+
370
+ if (!pool.isInitialized) {
371
+ await pool.initialize(dbUrl);
372
+ }
373
+
374
+ try {
375
+ return await pool.executeWithPool(operation);
376
+ } catch (error) {
377
+ console.error(colors.error(`Content pool operation failed: ${error.message}`));
378
+ throw error;
379
+ }
380
+ }