create-fullstack-scaffold 0.4.3 → 0.4.5

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 (147) hide show
  1. package/dist/cli/index.js +5 -0
  2. package/dist/cli/index.js.map +1 -1
  3. package/package.json +1 -1
  4. package/template/dist/cli/index.js +237 -94
  5. package/template/dist/cli/index.js.map +1 -1
  6. package/template/dist/client/admin.html +15 -10
  7. package/template/dist/client/assets/App-BpFUIC-5.js +114 -0
  8. package/template/dist/client/assets/{CartPage-DESSHkaG.js → CartPage-DgDZP-R5.js} +2 -2
  9. package/template/dist/client/assets/{CategoriesPage-DqLZ_Mom.js → CategoriesPage-fuYNiSmE.js} +2 -2
  10. package/template/dist/client/assets/ContentDetailPage-BvvFU1Mr.js +1 -0
  11. package/template/dist/client/assets/ContentListPage-ShPxo6WG.js +1 -0
  12. package/template/dist/client/assets/DashboardPage-C1rZzZo4.js +11 -0
  13. package/template/dist/client/assets/{DeveloperDashboardPage-Cum7zFwO.js → DeveloperDashboardPage-_WtmbVoA.js} +2 -2
  14. package/template/dist/client/assets/{EmptyState-BK7ttK8D.js → EmptyState-DEyOQjbY.js} +1 -1
  15. package/template/dist/client/assets/LoadingSpinner-BcHjaM1m.js +6 -0
  16. package/template/dist/client/assets/LoginPage-CjeQqDdO.js +1 -0
  17. package/template/dist/client/assets/LogoutOutlined-ColFAHdd.js +1 -0
  18. package/template/dist/client/assets/NotificationPage-DRkEv02s.js +1 -0
  19. package/template/dist/client/assets/OrdersPage-7I3vPWLP.js +11 -0
  20. package/template/dist/client/assets/{PluginDetailPage-Br24YS4P.js → PluginDetailPage-CWyxdVCg.js} +3 -13
  21. package/template/dist/client/assets/PluginsPage-DRgWLeJT.js +6 -0
  22. package/template/dist/client/assets/ProfilePage-2FFkaii8.js +16 -0
  23. package/template/dist/client/assets/PublishPage-DW7yvROx.js +1 -0
  24. package/template/dist/client/assets/{RegisterPage-rPFG4Sry.js → RegisterPage-Dvaf9b0e.js} +2 -2
  25. package/template/dist/client/assets/SaveOutlined-CLQ2tsSY.js +2 -0
  26. package/template/dist/client/assets/{SearchPage-DQl1U5Uy.js → SearchPage-DvnEyswS.js} +2 -2
  27. package/template/dist/client/assets/{SettingsPage-DaYE80wj.js → SettingsPage-IrU-L9Zr.js} +2 -2
  28. package/template/dist/client/assets/{StatusBadge-BJ3W2Zc7.js → StatusBadge-CG7wVqpu.js} +1 -1
  29. package/template/dist/client/assets/{TodoPage-zC5wWNBa.js → TodoPage-B7D-bl65.js} +3 -3
  30. package/template/dist/client/assets/TopicsPage-CYCNr-mn.js +6 -0
  31. package/template/dist/client/assets/{WebSocketPage-B4NLdz1w.js → WebSocketPage-CGEg6QJE.js} +2 -2
  32. package/template/dist/client/assets/{activity-B94BUAsD.js → activity-CgTz9Mrd.js} +1 -1
  33. package/template/dist/client/assets/admin-D2iHWNOg.js +1 -0
  34. package/template/dist/client/assets/api-request-DIJocPxr.js +356 -0
  35. package/template/dist/client/assets/{arrow-left-H5JH0iU1.js → arrow-left-DtLQ3tTk.js} +1 -1
  36. package/template/dist/client/assets/{chevron-down-DwRh_wjD.js → chevron-down-CpIAV_yr.js} +1 -1
  37. package/template/dist/client/assets/{chevron-right-CpIWaqAL.js → chevron-right-CnU7oPQs.js} +1 -1
  38. package/template/dist/client/assets/{circle-check-big-CSElLscG.js → circle-check-big-CrZdwS75.js} +1 -1
  39. package/template/dist/client/assets/{circle-x-CYxr4RAw.js → circle-x-CvN9r3fW.js} +1 -1
  40. package/template/dist/client/assets/{clock-BseUJ7ex.js → clock-CTeSZBiH.js} +1 -1
  41. package/template/dist/client/assets/{download-BsGC_Xhq.js → download-OSVfVuNV.js} +1 -1
  42. package/template/dist/client/assets/{external-link-UTDzdjq8.js → external-link-fBsuHMby.js} +1 -1
  43. package/template/dist/client/assets/{eye-nR10ui7i.js → eye-CwlZZEsj.js} +1 -1
  44. package/template/dist/client/assets/index-09IqiOaE.css +1 -0
  45. package/template/dist/client/assets/index-B3CRby6r.js +51 -0
  46. package/template/dist/client/assets/index-CC_zy73y.js +17 -0
  47. package/template/dist/client/assets/main-Cn4IDo2I.js +92 -0
  48. package/template/dist/client/assets/merchant-DDDN9bMu.js +40 -0
  49. package/template/dist/client/assets/{message-square-CwWGL-Bh.js → message-square-BRaZfgbJ.js} +1 -1
  50. package/template/dist/client/assets/pluginStore-DDsWJPe6.js +1 -0
  51. package/template/dist/client/assets/{plus-pZld_nUL.js → plus-DDZfPiDJ.js} +1 -1
  52. package/template/dist/client/assets/sse-client-DGQ072hl.js +64 -0
  53. package/template/dist/client/assets/star-C7tO6w4H.js +11 -0
  54. package/template/dist/client/assets/{tag-DsiUPF90.js → tag-DBfpQDuJ.js} +1 -1
  55. package/template/dist/client/assets/tenant-CizbLaLJ.js +1 -0
  56. package/template/dist/client/assets/{trash-2-DRblNbnA.js → trash-2-BP7fkd5b.js} +1 -1
  57. package/template/dist/client/assets/{triangle-alert-D1CLh-Vd.js → triangle-alert-CrOQEdJ2.js} +1 -1
  58. package/template/dist/client/assets/{wifi-BwXjnCqI.js → wifi-CwYSE0J4.js} +1 -1
  59. package/template/dist/client/assets/{x-BH2rJdFq.js → x-t615pnNR.js} +1 -1
  60. package/template/dist/client/content/index.html +5 -4
  61. package/template/dist/client/index.html +4 -3
  62. package/template/dist/client/merchant.html +18 -0
  63. package/template/dist/client/notifications/index.html +6 -5
  64. package/template/dist/client/tenant.html +18 -0
  65. package/template/dist/client/todos/index.html +6 -5
  66. package/template/dist/client/websocket/index.html +6 -5
  67. package/template/dist/cloudflare/chunk-HX7DVRDX.js +1 -0
  68. package/template/dist/cloudflare/{chunk-QBHAPWIA.js → chunk-IXJL2LE4.js} +1 -1
  69. package/template/dist/cloudflare/chunk-Q34AN3RF.js +14 -0
  70. package/template/dist/cloudflare/{chunk-BHPTQ4K2.js → chunk-ZAMVL4EG.js} +2 -2
  71. package/template/dist/cloudflare/cloudflare.js +35 -29
  72. package/template/dist/cloudflare/db-4AQOSFAX.js +1 -0
  73. package/template/dist/cloudflare/{migrator-2ZYYKNI5.js → migrator-TEPBVUFO.js} +1 -1
  74. package/template/dist/cloudflare/permission-service-impl-RE7NPW3Q.js +1 -0
  75. package/template/dist/cloudflare/schema-DVEMT3X2.js +1 -0
  76. package/template/dist/cloudflare/test-setup-Z2RYE5B4.js +265 -0
  77. package/template/dist/server/chunk-27SIJSPF.js +1 -0
  78. package/template/dist/server/chunk-37QNGBQU.js +1 -0
  79. package/template/dist/server/chunk-FIY4CGJJ.js +1 -0
  80. package/template/dist/server/chunk-HZUDBIT4.js +1 -0
  81. package/template/dist/server/chunk-I6OBDFDU.js +1 -0
  82. package/template/dist/server/chunk-JHNYLNG7.js +1 -0
  83. package/template/dist/server/chunk-MDOVVKKD.js +1 -0
  84. package/template/dist/server/chunk-NSOCT7E5.js +1 -0
  85. package/template/dist/server/chunk-OU5IGVVO.js +1 -0
  86. package/template/dist/server/chunk-OYCBNRMK.js +1 -0
  87. package/template/dist/server/chunk-P2RJNNGD.js +1 -0
  88. package/template/dist/server/chunk-UMAQLNPE.js +1 -0
  89. package/template/dist/server/chunk-XZZTSRSN.js +1 -0
  90. package/template/dist/server/content-service-5QVHDR5X.js +1 -0
  91. package/template/dist/server/db-FLI5L5DD.js +1 -0
  92. package/template/dist/server/dispute-service-E2FCYUEM.js +1 -0
  93. package/template/dist/server/init-72JXJV3I.js +46 -0
  94. package/template/dist/server/init-FWYXSKPX.js +46 -0
  95. package/template/dist/server/node.js +34 -28
  96. package/template/dist/server/order-service-TKGG5S5K.js +1 -0
  97. package/template/dist/server/permission-service-impl-M3AKEYNY.js +1 -0
  98. package/template/dist/server/schema-V4UG7HMU.js +1 -0
  99. package/template/dist/server/tenant-service-JG6UUWXQ.js +1 -0
  100. package/template/dist/server/tenant-service-XJWZSEDX.js +1 -0
  101. package/template/dist/{cloudflare/test-setup-NMZJZLRV.js → server/test-setup-VFOPBGYM.js} +83 -2
  102. package/template/dist/server/ticket-service-3RSW7V2Z.js +1 -0
  103. package/template/dist/server/todo-service-S6BGIO7D.js +1 -0
  104. package/template/src/merchant/pages/DisputesPage.tsx +11 -11
  105. package/template/src/merchant/pages/OrdersPage.tsx +4 -3
  106. package/template/src/merchant/pages/ProductsPage.tsx +2 -2
  107. package/template/src/merchant/stores/merchantStore.ts +11 -6
  108. package/template/src/server/db/init.ts +5 -642
  109. package/template/src/server/module-plugin/services/plugin-seed-service.ts +623 -0
  110. package/template/src/server/module-tenant/routes/tenant-routes.ts +2 -2
  111. package/template/src/server/module-tenant/services/tenant-service.ts +63 -17
  112. package/template/src/shared/modules/merchant/index.ts +9 -0
  113. package/template/src/shared/modules/merchant/schemas.ts +37 -0
  114. package/template/src/shared/modules/tenant/index.ts +2 -0
  115. package/template/src/shared/schemas/index.ts +27 -0
  116. package/template/src/tenant/layouts/Header.tsx +1 -1
  117. package/template/src/tenant/layouts/Sidebar.tsx +1 -1
  118. package/template/src/tenant/pages/SettingsPage.tsx +4 -8
  119. package/template/src/tenant/stores/tenantStore.ts +41 -302
  120. package/template/tsconfig.json +1 -0
  121. package/template/tsup.config.ts +11 -3
  122. package/template/dist/client/assets/ContentDetailPage-DdltMANL.js +0 -1
  123. package/template/dist/client/assets/ContentListPage-B63sUB6N.js +0 -1
  124. package/template/dist/client/assets/DashboardPage-tUMilc7Z.js +0 -11
  125. package/template/dist/client/assets/LoadingSpinner-DVYOLSRM.js +0 -6
  126. package/template/dist/client/assets/LoginPage-g9mSLIMC.js +0 -6
  127. package/template/dist/client/assets/NotificationPage-COTzp-HD.js +0 -1
  128. package/template/dist/client/assets/OrdersPage-BsPh4oEI.js +0 -11
  129. package/template/dist/client/assets/PluginsPage-BNtAe_yo.js +0 -6
  130. package/template/dist/client/assets/ProfilePage-dL_iSuZN.js +0 -16
  131. package/template/dist/client/assets/PublishPage-D96FnbLA.js +0 -1
  132. package/template/dist/client/assets/TopicsPage-DyLjZa4D.js +0 -6
  133. package/template/dist/client/assets/admin-Bh1vfz_L.js +0 -486
  134. package/template/dist/client/assets/index-1bA-ixFv.js +0 -114
  135. package/template/dist/client/assets/index-CWh3vXC_.css +0 -1
  136. package/template/dist/client/assets/main-DHnArIp_.js +0 -82
  137. package/template/dist/client/assets/pluginStore-XQfsm3iR.js +0 -1
  138. package/template/dist/client/content/content-1/index.html +0 -18
  139. package/template/dist/client/content/content-13/index.html +0 -18
  140. package/template/dist/client/content/content-14/index.html +0 -18
  141. package/template/dist/client/content/content-15/index.html +0 -18
  142. package/template/dist/client/content/content-19/index.html +0 -18
  143. package/template/dist/client/content/content-2/index.html +0 -18
  144. package/template/dist/client/content/content-20/index.html +0 -18
  145. package/template/dist/cloudflare/chunk-YY6FRMAQ.js +0 -14
  146. package/template/dist/cloudflare/db-7J42RQ3T.js +0 -1
  147. package/template/dist/cloudflare/permission-service-impl-TGXVSSSA.js +0 -1
@@ -0,0 +1,46 @@
1
+ import {a}from'./chunk-NSOCT7E5.js';import {m,h,g,i}from'./chunk-OYCBNRMK.js';import {J,A,e,f,g as g$1,z}from'./chunk-27SIJSPF.js';import'./chunk-5J6HXUF6.js';import {hash}from'bcryptjs';m();J();A();h();var s=g.db(),C=[{id:"perm_user_view",code:"user:view",name:"\u67E5\u770B\u7528\u6237",label:"\u67E5\u770B\u7528\u6237",category:"user",sortOrder:1},{id:"perm_user_create",code:"user:create",name:"\u521B\u5EFA\u7528\u6237",label:"\u521B\u5EFA\u7528\u6237",category:"user",sortOrder:2},{id:"perm_user_edit",code:"user:edit",name:"\u7F16\u8F91\u7528\u6237",label:"\u7F16\u8F91\u7528\u6237",category:"user",sortOrder:3},{id:"perm_user_delete",code:"user:delete",name:"\u5220\u9664\u7528\u6237",label:"\u5220\u9664\u7528\u6237",category:"user",sortOrder:4},{id:"perm_content_view",code:"content:view",name:"\u67E5\u770B\u5185\u5BB9",label:"\u67E5\u770B\u5185\u5BB9",category:"content",sortOrder:1},{id:"perm_content_create",code:"content:create",name:"\u521B\u5EFA\u5185\u5BB9",label:"\u521B\u5EFA\u5185\u5BB9",category:"content",sortOrder:2},{id:"perm_content_edit",code:"content:edit",name:"\u7F16\u8F91\u5185\u5BB9",label:"\u7F16\u8F91\u5185\u5BB9",category:"content",sortOrder:3},{id:"perm_content_delete",code:"content:delete",name:"\u5220\u9664\u5185\u5BB9",label:"\u5220\u9664\u5185\u5BB9",category:"content",sortOrder:4},{id:"perm_system_settings",code:"system:settings",name:"\u7CFB\u7EDF\u8BBE\u7F6E",label:"\u7CFB\u7EDF\u8BBE\u7F6E",category:"system",sortOrder:1},{id:"perm_system_logs",code:"system:logs",name:"\u7CFB\u7EDF\u65E5\u5FD7",label:"\u7CFB\u7EDF\u65E5\u5FD7",category:"system",sortOrder:2},{id:"perm_system_monitor",code:"system:monitor",name:"\u7CFB\u7EDF\u76D1\u63A7",label:"\u7CFB\u7EDF\u76D1\u63A7",category:"system",sortOrder:3},{id:"perm_data_export",code:"data:export",name:"\u6570\u636E\u5BFC\u51FA",label:"\u6570\u636E\u5BFC\u51FA",category:"data",sortOrder:1},{id:"perm_data_import",code:"data:import",name:"\u6570\u636E\u5BFC\u5165",label:"\u6570\u636E\u5BFC\u5165",category:"data",sortOrder:2},{id:"perm_order_view",code:"order:view",name:"\u67E5\u770B\u8BA2\u5355",label:"\u67E5\u770B\u8BA2\u5355",category:"order",sortOrder:1},{id:"perm_order_create",code:"order:create",name:"\u521B\u5EFA\u8BA2\u5355",label:"\u521B\u5EFA\u8BA2\u5355",category:"order",sortOrder:2},{id:"perm_order_edit",code:"order:edit",name:"\u7F16\u8F91\u8BA2\u5355",label:"\u7F16\u8F91\u8BA2\u5355",category:"order",sortOrder:3},{id:"perm_order_delete",code:"order:delete",name:"\u5220\u9664\u8BA2\u5355",label:"\u5220\u9664\u8BA2\u5355",category:"order",sortOrder:4},{id:"perm_order_process",code:"order:process",name:"\u5904\u7406\u8BA2\u5355",label:"\u5904\u7406\u8BA2\u5355",category:"order",sortOrder:5},{id:"perm_ticket_view",code:"ticket:view",name:"\u67E5\u770B\u5DE5\u5355",label:"\u67E5\u770B\u5DE5\u5355",category:"ticket",sortOrder:1},{id:"perm_ticket_create",code:"ticket:create",name:"\u521B\u5EFA\u5DE5\u5355",label:"\u521B\u5EFA\u5DE5\u5355",category:"ticket",sortOrder:2},{id:"perm_ticket_edit",code:"ticket:edit",name:"\u7F16\u8F91\u5DE5\u5355",label:"\u7F16\u8F91\u5DE5\u5355",category:"ticket",sortOrder:3},{id:"perm_ticket_delete",code:"ticket:delete",name:"\u5220\u9664\u5DE5\u5355",label:"\u5220\u9664\u5DE5\u5355",category:"ticket",sortOrder:4},{id:"perm_ticket_reply",code:"ticket:reply",name:"\u56DE\u590D\u5DE5\u5355",label:"\u56DE\u590D\u5DE5\u5355",category:"ticket",sortOrder:5},{id:"perm_ticket_close",code:"ticket:close",name:"\u5173\u95ED\u5DE5\u5355",label:"\u5173\u95ED\u5DE5\u5355",category:"ticket",sortOrder:6},{id:"perm_dispute_view",code:"dispute:view",name:"\u67E5\u770B\u4E89\u8BAE",label:"\u67E5\u770B\u4E89\u8BAE",category:"dispute",sortOrder:1},{id:"perm_dispute_create",code:"dispute:create",name:"\u521B\u5EFA\u4E89\u8BAE",label:"\u521B\u5EFA\u4E89\u8BAE",category:"dispute",sortOrder:2},{id:"perm_dispute_edit",code:"dispute:edit",name:"\u7F16\u8F91\u4E89\u8BAE",label:"\u7F16\u8F91\u4E89\u8BAE",category:"dispute",sortOrder:3},{id:"perm_dispute_delete",code:"dispute:delete",name:"\u5220\u9664\u4E89\u8BAE",label:"\u5220\u9664\u4E89\u8BAE",category:"dispute",sortOrder:4},{id:"perm_dispute_resolve",code:"dispute:resolve",name:"\u89E3\u51B3\u4E89\u8BAE",label:"\u89E3\u51B3\u4E89\u8BAE",category:"dispute",sortOrder:5},{id:"perm_role_view",code:"role:view",name:"\u67E5\u770B\u89D2\u8272",label:"\u67E5\u770B\u89D2\u8272",category:"role",sortOrder:1},{id:"perm_role_create",code:"role:create",name:"\u521B\u5EFA\u89D2\u8272",label:"\u521B\u5EFA\u89D2\u8272",category:"role",sortOrder:2},{id:"perm_role_edit",code:"role:edit",name:"\u7F16\u8F91\u89D2\u8272",label:"\u7F16\u8F91\u89D2\u8272",category:"role",sortOrder:3},{id:"perm_role_delete",code:"role:delete",name:"\u5220\u9664\u89D2\u8272",label:"\u5220\u9664\u89D2\u8272",category:"role",sortOrder:4}],U=[{id:"role_super_admin",code:"super_admin",name:"\u8D85\u7EA7\u7BA1\u7406\u5458",label:"\u8D85\u7EA7\u7BA1\u7406\u5458",isSystem:true,sortOrder:1},{id:"role_customer_service",code:"customer_service",name:"\u5BA2\u670D\u4EBA\u5458",label:"\u5BA2\u670D\u4EBA\u5458",isSystem:true,sortOrder:2},{id:"role_user",code:"user",name:"\u666E\u901A\u7528\u6237",label:"\u666E\u901A\u7528\u6237",isSystem:true,sortOrder:3}],x=[{roleId:"role_super_admin",permissionId:"perm_user_view"},{roleId:"role_super_admin",permissionId:"perm_user_create"},{roleId:"role_super_admin",permissionId:"perm_user_edit"},{roleId:"role_super_admin",permissionId:"perm_user_delete"},{roleId:"role_super_admin",permissionId:"perm_content_view"},{roleId:"role_super_admin",permissionId:"perm_content_create"},{roleId:"role_super_admin",permissionId:"perm_content_edit"},{roleId:"role_super_admin",permissionId:"perm_content_delete"},{roleId:"role_super_admin",permissionId:"perm_system_settings"},{roleId:"role_super_admin",permissionId:"perm_system_logs"},{roleId:"role_super_admin",permissionId:"perm_system_monitor"},{roleId:"role_super_admin",permissionId:"perm_data_export"},{roleId:"role_super_admin",permissionId:"perm_data_import"},{roleId:"role_super_admin",permissionId:"perm_order_view"},{roleId:"role_super_admin",permissionId:"perm_order_create"},{roleId:"role_super_admin",permissionId:"perm_order_edit"},{roleId:"role_super_admin",permissionId:"perm_order_delete"},{roleId:"role_super_admin",permissionId:"perm_order_process"},{roleId:"role_super_admin",permissionId:"perm_ticket_view"},{roleId:"role_super_admin",permissionId:"perm_ticket_create"},{roleId:"role_super_admin",permissionId:"perm_ticket_edit"},{roleId:"role_super_admin",permissionId:"perm_ticket_delete"},{roleId:"role_super_admin",permissionId:"perm_ticket_reply"},{roleId:"role_super_admin",permissionId:"perm_ticket_close"},{roleId:"role_super_admin",permissionId:"perm_dispute_view"},{roleId:"role_super_admin",permissionId:"perm_dispute_create"},{roleId:"role_super_admin",permissionId:"perm_dispute_edit"},{roleId:"role_super_admin",permissionId:"perm_dispute_delete"},{roleId:"role_super_admin",permissionId:"perm_dispute_resolve"},{roleId:"role_customer_service",permissionId:"perm_content_view"},{roleId:"role_customer_service",permissionId:"perm_order_view"},{roleId:"role_customer_service",permissionId:"perm_order_create"},{roleId:"role_customer_service",permissionId:"perm_order_edit"},{roleId:"role_customer_service",permissionId:"perm_order_delete"},{roleId:"role_customer_service",permissionId:"perm_order_process"},{roleId:"role_customer_service",permissionId:"perm_ticket_view"},{roleId:"role_customer_service",permissionId:"perm_ticket_create"},{roleId:"role_customer_service",permissionId:"perm_ticket_edit"},{roleId:"role_customer_service",permissionId:"perm_ticket_delete"},{roleId:"role_customer_service",permissionId:"perm_ticket_reply"},{roleId:"role_customer_service",permissionId:"perm_ticket_close"},{roleId:"role_customer_service",permissionId:"perm_dispute_view"},{roleId:"role_customer_service",permissionId:"perm_dispute_create"},{roleId:"role_customer_service",permissionId:"perm_dispute_edit"},{roleId:"role_customer_service",permissionId:"perm_dispute_delete"},{roleId:"role_customer_service",permissionId:"perm_dispute_resolve"},{roleId:"role_customer_service",permissionId:"perm_data_export"},{roleId:"role_customer_service",permissionId:"perm_system_logs"},{roleId:"role_user",permissionId:"perm_content_view"},{roleId:"role_user",permissionId:"perm_order_view"}];async function O(){try{let r=await i();if((await r.select().from(z)).length>0)return;s.info({},"Seeding developers...");let n=await hash("demo123"),d=await hash("admin123"),i$1=[{id:a(),username:"demo",email:"demo@biomimic.app",passwordHash:n,role:"developer",apiKey:a()},{id:a(),username:"superadmin",email:"admin@biomimic.app",passwordHash:d,role:"admin",apiKey:a()}];await r.insert(z).values(i$1),s.info({},"Developers seeding complete!");}catch(r){if(r instanceof Error&&(r.message.includes("no such table")||r.message.includes("does not exist"))){s.debug({},"Developers table not found, skipping seed");return}throw r}}async function M(){let r,p,n,d;try{let l=await import('./schema-V4UG7HMU.js');if(r=l.plugins,p=l.pluginVersions,n=l.pluginCategories,d=l.pluginCategoryMappings,!r)return}catch{return}let i$1=await i();if((await i$1.select().from(r)).length>0)return;s.info({},"Seeding plugins...");let a$1=[{id:a(),name:"UI & Design",slug:"ui-design",description:"Visual customization and theming",icon:"palette",sortOrder:1},{id:a(),name:"Analytics",slug:"analytics",description:"Data tracking and reporting",icon:"chart",sortOrder:2},{id:a(),name:"SEO & Marketing",slug:"seo-marketing",description:"Search optimization and growth tools",icon:"trending-up",sortOrder:3},{id:a(),name:"Developer Tools",slug:"developer-tools",description:"Utilities for developers",icon:"code",sortOrder:4},{id:a(),name:"Integration",slug:"integration",description:"Third-party service integrations",icon:"plug",sortOrder:5}];await i$1.insert(n).values(a$1);let o=[{id:a(),name:"Theme Engine",slug:"theme-engine",description:"Advanced theming system with dark mode, custom color palettes, and responsive layout controls.",readme:`# Theme Engine
2
+
3
+ A powerful theming plugin for customizing the look and feel of your application.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/theme-engine",homepageUrl:"https://theme-engine.example.com",license:"MIT",version:"2.1.0",status:"approved",downloadCount:1520,viewCount:4320,featured:true,screenshotUrl:"https://picsum.photos/seed/theme/800/400",tags:'["theme","dark-mode","customization"]'},{id:a(),slug:"analytics-dashboard",name:"Analytics Dashboard",description:"Real-time analytics dashboard with charts, heatmaps, and user behavior tracking.",readme:`# Analytics Dashboard
4
+
5
+ Track user engagement and visualize data in real time.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/analytics-dashboard",homepageUrl:"https://analytics.example.com",license:"Apache-2.0",version:"1.5.3",status:"approved",downloadCount:980,viewCount:2100,featured:true,screenshotUrl:"https://picsum.photos/seed/analytics/800/400",tags:'["analytics","dashboard","charts"]'},{id:a(),slug:"seo-optimizer",name:"SEO Optimizer",description:"Automated SEO optimization with meta tags, sitemap generation, and structured data support.",authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/seo-optimizer",license:"MIT",version:"1.2.0",status:"approved",downloadCount:740,viewCount:1800,featured:false,screenshotUrl:"https://picsum.photos/seed/seo/800/400",tags:'["seo","meta","sitemap"]'},{id:a(),slug:"api-toolkit",name:"API Toolkit",description:"Developer toolkit for building and testing REST APIs with auto-documentation and mock servers.",authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/api-toolkit",homepageUrl:"https://api-toolkit.example.com",license:"MIT",version:"3.0.1",status:"approved",downloadCount:2100,viewCount:5600,featured:true,screenshotUrl:"https://picsum.photos/seed/apitoolkit/800/400",tags:'["api","developer","testing","documentation"]'},{id:a(),slug:"notification-hub",name:"Notification Hub",description:"Unified notification management supporting email, SMS, push, and in-app notifications.",authorId:"3",authorName:"user1",repositoryUrl:"https://github.com/example/notification-hub",license:"ISC",version:"1.0.0",status:"pending",downloadCount:0,viewCount:50,featured:false,screenshotUrl:"https://picsum.photos/seed/notify/800/400",tags:'["notification","email","push"]'},{id:a(),slug:"form-builder",name:"Form Builder",description:"Drag-and-drop form creation with validation rules, conditional logic, and file uploads.",readme:`# Form Builder
6
+
7
+ Create complex forms with ease using our visual drag-and-drop builder.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/form-builder",homepageUrl:"https://form-builder.example.com",license:"MIT",version:"3.2.1",status:"approved",downloadCount:3420,viewCount:8900,featured:true,screenshotUrl:"https://picsum.photos/seed/formbuilder/800/400",tags:'["forms","validation","drag-drop"]'},{id:a(),slug:"image-optimizer",name:"Image Optimizer",description:"Automatic image compression and format conversion with lazy loading and responsive srcset support.",readme:`# Image Optimizer
8
+
9
+ Optimize images automatically for faster page loads.`,authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/image-optimizer",license:"MIT",version:"2.0.0",status:"approved",downloadCount:2890,viewCount:6500,featured:false,screenshotUrl:"https://picsum.photos/seed/imgopt/800/400",tags:'["image","optimization","performance"]'},{id:a(),slug:"cache-manager",name:"Cache Manager",description:"Redis-powered caching layer with TTL management, cache invalidation, and tag-based purging.",readme:`# Cache Manager
10
+
11
+ Smart caching for high-performance applications.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/cache-manager",homepageUrl:"https://cache-manager.example.com",license:"Apache-2.0",version:"1.8.0",status:"approved",downloadCount:1560,viewCount:4200,featured:true,screenshotUrl:"https://picsum.photos/seed/cache/800/400",tags:'["cache","redis","performance"]'},{id:a(),slug:"auth-guard",name:"Auth Guard",description:"Advanced authentication flows with OAuth2, SAML, and biometric support including session management.",readme:`# Auth Guard
12
+
13
+ Enterprise-grade authentication for modern apps.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/auth-guard",homepageUrl:"https://auth-guard.example.com",license:"MIT",version:"4.1.0",status:"approved",downloadCount:4210,viewCount:9800,featured:true,screenshotUrl:"https://picsum.photos/seed/authguard/800/400",tags:'["auth","oauth","security"]'},{id:a(),slug:"payment-gateway",name:"Payment Gateway",description:"Stripe and PayPal integration with subscription management, invoicing, and refund handling.",readme:`# Payment Gateway
14
+
15
+ Accept payments globally with multiple providers.`,authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/payment-gateway",homepageUrl:"https://payment-gateway.example.com",license:"MIT",version:"2.3.0",status:"approved",downloadCount:3100,viewCount:7800,featured:true,screenshotUrl:"https://picsum.photos/seed/payment/800/400",tags:'["payment","stripe","subscription"]'},{id:a(),slug:"chat-widget",name:"Chat Widget",description:"Real-time customer support chat with AI-powered auto-replies and conversation routing.",readme:`# Chat Widget
16
+
17
+ Live chat support for your customers.`,authorId:"3",authorName:"user1",repositoryUrl:"https://github.com/example/chat-widget",license:"ISC",version:"1.4.2",status:"approved",downloadCount:1870,viewCount:5200,featured:false,screenshotUrl:"https://picsum.photos/seed/chatwidget/800/400",tags:'["chat","support","real-time"]'},{id:a(),slug:"backup-manager",name:"Backup Manager",description:"Automated database backups with scheduling, encryption, and cloud storage integration.",readme:`# Backup Manager
18
+
19
+ Never lose data with automated backups.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/backup-manager",license:"MIT",version:"1.1.0",status:"approved",downloadCount:980,viewCount:2900,featured:false,screenshotUrl:"https://picsum.photos/seed/backup/800/400",tags:'["backup","database","scheduling"]'},{id:a(),slug:"rate-limiter",name:"Rate Limiter",description:"API rate limiting middleware with sliding window, token bucket, and fixed window algorithms.",readme:`# Rate Limiter
20
+
21
+ Protect your APIs from abuse.`,authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/rate-limiter",homepageUrl:"https://rate-limiter.example.com",license:"MIT",version:"2.0.0",status:"approved",downloadCount:1340,viewCount:3800,featured:false,screenshotUrl:"https://picsum.photos/seed/ratelimit/800/400",tags:'["rate-limit","api","middleware"]'},{id:a(),slug:"email-templates",name:"Email Templates",description:"Responsive email builder with template variables, preview mode, and SMTP integration.",readme:`# Email Templates
22
+
23
+ Beautiful emails that work everywhere.`,authorId:"3",authorName:"user1",repositoryUrl:"https://github.com/example/email-templates",license:"Apache-2.0",version:"1.6.0",status:"approved",downloadCount:2100,viewCount:5600,featured:false,screenshotUrl:"https://picsum.photos/seed/emailtpl/800/400",tags:'["email","templates","smtp"]'},{id:a(),slug:"search-engine",name:"Search Engine",description:"Elasticsearch integration with faceted search, autocomplete, and relevance tuning.",readme:`# Search Engine
24
+
25
+ Powerful full-text search for your application.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/search-engine",homepageUrl:"https://search-engine.example.com",license:"MIT",version:"3.0.0",status:"approved",downloadCount:2560,viewCount:7100,featured:true,screenshotUrl:"https://picsum.photos/seed/searcheng/800/400",tags:'["search","elasticsearch","full-text"]'},{id:a(),slug:"cdn-manager",name:"CDN Manager",description:"Content delivery network controls with cache purging, URL signing, and geo-routing.",readme:`# CDN Manager
26
+
27
+ Deliver content faster globally.`,authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/cdn-manager",license:"MIT",version:"1.3.0",status:"approved",downloadCount:870,viewCount:2400,featured:false,screenshotUrl:"https://picsum.photos/seed/cdn/800/400",tags:'["cdn","caching","delivery"]'},{id:a(),slug:"logger-pro",name:"Logger Pro",description:"Structured logging with severity levels, log rotation, and remote aggregation support.",readme:`# Logger Pro
28
+
29
+ Enterprise logging made simple.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/logger-pro",license:"BSD-3-Clause",version:"2.1.0",status:"approved",downloadCount:1190,viewCount:3300,featured:false,screenshotUrl:"https://picsum.photos/seed/logger/800/400",tags:'["logging","monitoring","structured"]'},{id:a(),slug:"task-scheduler",name:"Task Scheduler",description:"Cron job management with retry policies, concurrency controls, and execution history.",readme:`# Task Scheduler
30
+
31
+ Automate recurring tasks with confidence.`,authorId:"3",authorName:"user1",repositoryUrl:"https://github.com/example/task-scheduler",homepageUrl:"https://task-scheduler.example.com",license:"MIT",version:"1.5.0",status:"approved",downloadCount:1780,viewCount:4900,featured:false,screenshotUrl:"https://picsum.photos/seed/tasksched/800/400",tags:'["scheduler","cron","automation"]'},{id:a(),slug:"ab-testing",name:"A/B Testing",description:"Experiment framework with statistical significance calculation and variant allocation.",readme:`# A/B Testing
32
+
33
+ Data-driven decisions through controlled experiments.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/ab-testing",license:"Apache-2.0",version:"1.0.0",status:"approved",downloadCount:640,viewCount:2100,featured:false,screenshotUrl:"https://picsum.photos/seed/abtest/800/400",tags:'["testing","experiment","analytics"]'},{id:a(),slug:"markdown-editor",name:"Markdown Editor",description:"Rich text editing with Markdown support, syntax highlighting, and live preview.",readme:`# Markdown Editor
34
+
35
+ Write beautifully with Markdown.`,authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/markdown-editor",homepageUrl:"https://md-editor.example.com",license:"MIT",version:"2.4.0",status:"approved",downloadCount:2950,viewCount:7400,featured:true,screenshotUrl:"https://picsum.photos/seed/mdeditor/800/400",tags:'["markdown","editor","rich-text"]'},{id:a(),slug:"webhook-manager",name:"Webhook Manager",description:"Outgoing webhook automation with retry logic, payload templating, and delivery tracking.",readme:`# Webhook Manager
36
+
37
+ Reliable webhook delivery for your integrations.`,authorId:"3",authorName:"user1",repositoryUrl:"https://github.com/example/webhook-manager",license:"MIT",version:"1.2.0",status:"pending",downloadCount:520,viewCount:1800,featured:false,screenshotUrl:"https://picsum.photos/seed/webhook/800/400",tags:'["webhook","automation","integration"]'},{id:a(),slug:"two-factor-auth",name:"Two-Factor Auth",description:"2FA/MFA support with TOTP, SMS OTP, and hardware key authentication methods.",readme:`# Two-Factor Auth
38
+
39
+ Add an extra layer of security.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/two-factor-auth",license:"MIT",version:"1.7.0",status:"approved",downloadCount:2340,viewCount:6100,featured:false,screenshotUrl:"https://picsum.photos/seed/2fa/800/400",tags:'["2fa","security","authentication"]'},{id:a(),slug:"database-browser",name:"Database Browser",description:"GUI interface for browsing tables, running queries, and visualizing schema relationships.",readme:`# Database Browser
40
+
41
+ Explore your data visually.`,authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/database-browser",license:"GPL-3.0",version:"1.0.0",status:"pending",downloadCount:340,viewCount:1200,featured:false,screenshotUrl:"https://picsum.photos/seed/dbbrowser/800/400",tags:'["database","gui","query"]'},{id:a(),slug:"performance-monitor",name:"Performance Monitor",description:"Core Web Vitals tracking with real user monitoring, alerts, and performance budgets.",readme:`# Performance Monitor
42
+
43
+ Keep your app fast and responsive.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/performance-monitor",homepageUrl:"https://perf-monitor.example.com",license:"MIT",version:"2.0.0",status:"approved",downloadCount:1890,viewCount:5300,featured:true,screenshotUrl:"https://picsum.photos/seed/perfmon/800/400",tags:'["performance","monitoring","web-vitals"]'},{id:a(),slug:"i18n-manager",name:"i18n Manager",description:"Internationalization toolkit with translation memory, pluralization, and RTL support.",readme:`# i18n Manager
44
+
45
+ Go global with multilingual support.`,authorId:"3",authorName:"user1",repositoryUrl:"https://github.com/example/i18n-manager",license:"MIT",version:"1.3.0",status:"approved",downloadCount:1450,viewCount:4100,featured:false,screenshotUrl:"https://picsum.photos/seed/i18n/800/400",tags:'["i18n","translation","localization"]'}];await i$1.insert(r).values(o);let w=[{id:a(),pluginId:o[0].id,version:"2.1.0",changelog:"Added responsive layout controls",status:"approved"},{id:a(),pluginId:o[0].id,version:"2.0.0",changelog:"Major rewrite with dark mode support",status:"approved"},{id:a(),pluginId:o[1].id,version:"1.5.3",changelog:"Fixed heatmap rendering",status:"approved"},{id:a(),pluginId:o[1].id,version:"1.5.0",changelog:"Added real-time tracking",status:"approved"},{id:a(),pluginId:o[2].id,version:"1.2.0",changelog:"Structured data support",status:"approved"},{id:a(),pluginId:o[3].id,version:"3.0.1",changelog:"Auto-documentation improvements",status:"approved"},{id:a(),pluginId:o[3].id,version:"3.0.0",changelog:"Major version with mock server",status:"approved"},{id:a(),pluginId:o[4].id,version:"1.0.0",changelog:"Initial release",status:"pending"}];await i$1.insert(p).values(w);let I=[{pluginId:o[0].id,categoryId:a$1[0].id},{pluginId:o[1].id,categoryId:a$1[1].id},{pluginId:o[2].id,categoryId:a$1[2].id},{pluginId:o[3].id,categoryId:a$1[3].id},{pluginId:o[4].id,categoryId:a$1[4].id}];await i$1.insert(d).values(I),s.info({},"Plugin seeding complete!");}async function E(){let r=await i();s.info({},"Initializing database..."),(await r.select().from(e)).length===0&&(s.info({},"Inserting initial permissions..."),await r.insert(e).values(C.map(t=>({...t,description:null,isActive:true,createdAt:new Date,updatedAt:new Date})))),(await r.select().from(f)).length===0&&(s.info({},"Inserting initial roles..."),await r.insert(f).values(U.map(t=>({...t,description:null,isActive:true,createdAt:new Date,updatedAt:new Date})))),(await r.select().from(g$1)).length===0&&(s.info({},"Inserting initial role permissions..."),await r.insert(g$1).values(x.map(t=>({...t,createdAt:new Date})))),await O(),s.info({},"Database initialization complete!"),s.info({},"Seeding module data...");let i$1=[()=>import('./todo-service-S6BGIO7D.js').then(t=>t.seedTodosIfEmpty()),()=>import('./order-service-TKGG5S5K.js').then(t=>t.seedOrdersIfEmpty()),()=>import('./ticket-service-3RSW7V2Z.js').then(t=>t.seedTicketsIfEmpty()),()=>import('./dispute-service-E2FCYUEM.js').then(t=>t.seedDisputesIfEmpty()),()=>import('./content-service-5QVHDR5X.js').then(t=>t.seedContentsIfEmpty()),()=>import('./tenant-service-JG6UUWXQ.js').then(t=>t.seedTenantsIfEmpty()),()=>M()];await Promise.all(i$1.map(t=>t().catch(()=>{}))),s.info({},"Module data seeding complete!");}
46
+ export{E as initializeDatabase};
@@ -0,0 +1,46 @@
1
+ import {a}from'./chunk-NSOCT7E5.js';import {m,h,g,i}from'./chunk-OYCBNRMK.js';import {J,A,e,f,g as g$1,z}from'./chunk-27SIJSPF.js';import'./chunk-5J6HXUF6.js';import {hash}from'bcryptjs';m();J();A();h();var s=g.db(),C=[{id:"perm_user_view",code:"user:view",name:"\u67E5\u770B\u7528\u6237",label:"\u67E5\u770B\u7528\u6237",category:"user",sortOrder:1},{id:"perm_user_create",code:"user:create",name:"\u521B\u5EFA\u7528\u6237",label:"\u521B\u5EFA\u7528\u6237",category:"user",sortOrder:2},{id:"perm_user_edit",code:"user:edit",name:"\u7F16\u8F91\u7528\u6237",label:"\u7F16\u8F91\u7528\u6237",category:"user",sortOrder:3},{id:"perm_user_delete",code:"user:delete",name:"\u5220\u9664\u7528\u6237",label:"\u5220\u9664\u7528\u6237",category:"user",sortOrder:4},{id:"perm_content_view",code:"content:view",name:"\u67E5\u770B\u5185\u5BB9",label:"\u67E5\u770B\u5185\u5BB9",category:"content",sortOrder:1},{id:"perm_content_create",code:"content:create",name:"\u521B\u5EFA\u5185\u5BB9",label:"\u521B\u5EFA\u5185\u5BB9",category:"content",sortOrder:2},{id:"perm_content_edit",code:"content:edit",name:"\u7F16\u8F91\u5185\u5BB9",label:"\u7F16\u8F91\u5185\u5BB9",category:"content",sortOrder:3},{id:"perm_content_delete",code:"content:delete",name:"\u5220\u9664\u5185\u5BB9",label:"\u5220\u9664\u5185\u5BB9",category:"content",sortOrder:4},{id:"perm_system_settings",code:"system:settings",name:"\u7CFB\u7EDF\u8BBE\u7F6E",label:"\u7CFB\u7EDF\u8BBE\u7F6E",category:"system",sortOrder:1},{id:"perm_system_logs",code:"system:logs",name:"\u7CFB\u7EDF\u65E5\u5FD7",label:"\u7CFB\u7EDF\u65E5\u5FD7",category:"system",sortOrder:2},{id:"perm_system_monitor",code:"system:monitor",name:"\u7CFB\u7EDF\u76D1\u63A7",label:"\u7CFB\u7EDF\u76D1\u63A7",category:"system",sortOrder:3},{id:"perm_data_export",code:"data:export",name:"\u6570\u636E\u5BFC\u51FA",label:"\u6570\u636E\u5BFC\u51FA",category:"data",sortOrder:1},{id:"perm_data_import",code:"data:import",name:"\u6570\u636E\u5BFC\u5165",label:"\u6570\u636E\u5BFC\u5165",category:"data",sortOrder:2},{id:"perm_order_view",code:"order:view",name:"\u67E5\u770B\u8BA2\u5355",label:"\u67E5\u770B\u8BA2\u5355",category:"order",sortOrder:1},{id:"perm_order_create",code:"order:create",name:"\u521B\u5EFA\u8BA2\u5355",label:"\u521B\u5EFA\u8BA2\u5355",category:"order",sortOrder:2},{id:"perm_order_edit",code:"order:edit",name:"\u7F16\u8F91\u8BA2\u5355",label:"\u7F16\u8F91\u8BA2\u5355",category:"order",sortOrder:3},{id:"perm_order_delete",code:"order:delete",name:"\u5220\u9664\u8BA2\u5355",label:"\u5220\u9664\u8BA2\u5355",category:"order",sortOrder:4},{id:"perm_order_process",code:"order:process",name:"\u5904\u7406\u8BA2\u5355",label:"\u5904\u7406\u8BA2\u5355",category:"order",sortOrder:5},{id:"perm_ticket_view",code:"ticket:view",name:"\u67E5\u770B\u5DE5\u5355",label:"\u67E5\u770B\u5DE5\u5355",category:"ticket",sortOrder:1},{id:"perm_ticket_create",code:"ticket:create",name:"\u521B\u5EFA\u5DE5\u5355",label:"\u521B\u5EFA\u5DE5\u5355",category:"ticket",sortOrder:2},{id:"perm_ticket_edit",code:"ticket:edit",name:"\u7F16\u8F91\u5DE5\u5355",label:"\u7F16\u8F91\u5DE5\u5355",category:"ticket",sortOrder:3},{id:"perm_ticket_delete",code:"ticket:delete",name:"\u5220\u9664\u5DE5\u5355",label:"\u5220\u9664\u5DE5\u5355",category:"ticket",sortOrder:4},{id:"perm_ticket_reply",code:"ticket:reply",name:"\u56DE\u590D\u5DE5\u5355",label:"\u56DE\u590D\u5DE5\u5355",category:"ticket",sortOrder:5},{id:"perm_ticket_close",code:"ticket:close",name:"\u5173\u95ED\u5DE5\u5355",label:"\u5173\u95ED\u5DE5\u5355",category:"ticket",sortOrder:6},{id:"perm_dispute_view",code:"dispute:view",name:"\u67E5\u770B\u4E89\u8BAE",label:"\u67E5\u770B\u4E89\u8BAE",category:"dispute",sortOrder:1},{id:"perm_dispute_create",code:"dispute:create",name:"\u521B\u5EFA\u4E89\u8BAE",label:"\u521B\u5EFA\u4E89\u8BAE",category:"dispute",sortOrder:2},{id:"perm_dispute_edit",code:"dispute:edit",name:"\u7F16\u8F91\u4E89\u8BAE",label:"\u7F16\u8F91\u4E89\u8BAE",category:"dispute",sortOrder:3},{id:"perm_dispute_delete",code:"dispute:delete",name:"\u5220\u9664\u4E89\u8BAE",label:"\u5220\u9664\u4E89\u8BAE",category:"dispute",sortOrder:4},{id:"perm_dispute_resolve",code:"dispute:resolve",name:"\u89E3\u51B3\u4E89\u8BAE",label:"\u89E3\u51B3\u4E89\u8BAE",category:"dispute",sortOrder:5},{id:"perm_role_view",code:"role:view",name:"\u67E5\u770B\u89D2\u8272",label:"\u67E5\u770B\u89D2\u8272",category:"role",sortOrder:1},{id:"perm_role_create",code:"role:create",name:"\u521B\u5EFA\u89D2\u8272",label:"\u521B\u5EFA\u89D2\u8272",category:"role",sortOrder:2},{id:"perm_role_edit",code:"role:edit",name:"\u7F16\u8F91\u89D2\u8272",label:"\u7F16\u8F91\u89D2\u8272",category:"role",sortOrder:3},{id:"perm_role_delete",code:"role:delete",name:"\u5220\u9664\u89D2\u8272",label:"\u5220\u9664\u89D2\u8272",category:"role",sortOrder:4}],U=[{id:"role_super_admin",code:"super_admin",name:"\u8D85\u7EA7\u7BA1\u7406\u5458",label:"\u8D85\u7EA7\u7BA1\u7406\u5458",isSystem:true,sortOrder:1},{id:"role_customer_service",code:"customer_service",name:"\u5BA2\u670D\u4EBA\u5458",label:"\u5BA2\u670D\u4EBA\u5458",isSystem:true,sortOrder:2},{id:"role_user",code:"user",name:"\u666E\u901A\u7528\u6237",label:"\u666E\u901A\u7528\u6237",isSystem:true,sortOrder:3}],x=[{roleId:"role_super_admin",permissionId:"perm_user_view"},{roleId:"role_super_admin",permissionId:"perm_user_create"},{roleId:"role_super_admin",permissionId:"perm_user_edit"},{roleId:"role_super_admin",permissionId:"perm_user_delete"},{roleId:"role_super_admin",permissionId:"perm_content_view"},{roleId:"role_super_admin",permissionId:"perm_content_create"},{roleId:"role_super_admin",permissionId:"perm_content_edit"},{roleId:"role_super_admin",permissionId:"perm_content_delete"},{roleId:"role_super_admin",permissionId:"perm_system_settings"},{roleId:"role_super_admin",permissionId:"perm_system_logs"},{roleId:"role_super_admin",permissionId:"perm_system_monitor"},{roleId:"role_super_admin",permissionId:"perm_data_export"},{roleId:"role_super_admin",permissionId:"perm_data_import"},{roleId:"role_super_admin",permissionId:"perm_order_view"},{roleId:"role_super_admin",permissionId:"perm_order_create"},{roleId:"role_super_admin",permissionId:"perm_order_edit"},{roleId:"role_super_admin",permissionId:"perm_order_delete"},{roleId:"role_super_admin",permissionId:"perm_order_process"},{roleId:"role_super_admin",permissionId:"perm_ticket_view"},{roleId:"role_super_admin",permissionId:"perm_ticket_create"},{roleId:"role_super_admin",permissionId:"perm_ticket_edit"},{roleId:"role_super_admin",permissionId:"perm_ticket_delete"},{roleId:"role_super_admin",permissionId:"perm_ticket_reply"},{roleId:"role_super_admin",permissionId:"perm_ticket_close"},{roleId:"role_super_admin",permissionId:"perm_dispute_view"},{roleId:"role_super_admin",permissionId:"perm_dispute_create"},{roleId:"role_super_admin",permissionId:"perm_dispute_edit"},{roleId:"role_super_admin",permissionId:"perm_dispute_delete"},{roleId:"role_super_admin",permissionId:"perm_dispute_resolve"},{roleId:"role_customer_service",permissionId:"perm_content_view"},{roleId:"role_customer_service",permissionId:"perm_order_view"},{roleId:"role_customer_service",permissionId:"perm_order_create"},{roleId:"role_customer_service",permissionId:"perm_order_edit"},{roleId:"role_customer_service",permissionId:"perm_order_delete"},{roleId:"role_customer_service",permissionId:"perm_order_process"},{roleId:"role_customer_service",permissionId:"perm_ticket_view"},{roleId:"role_customer_service",permissionId:"perm_ticket_create"},{roleId:"role_customer_service",permissionId:"perm_ticket_edit"},{roleId:"role_customer_service",permissionId:"perm_ticket_delete"},{roleId:"role_customer_service",permissionId:"perm_ticket_reply"},{roleId:"role_customer_service",permissionId:"perm_ticket_close"},{roleId:"role_customer_service",permissionId:"perm_dispute_view"},{roleId:"role_customer_service",permissionId:"perm_dispute_create"},{roleId:"role_customer_service",permissionId:"perm_dispute_edit"},{roleId:"role_customer_service",permissionId:"perm_dispute_delete"},{roleId:"role_customer_service",permissionId:"perm_dispute_resolve"},{roleId:"role_customer_service",permissionId:"perm_data_export"},{roleId:"role_customer_service",permissionId:"perm_system_logs"},{roleId:"role_user",permissionId:"perm_content_view"},{roleId:"role_user",permissionId:"perm_order_view"}];async function O(){try{let r=await i();if((await r.select().from(z)).length>0)return;s.info({},"Seeding developers...");let n=await hash("demo123",10),d=await hash("admin123",10),i$1=[{id:a(),username:"demo",email:"demo@biomimic.app",passwordHash:n,role:"developer",apiKey:a()},{id:a(),username:"superadmin",email:"admin@biomimic.app",passwordHash:d,role:"admin",apiKey:a()}];await r.insert(z).values(i$1),s.info({},"Developers seeding complete!");}catch(r){if(r instanceof Error&&(r.message.includes("no such table")||r.message.includes("does not exist"))){s.debug({},"Developers table not found, skipping seed");return}throw r}}async function M(){let r,p,n,d;try{let l=await import('./schema-V4UG7HMU.js');if(r=l.plugins,p=l.pluginVersions,n=l.pluginCategories,d=l.pluginCategoryMappings,!r)return}catch{return}let i$1=await i();if((await i$1.select().from(r)).length>0)return;s.info({},"Seeding plugins...");let a$1=[{id:a(),name:"UI & Design",slug:"ui-design",description:"Visual customization and theming",icon:"palette",sortOrder:1},{id:a(),name:"Analytics",slug:"analytics",description:"Data tracking and reporting",icon:"chart",sortOrder:2},{id:a(),name:"SEO & Marketing",slug:"seo-marketing",description:"Search optimization and growth tools",icon:"trending-up",sortOrder:3},{id:a(),name:"Developer Tools",slug:"developer-tools",description:"Utilities for developers",icon:"code",sortOrder:4},{id:a(),name:"Integration",slug:"integration",description:"Third-party service integrations",icon:"plug",sortOrder:5}];await i$1.insert(n).values(a$1);let o=[{id:a(),name:"Theme Engine",slug:"theme-engine",description:"Advanced theming system with dark mode, custom color palettes, and responsive layout controls.",readme:`# Theme Engine
2
+
3
+ A powerful theming plugin for customizing the look and feel of your application.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/theme-engine",homepageUrl:"https://theme-engine.example.com",license:"MIT",version:"2.1.0",status:"approved",downloadCount:1520,viewCount:4320,featured:true,screenshotUrl:"https://picsum.photos/seed/theme/800/400",tags:'["theme","dark-mode","customization"]'},{id:a(),slug:"analytics-dashboard",name:"Analytics Dashboard",description:"Real-time analytics dashboard with charts, heatmaps, and user behavior tracking.",readme:`# Analytics Dashboard
4
+
5
+ Track user engagement and visualize data in real time.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/analytics-dashboard",homepageUrl:"https://analytics.example.com",license:"Apache-2.0",version:"1.5.3",status:"approved",downloadCount:980,viewCount:2100,featured:true,screenshotUrl:"https://picsum.photos/seed/analytics/800/400",tags:'["analytics","dashboard","charts"]'},{id:a(),slug:"seo-optimizer",name:"SEO Optimizer",description:"Automated SEO optimization with meta tags, sitemap generation, and structured data support.",authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/seo-optimizer",license:"MIT",version:"1.2.0",status:"approved",downloadCount:740,viewCount:1800,featured:false,screenshotUrl:"https://picsum.photos/seed/seo/800/400",tags:'["seo","meta","sitemap"]'},{id:a(),slug:"api-toolkit",name:"API Toolkit",description:"Developer toolkit for building and testing REST APIs with auto-documentation and mock servers.",authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/api-toolkit",homepageUrl:"https://api-toolkit.example.com",license:"MIT",version:"3.0.1",status:"approved",downloadCount:2100,viewCount:5600,featured:true,screenshotUrl:"https://picsum.photos/seed/apitoolkit/800/400",tags:'["api","developer","testing","documentation"]'},{id:a(),slug:"notification-hub",name:"Notification Hub",description:"Unified notification management supporting email, SMS, push, and in-app notifications.",authorId:"3",authorName:"user1",repositoryUrl:"https://github.com/example/notification-hub",license:"ISC",version:"1.0.0",status:"pending",downloadCount:0,viewCount:50,featured:false,screenshotUrl:"https://picsum.photos/seed/notify/800/400",tags:'["notification","email","push"]'},{id:a(),slug:"form-builder",name:"Form Builder",description:"Drag-and-drop form creation with validation rules, conditional logic, and file uploads.",readme:`# Form Builder
6
+
7
+ Create complex forms with ease using our visual drag-and-drop builder.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/form-builder",homepageUrl:"https://form-builder.example.com",license:"MIT",version:"3.2.1",status:"approved",downloadCount:3420,viewCount:8900,featured:true,screenshotUrl:"https://picsum.photos/seed/formbuilder/800/400",tags:'["forms","validation","drag-drop"]'},{id:a(),slug:"image-optimizer",name:"Image Optimizer",description:"Automatic image compression and format conversion with lazy loading and responsive srcset support.",readme:`# Image Optimizer
8
+
9
+ Optimize images automatically for faster page loads.`,authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/image-optimizer",license:"MIT",version:"2.0.0",status:"approved",downloadCount:2890,viewCount:6500,featured:false,screenshotUrl:"https://picsum.photos/seed/imgopt/800/400",tags:'["image","optimization","performance"]'},{id:a(),slug:"cache-manager",name:"Cache Manager",description:"Redis-powered caching layer with TTL management, cache invalidation, and tag-based purging.",readme:`# Cache Manager
10
+
11
+ Smart caching for high-performance applications.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/cache-manager",homepageUrl:"https://cache-manager.example.com",license:"Apache-2.0",version:"1.8.0",status:"approved",downloadCount:1560,viewCount:4200,featured:true,screenshotUrl:"https://picsum.photos/seed/cache/800/400",tags:'["cache","redis","performance"]'},{id:a(),slug:"auth-guard",name:"Auth Guard",description:"Advanced authentication flows with OAuth2, SAML, and biometric support including session management.",readme:`# Auth Guard
12
+
13
+ Enterprise-grade authentication for modern apps.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/auth-guard",homepageUrl:"https://auth-guard.example.com",license:"MIT",version:"4.1.0",status:"approved",downloadCount:4210,viewCount:9800,featured:true,screenshotUrl:"https://picsum.photos/seed/authguard/800/400",tags:'["auth","oauth","security"]'},{id:a(),slug:"payment-gateway",name:"Payment Gateway",description:"Stripe and PayPal integration with subscription management, invoicing, and refund handling.",readme:`# Payment Gateway
14
+
15
+ Accept payments globally with multiple providers.`,authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/payment-gateway",homepageUrl:"https://payment-gateway.example.com",license:"MIT",version:"2.3.0",status:"approved",downloadCount:3100,viewCount:7800,featured:true,screenshotUrl:"https://picsum.photos/seed/payment/800/400",tags:'["payment","stripe","subscription"]'},{id:a(),slug:"chat-widget",name:"Chat Widget",description:"Real-time customer support chat with AI-powered auto-replies and conversation routing.",readme:`# Chat Widget
16
+
17
+ Live chat support for your customers.`,authorId:"3",authorName:"user1",repositoryUrl:"https://github.com/example/chat-widget",license:"ISC",version:"1.4.2",status:"approved",downloadCount:1870,viewCount:5200,featured:false,screenshotUrl:"https://picsum.photos/seed/chatwidget/800/400",tags:'["chat","support","real-time"]'},{id:a(),slug:"backup-manager",name:"Backup Manager",description:"Automated database backups with scheduling, encryption, and cloud storage integration.",readme:`# Backup Manager
18
+
19
+ Never lose data with automated backups.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/backup-manager",license:"MIT",version:"1.1.0",status:"approved",downloadCount:980,viewCount:2900,featured:false,screenshotUrl:"https://picsum.photos/seed/backup/800/400",tags:'["backup","database","scheduling"]'},{id:a(),slug:"rate-limiter",name:"Rate Limiter",description:"API rate limiting middleware with sliding window, token bucket, and fixed window algorithms.",readme:`# Rate Limiter
20
+
21
+ Protect your APIs from abuse.`,authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/rate-limiter",homepageUrl:"https://rate-limiter.example.com",license:"MIT",version:"2.0.0",status:"approved",downloadCount:1340,viewCount:3800,featured:false,screenshotUrl:"https://picsum.photos/seed/ratelimit/800/400",tags:'["rate-limit","api","middleware"]'},{id:a(),slug:"email-templates",name:"Email Templates",description:"Responsive email builder with template variables, preview mode, and SMTP integration.",readme:`# Email Templates
22
+
23
+ Beautiful emails that work everywhere.`,authorId:"3",authorName:"user1",repositoryUrl:"https://github.com/example/email-templates",license:"Apache-2.0",version:"1.6.0",status:"approved",downloadCount:2100,viewCount:5600,featured:false,screenshotUrl:"https://picsum.photos/seed/emailtpl/800/400",tags:'["email","templates","smtp"]'},{id:a(),slug:"search-engine",name:"Search Engine",description:"Elasticsearch integration with faceted search, autocomplete, and relevance tuning.",readme:`# Search Engine
24
+
25
+ Powerful full-text search for your application.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/search-engine",homepageUrl:"https://search-engine.example.com",license:"MIT",version:"3.0.0",status:"approved",downloadCount:2560,viewCount:7100,featured:true,screenshotUrl:"https://picsum.photos/seed/searcheng/800/400",tags:'["search","elasticsearch","full-text"]'},{id:a(),slug:"cdn-manager",name:"CDN Manager",description:"Content delivery network controls with cache purging, URL signing, and geo-routing.",readme:`# CDN Manager
26
+
27
+ Deliver content faster globally.`,authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/cdn-manager",license:"MIT",version:"1.3.0",status:"approved",downloadCount:870,viewCount:2400,featured:false,screenshotUrl:"https://picsum.photos/seed/cdn/800/400",tags:'["cdn","caching","delivery"]'},{id:a(),slug:"logger-pro",name:"Logger Pro",description:"Structured logging with severity levels, log rotation, and remote aggregation support.",readme:`# Logger Pro
28
+
29
+ Enterprise logging made simple.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/logger-pro",license:"BSD-3-Clause",version:"2.1.0",status:"approved",downloadCount:1190,viewCount:3300,featured:false,screenshotUrl:"https://picsum.photos/seed/logger/800/400",tags:'["logging","monitoring","structured"]'},{id:a(),slug:"task-scheduler",name:"Task Scheduler",description:"Cron job management with retry policies, concurrency controls, and execution history.",readme:`# Task Scheduler
30
+
31
+ Automate recurring tasks with confidence.`,authorId:"3",authorName:"user1",repositoryUrl:"https://github.com/example/task-scheduler",homepageUrl:"https://task-scheduler.example.com",license:"MIT",version:"1.5.0",status:"approved",downloadCount:1780,viewCount:4900,featured:false,screenshotUrl:"https://picsum.photos/seed/tasksched/800/400",tags:'["scheduler","cron","automation"]'},{id:a(),slug:"ab-testing",name:"A/B Testing",description:"Experiment framework with statistical significance calculation and variant allocation.",readme:`# A/B Testing
32
+
33
+ Data-driven decisions through controlled experiments.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/ab-testing",license:"Apache-2.0",version:"1.0.0",status:"approved",downloadCount:640,viewCount:2100,featured:false,screenshotUrl:"https://picsum.photos/seed/abtest/800/400",tags:'["testing","experiment","analytics"]'},{id:a(),slug:"markdown-editor",name:"Markdown Editor",description:"Rich text editing with Markdown support, syntax highlighting, and live preview.",readme:`# Markdown Editor
34
+
35
+ Write beautifully with Markdown.`,authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/markdown-editor",homepageUrl:"https://md-editor.example.com",license:"MIT",version:"2.4.0",status:"approved",downloadCount:2950,viewCount:7400,featured:true,screenshotUrl:"https://picsum.photos/seed/mdeditor/800/400",tags:'["markdown","editor","rich-text"]'},{id:a(),slug:"webhook-manager",name:"Webhook Manager",description:"Outgoing webhook automation with retry logic, payload templating, and delivery tracking.",readme:`# Webhook Manager
36
+
37
+ Reliable webhook delivery for your integrations.`,authorId:"3",authorName:"user1",repositoryUrl:"https://github.com/example/webhook-manager",license:"MIT",version:"1.2.0",status:"pending",downloadCount:520,viewCount:1800,featured:false,screenshotUrl:"https://picsum.photos/seed/webhook/800/400",tags:'["webhook","automation","integration"]'},{id:a(),slug:"two-factor-auth",name:"Two-Factor Auth",description:"2FA/MFA support with TOTP, SMS OTP, and hardware key authentication methods.",readme:`# Two-Factor Auth
38
+
39
+ Add an extra layer of security.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/two-factor-auth",license:"MIT",version:"1.7.0",status:"approved",downloadCount:2340,viewCount:6100,featured:false,screenshotUrl:"https://picsum.photos/seed/2fa/800/400",tags:'["2fa","security","authentication"]'},{id:a(),slug:"database-browser",name:"Database Browser",description:"GUI interface for browsing tables, running queries, and visualizing schema relationships.",readme:`# Database Browser
40
+
41
+ Explore your data visually.`,authorId:"2",authorName:"customerservice",repositoryUrl:"https://github.com/example/database-browser",license:"GPL-3.0",version:"1.0.0",status:"pending",downloadCount:340,viewCount:1200,featured:false,screenshotUrl:"https://picsum.photos/seed/dbbrowser/800/400",tags:'["database","gui","query"]'},{id:a(),slug:"performance-monitor",name:"Performance Monitor",description:"Core Web Vitals tracking with real user monitoring, alerts, and performance budgets.",readme:`# Performance Monitor
42
+
43
+ Keep your app fast and responsive.`,authorId:"1",authorName:"superadmin",repositoryUrl:"https://github.com/example/performance-monitor",homepageUrl:"https://perf-monitor.example.com",license:"MIT",version:"2.0.0",status:"approved",downloadCount:1890,viewCount:5300,featured:true,screenshotUrl:"https://picsum.photos/seed/perfmon/800/400",tags:'["performance","monitoring","web-vitals"]'},{id:a(),slug:"i18n-manager",name:"i18n Manager",description:"Internationalization toolkit with translation memory, pluralization, and RTL support.",readme:`# i18n Manager
44
+
45
+ Go global with multilingual support.`,authorId:"3",authorName:"user1",repositoryUrl:"https://github.com/example/i18n-manager",license:"MIT",version:"1.3.0",status:"approved",downloadCount:1450,viewCount:4100,featured:false,screenshotUrl:"https://picsum.photos/seed/i18n/800/400",tags:'["i18n","translation","localization"]'}];await i$1.insert(r).values(o);let w=[{id:a(),pluginId:o[0].id,version:"2.1.0",changelog:"Added responsive layout controls",status:"approved"},{id:a(),pluginId:o[0].id,version:"2.0.0",changelog:"Major rewrite with dark mode support",status:"approved"},{id:a(),pluginId:o[1].id,version:"1.5.3",changelog:"Fixed heatmap rendering",status:"approved"},{id:a(),pluginId:o[1].id,version:"1.5.0",changelog:"Added real-time tracking",status:"approved"},{id:a(),pluginId:o[2].id,version:"1.2.0",changelog:"Structured data support",status:"approved"},{id:a(),pluginId:o[3].id,version:"3.0.1",changelog:"Auto-documentation improvements",status:"approved"},{id:a(),pluginId:o[3].id,version:"3.0.0",changelog:"Major version with mock server",status:"approved"},{id:a(),pluginId:o[4].id,version:"1.0.0",changelog:"Initial release",status:"pending"}];await i$1.insert(p).values(w);let I=[{pluginId:o[0].id,categoryId:a$1[0].id},{pluginId:o[1].id,categoryId:a$1[1].id},{pluginId:o[2].id,categoryId:a$1[2].id},{pluginId:o[3].id,categoryId:a$1[3].id},{pluginId:o[4].id,categoryId:a$1[4].id}];await i$1.insert(d).values(I),s.info({},"Plugin seeding complete!");}async function E(){let r=await i();s.info({},"Initializing database..."),(await r.select().from(e)).length===0&&(s.info({},"Inserting initial permissions..."),await r.insert(e).values(C.map(t=>({...t,description:null,isActive:true,createdAt:new Date,updatedAt:new Date})))),(await r.select().from(f)).length===0&&(s.info({},"Inserting initial roles..."),await r.insert(f).values(U.map(t=>({...t,description:null,isActive:true,createdAt:new Date,updatedAt:new Date})))),(await r.select().from(g$1)).length===0&&(s.info({},"Inserting initial role permissions..."),await r.insert(g$1).values(x.map(t=>({...t,createdAt:new Date})))),await O(),s.info({},"Database initialization complete!"),s.info({},"Seeding module data...");let i$1=[()=>import('./todo-service-S6BGIO7D.js').then(t=>t.seedTodosIfEmpty()),()=>import('./order-service-TKGG5S5K.js').then(t=>t.seedOrdersIfEmpty()),()=>import('./ticket-service-3RSW7V2Z.js').then(t=>t.seedTicketsIfEmpty()),()=>import('./dispute-service-E2FCYUEM.js').then(t=>t.seedDisputesIfEmpty()),()=>import('./content-service-5QVHDR5X.js').then(t=>t.seedContentsIfEmpty()),()=>import('./tenant-service-XJWZSEDX.js').then(t=>t.seedTenantsIfEmpty()),()=>M()];await Promise.all(i$1.map(t=>t().catch(()=>{}))),s.info({},"Module data seeding complete!");}
46
+ export{E as initializeDatabase};