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,330 @@
1
+ import colors from "colors";
2
+ import { createProgressTracker, logSeederStart, logSeederComplete, logSeederError, logEntityError } from "./progress-tracker.js";
3
+ import { createPerformanceConfig } from "./performance-config.js";
4
+
5
+ /**
6
+ * Enhanced core data seeder with optimized batch processing and retry logic
7
+ * Specifically designed for critical entities like users, roles, permissions, departments, and currencies
8
+ */
9
+ export class CoreSeeder {
10
+ constructor(prismaClient, options = {}) {
11
+ this.prisma = prismaClient;
12
+ this.performanceConfig = createPerformanceConfig(options.performanceConfig || {});
13
+ this.options = {
14
+ logProgress: options.logProgress !== false,
15
+ enableRetries: options.enableRetries !== false,
16
+ ...options
17
+ };
18
+ }
19
+
20
+ /**
21
+ * Process core data with optimized batching and retry logic
22
+ * @param {Array} data - Array of data to process
23
+ * @param {Function} processor - Function to process each item (upsert operation)
24
+ * @param {string} entityType - Type of entity (users, roles, permissions, etc.)
25
+ * @param {Object} processorOptions - Additional options for the processor function
26
+ * @returns {Promise<Object>} Results summary
27
+ */
28
+ async processCore(data, processor, entityType, processorOptions = {}) {
29
+ if (!data || data.length === 0) {
30
+ return { totalProcessed: 0, totalCreated: 0, totalUpdated: 0, errors: [] };
31
+ }
32
+
33
+ logSeederStart(entityType);
34
+ const startTime = Date.now();
35
+
36
+ // Get optimized configuration for this entity type
37
+ const config = this.performanceConfig.getConfig('core', entityType);
38
+
39
+ if (this.options.logProgress) {
40
+ console.log(colors.cyan(`Processing ${data.length.toLocaleString()} ${entityType} with optimized core configuration:`));
41
+ console.log(colors.gray(` Batch size: ${config.batchSize}, Max concurrent: ${config.maxConcurrentBatches}, Retries: ${config.retryAttempts || 'disabled'}`));
42
+ }
43
+
44
+ let totalProcessed = 0;
45
+ let totalCreated = 0;
46
+ let totalUpdated = 0;
47
+ const errors = [];
48
+
49
+ // Create progress tracker
50
+ const progressTracker = createProgressTracker(data.length, entityType);
51
+
52
+ // Create batches
53
+ const batches = this.createBatches(data, config.batchSize);
54
+
55
+ // Process batches with controlled concurrency
56
+ for (let i = 0; i < batches.length; i += config.maxConcurrentBatches) {
57
+ const currentBatchGroup = batches.slice(i, i + config.maxConcurrentBatches);
58
+
59
+ const batchPromises = currentBatchGroup.map(async (batch, index) => {
60
+ const batchIndex = i + index;
61
+ return this.processBatchWithRetry(
62
+ batch,
63
+ processor,
64
+ batchIndex,
65
+ entityType,
66
+ config,
67
+ processorOptions
68
+ );
69
+ });
70
+
71
+ const batchResults = await Promise.allSettled(batchPromises);
72
+
73
+ // Aggregate results and update progress
74
+ batchResults.forEach((result, index) => {
75
+ const batch = currentBatchGroup[index];
76
+ const batchIndex = i + index;
77
+
78
+ if (result.status === 'fulfilled') {
79
+ totalProcessed += result.value.processed;
80
+ totalCreated += result.value.created;
81
+ totalUpdated += result.value.updated;
82
+
83
+ // Update progress tracker for each item in the batch
84
+ for (let j = 0; j < batch.length; j++) {
85
+ progressTracker.update();
86
+ }
87
+ } else {
88
+ const error = `Batch ${batchIndex} failed: ${result.reason.message}`;
89
+ errors.push(error);
90
+
91
+ if (this.options.logProgress) {
92
+ progressTracker.log(error, 'error');
93
+ }
94
+
95
+ // Still update progress for failed items
96
+ for (let j = 0; j < batch.length; j++) {
97
+ progressTracker.update();
98
+ }
99
+ }
100
+ });
101
+
102
+ // Memory management after each batch group
103
+ if (global.gc && (i + config.maxConcurrentBatches) % (config.maxConcurrentBatches * 5) === 0) {
104
+ global.gc();
105
+ }
106
+ }
107
+
108
+ progressTracker.complete();
109
+
110
+ const totalTime = (Date.now() - startTime) / 1000;
111
+ const summary = {
112
+ totalProcessed,
113
+ totalCreated,
114
+ totalUpdated,
115
+ errors,
116
+ duration: totalTime,
117
+ rate: totalProcessed / totalTime,
118
+ entityType,
119
+ config: {
120
+ batchSize: config.batchSize,
121
+ maxConcurrentBatches: config.maxConcurrentBatches,
122
+ retryAttempts: config.retryAttempts || 0
123
+ }
124
+ };
125
+
126
+ if (errors.length === 0) {
127
+ logSeederComplete(`${entityType} (${totalCreated} created, ${totalUpdated} updated in ${totalTime.toFixed(2)}s)`);
128
+ } else {
129
+ const message = `${entityType} completed with ${errors.length} errors. ${totalCreated} created, ${totalUpdated} updated in ${totalTime.toFixed(2)}s`;
130
+ console.log(colors.yellow(message));
131
+
132
+ if (config.criticalEntity && errors.length > 0) {
133
+ console.log(colors.red(`WARNING: Critical entity ${entityType} had ${errors.length} errors!`));
134
+ }
135
+ }
136
+
137
+ return summary;
138
+ }
139
+
140
+ /**
141
+ * Process a single batch with retry logic for critical entities
142
+ */
143
+ async processBatchWithRetry(batch, processor, batchIndex, entityType, config, processorOptions) {
144
+ const retryAttempts = this.options.enableRetries && config.criticalEntity ?
145
+ (config.retryAttempts || 3) : 1;
146
+
147
+ let lastError;
148
+
149
+ for (let attempt = 1; attempt <= retryAttempts; attempt++) {
150
+ try {
151
+ const result = await this.processBatch(batch, processor, batchIndex, entityType, processorOptions);
152
+
153
+ if (attempt > 1 && this.options.logProgress) {
154
+ console.log(colors.green(`Batch ${batchIndex} succeeded on attempt ${attempt}`));
155
+ }
156
+
157
+ return result;
158
+ } catch (error) {
159
+ lastError = error;
160
+
161
+ if (attempt < retryAttempts) {
162
+ const delay = config.exponentialBackoff ?
163
+ config.retryDelay * Math.pow(2, attempt - 1) :
164
+ config.retryDelay;
165
+
166
+ if (this.options.logProgress) {
167
+ console.log(colors.yellow(
168
+ `Batch ${batchIndex} attempt ${attempt}/${retryAttempts} failed, retrying in ${delay}ms...`
169
+ ));
170
+ }
171
+
172
+ await this.sleep(delay);
173
+ }
174
+ }
175
+ }
176
+
177
+ throw new Error(`Batch ${batchIndex} failed after ${retryAttempts} attempts: ${lastError.message}`);
178
+ }
179
+
180
+ /**
181
+ * Process a single batch of data
182
+ */
183
+ async processBatch(batch, processor, batchIndex, entityType, processorOptions) {
184
+ let processed = 0;
185
+ let created = 0;
186
+ let updated = 0;
187
+
188
+ // Process each item in the batch individually for better error isolation
189
+ const results = await Promise.allSettled(
190
+ batch.map(item => processor(item, processorOptions))
191
+ );
192
+
193
+ results.forEach((result, index) => {
194
+ processed++;
195
+
196
+ if (result.status === 'fulfilled') {
197
+ if (result.value?.created) {
198
+ created++;
199
+ } else if (result.value?.updated) {
200
+ updated++;
201
+ }
202
+ } else {
203
+ const item = batch[index];
204
+ const itemName = this.getItemIdentifier(item, entityType);
205
+ logEntityError(entityType, itemName, result.reason.message);
206
+ }
207
+ });
208
+
209
+ return { processed, created, updated };
210
+ }
211
+
212
+ /**
213
+ * Get a meaningful identifier for an item for error logging
214
+ */
215
+ getItemIdentifier(item, entityType) {
216
+ switch (entityType) {
217
+ case 'users':
218
+ return item.name || item.email_id || item.unique_id;
219
+ case 'roles':
220
+ return item.role_name || item.slug;
221
+ case 'permissions':
222
+ return item.permissions_name || item.slug;
223
+ case 'departments':
224
+ return item.department_name || item.department_slug;
225
+ case 'currencies':
226
+ return item.name || item.code;
227
+ default:
228
+ return item.name || item.slug || item.id || 'unknown';
229
+ }
230
+ }
231
+
232
+ /**
233
+ * Create batches from data array
234
+ */
235
+ createBatches(data, batchSize) {
236
+ const batches = [];
237
+ for (let i = 0; i < data.length; i += batchSize) {
238
+ batches.push(data.slice(i, i + batchSize));
239
+ }
240
+ return batches;
241
+ }
242
+
243
+ /**
244
+ * Sleep utility for retry delays
245
+ */
246
+ sleep(ms) {
247
+ return new Promise(resolve => setTimeout(resolve, ms));
248
+ }
249
+
250
+ /**
251
+ * Create an optimized upsert processor for standard core entities
252
+ */
253
+ static createUpsertProcessor(prisma, model, whereField, updateFields, createFields) {
254
+ return async (item, options = {}) => {
255
+ try {
256
+ const result = await prisma[model].upsert({
257
+ where: { [whereField]: item[whereField] },
258
+ update: updateFields.reduce((acc, field) => {
259
+ if (item[field] !== undefined) {
260
+ acc[field] = item[field];
261
+ }
262
+ return acc;
263
+ }, {}),
264
+ create: createFields.reduce((acc, field) => {
265
+ if (item[field] !== undefined) {
266
+ acc[field] = item[field];
267
+ }
268
+ return acc;
269
+ }, {}),
270
+ ...options.prismaOptions
271
+ });
272
+
273
+ // Determine if this was a create or update operation
274
+ // This is a simple heuristic - could be enhanced with more sophisticated detection
275
+ return {
276
+ created: result.created_at && new Date(result.created_at).getTime() > Date.now() - 1000,
277
+ updated: !result.created_at || new Date(result.created_at).getTime() <= Date.now() - 1000
278
+ };
279
+ } catch (error) {
280
+ throw error;
281
+ }
282
+ };
283
+ }
284
+
285
+ /**
286
+ * Utility method to create a core seeder instance with standard configuration
287
+ */
288
+ static create(prismaClient, options = {}) {
289
+ return new CoreSeeder(prismaClient, {
290
+ performanceConfig: {
291
+ profile: options.profile || 'stability'
292
+ },
293
+ logProgress: options.logProgress !== false,
294
+ enableRetries: options.enableRetries !== false,
295
+ ...options
296
+ });
297
+ }
298
+ }
299
+
300
+ /**
301
+ * Factory function for creating core seeders
302
+ */
303
+ export function createCoreSeeder(prismaClient, options = {}) {
304
+ return CoreSeeder.create(prismaClient, options);
305
+ }
306
+
307
+ /**
308
+ * Convenience function for processing core entity data with standard patterns
309
+ */
310
+ export async function seedCoreEntity(
311
+ prismaClient,
312
+ data,
313
+ entityType,
314
+ config = {},
315
+ options = {}
316
+ ) {
317
+ const seeder = createCoreSeeder(prismaClient, options);
318
+
319
+ // Create processor based on entity type and config
320
+ const processor = config.customProcessor ||
321
+ CoreSeeder.createUpsertProcessor(
322
+ prismaClient,
323
+ config.model || entityType.slice(0, -1), // Remove 's' from end
324
+ config.whereField,
325
+ config.updateFields,
326
+ config.createFields
327
+ );
328
+
329
+ return seeder.processCore(data, processor, entityType, config.processorOptions);
330
+ }
@@ -0,0 +1,69 @@
1
+ import fs from "fs";
2
+ import path from "path";
3
+ import { fileURLToPath } from "url";
4
+
5
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
6
+ const BASE_JSON_DIR = path.resolve(__dirname, "../../json");
7
+
8
+ /**
9
+ * Load JSON data from the appropriate directory
10
+ *
11
+ * @param {string} fileName - The name of the JSON file without extension
12
+ * @param {string} category - The category ('core-data', 'content-data', or 'geographic-data')
13
+ * @param {string} subdir - Optional subdirectory within the category
14
+ * @returns {Array|Object} The parsed JSON data
15
+ */
16
+ export function loadJsonData(fileName, category, subdir = "") {
17
+ let filePath;
18
+
19
+ if (subdir) {
20
+ filePath = path.resolve(
21
+ BASE_JSON_DIR,
22
+ category,
23
+ subdir,
24
+ `${fileName}.json`
25
+ );
26
+ } else {
27
+ filePath = path.resolve(BASE_JSON_DIR, category, `${fileName}.json`);
28
+ }
29
+
30
+ try {
31
+ return JSON.parse(fs.readFileSync(filePath, "utf8"));
32
+ } catch (error) {
33
+ console.error(`Error loading JSON file ${filePath}: ${error.message}`);
34
+ return [];
35
+ }
36
+ }
37
+
38
+ /**
39
+ * Load core data JSON
40
+ *
41
+ * @param {string} fileName - The name of the JSON file without extension
42
+ * @param {string} subdir - Optional subdirectory within core-data
43
+ * @returns {Array|Object} The parsed JSON data
44
+ */
45
+ export function loadCoreData(fileName, subdir = "") {
46
+ return loadJsonData(fileName, "core-data", subdir);
47
+ }
48
+
49
+ /**
50
+ * Load content data JSON
51
+ *
52
+ * @param {string} fileName - The name of the JSON file without extension
53
+ * @param {string} subdir - Optional subdirectory within content-data
54
+ * @returns {Array|Object} The parsed JSON data
55
+ */
56
+ export function loadContentData(fileName, subdir = "") {
57
+ return loadJsonData(fileName, "content-data", subdir);
58
+ }
59
+
60
+ /**
61
+ * Load geographic data JSON
62
+ *
63
+ * @param {string} fileName - The name of the JSON file without extension
64
+ * @param {string} subdir - Optional subdirectory within geographic-data
65
+ * @returns {Array|Object} The parsed JSON data
66
+ */
67
+ export function loadGeoData(fileName, subdir = "") {
68
+ return loadJsonData(fileName, "geographic-data", subdir);
69
+ }