mongoku 2.0.3 → 2.1.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 (418) hide show
  1. package/Dockerfile +3 -1
  2. package/README.md +23 -9
  3. package/build/client/_app/immutable/assets/0.egX7ddQL.css +1 -0
  4. package/build/client/_app/immutable/assets/0.egX7ddQL.css.br +0 -0
  5. package/build/client/_app/immutable/assets/0.egX7ddQL.css.gz +0 -0
  6. package/build/client/_app/immutable/assets/10.59aTjJn9.css +1 -0
  7. package/build/client/_app/immutable/assets/10.59aTjJn9.css.br +0 -0
  8. package/build/client/_app/immutable/assets/10.59aTjJn9.css.gz +0 -0
  9. package/build/client/_app/immutable/assets/11.CEtFGlZU.css +1 -0
  10. package/build/client/_app/immutable/assets/11.CEtFGlZU.css.br +1 -0
  11. package/build/client/_app/immutable/assets/11.CEtFGlZU.css.gz +0 -0
  12. package/build/client/_app/immutable/assets/12.BdCOhvz0.css +1 -0
  13. package/build/client/_app/immutable/assets/12.BdCOhvz0.css.br +0 -0
  14. package/build/client/_app/immutable/assets/12.BdCOhvz0.css.gz +0 -0
  15. package/build/client/_app/immutable/assets/JsonValue.BEbzuWqZ.css +1 -0
  16. package/build/client/_app/immutable/assets/JsonValue.BEbzuWqZ.css.br +0 -0
  17. package/build/client/_app/immutable/assets/JsonValue.BEbzuWqZ.css.gz +0 -0
  18. package/build/client/_app/immutable/assets/Modal.DIIFkbGB.css +1 -0
  19. package/build/client/_app/immutable/assets/Modal.DIIFkbGB.css.br +0 -0
  20. package/build/client/_app/immutable/assets/Modal.DIIFkbGB.css.gz +0 -0
  21. package/build/client/_app/immutable/assets/Panel.B3aWupye.css +1 -0
  22. package/build/client/_app/immutable/assets/Panel.B3aWupye.css.br +0 -0
  23. package/build/client/_app/immutable/assets/Panel.B3aWupye.css.gz +0 -0
  24. package/build/client/_app/immutable/chunks/7rjwS0Fa.js +1 -0
  25. package/build/client/_app/immutable/chunks/7rjwS0Fa.js.br +0 -0
  26. package/build/client/_app/immutable/chunks/7rjwS0Fa.js.gz +0 -0
  27. package/build/client/_app/immutable/chunks/BLDrwdCC.js +1 -0
  28. package/build/client/_app/immutable/chunks/BLDrwdCC.js.br +0 -0
  29. package/build/client/_app/immutable/chunks/BLDrwdCC.js.gz +0 -0
  30. package/build/client/_app/immutable/chunks/BNpv6iz_.js +1 -0
  31. package/build/client/_app/immutable/chunks/BNpv6iz_.js.br +0 -0
  32. package/build/client/_app/immutable/chunks/BNpv6iz_.js.gz +0 -0
  33. package/build/client/_app/immutable/chunks/BY7rCWFm.js +1 -0
  34. package/build/client/_app/immutable/chunks/BY7rCWFm.js.br +0 -0
  35. package/build/client/_app/immutable/chunks/BY7rCWFm.js.gz +0 -0
  36. package/build/client/_app/immutable/chunks/BirzSxMb.js +2 -0
  37. package/build/client/_app/immutable/chunks/BirzSxMb.js.br +0 -0
  38. package/build/client/_app/immutable/chunks/BirzSxMb.js.gz +0 -0
  39. package/build/client/_app/immutable/chunks/BsxVnnsB.js +1 -0
  40. package/build/client/_app/immutable/chunks/BsxVnnsB.js.br +0 -0
  41. package/build/client/_app/immutable/chunks/BsxVnnsB.js.gz +0 -0
  42. package/build/client/_app/immutable/chunks/BtVcRw28.js +29 -0
  43. package/build/client/_app/immutable/chunks/BtVcRw28.js.br +0 -0
  44. package/build/client/_app/immutable/chunks/BtVcRw28.js.gz +0 -0
  45. package/build/client/_app/immutable/chunks/CdQ4HxbR.js +2 -0
  46. package/build/client/_app/immutable/chunks/CdQ4HxbR.js.br +0 -0
  47. package/build/client/_app/immutable/chunks/CdQ4HxbR.js.gz +0 -0
  48. package/build/client/_app/immutable/chunks/CeUVbZ2h.js +1 -0
  49. package/build/client/_app/immutable/chunks/CeUVbZ2h.js.br +0 -0
  50. package/build/client/_app/immutable/chunks/CeUVbZ2h.js.gz +0 -0
  51. package/build/client/_app/immutable/chunks/CsO4V9Pl.js +1 -0
  52. package/build/client/_app/immutable/chunks/CsO4V9Pl.js.br +0 -0
  53. package/build/client/_app/immutable/chunks/CsO4V9Pl.js.gz +0 -0
  54. package/build/client/_app/immutable/chunks/Cy5AtpEx.js +1 -0
  55. package/build/client/_app/immutable/chunks/Cy5AtpEx.js.br +0 -0
  56. package/build/client/_app/immutable/chunks/Cy5AtpEx.js.gz +0 -0
  57. package/build/client/_app/immutable/chunks/DD3Ma7mI.js +1 -0
  58. package/build/client/_app/immutable/chunks/DD3Ma7mI.js.br +1 -0
  59. package/build/client/_app/immutable/chunks/DD3Ma7mI.js.gz +0 -0
  60. package/build/client/_app/immutable/chunks/DDOxwa8G.js +1 -0
  61. package/build/client/_app/immutable/chunks/DDOxwa8G.js.br +0 -0
  62. package/build/client/_app/immutable/chunks/DDOxwa8G.js.gz +0 -0
  63. package/build/client/_app/immutable/chunks/DPilZ31q.js +4 -0
  64. package/build/client/_app/immutable/chunks/DPilZ31q.js.br +0 -0
  65. package/build/client/_app/immutable/chunks/DPilZ31q.js.gz +0 -0
  66. package/build/client/_app/immutable/chunks/DkcM24tw.js +1 -0
  67. package/build/client/_app/immutable/chunks/DkcM24tw.js.br +0 -0
  68. package/build/client/_app/immutable/chunks/DkcM24tw.js.gz +0 -0
  69. package/build/client/_app/immutable/chunks/{uMNMODvc.js → DzIzGsAN.js} +1 -1
  70. package/build/client/_app/immutable/chunks/DzIzGsAN.js.br +0 -0
  71. package/build/client/_app/immutable/chunks/DzIzGsAN.js.gz +0 -0
  72. package/build/client/_app/immutable/chunks/Dzn375RV.js +1 -0
  73. package/build/client/_app/immutable/chunks/Dzn375RV.js.br +0 -0
  74. package/build/client/_app/immutable/chunks/Dzn375RV.js.gz +0 -0
  75. package/build/client/_app/immutable/chunks/hzkOq89z.js +1 -0
  76. package/build/client/_app/immutable/chunks/hzkOq89z.js.br +0 -0
  77. package/build/client/_app/immutable/chunks/hzkOq89z.js.gz +0 -0
  78. package/build/client/_app/immutable/chunks/myWOS8Ad.js +1 -0
  79. package/build/client/_app/immutable/chunks/myWOS8Ad.js.br +0 -0
  80. package/build/client/_app/immutable/chunks/myWOS8Ad.js.gz +0 -0
  81. package/build/client/_app/immutable/chunks/{BKCvWebR.js → pwiEVMhR.js} +1 -1
  82. package/build/client/_app/immutable/chunks/pwiEVMhR.js.br +0 -0
  83. package/build/client/_app/immutable/chunks/pwiEVMhR.js.gz +0 -0
  84. package/build/client/_app/immutable/chunks/woTmcqT7.js +1 -0
  85. package/build/client/_app/immutable/chunks/woTmcqT7.js.br +0 -0
  86. package/build/client/_app/immutable/chunks/woTmcqT7.js.gz +0 -0
  87. package/build/client/_app/immutable/chunks/zDi6mm3o.js +1 -0
  88. package/build/client/_app/immutable/chunks/zDi6mm3o.js.br +0 -0
  89. package/build/client/_app/immutable/chunks/zDi6mm3o.js.gz +0 -0
  90. package/build/client/_app/immutable/entry/app.CxQNYOR7.js +2 -0
  91. package/build/client/_app/immutable/entry/app.CxQNYOR7.js.br +0 -0
  92. package/build/client/_app/immutable/entry/app.CxQNYOR7.js.gz +0 -0
  93. package/build/client/_app/immutable/entry/start.CUo1ZpWZ.js +1 -0
  94. package/build/client/_app/immutable/entry/start.CUo1ZpWZ.js.br +2 -0
  95. package/build/client/_app/immutable/entry/start.CUo1ZpWZ.js.gz +0 -0
  96. package/build/client/_app/immutable/nodes/0.NM9sLghd.js +5 -0
  97. package/build/client/_app/immutable/nodes/0.NM9sLghd.js.br +0 -0
  98. package/build/client/_app/immutable/nodes/0.NM9sLghd.js.gz +0 -0
  99. package/build/client/_app/immutable/nodes/1.DbC3260o.js +1 -0
  100. package/build/client/_app/immutable/nodes/1.DbC3260o.js.br +2 -0
  101. package/build/client/_app/immutable/nodes/1.DbC3260o.js.gz +0 -0
  102. package/build/client/_app/immutable/nodes/10.BVQvX3m0.js +2 -0
  103. package/build/client/_app/immutable/nodes/10.BVQvX3m0.js.br +0 -0
  104. package/build/client/_app/immutable/nodes/10.BVQvX3m0.js.gz +0 -0
  105. package/build/client/_app/immutable/nodes/11.Bxvf_-yk.js +1 -0
  106. package/build/client/_app/immutable/nodes/11.Bxvf_-yk.js.br +0 -0
  107. package/build/client/_app/immutable/nodes/11.Bxvf_-yk.js.gz +0 -0
  108. package/build/client/_app/immutable/nodes/12.Prhpx9Ma.js +1 -0
  109. package/build/client/_app/immutable/nodes/12.Prhpx9Ma.js.br +0 -0
  110. package/build/client/_app/immutable/nodes/12.Prhpx9Ma.js.gz +0 -0
  111. package/build/client/_app/immutable/nodes/13.Bgj5oOSN.js +66 -0
  112. package/build/client/_app/immutable/nodes/13.Bgj5oOSN.js.br +0 -0
  113. package/build/client/_app/immutable/nodes/13.Bgj5oOSN.js.gz +0 -0
  114. package/build/client/_app/immutable/nodes/2.UoL1FlSn.js +1 -0
  115. package/build/client/_app/immutable/nodes/2.UoL1FlSn.js.br +1 -0
  116. package/build/client/_app/immutable/nodes/2.UoL1FlSn.js.gz +0 -0
  117. package/build/client/_app/immutable/nodes/3.oJ7_29Md.js +1 -0
  118. package/build/client/_app/immutable/nodes/3.oJ7_29Md.js.br +0 -0
  119. package/build/client/_app/immutable/nodes/3.oJ7_29Md.js.gz +0 -0
  120. package/build/client/_app/immutable/nodes/4.BbmkM0ZH.js +1 -0
  121. package/build/client/_app/immutable/nodes/4.BbmkM0ZH.js.br +0 -0
  122. package/build/client/_app/immutable/nodes/4.BbmkM0ZH.js.gz +0 -0
  123. package/build/client/_app/immutable/nodes/5.CUeb6mKm.js +1 -0
  124. package/build/client/_app/immutable/nodes/5.CUeb6mKm.js.br +0 -0
  125. package/build/client/_app/immutable/nodes/5.CUeb6mKm.js.gz +0 -0
  126. package/build/client/_app/immutable/nodes/7.BiyUd38g.js +1 -0
  127. package/build/client/_app/immutable/nodes/7.BiyUd38g.js.br +0 -0
  128. package/build/client/_app/immutable/nodes/7.BiyUd38g.js.gz +0 -0
  129. package/build/client/_app/immutable/nodes/8.DhezXfEp.js +1 -0
  130. package/build/client/_app/immutable/nodes/8.DhezXfEp.js.br +0 -0
  131. package/build/client/_app/immutable/nodes/8.DhezXfEp.js.gz +0 -0
  132. package/build/client/_app/immutable/nodes/9.tIbM6W_7.js +2 -0
  133. package/build/client/_app/immutable/nodes/9.tIbM6W_7.js.br +0 -0
  134. package/build/client/_app/immutable/nodes/9.tIbM6W_7.js.gz +0 -0
  135. package/build/client/_app/version.json +1 -1
  136. package/build/client/_app/version.json.br +0 -0
  137. package/build/client/_app/version.json.gz +0 -0
  138. package/build/handler.js +14 -0
  139. package/build/server/chunks/{0-C1NyHW8A.js → 0-Xn_28PLT.js} +7 -6
  140. package/build/server/chunks/0-Xn_28PLT.js.map +1 -0
  141. package/build/server/chunks/1-CBgVE2FQ.js +9 -0
  142. package/build/server/chunks/1-CBgVE2FQ.js.map +1 -0
  143. package/build/server/chunks/10-nsD-CCn7.js +212 -0
  144. package/build/server/chunks/10-nsD-CCn7.js.map +1 -0
  145. package/build/server/chunks/11-BmqLuLNb.js +41 -0
  146. package/build/server/chunks/11-BmqLuLNb.js.map +1 -0
  147. package/build/server/chunks/12-PgTuaplb.js +101 -0
  148. package/build/server/chunks/12-PgTuaplb.js.map +1 -0
  149. package/build/server/chunks/13-BSGYMCpC.js +51 -0
  150. package/build/server/chunks/13-BSGYMCpC.js.map +1 -0
  151. package/build/server/chunks/2-BJxJqjul.js +24 -0
  152. package/build/server/chunks/2-BJxJqjul.js.map +1 -0
  153. package/build/server/chunks/3-D2ftoQkX.js +25 -0
  154. package/build/server/chunks/3-D2ftoQkX.js.map +1 -0
  155. package/build/server/chunks/4-CdkZadEU.js +25 -0
  156. package/build/server/chunks/4-CdkZadEU.js.map +1 -0
  157. package/build/server/chunks/5-ClD9AjJX.js +25 -0
  158. package/build/server/chunks/5-ClD9AjJX.js.map +1 -0
  159. package/build/server/chunks/{2-B39zPvzn.js → 6-ifXBeMPA.js} +2 -2
  160. package/build/server/chunks/{2-B39zPvzn.js.map → 6-ifXBeMPA.js.map} +1 -1
  161. package/build/server/chunks/7-D0jTAIl_.js +81 -0
  162. package/build/server/chunks/7-D0jTAIl_.js.map +1 -0
  163. package/build/server/chunks/{4-Dfbpsagm.js → 8-CgDL2fiA.js} +18 -10
  164. package/build/server/chunks/8-CgDL2fiA.js.map +1 -0
  165. package/build/server/chunks/{5-DLB6GOjf.js → 9-Dn6eMY6x.js} +6 -8
  166. package/build/server/chunks/9-Dn6eMY6x.js.map +1 -0
  167. package/build/server/chunks/JsonValue-DjUulYwg.js +290 -0
  168. package/build/server/chunks/JsonValue-DjUulYwg.js.map +1 -0
  169. package/build/server/chunks/Modal-zVnoAfFx.js +36 -0
  170. package/build/server/chunks/Modal-zVnoAfFx.js.map +1 -0
  171. package/build/server/chunks/{Panel-Box8ld78.js → Panel-BM545RWK.js} +4 -3
  172. package/build/server/chunks/Panel-BM545RWK.js.map +1 -0
  173. package/build/server/chunks/PrettyJson-CVemKT9n.js +137 -0
  174. package/build/server/chunks/PrettyJson-CVemKT9n.js.map +1 -0
  175. package/build/server/chunks/Tooltip-ByN2a8nn.js +38 -0
  176. package/build/server/chunks/Tooltip-ByN2a8nn.js.map +1 -0
  177. package/build/server/chunks/TooltipTable-CftpgkMV.js +60 -0
  178. package/build/server/chunks/TooltipTable-CftpgkMV.js.map +1 -0
  179. package/build/server/chunks/_layout.svelte-D8Erqrch.js +163 -0
  180. package/build/server/chunks/_layout.svelte-D8Erqrch.js.map +1 -0
  181. package/build/server/chunks/{_page.svelte-PuIVQ52p.js → _page.svelte-BZL67-Tl.js} +32 -13
  182. package/build/server/chunks/_page.svelte-BZL67-Tl.js.map +1 -0
  183. package/build/server/chunks/{_page.svelte-B_T8EFk3.js → _page.svelte-BwdDcghe.js} +63 -13
  184. package/build/server/chunks/_page.svelte-BwdDcghe.js.map +1 -0
  185. package/build/server/chunks/{_page.svelte-CflJkclc.js → _page.svelte-CwGhs70Z.js} +9 -6
  186. package/build/server/chunks/_page.svelte-CwGhs70Z.js.map +1 -0
  187. package/build/server/chunks/_page.svelte-DI3cZxuK.js +197 -0
  188. package/build/server/chunks/_page.svelte-DI3cZxuK.js.map +1 -0
  189. package/build/server/chunks/_page.svelte-DPUr13fG.js +203 -0
  190. package/build/server/chunks/_page.svelte-DPUr13fG.js.map +1 -0
  191. package/build/server/chunks/{_page.svelte-zlHeUnJK.js → _page.svelte-mO3b8YSb.js} +37 -20
  192. package/build/server/chunks/_page.svelte-mO3b8YSb.js.map +1 -0
  193. package/build/server/chunks/{_page.svelte-D1QIZqLv.js → _page.svelte-mPOsEew6.js} +105 -30
  194. package/build/server/chunks/_page.svelte-mPOsEew6.js.map +1 -0
  195. package/build/server/chunks/_server.ts-06lGoPp8.js +8 -0
  196. package/build/server/chunks/_server.ts-06lGoPp8.js.map +1 -0
  197. package/build/server/chunks/async-lVJA8xJZ.js +9 -0
  198. package/build/server/chunks/async-lVJA8xJZ.js.map +1 -0
  199. package/build/server/chunks/client-BFlyU7ZU.js +7 -0
  200. package/build/server/chunks/{client-bj7sePQc.js.map → client-BFlyU7ZU.js.map} +1 -1
  201. package/build/server/chunks/{client2-BX4-xbM4.js → client2-DYaMKWrc.js} +4 -4
  202. package/build/server/chunks/{client2-BX4-xbM4.js.map → client2-DYaMKWrc.js.map} +1 -1
  203. package/build/server/chunks/{async-BfR0vYHo.js → context-C22hLSHK.js} +2 -8
  204. package/build/server/chunks/context-C22hLSHK.js.map +1 -0
  205. package/build/server/chunks/error.svelte-BENdaVOT.js +19 -0
  206. package/build/server/chunks/error.svelte-BENdaVOT.js.map +1 -0
  207. package/build/server/chunks/event-DVH-6ISX.js.map +1 -1
  208. package/build/server/chunks/{index-EKt9-9bV.js → index-DFXVwu6p.js} +2 -2
  209. package/build/server/chunks/{index-EKt9-9bV.js.map → index-DFXVwu6p.js.map} +1 -1
  210. package/build/server/chunks/index-Djsj11qr.js.map +1 -1
  211. package/build/server/chunks/index-server-Bf-hP5gL.js +5 -0
  212. package/build/server/chunks/index-server-Bf-hP5gL.js.map +1 -0
  213. package/build/server/chunks/{routing-Ddj5b-2K.js → index2-d4SCF7oA.js} +8 -88
  214. package/build/server/chunks/index2-d4SCF7oA.js.map +1 -0
  215. package/build/server/chunks/{index3-DquTjlmp.js → index3-CoOO2o9t.js} +6 -6
  216. package/build/server/chunks/index3-CoOO2o9t.js.map +1 -0
  217. package/build/server/chunks/jsonParser-CraFXJs8.js +174 -0
  218. package/build/server/chunks/jsonParser-CraFXJs8.js.map +1 -0
  219. package/build/server/chunks/layout.svelte-CJcHX-Na.js +10 -0
  220. package/build/server/chunks/layout.svelte-CJcHX-Na.js.map +1 -0
  221. package/build/server/chunks/{mongo-dLmCShL_.js → mongo-DMG2RTBR.js} +51 -10
  222. package/build/server/chunks/mongo-DMG2RTBR.js.map +1 -0
  223. package/build/server/chunks/remote-xxtqbu-BUzBKv3P.js +16 -0
  224. package/build/server/chunks/remote-xxtqbu-BUzBKv3P.js.map +1 -0
  225. package/build/server/chunks/routing-e10vGH37.js +81 -0
  226. package/build/server/chunks/routing-e10vGH37.js.map +1 -0
  227. package/build/server/chunks/{server2-BOoUfKd7.js → server2-_mGVuBoG.js} +2 -2
  228. package/build/server/chunks/{server2-BOoUfKd7.js.map → server2-_mGVuBoG.js.map} +1 -1
  229. package/build/server/chunks/servers.remote-DKhy8wTJ.js +678 -0
  230. package/build/server/chunks/servers.remote-DKhy8wTJ.js.map +1 -0
  231. package/build/server/chunks/shared-Buki-xt5.js +506 -0
  232. package/build/server/chunks/shared-Buki-xt5.js.map +1 -0
  233. package/build/server/chunks/{state.svelte-CRHA9yov.js → state.svelte-C8IWmp_n.js} +2 -2
  234. package/build/server/chunks/{state.svelte-CRHA9yov.js.map → state.svelte-C8IWmp_n.js.map} +1 -1
  235. package/build/server/chunks/{utils-DGYJFmnf.js → utils-kjxf7BZO.js} +2 -2
  236. package/build/server/chunks/{utils-DGYJFmnf.js.map → utils-kjxf7BZO.js.map} +1 -1
  237. package/build/server/index.js +188 -609
  238. package/build/server/index.js.map +1 -1
  239. package/build/server/manifest.js +45 -18
  240. package/build/server/manifest.js.map +1 -1
  241. package/cli.ts +7 -1
  242. package/dist/cli.js +7 -1
  243. package/ecosystem.config.js +0 -3
  244. package/package.json +13 -2
  245. package/src/api/servers.remote.ts +369 -20
  246. package/src/app.css +98 -3
  247. package/src/app.html +15 -0
  248. package/src/lib/actions/jsonTextarea.ts +395 -0
  249. package/src/lib/components/Breadcrumbs.svelte +7 -58
  250. package/src/lib/components/JsonValue.svelte +279 -85
  251. package/src/lib/components/Modal.svelte +59 -0
  252. package/src/lib/components/OriginWarning.svelte +109 -0
  253. package/src/lib/components/PageSwitcher.svelte +37 -0
  254. package/src/lib/components/Panel.svelte +1 -1
  255. package/src/lib/components/PrettyJson.svelte +124 -38
  256. package/src/lib/components/SearchBox.svelte +161 -97
  257. package/src/lib/components/ThemeSwitcher.svelte +66 -0
  258. package/src/lib/components/Tooltip.svelte +83 -0
  259. package/src/lib/components/TooltipTable.svelte +45 -102
  260. package/src/lib/server/HostsManager.ts +4 -0
  261. package/src/lib/server/aggregation.ts +62 -0
  262. package/src/lib/server/mongo.ts +75 -13
  263. package/src/lib/types.ts +60 -0
  264. package/src/lib/utils/isEmptyObject.ts +6 -0
  265. package/src/lib/utils/jsonParser.ts +9 -1
  266. package/src/lib/utils/omit.ts +3 -0
  267. package/src/routes/+layout.server.ts +2 -1
  268. package/src/routes/+layout.svelte +11 -2
  269. package/src/routes/favicon.ico/+server.ts +8 -0
  270. package/src/routes/servers/+page.server.ts +22 -10
  271. package/src/routes/servers/+page.svelte +44 -10
  272. package/src/routes/servers/[server]/databases/+layout.ts +8 -0
  273. package/src/routes/servers/[server]/databases/+page.server.ts +14 -4
  274. package/src/routes/servers/[server]/databases/[database]/collections/+layout.ts +9 -0
  275. package/src/routes/servers/[server]/databases/[database]/collections/+page.server.ts +0 -2
  276. package/src/routes/servers/[server]/databases/[database]/collections/+page.svelte +67 -8
  277. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/+layout.ts +9 -0
  278. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.server.ts +216 -0
  279. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.svelte +337 -0
  280. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.ts +10 -0
  281. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/[document]/+layout.ts +9 -0
  282. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/[document]/+page.server.ts +15 -12
  283. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/[document]/+page.svelte +79 -5
  284. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.server.ts +87 -0
  285. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.svelte +333 -0
  286. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/indexes/+page.ts +10 -0
  287. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/mappings/+page.server.ts +18 -0
  288. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/mappings/+page.svelte +377 -0
  289. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/mappings/+page.ts +10 -0
  290. package/src/tests/api/aggregation.test.ts +125 -0
  291. package/build/client/_app/immutable/assets/0.BHsXFfsc.css +0 -1
  292. package/build/client/_app/immutable/assets/0.BHsXFfsc.css.br +0 -0
  293. package/build/client/_app/immutable/assets/0.BHsXFfsc.css.gz +0 -0
  294. package/build/client/_app/immutable/assets/6.DawdmtJd.css +0 -1
  295. package/build/client/_app/immutable/assets/6.DawdmtJd.css.br +0 -2
  296. package/build/client/_app/immutable/assets/6.DawdmtJd.css.gz +0 -0
  297. package/build/client/_app/immutable/assets/Panel.BDHMtO-3.css +0 -1
  298. package/build/client/_app/immutable/assets/Panel.BDHMtO-3.css.br +0 -0
  299. package/build/client/_app/immutable/assets/Panel.BDHMtO-3.css.gz +0 -0
  300. package/build/client/_app/immutable/assets/PrettyJson.CtngcfyW.css +0 -1
  301. package/build/client/_app/immutable/assets/PrettyJson.CtngcfyW.css.br +0 -0
  302. package/build/client/_app/immutable/assets/PrettyJson.CtngcfyW.css.gz +0 -0
  303. package/build/client/_app/immutable/chunks/BAM9w9EL.js +0 -1
  304. package/build/client/_app/immutable/chunks/BAM9w9EL.js.br +0 -0
  305. package/build/client/_app/immutable/chunks/BAM9w9EL.js.gz +0 -0
  306. package/build/client/_app/immutable/chunks/BKCvWebR.js.br +0 -0
  307. package/build/client/_app/immutable/chunks/BKCvWebR.js.gz +0 -0
  308. package/build/client/_app/immutable/chunks/BMa204Dm.js +0 -14
  309. package/build/client/_app/immutable/chunks/BMa204Dm.js.br +0 -0
  310. package/build/client/_app/immutable/chunks/BMa204Dm.js.gz +0 -0
  311. package/build/client/_app/immutable/chunks/BN_N9-2s.js +0 -1
  312. package/build/client/_app/immutable/chunks/BN_N9-2s.js.br +0 -0
  313. package/build/client/_app/immutable/chunks/BN_N9-2s.js.gz +0 -0
  314. package/build/client/_app/immutable/chunks/BY57TmdO.js +0 -1
  315. package/build/client/_app/immutable/chunks/BY57TmdO.js.br +0 -0
  316. package/build/client/_app/immutable/chunks/BY57TmdO.js.gz +0 -0
  317. package/build/client/_app/immutable/chunks/BaB-cr9N.js +0 -2
  318. package/build/client/_app/immutable/chunks/BaB-cr9N.js.br +0 -0
  319. package/build/client/_app/immutable/chunks/BaB-cr9N.js.gz +0 -0
  320. package/build/client/_app/immutable/chunks/BdR-m9Ad.js +0 -1
  321. package/build/client/_app/immutable/chunks/BdR-m9Ad.js.br +0 -0
  322. package/build/client/_app/immutable/chunks/BdR-m9Ad.js.gz +0 -0
  323. package/build/client/_app/immutable/chunks/ByjLCPv2.js +0 -1
  324. package/build/client/_app/immutable/chunks/ByjLCPv2.js.br +0 -0
  325. package/build/client/_app/immutable/chunks/ByjLCPv2.js.gz +0 -0
  326. package/build/client/_app/immutable/chunks/BzAcxkRZ.js +0 -4
  327. package/build/client/_app/immutable/chunks/BzAcxkRZ.js.br +0 -0
  328. package/build/client/_app/immutable/chunks/BzAcxkRZ.js.gz +0 -0
  329. package/build/client/_app/immutable/chunks/CyQLXPZI.js +0 -2
  330. package/build/client/_app/immutable/chunks/CyQLXPZI.js.br +0 -0
  331. package/build/client/_app/immutable/chunks/CyQLXPZI.js.gz +0 -0
  332. package/build/client/_app/immutable/chunks/D17Lj1H7.js +0 -1
  333. package/build/client/_app/immutable/chunks/D17Lj1H7.js.br +0 -0
  334. package/build/client/_app/immutable/chunks/D17Lj1H7.js.gz +0 -0
  335. package/build/client/_app/immutable/chunks/D4VhtiDg.js +0 -1
  336. package/build/client/_app/immutable/chunks/D4VhtiDg.js.br +0 -0
  337. package/build/client/_app/immutable/chunks/D4VhtiDg.js.gz +0 -0
  338. package/build/client/_app/immutable/chunks/D72Du7TF.js +0 -1
  339. package/build/client/_app/immutable/chunks/D72Du7TF.js.br +0 -2
  340. package/build/client/_app/immutable/chunks/D72Du7TF.js.gz +0 -0
  341. package/build/client/_app/immutable/chunks/XYFbSe2V.js +0 -1
  342. package/build/client/_app/immutable/chunks/XYFbSe2V.js.br +0 -0
  343. package/build/client/_app/immutable/chunks/XYFbSe2V.js.gz +0 -0
  344. package/build/client/_app/immutable/chunks/iHsChU5o.js +0 -1
  345. package/build/client/_app/immutable/chunks/iHsChU5o.js.br +0 -0
  346. package/build/client/_app/immutable/chunks/iHsChU5o.js.gz +0 -0
  347. package/build/client/_app/immutable/chunks/p23QjN60.js +0 -1
  348. package/build/client/_app/immutable/chunks/p23QjN60.js.br +0 -2
  349. package/build/client/_app/immutable/chunks/p23QjN60.js.gz +0 -0
  350. package/build/client/_app/immutable/chunks/sBKW2MYH.js +0 -1
  351. package/build/client/_app/immutable/chunks/sBKW2MYH.js.br +0 -0
  352. package/build/client/_app/immutable/chunks/sBKW2MYH.js.gz +0 -0
  353. package/build/client/_app/immutable/chunks/uMNMODvc.js.br +0 -0
  354. package/build/client/_app/immutable/chunks/uMNMODvc.js.gz +0 -0
  355. package/build/client/_app/immutable/entry/app.9nC_873E.js +0 -2
  356. package/build/client/_app/immutable/entry/app.9nC_873E.js.br +0 -0
  357. package/build/client/_app/immutable/entry/app.9nC_873E.js.gz +0 -0
  358. package/build/client/_app/immutable/entry/start.Bn88Alw2.js +0 -1
  359. package/build/client/_app/immutable/entry/start.Bn88Alw2.js.br +0 -2
  360. package/build/client/_app/immutable/entry/start.Bn88Alw2.js.gz +0 -0
  361. package/build/client/_app/immutable/nodes/0.COxTCtn2.js +0 -1
  362. package/build/client/_app/immutable/nodes/0.COxTCtn2.js.br +0 -0
  363. package/build/client/_app/immutable/nodes/0.COxTCtn2.js.gz +0 -0
  364. package/build/client/_app/immutable/nodes/1.Bc8yPK_D.js +0 -1
  365. package/build/client/_app/immutable/nodes/1.Bc8yPK_D.js.br +0 -0
  366. package/build/client/_app/immutable/nodes/1.Bc8yPK_D.js.gz +0 -0
  367. package/build/client/_app/immutable/nodes/3.CI2GcqTf.js +0 -1
  368. package/build/client/_app/immutable/nodes/3.CI2GcqTf.js.br +0 -0
  369. package/build/client/_app/immutable/nodes/3.CI2GcqTf.js.gz +0 -0
  370. package/build/client/_app/immutable/nodes/4.ChSdW7ac.js +0 -1
  371. package/build/client/_app/immutable/nodes/4.ChSdW7ac.js.br +0 -0
  372. package/build/client/_app/immutable/nodes/4.ChSdW7ac.js.gz +0 -0
  373. package/build/client/_app/immutable/nodes/5.DaMML2go.js +0 -1
  374. package/build/client/_app/immutable/nodes/5.DaMML2go.js.br +0 -0
  375. package/build/client/_app/immutable/nodes/5.DaMML2go.js.gz +0 -0
  376. package/build/client/_app/immutable/nodes/6.Dcq0qwvO.js +0 -1
  377. package/build/client/_app/immutable/nodes/6.Dcq0qwvO.js.br +0 -0
  378. package/build/client/_app/immutable/nodes/6.Dcq0qwvO.js.gz +0 -0
  379. package/build/client/_app/immutable/nodes/7.CU-ncPes.js +0 -1
  380. package/build/client/_app/immutable/nodes/7.CU-ncPes.js.br +0 -0
  381. package/build/client/_app/immutable/nodes/7.CU-ncPes.js.gz +0 -0
  382. package/build/server/chunks/0-C1NyHW8A.js.map +0 -1
  383. package/build/server/chunks/1-CThf4W5r.js +0 -9
  384. package/build/server/chunks/1-CThf4W5r.js.map +0 -1
  385. package/build/server/chunks/3-CJf0NbiV.js +0 -69
  386. package/build/server/chunks/3-CJf0NbiV.js.map +0 -1
  387. package/build/server/chunks/4-Dfbpsagm.js.map +0 -1
  388. package/build/server/chunks/5-DLB6GOjf.js.map +0 -1
  389. package/build/server/chunks/6-DfCARDKO.js +0 -202
  390. package/build/server/chunks/6-DfCARDKO.js.map +0 -1
  391. package/build/server/chunks/7-B5o4OymX.js +0 -42
  392. package/build/server/chunks/7-B5o4OymX.js.map +0 -1
  393. package/build/server/chunks/Panel-Box8ld78.js.map +0 -1
  394. package/build/server/chunks/PrettyJson-C2c9xGNo.js +0 -290
  395. package/build/server/chunks/PrettyJson-C2c9xGNo.js.map +0 -1
  396. package/build/server/chunks/TooltipTable-0z4HkHlH.js +0 -17
  397. package/build/server/chunks/TooltipTable-0z4HkHlH.js.map +0 -1
  398. package/build/server/chunks/_layout.svelte-CU7AVRSZ.js +0 -111
  399. package/build/server/chunks/_layout.svelte-CU7AVRSZ.js.map +0 -1
  400. package/build/server/chunks/_page.svelte-B_T8EFk3.js.map +0 -1
  401. package/build/server/chunks/_page.svelte-CflJkclc.js.map +0 -1
  402. package/build/server/chunks/_page.svelte-D1QIZqLv.js.map +0 -1
  403. package/build/server/chunks/_page.svelte-PuIVQ52p.js.map +0 -1
  404. package/build/server/chunks/_page.svelte-zlHeUnJK.js.map +0 -1
  405. package/build/server/chunks/async-BfR0vYHo.js.map +0 -1
  406. package/build/server/chunks/client-bj7sePQc.js +0 -7
  407. package/build/server/chunks/error.svelte-D5sIJv3P.js +0 -18
  408. package/build/server/chunks/error.svelte-D5sIJv3P.js.map +0 -1
  409. package/build/server/chunks/index3-DquTjlmp.js.map +0 -1
  410. package/build/server/chunks/mongo-dLmCShL_.js.map +0 -1
  411. package/build/server/chunks/remote-xxtqbu-BFzaWXy0.js +0 -234
  412. package/build/server/chunks/remote-xxtqbu-BFzaWXy0.js.map +0 -1
  413. package/build/server/chunks/routing-Ddj5b-2K.js.map +0 -1
  414. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/+page.server.ts +0 -106
  415. package/src/routes/servers/[server]/databases/[database]/collections/[collection]/+page.svelte +0 -174
  416. /package/build/client/_app/immutable/assets/{3.CRKE8WvY.css → 7.CRKE8WvY.css} +0 -0
  417. /package/build/client/_app/immutable/assets/{3.CRKE8WvY.css.br → 7.CRKE8WvY.css.br} +0 -0
  418. /package/build/client/_app/immutable/assets/{3.CRKE8WvY.css.gz → 7.CRKE8WvY.css.gz} +0 -0
@@ -0,0 +1,66 @@
1
+ import"../chunks/CsO4V9Pl.js";import{m as Te,o as ve,a3 as Fe,y as Se,ai as Ee,aj as qe,ak as De,al as Ne,p as ze,a0 as Ge,f as u,a as ue,b as c,c as He,s as r,d as o,r as a,n as fe,t as D,i as n,j as X,k as v,u as Be,e as Le}from"../chunks/DDOxwa8G.js";import{d as Qe,s as te}from"../chunks/BirzSxMb.js";import{i as T}from"../chunks/CeUVbZ2h.js";import{r as Re,s as Ue,e as ae,i as ge,b as oe}from"../chunks/CdQ4HxbR.js";import{b as re}from"../chunks/Dzn375RV.js";import{u as We}from"../chunks/BsxVnnsB.js";import{P as Je}from"../chunks/DD3Ma7mI.js";import{n as L}from"../chunks/pwiEVMhR.js";function ye(t,e,l=!1){if(t.multiple){if(e==null)return;if(!Ee(e))return qe();for(var i of t.options)i.selected=e.includes(Y(i));return}for(i of t.options){var s=Y(i);if(De(s,e)){i.selected=!0;return}}(!l||e!==void 0)&&(t.selectedIndex=-1)}function Ke(t){var e=new MutationObserver(()=>{ye(t,t.__value)});e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Ne(()=>{e.disconnect()})}function he(t,e,l=e){var i=new WeakSet,s=!0;Te(t,"change",d=>{var g=d?"[selected]":":checked",m;if(t.multiple)m=[].map.call(t.querySelectorAll(g),Y);else{var Q=t.querySelector(g)??t.querySelector("option:not([disabled])");m=Q&&Y(Q)}l(m),ve!==null&&i.add(ve)}),Fe(()=>{var d=e();if(t===document.activeElement){var g=Se??ve;if(i.has(g))return}if(ye(t,d,s),s&&d===void 0){var m=t.querySelector(":checked");m!==null&&(d=Y(m),l(d))}t.__value=d,s=!1}),Ke(t)}function Y(t){return"__value"in t?t.__value:t.value}const Ve=async t=>({...t.data,categories:[{key:"documents",label:"Documents"},{key:"indexes",label:"Indexes"},{key:"mappings",label:"Mappings"}]}),Et=Object.freeze(Object.defineProperty({__proto__:null,load:Ve},Symbol.toStringTag,{value:"Module"}));async function Xe(t,e){try{await navigator.clipboard.writeText(n(e)),L.notifySuccess("AI prompt copied to clipboard")}catch(l){L.notifyError(l,"Failed to copy to clipboard")}}function Ye(t,e,l,i,s,d){if(!n(e).trim()){L.notifyError("Field path is required");return}if(!n(l).trim()){L.notifyError("Target collection is required");return}i.push({fieldPath:n(e).trim(),targets:[{collection:n(l).trim(),on:n(s).trim()||"_id"}]}),v(e,""),v(l,""),v(s,"_id"),v(d,!1)}function Ze(t,e,l,i,s){v(e,""),v(l,""),v(i,"_id"),v(s,!1)}async function $e(t,e,l){try{const i={};for(const s of e)if(s.fieldPath.trim()){const d=s.targets.filter(g=>g.collection.trim()&&g.on.trim());d.length>0&&(i[s.fieldPath]=d.length===1?d[0]:d)}await We({server:l.data.server,database:l.data.database,collection:"mongoku.mappings",document:l.data.collection,value:{mappings:i,_id:l.data.collection},partial:!1,upsert:!0}),L.notifySuccess("Mappings saved successfully")}catch(i){console.error("Error saving mappings:",i),L.notifyError(i,"Failed to save mappings")}}var et=(t,e)=>v(e,!0),tt=u('<button class="btn btn-outline-light btn-sm -my-2">🤖 AI Helper</button> <button class="btn btn-success btn-sm -my-2">Save</button>',1),at=u('<button class="btn btn-outline-danger btn-sm mt-6">Remove Mapping</button>'),ot=u("<option> </option>"),rt=u('<button class="btn btn-outline-danger btn-sm mt-5">×</button>'),lt=u('<div class="flex items-start gap-2 pl-4 border-l-2 border-[var(--color-3)]"><div class="flex-1"><label class="block text-xs mb-1">Target Collection <select class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"><option>Select collection...</option><!></select></label></div> <div class="flex-1"><label class="block text-xs mb-1">Target Field <input type="text" placeholder="_id" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"/></label></div> <!></div>'),it=(t,e,l)=>e(n(l)),nt=u('<button class="btn btn-outline-light btn-sm mt-2 ml-4">+ Add Alternative Target</button>'),st=u('<div class="border border-[var(--border-color)] rounded p-4"><div class="flex items-start gap-4 mb-3"><div class="flex-1"><label class="block text-sm font-medium mb-1">Field Path <input type="text" placeholder="e.g., authorId or comments.authorId" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded text-sm mt-1"/></label></div> <!></div> <div class="space-y-2"></div> <!></div>'),dt=u('<div class="space-y-4"></div>'),ct=u('<div class="text-center py-8" style="color: var(--text-secondary);">No mappings defined yet.</div>'),vt=(t,e)=>v(e,!0),ut=u('<button class="btn btn-success">+ Add New Mapping</button>'),bt=u("<option> </option>"),_t=u('<div class="border border-[var(--border-color)] rounded p-4 bg-[var(--light-background)]"><h3 class="text-lg font-medium mb-3">New Mapping</h3> <div class="space-y-3"><label class="block text-sm font-medium mb-1">Field Path <input type="text" placeholder="e.g., authorId or comments.authorId" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"/></label> <label class="block text-sm font-medium mb-1">Target Collection <select class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"><option>Select collection...</option><!></select></label> <label class="block text-sm font-medium mb-1">Target Field <input type="text" placeholder="_id" class="w-full px-3 py-2 bg-[var(--color-1)] border border-[var(--border-color)] rounded mt-1"/></label> <div class="flex gap-2"><button class="btn btn-success">Add</button> <button class="btn btn-default">Cancel</button></div></div></div>'),mt=u('<div class="mt-4"><!></div>'),pt=u(`<div class="p-4"><div class="mb-4"><p class="mb-3">Define relationships between collections to enable hover tooltips and navigation on foreign key fields. This
2
+ will be stored in the <code class="px-1 bg-[var(--light-background)] rounded">mongoku.mappings</code> collection
3
+ as a document with <a class="text-blue-500"> </a>.</p> <details class="mb-2" style="color: var(--text-secondary);"><summary class="cursor-pointer font-medium mb-2">Example</summary> <div class="mt-2"><div class="mb-1">Document in collection <code class="px-1 bg-[var(--light-background)] rounded">posts</code>:</div> <code class="block px-2 py-1 bg-[var(--light-background)] rounded text-xs mb-2">&#123; _id: "post1", title: "Hello", authorId: "user123", comments: [&#123;authorId: "user456", text:
4
+ "Nice!"&#125;] &#125;</code> <div class="text space-y-1"><div>→ Mapping 1: Field path <code class="px-1 bg-[var(--light-background)] rounded">authorId</code>, target
5
+ collection <code class="px-1 bg-[var(--light-background)] rounded">users</code>, target field <code class="px-1 bg-[var(--light-background)] rounded">_id</code></div> <div>→ Mapping 2: Field path <code class="px-1 bg-[var(--light-background)] rounded">comments.authorId</code>,
6
+ target collection <code class="px-1 bg-[var(--light-background)] rounded">users</code>, target field <code class="px-1 bg-[var(--light-background)] rounded">_id</code></div></div></div></details></div> <!> <!></div>`),ft=(t,e)=>v(e,!1),gt=(t,e)=>{t.key==="Escape"&&v(e,!1)},ht=t=>t.stopPropagation(),yt=t=>t.stopPropagation(),xt=(t,e)=>v(e,!1),kt=(t,e)=>v(e,!1),wt=u(`<div class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50 p-4" role="button" tabindex="0"><div class="bg-[var(--color-1)] border border-[var(--border-color)] rounded-lg max-w-4xl w-full max-h-[80vh] overflow-hidden flex flex-col" role="dialog" tabindex="-1"><div class="p-4 border-b border-[var(--border-color)] flex justify-between items-center"><h2 class="text-xl font-semibold">AI Mapping Generator Prompt</h2> <button class="btn btn-outline-light btn-sm">Close</button></div> <div class="p-4 overflow-auto flex-1"><p class="mb-3 text-sm" style="color: var(--text-secondary);">Copy this prompt and paste it into your IDE's AI assistant (Cursor, GitHub Copilot, etc.) to automatically
7
+ generate mappings for this collection.</p> <pre class="bg-[var(--color-2)] border border-[var(--border-color)] rounded p-4 text-sm whitespace-pre-wrap overflow-auto"> </pre></div> <div class="p-4 border-t border-[var(--border-color)] flex justify-end gap-2"><button class="btn btn-default">Close</button> <button class="btn btn-primary">Copy to Clipboard</button></div></div></div>`),It=u("<!> <!>",1);function qt(t,e){ze(e,!0);let l=Ge(Object.entries(e.data.mappings).map(([h,b])=>({fieldPath:h,targets:Array.isArray(b)?b:[b]}))),i=X(""),s=X(""),d=X("_id"),g=X(!1),m=X(!1);const Q=Be(()=>`I need help generating MongoDB collection mappings for my database.
8
+
9
+ **Context:**
10
+ - Database: ${e.data.database}
11
+ - Collection: ${e.data.collection}
12
+ - Available collections: ${e.data.availableCollections.join(", ")}
13
+
14
+ **Task:**
15
+ Please analyze my codebase to identify relationships between the "${e.data.collection}" collection and other collections. Look for:
16
+ 1. Fields that reference documents in other collections (foreign keys)
17
+ 2. Nested fields within arrays or objects that reference other documents
18
+ 3. Common patterns like userId, authorId, etc.
19
+
20
+ If you have access to the MongoDB MCP server, use it to:
21
+ 1. Query sample documents from the "${e.data.collection}" collection
22
+ 2. Analyze the schema and field types
23
+ 3. Identify potential foreign key relationships
24
+
25
+ **Output Format:**
26
+ Create a file named \`${e.data.collection}.mappings.json\` with the following structure:
27
+
28
+ \`\`\`json
29
+ {
30
+ "_id": "${e.data.collection}",
31
+ "mappings": {
32
+ "fieldPath": { "collection": "targetCollection", "on": "targetField" },
33
+ "nested.fieldPath": { "collection": "targetCollection", "on": "targetField" }
34
+ }
35
+ }
36
+ \`\`\`
37
+
38
+ **Example:**
39
+ If the collection has documents like:
40
+ \`\`\`json
41
+ {
42
+ "_id": "post1",
43
+ "authorId": "user123",
44
+ "comments": [
45
+ { "authorId": "user456", "text": "Great post!" }
46
+ ]
47
+ }
48
+ \`\`\`
49
+
50
+ The mappings would be:
51
+ \`\`\`json
52
+ {
53
+ "_id": "${e.data.collection}",
54
+ "mappings": {
55
+ "authorId": { "collection": "users", "on": "_id" },
56
+ "comments.authorId": { "collection": "users", "on": "_id" }
57
+ }
58
+ }
59
+ \`\`\`
60
+
61
+ **Notes:**
62
+ - Use dot notation for nested fields (e.g., "comments.authorId")
63
+ - Multiple mappings for the same field can be expressed as an array
64
+ - Target field is usually "_id" but can be any unique field
65
+
66
+ Please analyze the codebase and database, then generate the appropriate mappings file.`);function xe(h){h.targets.push({collection:"",on:"_id"})}function ke(h,b){h.targets.splice(b,1)}function we(h){l.splice(h,1)}var be=It(),_e=ue(be);Je(_e,{get title(){return`Mappings for ${e.data.collection??""}`},actions:b=>{var j=Le(),C=ue(j);{var F=k=>{var A=tt(),N=ue(A);N.__click=[et,m];var S=r(N,2);S.__click=[$e,l,e],c(k,A)};T(C,k=>{e.data.readOnly||k(F)})}c(b,j)},children:(b,j)=>{var C=pt(),F=o(C),k=o(F),A=r(o(k),3),N=o(A);a(A),fe(),a(k),fe(2),a(F);var S=r(F,2);{var Z=y=>{var M=dt();ae(M,21,()=>l,ge,(ie,O,ne)=>{var w=st(),I=o(w),z=o(I),G=o(z),H=r(o(G));oe(H),a(G),a(z);var R=r(z,2);{var U=_=>{var p=at();p.__click=()=>we(ne),c(_,p)};T(R,_=>{e.data.readOnly||_(U)})}a(I);var E=r(I,2);ae(E,21,()=>n(O).targets,ge,(_,p,$)=>{var J=lt(),f=o(J),B=o(f),P=r(o(B)),K=o(P);K.value=K.__value="";var ee=r(K);ae(ee,16,()=>e.data.availableCollections,x=>x,(x,q)=>{var V=ot(),Oe=o(V,!0);a(V);var pe={};D(()=>{te(Oe,q),pe!==(pe=q)&&(V.value=(V.__value=q)??"")}),c(x,V)}),a(P),a(B),a(f);var de=r(f,2),me=o(de),ce=r(o(me));oe(ce),a(me),a(de);var Me=r(de,2);{var je=x=>{var q=rt();q.__click=()=>ke(n(O),$),D(()=>q.disabled=n(O).targets.length===1),c(x,q)};T(Me,x=>{e.data.readOnly||x(je)})}a(J),D(()=>{P.disabled=e.data.readOnly,ce.disabled=e.data.readOnly}),he(P,()=>n(p).collection,x=>n(p).collection=x),re(ce,()=>n(p).on,x=>n(p).on=x),c(_,J)}),a(E);var se=r(E,2);{var W=_=>{var p=nt();p.__click=[it,xe,O],c(_,p)};T(se,_=>{e.data.readOnly||_(W)})}a(w),D(()=>H.disabled=e.data.readOnly),re(H,()=>n(O).fieldPath,_=>n(O).fieldPath=_),c(ie,w)}),a(M),c(y,M)},le=y=>{var M=ct();c(y,M)};T(S,y=>{l.length>0?y(Z):y(le,!1)})}var Ce=r(S,2);{var Ae=y=>{var M=mt(),ie=o(M);{var O=w=>{var I=ut();I.__click=[vt,g],c(w,I)},ne=w=>{var I=_t(),z=r(o(I),2),G=o(z),H=r(o(G));oe(H),a(G);var R=r(G,2),U=r(o(R)),E=o(U);E.value=E.__value="";var se=r(E);ae(se,16,()=>e.data.availableCollections,f=>f,(f,B)=>{var P=bt(),K=o(P,!0);a(P);var ee={};D(()=>{te(K,B),ee!==(ee=B)&&(P.value=(P.__value=B)??"")}),c(f,P)}),a(U),a(R);var W=r(R,2),_=r(o(W));oe(_),a(W);var p=r(W,2),$=o(p);$.__click=[Ye,i,s,l,d,g];var J=r($,2);J.__click=[Ze,i,s,d,g],a(p),a(z),a(I),re(H,()=>n(i),f=>v(i,f)),he(U,()=>n(s),f=>v(s,f)),re(_,()=>n(d),f=>v(d,f)),c(w,I)};T(ie,w=>{n(g)?w(ne,!1):w(O)})}a(M),c(y,M)};T(Ce,y=>{e.data.readOnly||y(Ae)})}a(C),D(y=>{Ue(A,"href",y),te(N,`_id: "${e.data.collection??""}"`)},[()=>Re(`/servers/${e.data.server}/databases/${e.data.database}/collections/mongoku.mappings/documents/${e.data.collection}`)]),c(b,C)}});var Ie=r(_e,2);{var Pe=h=>{var b=wt();b.__click=[ft,m],b.__keydown=[gt,m];var j=o(b);j.__click=[ht],j.__keydown=[yt];var C=o(j),F=r(o(C),2);F.__click=[xt,m],a(C);var k=r(C,2),A=r(o(k),2),N=o(A,!0);a(A),a(k);var S=r(k,2),Z=o(S);Z.__click=[kt,m];var le=r(Z,2);le.__click=[Xe,Q],a(S),a(j),a(b),D(()=>te(N,n(Q))),c(h,b)};T(Ie,h=>{n(m)&&h(Pe)})}c(t,be),He()}Qe(["click","keydown"]);export{qt as component,Et as universal};
@@ -0,0 +1 @@
1
+ import{L as t}from"../chunks/BY7rCWFm.js";const r=e=>({server:e.params.server,breadcrumbs:[{label:e.params.server,path:`/servers/${encodeURIComponent(e.params.server)}/databases`}]}),a=Object.freeze(Object.defineProperty({__proto__:null,load:r},Symbol.toStringTag,{value:"Module"}));export{t as component,a as universal};
@@ -0,0 +1 @@
1
+ A dmM�F!I����ް�z�5~߿�d�B5���.W�M��7��������r������� �j�?k���=��nW`�3ݤ���4ڸÎ�_v�����!��^����//� �`�0� �"�$�������C�p6{ ��f�\��=���<�l/v6��#q]"2�x�e��$ًQJ��
@@ -0,0 +1 @@
1
+ import{L as s}from"../chunks/BY7rCWFm.js";const e=async a=>({database:a.params.database,breadcrumbs:[...(await a.parent()).breadcrumbs,{label:a.params.database,path:`/${encodeURIComponent(a.params.database)}/collections`}]}),o=Object.freeze(Object.defineProperty({__proto__:null,load:e},Symbol.toStringTag,{value:"Module"}));export{s as component,o as universal};
@@ -0,0 +1 @@
1
+ import{L as t}from"../chunks/BY7rCWFm.js";const a=async o=>({collection:o.params.collection,breadcrumbs:[...(await o.parent()).breadcrumbs,{label:o.params.collection,path:`/${o.params.collection}/documents`}]}),r=Object.freeze(Object.defineProperty({__proto__:null,load:a},Symbol.toStringTag,{value:"Module"}));export{t as component,r as universal};
@@ -0,0 +1 @@
1
+ import{L as c}from"../chunks/BY7rCWFm.js";const o=async a=>({document:a.params.document,breadcrumbs:[...(await a.parent()).breadcrumbs,{label:a.params.document,path:`/documents/${a.params.document}`}]}),r=Object.freeze(Object.defineProperty({__proto__:null,load:o},Symbol.toStringTag,{value:"Module"}));export{c as component,r as universal};
@@ -0,0 +1 @@
1
+ import"../chunks/CsO4V9Pl.js";import{j as N,a1 as ie,U as we,i as e,k as _,a2 as ee,p as xe,f as m,a as R,b as s,c as Se,$ as ze,s as g,d as l,r as c,e as B,t as C,h as de,n as Re,u as Ce}from"../chunks/DDOxwa8G.js";import{d as Ee,e as De,s as A}from"../chunks/BirzSxMb.js";import{a as J,s as F,f as le}from"../chunks/7rjwS0Fa.js";import{i as M}from"../chunks/CeUVbZ2h.js";import{e as Pe,s as ce,r as Te,b as Ae}from"../chunks/CdQ4HxbR.js";import{b as Fe}from"../chunks/Dzn375RV.js";import{r as Me,b as Ne,c as je}from"../chunks/BsxVnnsB.js";import{i as te}from"../chunks/DPilZ31q.js";import{P as Oe}from"../chunks/DD3Ma7mI.js";import{T as Ue}from"../chunks/Cy5AtpEx.js";import{n as j}from"../chunks/pwiEVMhR.js";var Ye=["forEach","isDisjointFrom","isSubsetOf","isSupersetOf"],qe=["difference","intersection","symmetricDifference","union"],ve=!1;class L extends Set{#r=new Map;#e=N(0);#t=N(0);#a=ie||-1;constructor(t){if(super(),t){for(var r of t)super.add(r);this.#t.v=super.size}ve||this.#o()}#s(t){return ie===this.#a?N(t):we(t)}#o(){ve=!0;var t=L.prototype,r=Set.prototype;for(const o of Ye)t[o]=function(...i){return e(this.#e),r[o].apply(this,i)};for(const o of qe)t[o]=function(...i){e(this.#e);var O=r[o].apply(this,i);return new L(O)}}has(t){var r=super.has(t),o=this.#r,i=o.get(t);if(i===void 0){if(!r)return e(this.#e),!1;i=this.#s(!0),o.set(t,i)}return e(i),r}add(t){return super.has(t)||(super.add(t),_(this.#t,super.size),ee(this.#e)),this}delete(t){var r=super.delete(t),o=this.#r,i=o.get(t);return i!==void 0&&(o.delete(t),_(i,!1)),r&&(_(this.#t,super.size),ee(this.#e)),r}clear(){if(super.size!==0){super.clear();var t=this.#r;for(var r of t.values())_(r,!1);t.clear(),_(this.#t,0),ee(this.#e)}}keys(){return this.values()}values(){return e(this.#e),super.values()}entries(){return e(this.#e),super.entries()}[Symbol.iterator](){return this.keys()}get size(){return e(this.#t)}}async function Be(E,t,r,o){if(e(t)){_(r,!0);try{await je({url:e(t)}),_(t,""),_(o,!1),j.notifySuccess("Server added successfully"),await te()}catch(i){j.notifyError(i,"Failed to add server")}finally{_(r,!1)}}}var Ie=(E,t)=>_(t,!e(t)),Ke=m('<input type="text" placeholder="mongodb://user:password@hostname:port?directConnection=true" class="form-input svelte-gqreh7"/> <button class="btn btn-outline-success btn-sm">Add</button>',1),Ge=m('<button class="btn btn-default btn-sm"> </button> <!>',1),He=m('<span class="error"><span class="badge badge-danger">Error</span> </span>'),Je=m("<a> </a>"),Le=m("<span> </span>"),Qe=m('<span style="color: var(--text-secondary);">...</span>'),Ve=m('<span style="color: var(--text-secondary);">...</span>'),We=(E,t,r)=>t(e(r)),Xe=m('<button class="btn btn-default btn-sm -my-2 hidden group-hover:inline"> </button>'),Ze=(E,t,r)=>t(e(r)),$e=m('<tr class="group"><td><!></td><td><!></td><td><!></td><td style="width: 200px"><div class="flex gap-2 justify-end"><!> <button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Remove from list</button></div></td></tr>'),et=m('<tr><td colspan="4"><div class="text-center">No servers...</div></td></tr>'),tt=m('<table class="table"><thead><tr><th>Name</th><th>Databases</th><th>Size</th><th></th></tr></thead><tbody><!></tbody></table>'),rt=E=>E.stopPropagation(),at=m('<div class="modal-overlay"><div class="modal"><div class="modal-body"><p>Are you sure you want to remove this server? This will only remove it from this list. You can add it back.</p></div> <div class="modal-footer"><button class="btn btn-default btn-sm">No</button> <button class="btn btn-outline-danger btn-sm">Yes</button></div></div></div>'),st=m("<!> <!>",1);function ht(E,t){xe(t,!0);let r=N(!1),o=N(""),i=N(!1),O=N(!1),I=null;const K=new L;function ue(p){I=p,_(O,!0)}function G(){_(O,!1),I=null}async function fe(){if(I)try{await Ne(I.name),j.notifySuccess("Server removed successfully"),G(),await te()}catch(p){j.notifyError(p,"Failed to remove server")}}function _e(p){p.key==="Escape"&&G()}async function me(p){const h=F(p.name);K.add(h);try{await Me(h),j.notifySuccess("Connection restored successfully"),await te()}catch(k){j.notifyError(k,"Failed to retry connection")}finally{K.delete(h)}}var re=st();De("keydown",ze,_e);var ae=R(re);Oe(ae,{title:"Servers",actions:h=>{var k=Ge(),y=R(k);y.__click=[Ie,r];var D=l(y,!0);c(y);var U=g(y,2);{var Q=Y=>{var w=Ke(),x=R(w);Ae(x);var H=g(x,2);H.__click=[Be,o,i,r],C(()=>{x.disabled=e(i),H.disabled=!e(o).length||e(i)}),Fe(x,()=>e(o),q=>_(o,q)),s(Y,w)};M(U,Y=>{e(r)&&Y(Q)})}C(()=>A(D,e(r)?"Cancel":"Add Server")),s(h,k)},children:(h,k)=>{var y=tt(),D=g(l(y)),U=l(D);{var Q=w=>{var x=B(),H=R(x);Pe(H,17,()=>t.data.servers,q=>q._id,(q,b)=>{var V=$e(),W=l(V),be=l(W);J(be,()=>e(b).details,v=>{var a=Le(),u=l(a,!0);c(a),C(S=>A(u,S),[()=>F(e(b).name)]),s(v,a)},(v,a)=>{var u=B(),S=R(u);{var P=d=>{var n=He(),T=l(n),z=g(T);c(n),C($=>{ce(T,"title",e(a).error.message),A(z,` ${$??""}`)},[()=>F(e(b).name)]),s(d,n)},f=d=>{var n=Je(),T=l(n,!0);c(n),C((z,$)=>{ce(n,"href",z),A(T,$)},[()=>Te(`/servers/${encodeURIComponent(F(e(b).name))}/databases`),()=>F(e(b).name)]),s(d,n)};M(S,d=>{"error"in e(a)&&e(a).error?d(P):d(f,!1)})}s(v,u)}),c(W);var X=g(W),ye=l(X);J(ye,()=>e(b).details,v=>{var a=Qe();s(v,a)},(v,a)=>{var u=B(),S=R(u);{var P=f=>{{let d=Ce(()=>e(a).databases.map(n=>({name:n.name,collections:n.collections,size:le(n.size)})));Ue(f,{columns:[{header:"Database",key:"name"},{header:"Collections",key:"collections"},{header:"Size",key:"size"}],get rows(){return e(d)},children:(n,T)=>{Re();var z=de();C(()=>A(z,e(a).databases.length)),s(n,z)}})}};M(S,f=>{"databases"in e(a)&&e(a).databases&&f(P)})}s(v,u)}),c(X);var Z=g(X),ge=l(Z);J(ge,()=>e(b).details,v=>{var a=Ve();s(v,a)},(v,a)=>{var u=B(),S=R(u);{var P=f=>{var d=de();C(n=>A(d,n),[()=>le(e(a).size)]),s(f,d)};M(S,f=>{"size"in e(a)&&e(a).size!==void 0&&f(P)})}s(v,u)}),c(Z);var se=g(Z),oe=l(se),ne=l(oe);J(ne,()=>e(b).details,null,(v,a)=>{var u=B(),S=R(u);{var P=f=>{var d=Xe();d.__click=[We,me,b];var n=l(d,!0);c(d),C((T,z)=>{d.disabled=T,A(n,z)},[()=>K.has(F(e(b).name)),()=>K.has(F(e(b).name))?"Retrying...":"Retry"]),s(f,d)};M(S,f=>{"error"in e(a)&&e(a).error&&f(P)})}s(v,u)});var ke=g(ne,2);ke.__click=[Ze,ue,b],c(oe),c(se),c(V),s(q,V)}),s(w,x)},Y=w=>{var x=et();s(w,x)};M(U,w=>{t.data.servers&&t.data.servers.length>0?w(Q):w(Y,!1)})}c(D),c(y),s(h,y)}});var pe=g(ae,2);{var he=p=>{var h=at();h.__click=G;var k=l(h);k.__click=[rt];var y=g(l(k),2),D=l(y);D.__click=G;var U=g(D,2);U.__click=fe,c(y),c(k),c(h),s(p,h)};M(pe,p=>{e(O)&&p(he)})}s(E,re),Se()}Ee(["click"]);export{ht as component};
@@ -0,0 +1 @@
1
+ import"../chunks/CsO4V9Pl.js";import{p as q,c as w,f as C,s as y,d as o,r as i,b as s,e as F,a as G,n as T,h as b,t as u,i as e,u as N}from"../chunks/DDOxwa8G.js";import{s as h}from"../chunks/BirzSxMb.js";import{a as J,f as k}from"../chunks/7rjwS0Fa.js";import{i as j}from"../chunks/CeUVbZ2h.js";import{e as K,r as L,s as Q}from"../chunks/CdQ4HxbR.js";import{P as W}from"../chunks/DD3Ma7mI.js";import{T as D}from"../chunks/Cy5AtpEx.js";var X=C("<tr><td><a> </a></td><td><!></td><td><!></td></tr>"),Z=C('<tr><td colspan="3"><div class="text-center">No databases...</div></td></tr>'),$=C('<table class="table"><thead><tr><th>Name</th><th>Collections</th><th>Size</th></tr></thead><tbody><!></tbody></table>');function me(O,l){q(l,!0),W(O,{get title(){return`Databases on ${l.data.server??""}`},children:(R,ee)=>{var f=$(),P=y(o(f)),U=o(P);{var A=n=>{var d=F(),E=G(d);K(E,17,()=>l.data.databases,_=>_.name,(_,t)=>{var p=X(),g=o(p),z=o(g),H=o(z,!0);i(z),i(g);var S=y(g),M=o(S);J(M,()=>e(t).collections,a=>{var m=b();u(()=>h(m,e(t).nCollections)),s(a,m)},(a,m)=>{{let r=N(()=>e(m).map(v=>({name:v.name,size:k(v.size)})));D(a,{columns:[{header:"Collection",key:"name",align:"left"},{header:"Size",key:"size",align:"right"}],get rows(){return e(r)},children:(v,x)=>{T();var c=b();u(()=>h(c,e(t).nCollections)),s(v,c)}})}}),i(S);var I=y(S),V=o(I);{var Y=a=>{{let m=N(()=>[{metric:"Total Size",value:e(t).size},{metric:"Data Size",value:e(t).dataSize},{metric:"Storage Size",value:e(t).storageSize},{metric:"Index Size",value:e(t).totalIndexSize},{metric:"Avg Object Size",value:e(t).avgObjSize},{metric:"Empty",value:e(t).empty?"Yes":"No"}].map(r=>({...r,value:typeof r.value=="number"?k(r.value):r.value})));D(a,{hideHeader:!0,columns:[{header:"Metric",key:"metric",align:"left"},{header:"Value",key:"value",align:"right"}],get rows(){return e(m)},children:(r,v)=>{T();var x=b();u(c=>h(x,c),[()=>k(e(t).size)]),s(r,x)}})}};j(V,a=>{e(t).size!==void 0&&a(Y)})}i(I),i(p),u(a=>{Q(z,"href",a),h(H,e(t).name)},[()=>L(`/servers/${encodeURIComponent(l.data.server)}/databases/${encodeURIComponent(e(t).name)}/collections`)]),s(_,p)}),s(n,d)},B=n=>{var d=Z();s(n,d)};j(U,n=>{l.data.databases&&l.data.databases.length>0?n(A):n(B,!1)})}i(P),i(f),s(R,f)}}),w()}export{me as component};
@@ -0,0 +1,2 @@
1
+ import"../chunks/CsO4V9Pl.js";import{p as fa,f as l,a as y,b as r,c as ma,s as f,d,r as v,e as j,n as q,t as C,i as a,j as $,k as F,h as G,u as aa}from"../chunks/DDOxwa8G.js";import{d as pa,s as D}from"../chunks/BirzSxMb.js";import{a as K,b as ta,f as Q}from"../chunks/7rjwS0Fa.js";import{i as I}from"../chunks/CeUVbZ2h.js";import{e as ba,r as ha,s as ga}from"../chunks/CdQ4HxbR.js";import{d as ya}from"../chunks/BsxVnnsB.js";import{i as xa}from"../chunks/DPilZ31q.js";import{M as ka}from"../chunks/DkcM24tw.js";import{P as za}from"../chunks/DD3Ma7mI.js";import{T as ea}from"../chunks/Cy5AtpEx.js";import{n as ra}from"../chunks/pwiEVMhR.js";async function Sa(N,n,u,p){if(a(n))try{await ya({server:u.data.server,database:u.data.database,collection:a(n).name}),ra.notifySuccess(`Collection "${a(n).name}" dropped successfully`),p(),await xa()}catch(A){ra.notifyError(A,"Failed to drop collection")}}var Ca=l('<span title="Failed to load">❌</span>'),Da=l('<span style="color: var(--text-secondary);">...</span>'),Ia=l('<span title="Failed to load">❌</span>'),wa=l('<span style="color: var(--text-secondary);">...</span>'),Pa=l('<span title="Failed to load">❌</span>'),Ma=l('<span style="color: var(--text-secondary);">...</span>'),ja=(N,n,u)=>n(a(u)),Fa=l('<button class="btn btn-outline-danger btn-sm -my-2 hidden group-hover:inline">Drop</button>'),Na=l('<tr class="group"><td><a> </a></td><td><!></td><td><!></td><td><!></td><td style="width: 100px"><div class="flex justify-end"><!></div></td></tr>'),Aa=l('<tr><td colspan="5"><div class="text-center">No collections...</div></td></tr>'),Oa=l('<table class="table"><thead><tr><th>Name</th><th>Documents</th><th>Indexes</th><th>Size</th><th></th></tr></thead><tbody><!></tbody></table>'),Ra=l('<button class="btn btn-default btn-sm">Cancel</button> <button class="btn btn-outline-danger btn-sm">Drop Collection</button>',1),Ta=l(`<p>Are you sure you want to drop the collection <strong> </strong>? This action cannot be
2
+ undone.</p>`),Ua=l("<!> <!>",1);function Ya(N,n){fa(n,!0);let u=$(!1),p=$(null);function A(w){F(p,w,!0),F(u,!0)}function O(){F(u,!1),F(p,null)}var W=Ua(),X=y(W);za(X,{get title(){return`${n.data.database??""} collections`},children:(w,P)=>{var m=Oa(),c=f(d(m)),b=d(c);{var R=h=>{var M=j(),sa=y(M);ba(sa,17,()=>n.data.collections,T=>T.name,(T,g)=>{var U=Na(),B=d(U),E=d(B),la=d(E,!0);v(E),v(B);var H=f(B),ia=d(H);K(ia,()=>a(g).details,o=>{var t=Da();r(o,t)},(o,t)=>{var _=j(),x=y(_);{var k=e=>{var i=G();C(s=>D(i,s),[()=>ta(a(t).count)]),r(e,i)},z=e=>{var i=Ca();r(e,i)};I(x,e=>{a(t)?e(k):e(z,!1)})}r(o,_)}),v(H);var J=f(H),da=d(J);K(da,()=>a(g).details,o=>{var t=wa();r(o,t)},(o,t)=>{var _=j(),x=y(_);{var k=e=>{{let i=aa(()=>a(t).indexes.map(s=>({definition:s.key?JSON.stringify(s.key,null,1):s.name,size:Q(s.size)})));ea(e,{columns:[{header:"Index",key:"definition",align:"left"},{header:"Size",key:"size",align:"right"}],get rows(){return a(i)},children:(s,_a)=>{q();var S=G();C(V=>D(S,V),[()=>ta(a(t).nIndexes)]),r(s,S)}})}},z=e=>{var i=Ia();r(e,i)};I(x,e=>{a(t)?e(k):e(z,!1)})}r(o,_)}),v(J);var L=f(J),va=d(L);K(va,()=>a(g).details,o=>{var t=Ma();r(o,t)},(o,t)=>{var _=j(),x=y(_);{var k=e=>{{let i=aa(()=>[{label:"Average obj. size",value:a(t).avgObjSize},{label:"Data size",value:a(t).dataSize},{label:"Storage size",value:a(t).storageSize},{label:"Index size",value:a(t).totalIndexSize}].map(s=>({...s,value:typeof s.value=="number"?Q(s.value):s.value})));ea(e,{hideHeader:!0,columns:[{header:"Label",key:"label",align:"left"},{header:"Value",key:"value",align:"right"}],get rows(){return a(i)},children:(s,_a)=>{q();var S=G();C(V=>D(S,V),[()=>Q(a(t).size)]),r(s,S)}})}},z=e=>{var i=Pa();r(e,i)};I(x,e=>{a(t)?e(k):e(z,!1)})}r(o,_)}),v(L);var Y=f(L),Z=d(Y),ca=d(Z);{var ua=o=>{var t=Fa();t.__click=[ja,A,g],r(o,t)};I(ca,o=>{n.data.readOnly||o(ua)})}v(Z),v(Y),v(U),C(o=>{ga(E,"href",o),D(la,a(g).name)},[()=>ha(`/servers/${encodeURIComponent(n.data.server)}/databases/${encodeURIComponent(n.data.database)}/collections/${encodeURIComponent(a(g).name)}/documents`)]),r(T,U)}),r(h,M)},na=h=>{var M=Aa();r(h,M)};I(b,h=>{n.data.collections&&n.data.collections.length>0?h(R):h(na,!1)})}v(c),v(m),r(w,m)}});var oa=f(X,2);ka(oa,{get show(){return a(u)},onclose:O,title:"Drop Collection",footer:P=>{var m=Ra(),c=y(m);c.__click=O;var b=f(c,2);b.__click=[Sa,p,n,O],r(P,m)},children:(P,m)=>{var c=Ta(),b=f(d(c)),R=d(b,!0);v(b),q(),v(c),C(()=>D(R,a(p)?.name)),r(P,c)},$$slots:{footer:!0,default:!0}}),r(N,W),ma()}pa(["click"]);export{Ya as component};
@@ -1 +1 @@
1
- {"version":"1760425235891"}
1
+ {"version":"1761341001310"}
Binary file
Binary file
package/build/handler.js CHANGED
@@ -1069,11 +1069,25 @@ async function getRequest({ request, base, bodySizeLimit }) {
1069
1069
  delete headers[':scheme'];
1070
1070
  }
1071
1071
 
1072
+ // TODO: Whenever Node >=22 is minimum supported version, we can use `request.readableAborted`
1073
+ // @see https://github.com/nodejs/node/blob/5cf3c3e24c7257a0c6192ed8ef71efec8ddac22b/lib/internal/streams/readable.js#L1443-L1453
1074
+ const controller = new AbortController();
1075
+ let errored = false;
1076
+ let end_emitted = false;
1077
+ request.once('error', () => (errored = true));
1078
+ request.once('end', () => (end_emitted = true));
1079
+ request.once('close', () => {
1080
+ if ((errored || request.destroyed) && !end_emitted) {
1081
+ controller.abort();
1082
+ }
1083
+ });
1084
+
1072
1085
  return new Request(base + request.url, {
1073
1086
  // @ts-expect-error
1074
1087
  duplex: 'half',
1075
1088
  method: request.method,
1076
1089
  headers: Object.entries(headers),
1090
+ signal: controller.signal,
1077
1091
  body:
1078
1092
  request.method === 'GET' || request.method === 'HEAD'
1079
1093
  ? undefined
@@ -1,6 +1,7 @@
1
- const load = async () => {
1
+ const load = async (event) => {
2
2
  return {
3
- readOnly: process.env.MONGOKU_READ_ONLY_MODE === "true"
3
+ readOnly: process.env.MONGOKU_READ_ONLY_MODE === "true",
4
+ serverOrigin: event.url.origin
4
5
  };
5
6
  };
6
7
 
@@ -11,11 +12,11 @@ var _layout_server_ts = /*#__PURE__*/Object.freeze({
11
12
 
12
13
  const index = 0;
13
14
  let component_cache;
14
- const component = async () => component_cache ??= (await import('./_layout.svelte-CU7AVRSZ.js')).default;
15
+ const component = async () => component_cache ??= (await import('./_layout.svelte-D8Erqrch.js')).default;
15
16
  const server_id = "src/routes/+layout.server.ts";
16
- const imports = ["_app/immutable/nodes/0.COxTCtn2.js","_app/immutable/chunks/BY57TmdO.js","_app/immutable/chunks/BaB-cr9N.js","_app/immutable/chunks/CyQLXPZI.js","_app/immutable/chunks/uMNMODvc.js","_app/immutable/chunks/D17Lj1H7.js","_app/immutable/chunks/BAM9w9EL.js","_app/immutable/chunks/BzAcxkRZ.js","_app/immutable/chunks/sBKW2MYH.js","_app/immutable/chunks/BN_N9-2s.js","_app/immutable/chunks/ByjLCPv2.js","_app/immutable/chunks/BKCvWebR.js"];
17
- const stylesheets = ["_app/immutable/assets/0.BHsXFfsc.css"];
17
+ const imports = ["_app/immutable/nodes/0.NM9sLghd.js","_app/immutable/chunks/CsO4V9Pl.js","_app/immutable/chunks/DDOxwa8G.js","_app/immutable/chunks/CdQ4HxbR.js","_app/immutable/chunks/DzIzGsAN.js","_app/immutable/chunks/BirzSxMb.js","_app/immutable/chunks/CeUVbZ2h.js","_app/immutable/chunks/woTmcqT7.js","_app/immutable/chunks/DPilZ31q.js","_app/immutable/chunks/myWOS8Ad.js","_app/immutable/chunks/hzkOq89z.js","_app/immutable/chunks/pwiEVMhR.js"];
18
+ const stylesheets = ["_app/immutable/assets/0.egX7ddQL.css"];
18
19
  const fonts = ["_app/immutable/assets/cuprum-cyrillic-ext-400-normal.CT5q4ZVh.woff2","_app/immutable/assets/cuprum-cyrillic-ext-400-normal.iCCFJ4Gn.woff","_app/immutable/assets/cuprum-cyrillic-400-normal.Cnibl3-L.woff2","_app/immutable/assets/cuprum-cyrillic-400-normal.RKIjpA76.woff","_app/immutable/assets/cuprum-vietnamese-400-normal.uXRi1gw5.woff","_app/immutable/assets/cuprum-latin-ext-400-normal.BWTJtpjo.woff2","_app/immutable/assets/cuprum-latin-ext-400-normal.BZXayy47.woff","_app/immutable/assets/cuprum-latin-400-normal.CjFvNwMJ.woff2","_app/immutable/assets/cuprum-latin-400-normal.Cbwtr8a4.woff","_app/immutable/assets/rajdhani-devanagari-400-normal.CTuj2HZW.woff2","_app/immutable/assets/rajdhani-devanagari-400-normal.BdIzgbsr.woff","_app/immutable/assets/rajdhani-latin-ext-400-normal.DACPYgMx.woff2","_app/immutable/assets/rajdhani-latin-ext-400-normal.Der7ynDE.woff","_app/immutable/assets/rajdhani-latin-400-normal.CurJOxDW.woff2","_app/immutable/assets/rajdhani-latin-400-normal.C6_q4usG.woff"];
19
20
 
20
21
  export { component, fonts, imports, index, _layout_server_ts as server, server_id, stylesheets };
21
- //# sourceMappingURL=0-C1NyHW8A.js.map
22
+ //# sourceMappingURL=0-Xn_28PLT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"0-Xn_28PLT.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/_layout.server.ts.js","../../../.svelte-kit/adapter-node/nodes/0.js"],"sourcesContent":["const load = async (event) => {\n return {\n readOnly: process.env.MONGOKU_READ_ONLY_MODE === \"true\",\n serverOrigin: event.url.origin\n };\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/_layout.server.ts.js';\n\nexport const index = 0;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/_layout.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/+layout.server.ts\";\nexport const imports = [\"_app/immutable/nodes/0.NM9sLghd.js\",\"_app/immutable/chunks/CsO4V9Pl.js\",\"_app/immutable/chunks/DDOxwa8G.js\",\"_app/immutable/chunks/CdQ4HxbR.js\",\"_app/immutable/chunks/DzIzGsAN.js\",\"_app/immutable/chunks/BirzSxMb.js\",\"_app/immutable/chunks/CeUVbZ2h.js\",\"_app/immutable/chunks/woTmcqT7.js\",\"_app/immutable/chunks/DPilZ31q.js\",\"_app/immutable/chunks/myWOS8Ad.js\",\"_app/immutable/chunks/hzkOq89z.js\",\"_app/immutable/chunks/pwiEVMhR.js\"];\nexport const stylesheets = [\"_app/immutable/assets/0.egX7ddQL.css\"];\nexport const fonts = [\"_app/immutable/assets/cuprum-cyrillic-ext-400-normal.CT5q4ZVh.woff2\",\"_app/immutable/assets/cuprum-cyrillic-ext-400-normal.iCCFJ4Gn.woff\",\"_app/immutable/assets/cuprum-cyrillic-400-normal.Cnibl3-L.woff2\",\"_app/immutable/assets/cuprum-cyrillic-400-normal.RKIjpA76.woff\",\"_app/immutable/assets/cuprum-vietnamese-400-normal.uXRi1gw5.woff\",\"_app/immutable/assets/cuprum-latin-ext-400-normal.BWTJtpjo.woff2\",\"_app/immutable/assets/cuprum-latin-ext-400-normal.BZXayy47.woff\",\"_app/immutable/assets/cuprum-latin-400-normal.CjFvNwMJ.woff2\",\"_app/immutable/assets/cuprum-latin-400-normal.Cbwtr8a4.woff\",\"_app/immutable/assets/rajdhani-devanagari-400-normal.CTuj2HZW.woff2\",\"_app/immutable/assets/rajdhani-devanagari-400-normal.BdIzgbsr.woff\",\"_app/immutable/assets/rajdhani-latin-ext-400-normal.DACPYgMx.woff2\",\"_app/immutable/assets/rajdhani-latin-ext-400-normal.Der7ynDE.woff\",\"_app/immutable/assets/rajdhani-latin-400-normal.CurJOxDW.woff2\",\"_app/immutable/assets/rajdhani-latin-400-normal.C6_q4usG.woff\"];\n"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK;AAC9B,EAAE,OAAO;AACT,IAAI,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,KAAK,MAAM;AAC3D,IAAI,YAAY,EAAE,KAAK,CAAC,GAAG,CAAC;AAC5B,GAAG;AACH,CAAC;;;;;;;ACHW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,8BAAoC,CAAC,EAAE;AAElG,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAC5b,MAAC,WAAW,GAAG,CAAC,sCAAsC;AACtD,MAAC,KAAK,GAAG,CAAC,qEAAqE,CAAC,oEAAoE,CAAC,iEAAiE,CAAC,gEAAgE,CAAC,kEAAkE,CAAC,kEAAkE,CAAC,iEAAiE,CAAC,8DAA8D,CAAC,6DAA6D,CAAC,qEAAqE,CAAC,oEAAoE,CAAC,oEAAoE,CAAC,mEAAmE,CAAC,gEAAgE,CAAC,+DAA+D;;;;"}
@@ -0,0 +1,9 @@
1
+ const index = 1;
2
+ let component_cache;
3
+ const component = async () => component_cache ??= (await import('./error.svelte-BENdaVOT.js')).default;
4
+ const imports = ["_app/immutable/nodes/1.DbC3260o.js","_app/immutable/chunks/CsO4V9Pl.js","_app/immutable/chunks/DDOxwa8G.js","_app/immutable/chunks/hzkOq89z.js","_app/immutable/chunks/BirzSxMb.js","_app/immutable/chunks/woTmcqT7.js","_app/immutable/chunks/DPilZ31q.js","_app/immutable/chunks/myWOS8Ad.js","_app/immutable/chunks/DzIzGsAN.js"];
5
+ const stylesheets = [];
6
+ const fonts = [];
7
+
8
+ export { component, fonts, imports, index, stylesheets };
9
+ //# sourceMappingURL=1-CBgVE2FQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"1-CBgVE2FQ.js","sources":["../../../.svelte-kit/adapter-node/nodes/1.js"],"sourcesContent":["\n\nexport const index = 1;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/fallbacks/error.svelte.js')).default;\nexport const imports = [\"_app/immutable/nodes/1.DbC3260o.js\",\"_app/immutable/chunks/CsO4V9Pl.js\",\"_app/immutable/chunks/DDOxwa8G.js\",\"_app/immutable/chunks/hzkOq89z.js\",\"_app/immutable/chunks/BirzSxMb.js\",\"_app/immutable/chunks/woTmcqT7.js\",\"_app/immutable/chunks/DPilZ31q.js\",\"_app/immutable/chunks/myWOS8Ad.js\",\"_app/immutable/chunks/DzIzGsAN.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"AAEY,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAsC,CAAC,EAAE;AACpG,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChV,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -0,0 +1,212 @@
1
+ import { p as parseJSON, v as validateAggregationPipeline, i as isEmptyObject } from './jsonParser-CraFXJs8.js';
2
+ import { J as JsonEncoder } from './JsonEncoder-jJ2OBaud.js';
3
+ import { g as getMongo } from './mongo-DMG2RTBR.js';
4
+ import 'esprima';
5
+ import 'mongodb';
6
+ import 'url';
7
+ import 'node:fs';
8
+ import 'node:os';
9
+ import 'node:path';
10
+
11
+ const load$1 = async (data) => {
12
+ return {
13
+ ...data.data,
14
+ categories: [
15
+ { key: "documents", label: "Documents" },
16
+ { key: "indexes", label: "Indexes" },
17
+ { key: "mappings", label: "Mappings" }
18
+ ]
19
+ };
20
+ };
21
+
22
+ var _page_ts = /*#__PURE__*/Object.freeze({
23
+ __proto__: null,
24
+ load: load$1
25
+ });
26
+
27
+ const load = async ({ params, url }) => {
28
+ const query = url.searchParams.get("query") || "{}";
29
+ const sort = url.searchParams.get("sort") || "{}";
30
+ const project = url.searchParams.get("project") || "{}";
31
+ const skip = parseInt(url.searchParams.get("skip") || "0", 10);
32
+ const limit = parseInt(url.searchParams.get("limit") || "20", 10);
33
+ let queryDoc;
34
+ let parseError = null;
35
+ try {
36
+ queryDoc = parseJSON(query, { allowArray: true });
37
+ } catch (err) {
38
+ parseError = `Invalid query: ${err}`;
39
+ }
40
+ if (!parseError) {
41
+ try {
42
+ parseJSON(sort);
43
+ } catch (err) {
44
+ parseError = `Invalid sort: ${err}`;
45
+ }
46
+ }
47
+ if (!parseError) {
48
+ try {
49
+ parseJSON(project);
50
+ } catch (err) {
51
+ parseError = `Invalid project: ${err}`;
52
+ }
53
+ }
54
+ if (parseError) {
55
+ return {
56
+ results: Promise.resolve({
57
+ data: [],
58
+ error: parseError
59
+ }),
60
+ count: Promise.resolve({
61
+ data: 0,
62
+ error: null
63
+ }),
64
+ params: {
65
+ query,
66
+ sort,
67
+ project,
68
+ skip,
69
+ limit
70
+ },
71
+ isAggregation: false
72
+ };
73
+ }
74
+ const sortDoc = parseJSON(sort);
75
+ const projectDoc = parseJSON(project);
76
+ const mongo = await getMongo();
77
+ const client = mongo.getClient(params.server);
78
+ const collection = client.db(params.database).collection(params.collection);
79
+ if (Array.isArray(queryDoc)) {
80
+ try {
81
+ validateAggregationPipeline(queryDoc);
82
+ } catch (err) {
83
+ const validationError = `Invalid aggregation pipeline: ${err instanceof Error ? err.message : String(err)}`;
84
+ return {
85
+ results: Promise.resolve({
86
+ data: [],
87
+ error: validationError
88
+ }),
89
+ count: Promise.resolve({
90
+ data: 0,
91
+ error: null
92
+ }),
93
+ params: {
94
+ query,
95
+ sort,
96
+ project,
97
+ skip,
98
+ limit
99
+ },
100
+ isAggregation: true
101
+ };
102
+ }
103
+ const pipeline = JsonEncoder.decode(queryDoc);
104
+ const resultsPromise2 = collection.aggregate(
105
+ [
106
+ ...pipeline,
107
+ ...isEmptyObject(projectDoc) ? [] : [{ $project: projectDoc }],
108
+ ...isEmptyObject(sortDoc) ? [] : [{ $sort: sortDoc }],
109
+ { $limit: limit },
110
+ { $skip: skip }
111
+ ],
112
+ {
113
+ maxTimeMS: mongo.getQueryTimeout()
114
+ }
115
+ ).map((obj) => JsonEncoder.encode(obj)).toArray().then((results) => ({
116
+ data: results,
117
+ error: null
118
+ })).catch((err) => {
119
+ console.error("Error executing aggregation:", err);
120
+ return {
121
+ data: [],
122
+ error: `Failed to execute aggregation: ${err instanceof Error ? err.message : String(err)}`
123
+ };
124
+ });
125
+ const countPromise2 = collection.aggregate([...pipeline, { $count: "count" }], { maxTimeMS: mongo.getCountTimeout() }).next().then((result) => ({
126
+ data: result?.count ?? 0,
127
+ error: null
128
+ })).catch((err) => {
129
+ console.error("Error counting documents:", err);
130
+ return {
131
+ data: 0,
132
+ error: `Failed to count documents: ${err instanceof Error ? err.message : String(err)}`
133
+ };
134
+ });
135
+ return {
136
+ results: resultsPromise2,
137
+ count: countPromise2,
138
+ params: {
139
+ query,
140
+ sort,
141
+ project,
142
+ skip,
143
+ limit
144
+ },
145
+ isAggregation: true
146
+ };
147
+ }
148
+ const resultsPromise = collection.find(JsonEncoder.decode(queryDoc), { maxTimeMS: mongo.getQueryTimeout() }).project(projectDoc).sort(JsonEncoder.decode(sortDoc)).limit(limit).skip(skip).map((obj) => JsonEncoder.encode(obj)).toArray().then((results) => ({
149
+ data: results,
150
+ error: null
151
+ })).catch((err) => {
152
+ console.error("Error fetching query results:", err);
153
+ return {
154
+ data: [],
155
+ error: `Failed to fetch query results: ${err instanceof Error ? err.message : String(err)}`
156
+ };
157
+ });
158
+ const countPromise = (async () => {
159
+ try {
160
+ if (queryDoc && Object.keys(queryDoc).length > 0) {
161
+ return {
162
+ data: await collection.countDocuments(JsonEncoder.decode(queryDoc), {
163
+ maxTimeMS: mongo.getCountTimeout()
164
+ }),
165
+ error: null
166
+ };
167
+ } else {
168
+ return {
169
+ data: await collection.estimatedDocumentCount(),
170
+ error: null
171
+ };
172
+ }
173
+ } catch (err) {
174
+ console.error("Error counting documents:", err);
175
+ return {
176
+ data: 0,
177
+ error: `Failed to count documents: ${err instanceof Error ? err.message : String(err)}`
178
+ };
179
+ }
180
+ })();
181
+ return {
182
+ // Stream these promises to the client
183
+ results: resultsPromise,
184
+ count: countPromise,
185
+ mappings: await client.getMappings(params.database, params.collection),
186
+ params: {
187
+ query,
188
+ sort,
189
+ project,
190
+ skip,
191
+ limit
192
+ },
193
+ isAggregation: false
194
+ };
195
+ };
196
+
197
+ var _page_server_ts = /*#__PURE__*/Object.freeze({
198
+ __proto__: null,
199
+ load: load
200
+ });
201
+
202
+ const index = 10;
203
+ let component_cache;
204
+ const component = async () => component_cache ??= (await import('./_page.svelte-mPOsEew6.js')).default;
205
+ const universal_id = "src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.ts";
206
+ const server_id = "src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.server.ts";
207
+ const imports = ["_app/immutable/nodes/10.BVQvX3m0.js","_app/immutable/chunks/CsO4V9Pl.js","_app/immutable/chunks/DDOxwa8G.js","_app/immutable/chunks/BirzSxMb.js","_app/immutable/chunks/7rjwS0Fa.js","_app/immutable/chunks/CeUVbZ2h.js","_app/immutable/chunks/CdQ4HxbR.js","_app/immutable/chunks/DzIzGsAN.js","_app/immutable/chunks/BtVcRw28.js","_app/immutable/chunks/BNpv6iz_.js","_app/immutable/chunks/BLDrwdCC.js","_app/immutable/chunks/Dzn375RV.js","_app/immutable/chunks/BsxVnnsB.js","_app/immutable/chunks/DPilZ31q.js","_app/immutable/chunks/myWOS8Ad.js","_app/immutable/chunks/pwiEVMhR.js","_app/immutable/chunks/zDi6mm3o.js","_app/immutable/chunks/DD3Ma7mI.js","_app/immutable/chunks/woTmcqT7.js"];
208
+ const stylesheets = ["_app/immutable/assets/JsonValue.BEbzuWqZ.css","_app/immutable/assets/Panel.B3aWupye.css","_app/immutable/assets/10.59aTjJn9.css"];
209
+ const fonts = [];
210
+
211
+ export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets, _page_ts as universal, universal_id };
212
+ //# sourceMappingURL=10-nsD-CCn7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"10-nsD-CCn7.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/servers/_server_/databases/_database_/collections/_collection_/documents/_page.ts.js","../../../.svelte-kit/adapter-node/entries/pages/servers/_server_/databases/_database_/collections/_collection_/documents/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/10.js"],"sourcesContent":["const load = async (data) => {\n return {\n ...data.data,\n categories: [\n { key: \"documents\", label: \"Documents\" },\n { key: \"indexes\", label: \"Indexes\" },\n { key: \"mappings\", label: \"Mappings\" }\n ]\n };\n};\nexport {\n load\n};\n","import { p as parseJSON, v as validateAggregationPipeline, i as isEmptyObject } from \"../../../../../../../../../chunks/jsonParser.js\";\nimport { J as JsonEncoder } from \"../../../../../../../../../chunks/JsonEncoder.js\";\nimport { g as getMongo } from \"../../../../../../../../../chunks/mongo.js\";\nconst load = async ({ params, url }) => {\n const query = url.searchParams.get(\"query\") || \"{}\";\n const sort = url.searchParams.get(\"sort\") || \"{}\";\n const project = url.searchParams.get(\"project\") || \"{}\";\n const skip = parseInt(url.searchParams.get(\"skip\") || \"0\", 10);\n const limit = parseInt(url.searchParams.get(\"limit\") || \"20\", 10);\n let queryDoc;\n let parseError = null;\n try {\n queryDoc = parseJSON(query, { allowArray: true });\n } catch (err) {\n parseError = `Invalid query: ${err}`;\n }\n if (!parseError) {\n try {\n parseJSON(sort);\n } catch (err) {\n parseError = `Invalid sort: ${err}`;\n }\n }\n if (!parseError) {\n try {\n parseJSON(project);\n } catch (err) {\n parseError = `Invalid project: ${err}`;\n }\n }\n if (parseError) {\n return {\n results: Promise.resolve({\n data: [],\n error: parseError\n }),\n count: Promise.resolve({\n data: 0,\n error: null\n }),\n params: {\n query,\n sort,\n project,\n skip,\n limit\n },\n isAggregation: false\n };\n }\n const sortDoc = parseJSON(sort);\n const projectDoc = parseJSON(project);\n const mongo = await getMongo();\n const client = mongo.getClient(params.server);\n const collection = client.db(params.database).collection(params.collection);\n if (Array.isArray(queryDoc)) {\n try {\n validateAggregationPipeline(queryDoc);\n } catch (err) {\n const validationError = `Invalid aggregation pipeline: ${err instanceof Error ? err.message : String(err)}`;\n return {\n results: Promise.resolve({\n data: [],\n error: validationError\n }),\n count: Promise.resolve({\n data: 0,\n error: null\n }),\n params: {\n query,\n sort,\n project,\n skip,\n limit\n },\n isAggregation: true\n };\n }\n const pipeline = JsonEncoder.decode(queryDoc);\n const resultsPromise2 = collection.aggregate(\n [\n ...pipeline,\n ...isEmptyObject(projectDoc) ? [] : [{ $project: projectDoc }],\n ...isEmptyObject(sortDoc) ? [] : [{ $sort: sortDoc }],\n { $limit: limit },\n { $skip: skip }\n ],\n {\n maxTimeMS: mongo.getQueryTimeout()\n }\n ).map((obj) => JsonEncoder.encode(obj)).toArray().then((results) => ({\n data: results,\n error: null\n })).catch((err) => {\n console.error(\"Error executing aggregation:\", err);\n return {\n data: [],\n error: `Failed to execute aggregation: ${err instanceof Error ? err.message : String(err)}`\n };\n });\n const countPromise2 = collection.aggregate([...pipeline, { $count: \"count\" }], { maxTimeMS: mongo.getCountTimeout() }).next().then((result) => ({\n data: result?.count ?? 0,\n error: null\n })).catch((err) => {\n console.error(\"Error counting documents:\", err);\n return {\n data: 0,\n error: `Failed to count documents: ${err instanceof Error ? err.message : String(err)}`\n };\n });\n return {\n results: resultsPromise2,\n count: countPromise2,\n params: {\n query,\n sort,\n project,\n skip,\n limit\n },\n isAggregation: true\n };\n }\n const resultsPromise = collection.find(JsonEncoder.decode(queryDoc), { maxTimeMS: mongo.getQueryTimeout() }).project(projectDoc).sort(JsonEncoder.decode(sortDoc)).limit(limit).skip(skip).map((obj) => JsonEncoder.encode(obj)).toArray().then((results) => ({\n data: results,\n error: null\n })).catch((err) => {\n console.error(\"Error fetching query results:\", err);\n return {\n data: [],\n error: `Failed to fetch query results: ${err instanceof Error ? err.message : String(err)}`\n };\n });\n const countPromise = (async () => {\n try {\n if (queryDoc && Object.keys(queryDoc).length > 0) {\n return {\n data: await collection.countDocuments(JsonEncoder.decode(queryDoc), {\n maxTimeMS: mongo.getCountTimeout()\n }),\n error: null\n };\n } else {\n return {\n data: await collection.estimatedDocumentCount(),\n error: null\n };\n }\n } catch (err) {\n console.error(\"Error counting documents:\", err);\n return {\n data: 0,\n error: `Failed to count documents: ${err instanceof Error ? err.message : String(err)}`\n };\n }\n })();\n return {\n // Stream these promises to the client\n results: resultsPromise,\n count: countPromise,\n mappings: await client.getMappings(params.database, params.collection),\n params: {\n query,\n sort,\n project,\n skip,\n limit\n },\n isAggregation: false\n };\n};\nexport {\n load\n};\n","import * as universal from '../entries/pages/servers/_server_/databases/_database_/collections/_collection_/documents/_page.ts.js';\nimport * as server from '../entries/pages/servers/_server_/databases/_database_/collections/_collection_/documents/_page.server.ts.js';\n\nexport const index = 10;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/servers/_server_/databases/_database_/collections/_collection_/documents/_page.svelte.js')).default;\nexport { universal };\nexport const universal_id = \"src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.ts\";\nexport { server };\nexport const server_id = \"src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/10.BVQvX3m0.js\",\"_app/immutable/chunks/CsO4V9Pl.js\",\"_app/immutable/chunks/DDOxwa8G.js\",\"_app/immutable/chunks/BirzSxMb.js\",\"_app/immutable/chunks/7rjwS0Fa.js\",\"_app/immutable/chunks/CeUVbZ2h.js\",\"_app/immutable/chunks/CdQ4HxbR.js\",\"_app/immutable/chunks/DzIzGsAN.js\",\"_app/immutable/chunks/BtVcRw28.js\",\"_app/immutable/chunks/BNpv6iz_.js\",\"_app/immutable/chunks/BLDrwdCC.js\",\"_app/immutable/chunks/Dzn375RV.js\",\"_app/immutable/chunks/BsxVnnsB.js\",\"_app/immutable/chunks/DPilZ31q.js\",\"_app/immutable/chunks/myWOS8Ad.js\",\"_app/immutable/chunks/pwiEVMhR.js\",\"_app/immutable/chunks/zDi6mm3o.js\",\"_app/immutable/chunks/DD3Ma7mI.js\",\"_app/immutable/chunks/woTmcqT7.js\"];\nexport const stylesheets = [\"_app/immutable/assets/JsonValue.BEbzuWqZ.css\",\"_app/immutable/assets/Panel.B3aWupye.css\",\"_app/immutable/assets/10.59aTjJn9.css\"];\nexport const fonts = [];\n"],"names":["load"],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { J as JsonEncoder } from './JsonEncoder-jJ2OBaud.js';
2
+ import { g as getMongo } from './mongo-DMG2RTBR.js';
3
+ import { ObjectId } from 'mongodb';
4
+ import 'url';
5
+ import 'node:fs';
6
+ import 'node:os';
7
+ import 'node:path';
8
+
9
+ const load = async ({ params, parent }) => {
10
+ const mongo = await getMongo();
11
+ const client = mongo.getClient(params.server);
12
+ const collection = client.db(params.database).collection(params.collection);
13
+ let document = null;
14
+ const obj = await collection.findOne({
15
+ _id: /^[0-9a-fA-F]{24}$/.test(params.document) ? new ObjectId(params.document) : params.document
16
+ });
17
+ document = obj ? JsonEncoder.encode(obj) : null;
18
+ const parentData = await parent();
19
+ return {
20
+ document,
21
+ documentId: params.document,
22
+ mappings: await client.getMappings(params.database, params.collection),
23
+ readOnly: parentData.readOnly
24
+ };
25
+ };
26
+
27
+ var _page_server_ts = /*#__PURE__*/Object.freeze({
28
+ __proto__: null,
29
+ load: load
30
+ });
31
+
32
+ const index = 11;
33
+ let component_cache;
34
+ const component = async () => component_cache ??= (await import('./_page.svelte-mO3b8YSb.js')).default;
35
+ const server_id = "src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/[document]/+page.server.ts";
36
+ const imports = ["_app/immutable/nodes/11.Bxvf_-yk.js","_app/immutable/chunks/CsO4V9Pl.js","_app/immutable/chunks/DDOxwa8G.js","_app/immutable/chunks/BirzSxMb.js","_app/immutable/chunks/CeUVbZ2h.js","_app/immutable/chunks/BsxVnnsB.js","_app/immutable/chunks/DzIzGsAN.js","_app/immutable/chunks/DPilZ31q.js","_app/immutable/chunks/myWOS8Ad.js","_app/immutable/chunks/CdQ4HxbR.js","_app/immutable/chunks/BtVcRw28.js","_app/immutable/chunks/BNpv6iz_.js","_app/immutable/chunks/BLDrwdCC.js","_app/immutable/chunks/Dzn375RV.js","_app/immutable/chunks/pwiEVMhR.js","_app/immutable/chunks/zDi6mm3o.js","_app/immutable/chunks/DD3Ma7mI.js"];
37
+ const stylesheets = ["_app/immutable/assets/JsonValue.BEbzuWqZ.css","_app/immutable/assets/Panel.B3aWupye.css","_app/immutable/assets/11.CEtFGlZU.css"];
38
+ const fonts = [];
39
+
40
+ export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
41
+ //# sourceMappingURL=11-BmqLuLNb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"11-BmqLuLNb.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/servers/_server_/databases/_database_/collections/_collection_/documents/_document_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/11.js"],"sourcesContent":["import { J as JsonEncoder } from \"../../../../../../../../../../chunks/JsonEncoder.js\";\nimport { g as getMongo } from \"../../../../../../../../../../chunks/mongo.js\";\nimport { ObjectId } from \"mongodb\";\nconst load = async ({ params, parent }) => {\n const mongo = await getMongo();\n const client = mongo.getClient(params.server);\n const collection = client.db(params.database).collection(params.collection);\n let document = null;\n const obj = await collection.findOne({\n _id: /^[0-9a-fA-F]{24}$/.test(params.document) ? new ObjectId(params.document) : params.document\n });\n document = obj ? JsonEncoder.encode(obj) : null;\n const parentData = await parent();\n return {\n document,\n documentId: params.document,\n mappings: await client.getMappings(params.database, params.collection),\n readOnly: parentData.readOnly\n };\n};\nexport {\n load\n};\n","import * as server from '../entries/pages/servers/_server_/databases/_database_/collections/_collection_/documents/_document_/_page.server.ts.js';\n\nexport const index = 11;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/servers/_server_/databases/_database_/collections/_collection_/documents/_document_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/servers/[server]/databases/[database]/collections/[collection]/documents/[document]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/11.Bxvf_-yk.js\",\"_app/immutable/chunks/CsO4V9Pl.js\",\"_app/immutable/chunks/DDOxwa8G.js\",\"_app/immutable/chunks/BirzSxMb.js\",\"_app/immutable/chunks/CeUVbZ2h.js\",\"_app/immutable/chunks/BsxVnnsB.js\",\"_app/immutable/chunks/DzIzGsAN.js\",\"_app/immutable/chunks/DPilZ31q.js\",\"_app/immutable/chunks/myWOS8Ad.js\",\"_app/immutable/chunks/CdQ4HxbR.js\",\"_app/immutable/chunks/BtVcRw28.js\",\"_app/immutable/chunks/BNpv6iz_.js\",\"_app/immutable/chunks/BLDrwdCC.js\",\"_app/immutable/chunks/Dzn375RV.js\",\"_app/immutable/chunks/pwiEVMhR.js\",\"_app/immutable/chunks/zDi6mm3o.js\",\"_app/immutable/chunks/DD3Ma7mI.js\"];\nexport const stylesheets = [\"_app/immutable/assets/JsonValue.BEbzuWqZ.css\",\"_app/immutable/assets/Panel.B3aWupye.css\",\"_app/immutable/assets/11.CEtFGlZU.css\"];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;;;;AAGA,MAAM,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC3C,EAAE,MAAM,KAAK,GAAG,MAAM,QAAQ,EAAE;AAChC,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;AAC/C,EAAE,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,UAAU,CAAC;AAC7E,EAAE,IAAI,QAAQ,GAAG,IAAI;AACrB,EAAE,MAAM,GAAG,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;AACvC,IAAI,GAAG,EAAE,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;AAC5F,GAAG,CAAC;AACJ,EAAE,QAAQ,GAAG,GAAG,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI;AACjD,EAAE,MAAM,UAAU,GAAG,MAAM,MAAM,EAAE;AACnC,EAAE,OAAO;AACT,IAAI,QAAQ;AACZ,IAAI,UAAU,EAAE,MAAM,CAAC,QAAQ;AAC/B,IAAI,QAAQ,EAAE,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC;AAC1E,IAAI,QAAQ,EAAE,UAAU,CAAC;AACzB,GAAG;AACH,CAAC;;;;;;;ACjBW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAAsH,CAAC,EAAE;AAEpL,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,qCAAqC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AACjnB,MAAC,WAAW,GAAG,CAAC,8CAA8C,CAAC,0CAA0C,CAAC,uCAAuC;AACjJ,MAAC,KAAK,GAAG;;;;"}