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,678 @@
1
+ import { g as get_request_store, w as with_request_store } from './event-DVH-6ISX.js';
2
+ import './utils-kjxf7BZO.js';
3
+ import { c as create_remote_cache_key, s as stringify_remote_arg } from './shared-Buki-xt5.js';
4
+ import { e as error } from './index-Djsj11qr.js';
5
+ import { p as parseJSON, v as validateAggregationPipeline, i as isEmptyObject } from './jsonParser-CraFXJs8.js';
6
+ import { J as JsonEncoder } from './JsonEncoder-jJ2OBaud.js';
7
+ import { g as getMongo } from './mongo-DMG2RTBR.js';
8
+ import { ObjectId } from 'mongodb';
9
+ import { z } from 'zod';
10
+
11
+ /** @import { RemoteInfo } from 'types' */
12
+
13
+ /** @type {RemoteInfo['type'][]} */
14
+ const types = ['command', 'form', 'prerender', 'query', 'query_batch'];
15
+
16
+ /**
17
+ * @param {Record<string, any>} module
18
+ * @param {string} file
19
+ * @param {string} hash
20
+ */
21
+ function init_remote_functions(module, file, hash) {
22
+ if (module.default) {
23
+ throw new Error(
24
+ `Cannot export \`default\` from a remote module (${file}) — please use named exports instead`
25
+ );
26
+ }
27
+
28
+ for (const [name, fn] of Object.entries(module)) {
29
+ if (!types.includes(fn?.__?.type)) {
30
+ throw new Error(
31
+ `\`${name}\` exported from ${file} is invalid — all exports from this file must be remote functions`
32
+ );
33
+ }
34
+
35
+ fn.__.id = `${hash}/${name}`;
36
+ fn.__.name = name;
37
+ }
38
+ }
39
+
40
+ function create_validator(validate_or_fn, maybe_fn) {
41
+ if (!maybe_fn) {
42
+ return (arg) => {
43
+ if (arg !== void 0) {
44
+ error(400, "Bad Request");
45
+ }
46
+ };
47
+ }
48
+ if (validate_or_fn === "unchecked") {
49
+ return (arg) => arg;
50
+ }
51
+ if ("~standard" in validate_or_fn) {
52
+ return async (arg) => {
53
+ const { event, state } = get_request_store();
54
+ const validate = validate_or_fn["~standard"].validate;
55
+ const result = await validate(arg);
56
+ if (result.issues) {
57
+ error(
58
+ 400,
59
+ await state.handleValidationError({
60
+ issues: result.issues,
61
+ event
62
+ })
63
+ );
64
+ }
65
+ return result.value;
66
+ };
67
+ }
68
+ throw new Error(
69
+ 'Invalid validator passed to remote function. Expected "unchecked" or a Standard Schema (https://standardschema.dev)'
70
+ );
71
+ }
72
+ async function get_response(info, arg, state, get_result) {
73
+ await 0;
74
+ const cache = get_cache(info, state);
75
+ return cache[stringify_remote_arg(arg, state.transport)] ??= get_result();
76
+ }
77
+ async function run_remote_function(event, state, allow_cookies, arg, validate, fn) {
78
+ const store = {
79
+ event: {
80
+ ...event,
81
+ setHeaders: () => {
82
+ throw new Error("setHeaders is not allowed in remote functions");
83
+ },
84
+ cookies: {
85
+ ...event.cookies,
86
+ set: (name, value, opts) => {
87
+ if (!allow_cookies) {
88
+ throw new Error("Cannot set cookies in `query` or `prerender` functions");
89
+ }
90
+ if (opts.path && !opts.path.startsWith("/")) {
91
+ throw new Error("Cookies set in remote functions must have an absolute path");
92
+ }
93
+ return event.cookies.set(name, value, opts);
94
+ },
95
+ delete: (name, opts) => {
96
+ if (!allow_cookies) {
97
+ throw new Error("Cannot delete cookies in `query` or `prerender` functions");
98
+ }
99
+ if (opts.path && !opts.path.startsWith("/")) {
100
+ throw new Error("Cookies deleted in remote functions must have an absolute path");
101
+ }
102
+ return event.cookies.delete(name, opts);
103
+ }
104
+ }
105
+ },
106
+ state: {
107
+ ...state,
108
+ is_in_remote_function: true
109
+ }
110
+ };
111
+ const validated = await with_request_store(store, () => validate(arg));
112
+ return with_request_store(store, () => fn(validated));
113
+ }
114
+ function get_cache(info, state = get_request_store().state) {
115
+ let cache = state.remote_data?.get(info);
116
+ if (cache === void 0) {
117
+ cache = {};
118
+ (state.remote_data ??= /* @__PURE__ */ new Map()).set(info, cache);
119
+ }
120
+ return cache;
121
+ }
122
+ // @__NO_SIDE_EFFECTS__
123
+ function command(validate_or_fn, maybe_fn) {
124
+ const fn = maybe_fn ?? validate_or_fn;
125
+ const validate = create_validator(validate_or_fn, maybe_fn);
126
+ const __ = { type: "command", id: "", name: "" };
127
+ const wrapper = (arg) => {
128
+ const { event, state } = get_request_store();
129
+ if (state.is_endpoint_request) {
130
+ if (!["POST", "PUT", "PATCH", "DELETE"].includes(event.request.method)) {
131
+ throw new Error(
132
+ `Cannot call a command (\`${__.name}(${maybe_fn ? "..." : ""})\`) from a ${event.request.method} handler`
133
+ );
134
+ }
135
+ } else if (!event.isRemoteRequest) {
136
+ throw new Error(
137
+ `Cannot call a command (\`${__.name}(${maybe_fn ? "..." : ""})\`) during server-side rendering`
138
+ );
139
+ }
140
+ state.refreshes ??= {};
141
+ const promise = Promise.resolve(run_remote_function(event, state, true, arg, validate, fn));
142
+ promise.updates = () => {
143
+ throw new Error(`Cannot call '${__.name}(...).updates(...)' on the server`);
144
+ };
145
+ return (
146
+ /** @type {ReturnType<RemoteCommand<Input, Output>>} */
147
+ promise
148
+ );
149
+ };
150
+ Object.defineProperty(wrapper, "__", { value: __ });
151
+ Object.defineProperty(wrapper, "pending", {
152
+ get: () => 0
153
+ });
154
+ return wrapper;
155
+ }
156
+ // @__NO_SIDE_EFFECTS__
157
+ function query(validate_or_fn, maybe_fn) {
158
+ const fn = maybe_fn ?? validate_or_fn;
159
+ const validate = create_validator(validate_or_fn, maybe_fn);
160
+ const __ = { type: "query", id: "", name: "" };
161
+ const wrapper = (arg) => {
162
+ const { event, state } = get_request_store();
163
+ const promise = get_response(
164
+ __,
165
+ arg,
166
+ state,
167
+ () => run_remote_function(event, state, false, arg, validate, fn)
168
+ );
169
+ promise.catch(() => {
170
+ });
171
+ promise.set = (value) => {
172
+ const { state: state2 } = get_request_store();
173
+ const refreshes = state2.refreshes;
174
+ if (!refreshes) {
175
+ throw new Error(
176
+ `Cannot call set on query '${__.name}' because it is not executed in the context of a command/form remote function`
177
+ );
178
+ }
179
+ if (__.id) {
180
+ const cache = get_cache(__, state2);
181
+ const key = stringify_remote_arg(arg, state2.transport);
182
+ refreshes[create_remote_cache_key(__.id, key)] = cache[key] = Promise.resolve(value);
183
+ }
184
+ };
185
+ promise.refresh = () => {
186
+ const { state: state2 } = get_request_store();
187
+ const refreshes = state2.refreshes;
188
+ if (!refreshes) {
189
+ throw new Error(
190
+ `Cannot call refresh on query '${__.name}' because it is not executed in the context of a command/form remote function`
191
+ );
192
+ }
193
+ const cache_key = create_remote_cache_key(__.id, stringify_remote_arg(arg, state2.transport));
194
+ refreshes[cache_key] = promise;
195
+ return promise.then(() => {
196
+ });
197
+ };
198
+ promise.withOverride = () => {
199
+ throw new Error(`Cannot call '${__.name}.withOverride()' on the server`);
200
+ };
201
+ return (
202
+ /** @type {RemoteQuery<Output>} */
203
+ promise
204
+ );
205
+ };
206
+ Object.defineProperty(wrapper, "__", { value: __ });
207
+ return wrapper;
208
+ }
209
+ // @__NO_SIDE_EFFECTS__
210
+ function batch(validate_or_fn, maybe_fn) {
211
+ const fn = maybe_fn ?? validate_or_fn;
212
+ const validate = create_validator(validate_or_fn, maybe_fn);
213
+ const __ = {
214
+ type: "query_batch",
215
+ id: "",
216
+ name: "",
217
+ run: (args) => {
218
+ const { event, state } = get_request_store();
219
+ return run_remote_function(
220
+ event,
221
+ state,
222
+ false,
223
+ args,
224
+ (array) => Promise.all(array.map(validate)),
225
+ fn
226
+ );
227
+ }
228
+ };
229
+ let batching = { args: [], resolvers: [] };
230
+ const wrapper = (arg) => {
231
+ const { event, state } = get_request_store();
232
+ const promise = get_response(__, arg, state, () => {
233
+ return new Promise((resolve, reject) => {
234
+ batching.args.push(arg);
235
+ batching.resolvers.push({ resolve, reject });
236
+ if (batching.args.length > 1) return;
237
+ setTimeout(async () => {
238
+ const batched = batching;
239
+ batching = { args: [], resolvers: [] };
240
+ try {
241
+ const get_result = await run_remote_function(
242
+ event,
243
+ state,
244
+ false,
245
+ batched.args,
246
+ (array) => Promise.all(array.map(validate)),
247
+ fn
248
+ );
249
+ for (let i = 0; i < batched.resolvers.length; i++) {
250
+ try {
251
+ batched.resolvers[i].resolve(get_result(batched.args[i], i));
252
+ } catch (error2) {
253
+ batched.resolvers[i].reject(error2);
254
+ }
255
+ }
256
+ } catch (error2) {
257
+ for (const resolver of batched.resolvers) {
258
+ resolver.reject(error2);
259
+ }
260
+ }
261
+ }, 0);
262
+ });
263
+ });
264
+ promise.catch(() => {
265
+ });
266
+ promise.refresh = async () => {
267
+ const { state: state2 } = get_request_store();
268
+ const refreshes = state2.refreshes;
269
+ if (!refreshes) {
270
+ throw new Error(
271
+ `Cannot call refresh on query.batch '${__.name}' because it is not executed in the context of a command/form remote function`
272
+ );
273
+ }
274
+ const cache_key = create_remote_cache_key(__.id, stringify_remote_arg(arg, state2.transport));
275
+ refreshes[cache_key] = await /** @type {Promise<any>} */
276
+ promise;
277
+ };
278
+ promise.withOverride = () => {
279
+ throw new Error(`Cannot call '${__.name}.withOverride()' on the server`);
280
+ };
281
+ return (
282
+ /** @type {RemoteQuery<Output>} */
283
+ promise
284
+ );
285
+ };
286
+ Object.defineProperty(wrapper, "__", { value: __ });
287
+ return wrapper;
288
+ }
289
+ Object.defineProperty(query, "batch", { value: batch, enumerable: true });
290
+
291
+ const m = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
292
+ __proto__: null,
293
+ get addServer() {
294
+ return addServer;
295
+ },
296
+ get deleteDocument() {
297
+ return deleteDocument;
298
+ },
299
+ get dropCollection() {
300
+ return dropCollection;
301
+ },
302
+ get dropIndex() {
303
+ return dropIndex;
304
+ },
305
+ get fetchMappedDocument() {
306
+ return fetchMappedDocument;
307
+ },
308
+ get hideIndex() {
309
+ return hideIndex;
310
+ },
311
+ get insertDocument() {
312
+ return insertDocument;
313
+ },
314
+ get loadDocuments() {
315
+ return loadDocuments;
316
+ },
317
+ get removeServer() {
318
+ return removeServer;
319
+ },
320
+ get retryConnection() {
321
+ return retryConnection;
322
+ },
323
+ get unhideIndex() {
324
+ return unhideIndex;
325
+ },
326
+ get updateDocument() {
327
+ return updateDocument;
328
+ },
329
+ get updateMany() {
330
+ return updateMany;
331
+ }
332
+ }, Symbol.toStringTag, { value: "Module" }));
333
+ function checkReadOnly() {
334
+ if (process.env.MONGOKU_READ_ONLY_MODE === "true") {
335
+ error(403, "Read-only mode is enabled");
336
+ }
337
+ }
338
+ const addServer = command(
339
+ z.object({
340
+ url: z.string()
341
+ }),
342
+ async ({ url }) => {
343
+ const mongo = await getMongo();
344
+ await mongo.addServer(url);
345
+ return { ok: true };
346
+ }
347
+ );
348
+ const removeServer = command(z.string(), async (serverName) => {
349
+ const mongo = await getMongo();
350
+ await mongo.removeServer(serverName);
351
+ return { ok: true };
352
+ });
353
+ const updateDocument = command(
354
+ z.object({
355
+ server: z.string(),
356
+ database: z.string(),
357
+ collection: z.string(),
358
+ document: z.string(),
359
+ value: z.unknown(),
360
+ partial: z.boolean().optional().default(false),
361
+ upsert: z.boolean().optional().default(false)
362
+ }),
363
+ async ({ server, database, collection, document, value, partial, upsert }) => {
364
+ checkReadOnly();
365
+ const mongo = await getMongo();
366
+ const client = mongo.getClient(server);
367
+ const coll = client.db(database).collection(collection);
368
+ const newValue = JsonEncoder.decode(value);
369
+ const _id = /^[0-9a-fA-F]{24}$/.test(document) ? new ObjectId(document) : document;
370
+ if (partial) {
371
+ await coll.updateOne(
372
+ {
373
+ _id
374
+ },
375
+ { $set: newValue },
376
+ { upsert }
377
+ );
378
+ } else {
379
+ await coll.replaceOne(
380
+ {
381
+ _id
382
+ },
383
+ JsonEncoder.decode(newValue),
384
+ { upsert }
385
+ );
386
+ }
387
+ if (collection === "mongoku.mappings") {
388
+ client.clearMappingsCache(database, document);
389
+ }
390
+ return {
391
+ ok: true,
392
+ update: JsonEncoder.encode(newValue)
393
+ };
394
+ }
395
+ );
396
+ const insertDocument = command(
397
+ z.object({
398
+ server: z.string(),
399
+ database: z.string(),
400
+ collection: z.string(),
401
+ document: z.string(),
402
+ value: z.unknown()
403
+ }),
404
+ async ({ server, database, collection, document, value }) => {
405
+ checkReadOnly();
406
+ const mongo = await getMongo();
407
+ const client = mongo.getClient(server);
408
+ const coll = client.db(database).collection(collection);
409
+ const newValue = JsonEncoder.decode(value);
410
+ const _id = /^[0-9a-fA-F]{24}$/.test(document) ? new ObjectId(document) : document;
411
+ newValue._id = _id;
412
+ await coll.insertOne(newValue);
413
+ if (collection === "mongoku.mappings") {
414
+ client.clearMappingsCache(database, document);
415
+ }
416
+ return {
417
+ ok: true,
418
+ insert: JsonEncoder.encode(newValue)
419
+ };
420
+ }
421
+ );
422
+ const deleteDocument = command(
423
+ z.object({
424
+ server: z.string(),
425
+ database: z.string(),
426
+ collection: z.string(),
427
+ document: z.string()
428
+ }),
429
+ async ({ server, database, collection, document }) => {
430
+ checkReadOnly();
431
+ const mongo = await getMongo();
432
+ const client = mongo.getClient(server);
433
+ await client.db(database).collection(collection).deleteOne({
434
+ _id: new ObjectId(document)
435
+ });
436
+ if (collection === "mongoku.mappings") {
437
+ client.clearMappingsCache(database, document);
438
+ }
439
+ return {
440
+ ok: true
441
+ };
442
+ }
443
+ );
444
+ const updateMany = command(
445
+ z.object({
446
+ server: z.string(),
447
+ database: z.string(),
448
+ collection: z.string(),
449
+ filter: z.string(),
450
+ update: z.string()
451
+ }),
452
+ async ({ server, database, collection, filter, update }) => {
453
+ checkReadOnly();
454
+ const mongo = await getMongo();
455
+ const client = mongo.getClient(server);
456
+ const coll = client.db(database).collection(collection);
457
+ const filterDoc = JsonEncoder.decode(parseJSON(filter));
458
+ const updateDoc = JsonEncoder.decode(parseJSON(update));
459
+ const result = await coll.updateMany(filterDoc, updateDoc);
460
+ return {
461
+ ok: true,
462
+ matchedCount: result.matchedCount,
463
+ modifiedCount: result.modifiedCount
464
+ };
465
+ }
466
+ );
467
+ const hideIndex = command(
468
+ z.object({
469
+ server: z.string(),
470
+ database: z.string(),
471
+ collection: z.string(),
472
+ index: z.string()
473
+ }),
474
+ async ({ server, database, collection, index }) => {
475
+ checkReadOnly();
476
+ const mongo = await getMongo();
477
+ const client = mongo.getClient(server);
478
+ await client.db(database).command({
479
+ collMod: collection,
480
+ index: {
481
+ name: index,
482
+ hidden: true
483
+ }
484
+ });
485
+ return {
486
+ ok: true
487
+ };
488
+ }
489
+ );
490
+ const unhideIndex = command(
491
+ z.object({
492
+ server: z.string(),
493
+ database: z.string(),
494
+ collection: z.string(),
495
+ index: z.string()
496
+ }),
497
+ async ({ server, database, collection, index }) => {
498
+ checkReadOnly();
499
+ const mongo = await getMongo();
500
+ const client = mongo.getClient(server);
501
+ await client.db(database).command({
502
+ collMod: collection,
503
+ index: {
504
+ name: index,
505
+ hidden: false
506
+ }
507
+ });
508
+ return {
509
+ ok: true
510
+ };
511
+ }
512
+ );
513
+ const dropIndex = command(
514
+ z.object({
515
+ server: z.string(),
516
+ database: z.string(),
517
+ collection: z.string(),
518
+ index: z.string()
519
+ }),
520
+ async ({ server, database, collection, index }) => {
521
+ checkReadOnly();
522
+ const mongo = await getMongo();
523
+ const client = mongo.getClient(server);
524
+ await client.db(database).command({
525
+ dropIndexes: collection,
526
+ index
527
+ });
528
+ return {
529
+ ok: true
530
+ };
531
+ }
532
+ );
533
+ const dropCollection = command(
534
+ z.object({
535
+ server: z.string(),
536
+ database: z.string(),
537
+ collection: z.string()
538
+ }),
539
+ async ({ server, database, collection }) => {
540
+ checkReadOnly();
541
+ const mongo = await getMongo();
542
+ const client = mongo.getClient(server);
543
+ const db = client.db(database);
544
+ await db.dropCollection(collection);
545
+ return {
546
+ ok: true
547
+ };
548
+ }
549
+ );
550
+ const retryConnection = command(z.string(), async (serverName) => {
551
+ const mongo = await getMongo();
552
+ await mongo.reconnectClient(serverName);
553
+ return { ok: true };
554
+ });
555
+ const loadDocuments = query(
556
+ z.object({
557
+ server: z.string(),
558
+ database: z.string(),
559
+ collection: z.string(),
560
+ query: z.string().default("{}"),
561
+ sort: z.string().default("{}"),
562
+ project: z.string().default("{}"),
563
+ skip: z.number().int().default(0),
564
+ limit: z.number().int().default(20)
565
+ }),
566
+ async ({ server, database, collection, query: queryStr, sort, project, skip, limit }) => {
567
+ let queryDoc;
568
+ try {
569
+ queryDoc = parseJSON(queryStr, { allowArray: true });
570
+ } catch (err) {
571
+ error(400, `Invalid query: ${err}`);
572
+ }
573
+ try {
574
+ parseJSON(sort);
575
+ } catch (err) {
576
+ error(400, `Invalid sort: ${err}`);
577
+ }
578
+ try {
579
+ parseJSON(project);
580
+ } catch (err) {
581
+ error(400, `Invalid project: ${err}`);
582
+ }
583
+ const sortDoc = parseJSON(sort);
584
+ const projectDoc = parseJSON(project);
585
+ const mongo = await getMongo();
586
+ const client = mongo.getClient(server);
587
+ const coll = client.db(database).collection(collection);
588
+ if (Array.isArray(queryDoc)) {
589
+ try {
590
+ validateAggregationPipeline(queryDoc);
591
+ } catch (err) {
592
+ error(400, `Invalid aggregation pipeline: ${err instanceof Error ? err.message : String(err)}`);
593
+ }
594
+ const pipeline = JsonEncoder.decode(queryDoc);
595
+ try {
596
+ const results = await coll.aggregate(
597
+ [
598
+ ...pipeline,
599
+ ...isEmptyObject(projectDoc) ? [] : [{ $project: projectDoc }],
600
+ ...isEmptyObject(sortDoc) ? [] : [{ $sort: sortDoc }],
601
+ { $limit: limit },
602
+ { $skip: skip }
603
+ ],
604
+ {
605
+ maxTimeMS: mongo.getQueryTimeout()
606
+ }
607
+ ).map((obj) => JsonEncoder.encode(obj)).toArray();
608
+ return {
609
+ data: results,
610
+ error: null,
611
+ isAggregation: true
612
+ };
613
+ } catch (err) {
614
+ console.error("Error executing aggregation:", err);
615
+ error(500, `Failed to execute aggregation: ${err instanceof Error ? err.message : String(err)}`);
616
+ }
617
+ }
618
+ try {
619
+ const results = await coll.find(JsonEncoder.decode(queryDoc), { maxTimeMS: mongo.getQueryTimeout() }).project(projectDoc).sort(JsonEncoder.decode(sortDoc)).limit(limit).skip(skip).map((obj) => JsonEncoder.encode(obj)).toArray();
620
+ return {
621
+ data: results,
622
+ error: null,
623
+ isAggregation: false
624
+ };
625
+ } catch (err) {
626
+ console.error("Error fetching query results:", err);
627
+ error(500, `Failed to fetch query results: ${err instanceof Error ? err.message : String(err)}`);
628
+ }
629
+ }
630
+ );
631
+ const fetchMappedDocument = query(
632
+ z.object({
633
+ server: z.string(),
634
+ database: z.string(),
635
+ mappings: z.array(
636
+ z.object({
637
+ collection: z.string(),
638
+ on: z.string()
639
+ })
640
+ ),
641
+ value: z.unknown()
642
+ }),
643
+ async ({ server, database, mappings, value }) => {
644
+ const mongo = await getMongo();
645
+ const client = mongo.getClient(server);
646
+ const decodedValue = JsonEncoder.decode(value);
647
+ for (const mapping of mappings) {
648
+ try {
649
+ const coll = client.db(database).collection(mapping.collection);
650
+ const query2 = { [mapping.on]: decodedValue };
651
+ const document = await coll.findOne(query2, { maxTimeMS: mongo.getQueryTimeout() });
652
+ if (document) {
653
+ return {
654
+ data: JsonEncoder.encode(document),
655
+ collection: mapping.collection,
656
+ error: null
657
+ };
658
+ }
659
+ } catch (err) {
660
+ console.error(`Error fetching mapped document from ${mapping.collection}.${mapping.on}:`, err);
661
+ continue;
662
+ }
663
+ }
664
+ return {
665
+ data: null,
666
+ collection: null,
667
+ error: "Document not found in any mapped collection"
668
+ };
669
+ }
670
+ );
671
+ init_remote_functions(m, "src/api/servers.remote.ts", "xxtqbu");
672
+ for (const [name, fn] of Object.entries(m)) {
673
+ fn.__.id = "xxtqbu/" + name;
674
+ fn.__.name = name;
675
+ }
676
+
677
+ export { deleteDocument as d, fetchMappedDocument as f, m, updateDocument as u };
678
+ //# sourceMappingURL=servers.remote-DKhy8wTJ.js.map