@selvajs/selva 4.5.0 → 4.5.1
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.
- package/build/client/_app/immutable/chunks/{DuHtWI31.js → BYBRW46Q.js} +1 -1
- package/build/client/_app/immutable/chunks/BYBRW46Q.js.br +0 -0
- package/build/client/_app/immutable/chunks/BYBRW46Q.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DsuMOTav.js → BfWZCn9D.js} +2 -2
- package/build/client/_app/immutable/chunks/BfWZCn9D.js.br +0 -0
- package/build/client/_app/immutable/chunks/BfWZCn9D.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{DnURu9OT.js → BoelBenK.js} +1 -1
- package/build/client/_app/immutable/chunks/BoelBenK.js.br +0 -0
- package/build/client/_app/immutable/chunks/BoelBenK.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{D_C_YIH8.js → BuvUOrz-.js} +1 -1
- package/build/client/_app/immutable/chunks/BuvUOrz-.js.br +0 -0
- package/build/client/_app/immutable/chunks/BuvUOrz-.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{Dtx1M6QG.js → CQjJB6sZ.js} +1 -1
- package/build/client/_app/immutable/chunks/CQjJB6sZ.js.br +0 -0
- package/build/client/_app/immutable/chunks/CQjJB6sZ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{U_alzAUv.js → jJihnyaB.js} +1 -1
- package/build/client/_app/immutable/chunks/jJihnyaB.js.br +0 -0
- package/build/client/_app/immutable/chunks/jJihnyaB.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.DXOixdTQ.js → app.CUlU8Xgx.js} +2 -2
- package/build/client/_app/immutable/entry/app.CUlU8Xgx.js.br +0 -0
- package/build/client/_app/immutable/entry/app.CUlU8Xgx.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.yXH7NuOH.js +1 -0
- package/build/client/_app/immutable/entry/start.yXH7NuOH.js.br +2 -0
- package/build/client/_app/immutable/entry/start.yXH7NuOH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.Cgpx1yHy.js → 1.ntriGXw3.js} +1 -1
- package/build/client/_app/immutable/nodes/1.ntriGXw3.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.ntriGXw3.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.BBxGjNus.js +4 -0
- package/build/client/_app/immutable/nodes/11.BBxGjNus.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.BBxGjNus.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{13.ByWkldPP.js → 13.BOOSKgNQ.js} +1 -1
- package/build/client/_app/immutable/nodes/13.BOOSKgNQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.BOOSKgNQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{14.87fRSA-Y.js → 14.st6sThI5.js} +1 -1
- package/build/client/_app/immutable/nodes/14.st6sThI5.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.st6sThI5.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{16.DWG3CLUv.js → 16.fAXfHZXp.js} +1 -1
- package/build/client/_app/immutable/nodes/16.fAXfHZXp.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.fAXfHZXp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{17.CgiETa37.js → 17.BL_btSTd.js} +1 -1
- package/build/client/_app/immutable/nodes/17.BL_btSTd.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.BL_btSTd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{19.DO2ja5iW.js → 19.D4mkSjY9.js} +1 -1
- package/build/client/_app/immutable/nodes/19.D4mkSjY9.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.D4mkSjY9.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{2.DIAYMP4_.js → 2.CNkzjKpD.js} +1 -1
- package/build/client/_app/immutable/nodes/2.CNkzjKpD.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CNkzjKpD.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{20.DYgQYcr-.js → 20.93bCfNGI.js} +188 -188
- package/build/client/_app/immutable/nodes/20.93bCfNGI.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.93bCfNGI.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{21.CTwryTPC.js → 21.ClzCdrlw.js} +1 -1
- package/build/client/_app/immutable/nodes/21.ClzCdrlw.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.ClzCdrlw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{23.uUN6jlSq.js → 23.DJerRiZ2.js} +1 -1
- package/build/client/_app/immutable/nodes/23.DJerRiZ2.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.DJerRiZ2.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{24.cDDvPQLh.js → 24.DOHyLmBO.js} +1 -1
- package/build/client/_app/immutable/nodes/24.DOHyLmBO.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.DOHyLmBO.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{27.lHQ_8tDM.js → 27.CkzNBFns.js} +1 -1
- package/build/client/_app/immutable/nodes/27.CkzNBFns.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.CkzNBFns.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{28.DZO_WZjq.js → 28.BGNl-6WV.js} +1 -1
- package/build/client/_app/immutable/nodes/28.BGNl-6WV.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.BGNl-6WV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{29.BBkvtbbm.js → 29.BF0JasWQ.js} +1 -1
- package/build/client/_app/immutable/nodes/29.BF0JasWQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.BF0JasWQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.Clu5JbAY.js → 3.BLNJLcvR.js} +1 -1
- package/build/client/_app/immutable/nodes/3.BLNJLcvR.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.BLNJLcvR.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{30.CunrYTKW.js → 30.C33KvKLy.js} +1 -1
- package/build/client/_app/immutable/nodes/30.C33KvKLy.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.C33KvKLy.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{5.CwEyn2eq.js → 5.DcViAFBY.js} +1 -1
- package/build/client/_app/immutable/nodes/5.DcViAFBY.js.br +1 -0
- package/build/client/_app/immutable/nodes/5.DcViAFBY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{6.Cybg-4zL.js → 6.Jpw_unqM.js} +1 -1
- package/build/client/_app/immutable/nodes/6.Jpw_unqM.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Jpw_unqM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.U-nwvAMy.js → 7.DI4lv1qr.js} +1 -1
- package/build/client/_app/immutable/nodes/7.DI4lv1qr.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.DI4lv1qr.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{8.Ds78IC3h.js → 8.BJeZ3Zka.js} +1 -1
- package/build/client/_app/immutable/nodes/8.BJeZ3Zka.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.BJeZ3Zka.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{9.B4Dh5-cJ.js → 9.BS42pKml.js} +1 -1
- package/build/client/_app/immutable/nodes/9.BS42pKml.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.BS42pKml.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{1-B3qAsEuf.js → 1-CCtIB9oC.js} +2 -2
- package/build/server/chunks/{1-B3qAsEuf.js.map → 1-CCtIB9oC.js.map} +1 -1
- package/build/server/chunks/{10-YMBFU3cy.js → 10-Cj20BodR.js} +3 -3
- package/build/server/chunks/{10-YMBFU3cy.js.map → 10-Cj20BodR.js.map} +1 -1
- package/build/server/chunks/{11-DEH3nbKm.js → 11-C-goGrGx.js} +5 -5
- package/build/server/chunks/{11-DEH3nbKm.js.map → 11-C-goGrGx.js.map} +1 -1
- package/build/server/chunks/{13-D_djeolg.js → 13-DN-4EHom.js} +2 -2
- package/build/server/chunks/{13-D_djeolg.js.map → 13-DN-4EHom.js.map} +1 -1
- package/build/server/chunks/{14-B1A-3AIw.js → 14-j22gtg6q.js} +2 -2
- package/build/server/chunks/{14-B1A-3AIw.js.map → 14-j22gtg6q.js.map} +1 -1
- package/build/server/chunks/{15-KF7YQWQR.js → 15-CJJTHKeq.js} +2 -2
- package/build/server/chunks/{15-KF7YQWQR.js.map → 15-CJJTHKeq.js.map} +1 -1
- package/build/server/chunks/{16-27Ug2Gl4.js → 16-CPVRxJfK.js} +4 -4
- package/build/server/chunks/{16-27Ug2Gl4.js.map → 16-CPVRxJfK.js.map} +1 -1
- package/build/server/chunks/{17-B9EWzdfY.js → 17-CEs6NSIj.js} +2 -2
- package/build/server/chunks/{17-B9EWzdfY.js.map → 17-CEs6NSIj.js.map} +1 -1
- package/build/server/chunks/{19-DFpWVk9Q.js → 19-BK_uDFHq.js} +3 -3
- package/build/server/chunks/{19-DFpWVk9Q.js.map → 19-BK_uDFHq.js.map} +1 -1
- package/build/server/chunks/{2-psSdZh8h.js → 2-BBFUEdIk.js} +5 -5
- package/build/server/chunks/{2-psSdZh8h.js.map → 2-BBFUEdIk.js.map} +1 -1
- package/build/server/chunks/{20-B3RVyzHq.js → 20-TgvBHCqT.js} +7 -7
- package/build/server/chunks/{20-B3RVyzHq.js.map → 20-TgvBHCqT.js.map} +1 -1
- package/build/server/chunks/{21-DjJlF-s8.js → 21-CpVgaOZP.js} +2 -2
- package/build/server/chunks/{21-DjJlF-s8.js.map → 21-CpVgaOZP.js.map} +1 -1
- package/build/server/chunks/{23-Cv-iXsup.js → 23-DpZ-VAmj.js} +4 -4
- package/build/server/chunks/{23-Cv-iXsup.js.map → 23-DpZ-VAmj.js.map} +1 -1
- package/build/server/chunks/{24-C9N_eRrr.js → 24-IG8oF3LR.js} +2 -2
- package/build/server/chunks/{24-C9N_eRrr.js.map → 24-IG8oF3LR.js.map} +1 -1
- package/build/server/chunks/{27-HUwDEbMb.js → 27-BNuVmBlC.js} +2 -2
- package/build/server/chunks/{27-HUwDEbMb.js.map → 27-BNuVmBlC.js.map} +1 -1
- package/build/server/chunks/{28-l4BuMkhA.js → 28-O2gMewvR.js} +2 -2
- package/build/server/chunks/{28-l4BuMkhA.js.map → 28-O2gMewvR.js.map} +1 -1
- package/build/server/chunks/{29-DefkuWIf.js → 29-DeHI_lg6.js} +2 -2
- package/build/server/chunks/{29-DefkuWIf.js.map → 29-DeHI_lg6.js.map} +1 -1
- package/build/server/chunks/{3-FhxHeIS3.js → 3-_z4ofaYa.js} +2 -2
- package/build/server/chunks/{3-FhxHeIS3.js.map → 3-_z4ofaYa.js.map} +1 -1
- package/build/server/chunks/{30-BC7V7mS7.js → 30-B8zrsGBW.js} +2 -2
- package/build/server/chunks/{30-BC7V7mS7.js.map → 30-B8zrsGBW.js.map} +1 -1
- package/build/server/chunks/{5-BSabZ7B0.js → 5-jUoewty6.js} +3 -3
- package/build/server/chunks/{5-BSabZ7B0.js.map → 5-jUoewty6.js.map} +1 -1
- package/build/server/chunks/{6-BDAMjeLc.js → 6-Da49O-RB.js} +3 -3
- package/build/server/chunks/{6-BDAMjeLc.js.map → 6-Da49O-RB.js.map} +1 -1
- package/build/server/chunks/{7-C5uuYI8Y.js → 7-C4TEFQmD.js} +3 -3
- package/build/server/chunks/{7-C5uuYI8Y.js.map → 7-C4TEFQmD.js.map} +1 -1
- package/build/server/chunks/{8-Yg3bHJY8.js → 8-6Lblm8Bu.js} +2 -2
- package/build/server/chunks/{8-Yg3bHJY8.js.map → 8-6Lblm8Bu.js.map} +1 -1
- package/build/server/chunks/{9-BOWShy6C.js → 9-bV3k1piX.js} +3 -3
- package/build/server/chunks/{9-BOWShy6C.js.map → 9-bV3k1piX.js.map} +1 -1
- package/build/server/chunks/{AppHeader-vae2Doza.js → AppHeader-C76PLheq.js} +2 -2
- package/build/server/chunks/{AppHeader-vae2Doza.js.map → AppHeader-C76PLheq.js.map} +1 -1
- package/build/server/chunks/{UserChip-BPLEgzMp.js → UserChip-i0_3jHOb.js} +8 -3
- package/build/server/chunks/UserChip-i0_3jHOb.js.map +1 -0
- package/build/server/chunks/{_layout.svelte-D5GiNGr6.js → _layout.svelte-B-tWsdy4.js} +3 -3
- package/build/server/chunks/{_layout.svelte-D5GiNGr6.js.map → _layout.svelte-B-tWsdy4.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-_enyp5QE.js → _layout.svelte-B2RbgABg.js} +3 -3
- package/build/server/chunks/{_layout.svelte-_enyp5QE.js.map → _layout.svelte-B2RbgABg.js.map} +1 -1
- package/build/server/chunks/{_layout.svelte-aflz8r6I.js → _layout.svelte-DUeER8oS.js} +3 -3
- package/build/server/chunks/{_layout.svelte-aflz8r6I.js.map → _layout.svelte-DUeER8oS.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-By_vYfbZ.js → _page.svelte-0KErHswo.js} +94 -4
- package/build/server/chunks/_page.svelte-0KErHswo.js.map +1 -0
- package/build/server/chunks/{_page.svelte-ZxjqrKH8.js → _page.svelte-BSHEM3UY.js} +3 -3
- package/build/server/chunks/{_page.svelte-ZxjqrKH8.js.map → _page.svelte-BSHEM3UY.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-FDFRMnmB.js → _page.svelte-CDEfhXLp.js} +3 -3
- package/build/server/chunks/{_page.svelte-FDFRMnmB.js.map → _page.svelte-CDEfhXLp.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-BDLD6pXj.js → _page.svelte-DDzV91b5.js} +124 -12
- package/build/server/chunks/{_page.svelte-BDLD6pXj.js.map → _page.svelte-DDzV91b5.js.map} +1 -1
- package/build/server/chunks/{_server.ts-DamGRKop.js → _server.ts-3LBSaM7L.js} +24 -12
- package/build/server/chunks/_server.ts-3LBSaM7L.js.map +1 -0
- package/build/server/chunks/{_server.ts-DRlwVsIx.js → _server.ts-B-un1ZTf.js} +3 -3
- package/build/server/chunks/{_server.ts-DRlwVsIx.js.map → _server.ts-B-un1ZTf.js.map} +1 -1
- package/build/server/chunks/{_server.ts-CF65FKS6.js → _server.ts-B6gtWjZd.js} +7 -7
- package/build/server/chunks/_server.ts-B6gtWjZd.js.map +1 -0
- package/build/server/chunks/{_server.ts-CMHRHdCD.js → _server.ts-B9Fdut8P.js} +14 -10
- package/build/server/chunks/_server.ts-B9Fdut8P.js.map +1 -0
- package/build/server/chunks/{_server.ts-kTCuqLDl.js → _server.ts-BJEEQ8tH.js} +15 -11
- package/build/server/chunks/_server.ts-BJEEQ8tH.js.map +1 -0
- package/build/server/chunks/{_server.ts-Ca_OJJFC.js → _server.ts-BKPaoj3Y.js} +14 -9
- package/build/server/chunks/_server.ts-BKPaoj3Y.js.map +1 -0
- package/build/server/chunks/{_server.ts-kbr9HYg5.js → _server.ts-BVpHuRup.js} +8 -8
- package/build/server/chunks/_server.ts-BVpHuRup.js.map +1 -0
- package/build/server/chunks/{_server.ts-DzA4EZf_.js → _server.ts-BplW_hNF.js} +7 -7
- package/build/server/chunks/_server.ts-BplW_hNF.js.map +1 -0
- package/build/server/chunks/{_server.ts-d6YTPmkY.js → _server.ts-Bv-G75Ze.js} +7 -7
- package/build/server/chunks/_server.ts-Bv-G75Ze.js.map +1 -0
- package/build/server/chunks/{_server.ts-DethCmgs.js → _server.ts-C5fD6gFa.js} +10 -10
- package/build/server/chunks/_server.ts-C5fD6gFa.js.map +1 -0
- package/build/server/chunks/{_server.ts-Cg6LtEov.js → _server.ts-C6rUlJpJ.js} +13 -6
- package/build/server/chunks/_server.ts-C6rUlJpJ.js.map +1 -0
- package/build/server/chunks/_server.ts-CLku3Kgz.js +66 -0
- package/build/server/chunks/_server.ts-CLku3Kgz.js.map +1 -0
- package/build/server/chunks/{_server.ts-AtxnIvMI.js → _server.ts-CNRwBoMm.js} +3 -3
- package/build/server/chunks/{_server.ts-AtxnIvMI.js.map → _server.ts-CNRwBoMm.js.map} +1 -1
- package/build/server/chunks/{_server.ts-BgVWq0qd.js → _server.ts-COuXITb8.js} +10 -10
- package/build/server/chunks/_server.ts-COuXITb8.js.map +1 -0
- package/build/server/chunks/{_server.ts-BZH3tqYX.js → _server.ts-CT1KXbVK.js} +34 -22
- package/build/server/chunks/_server.ts-CT1KXbVK.js.map +1 -0
- package/build/server/chunks/{_server.ts-Dz4bsmph.js → _server.ts-CTXCbdsb.js} +10 -9
- package/build/server/chunks/_server.ts-CTXCbdsb.js.map +1 -0
- package/build/server/chunks/{_server.ts-BQetLy9N.js → _server.ts-CXEl8kvu.js} +14 -13
- package/build/server/chunks/_server.ts-CXEl8kvu.js.map +1 -0
- package/build/server/chunks/{_server.ts-BmjNVAmP.js → _server.ts-CZ9lwb1J.js} +5 -5
- package/build/server/chunks/_server.ts-CZ9lwb1J.js.map +1 -0
- package/build/server/chunks/{_server.ts-Oi8Qzh0h.js → _server.ts-CaytsdFp.js} +7 -7
- package/build/server/chunks/_server.ts-CaytsdFp.js.map +1 -0
- package/build/server/chunks/{_server.ts-6F3Ly0cY.js → _server.ts-Cd6dVQ2J.js} +17 -9
- package/build/server/chunks/_server.ts-Cd6dVQ2J.js.map +1 -0
- package/build/server/chunks/{_server.ts-cHSphefi.js → _server.ts-CgRuMyJ9.js} +8 -8
- package/build/server/chunks/_server.ts-CgRuMyJ9.js.map +1 -0
- package/build/server/chunks/{_server.ts-PKbOblCf.js → _server.ts-CmCeYB9h.js} +25 -15
- package/build/server/chunks/_server.ts-CmCeYB9h.js.map +1 -0
- package/build/server/chunks/{_server.ts-13_Xvown.js → _server.ts-Codg_zX0.js} +8 -7
- package/build/server/chunks/_server.ts-Codg_zX0.js.map +1 -0
- package/build/server/chunks/{_server.ts-DW-Oh4l9.js → _server.ts-D-WjMJlD.js} +10 -6
- package/build/server/chunks/_server.ts-D-WjMJlD.js.map +1 -0
- package/build/server/chunks/{_server.ts-Bke_K04J.js → _server.ts-D4z7bYT1.js} +23 -10
- package/build/server/chunks/_server.ts-D4z7bYT1.js.map +1 -0
- package/build/server/chunks/{_server.ts-L9PpKy16.js → _server.ts-D7URpGBv.js} +13 -9
- package/build/server/chunks/_server.ts-D7URpGBv.js.map +1 -0
- package/build/server/chunks/{_server.ts-D2Qb9pui.js → _server.ts-DMwrtYEK.js} +13 -13
- package/build/server/chunks/_server.ts-DMwrtYEK.js.map +1 -0
- package/build/server/chunks/{_server.ts-B9uegfmw.js → _server.ts-DSVtVVVK.js} +16 -10
- package/build/server/chunks/_server.ts-DSVtVVVK.js.map +1 -0
- package/build/server/chunks/{_server.ts-Be15h83H.js → _server.ts-Df72lBuz.js} +23 -14
- package/build/server/chunks/_server.ts-Df72lBuz.js.map +1 -0
- package/build/server/chunks/{_server.ts-BlVwuKrl.js → _server.ts-DsXq-KLm.js} +25 -16
- package/build/server/chunks/_server.ts-DsXq-KLm.js.map +1 -0
- package/build/server/chunks/{_server.ts-DEBzt_W2.js → _server.ts-OQ5_sYi3.js} +30 -17
- package/build/server/chunks/_server.ts-OQ5_sYi3.js.map +1 -0
- package/build/server/chunks/{_server.ts-XAkApigL.js → _server.ts-UYOqhuxS.js} +11 -7
- package/build/server/chunks/_server.ts-UYOqhuxS.js.map +1 -0
- package/build/server/chunks/{_server.ts-DVOhTvBf.js → _server.ts-Xt4gRfAl.js} +15 -9
- package/build/server/chunks/_server.ts-Xt4gRfAl.js.map +1 -0
- package/build/server/chunks/{_server.ts-CpsGzKQC.js → _server.ts-ZtjukIa0.js} +15 -12
- package/build/server/chunks/_server.ts-ZtjukIa0.js.map +1 -0
- package/build/server/chunks/_server.ts-bR98vjY2.js +47 -0
- package/build/server/chunks/_server.ts-bR98vjY2.js.map +1 -0
- package/build/server/chunks/{_server.ts-Cg1WgIQn.js → _server.ts-deI69oUs.js} +7 -7
- package/build/server/chunks/_server.ts-deI69oUs.js.map +1 -0
- package/build/server/chunks/{_server.ts-bhjqtBoy.js → _server.ts-fxzTH5KH.js} +6 -6
- package/build/server/chunks/_server.ts-fxzTH5KH.js.map +1 -0
- package/build/server/chunks/{_server.ts-DvBucq0r.js → _server.ts-mFb6RwID.js} +6 -6
- package/build/server/chunks/_server.ts-mFb6RwID.js.map +1 -0
- package/build/server/chunks/{_server.ts-Cc-srcRk.js → _server.ts-sdl64bpd.js} +10 -7
- package/build/server/chunks/_server.ts-sdl64bpd.js.map +1 -0
- package/build/server/chunks/{access.server-CAPd1-c2.js → access.server-Rd56k7vs.js} +2 -2
- package/build/server/chunks/{access.server-CAPd1-c2.js.map → access.server-Rd56k7vs.js.map} +1 -1
- package/build/server/chunks/{api-errors-BhVEeWTV.js → api-errors-BrqxD-El.js} +52 -13
- package/build/server/chunks/api-errors-BrqxD-El.js.map +1 -0
- package/build/server/chunks/{computeLimits-DPO6NbLd.js → computeLimits-DnJ77wR9.js} +3 -3
- package/build/server/chunks/computeLimits-DnJ77wR9.js.map +1 -0
- package/build/server/chunks/{hooks.server-BEbVZKxO.js → hooks.server-BZKLAgww.js} +7 -6
- package/build/server/chunks/hooks.server-BZKLAgww.js.map +1 -0
- package/build/server/chunks/{package-MTlbeZ-4.js → package-K5EkWw87.js} +2 -2
- package/build/server/chunks/{package-MTlbeZ-4.js.map → package-K5EkWw87.js.map} +1 -1
- package/build/server/index.js +2 -2
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +70 -63
- package/build/server/manifest.js.map +1 -1
- package/package.json +7 -7
- package/templates/.env.example +14 -5
- package/build/client/_app/immutable/chunks/D_C_YIH8.js.br +0 -0
- package/build/client/_app/immutable/chunks/D_C_YIH8.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DnURu9OT.js.br +0 -0
- package/build/client/_app/immutable/chunks/DnURu9OT.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DsuMOTav.js.br +0 -0
- package/build/client/_app/immutable/chunks/DsuMOTav.js.gz +0 -0
- package/build/client/_app/immutable/chunks/Dtx1M6QG.js.br +0 -0
- package/build/client/_app/immutable/chunks/Dtx1M6QG.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DuHtWI31.js.br +0 -0
- package/build/client/_app/immutable/chunks/DuHtWI31.js.gz +0 -0
- package/build/client/_app/immutable/chunks/U_alzAUv.js.br +0 -0
- package/build/client/_app/immutable/chunks/U_alzAUv.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DXOixdTQ.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DXOixdTQ.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.lHsRDqJ_.js +0 -1
- package/build/client/_app/immutable/entry/start.lHsRDqJ_.js.br +0 -2
- package/build/client/_app/immutable/entry/start.lHsRDqJ_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.Cgpx1yHy.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.Cgpx1yHy.js.gz +0 -0
- package/build/client/_app/immutable/nodes/11.BIaqG9xz.js +0 -2
- package/build/client/_app/immutable/nodes/11.BIaqG9xz.js.br +0 -0
- package/build/client/_app/immutable/nodes/11.BIaqG9xz.js.gz +0 -0
- package/build/client/_app/immutable/nodes/13.ByWkldPP.js.br +0 -0
- package/build/client/_app/immutable/nodes/13.ByWkldPP.js.gz +0 -0
- package/build/client/_app/immutable/nodes/14.87fRSA-Y.js.br +0 -0
- package/build/client/_app/immutable/nodes/14.87fRSA-Y.js.gz +0 -0
- package/build/client/_app/immutable/nodes/16.DWG3CLUv.js.br +0 -0
- package/build/client/_app/immutable/nodes/16.DWG3CLUv.js.gz +0 -0
- package/build/client/_app/immutable/nodes/17.CgiETa37.js.br +0 -0
- package/build/client/_app/immutable/nodes/17.CgiETa37.js.gz +0 -0
- package/build/client/_app/immutable/nodes/19.DO2ja5iW.js.br +0 -0
- package/build/client/_app/immutable/nodes/19.DO2ja5iW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.DIAYMP4_.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DIAYMP4_.js.gz +0 -0
- package/build/client/_app/immutable/nodes/20.DYgQYcr-.js.br +0 -0
- package/build/client/_app/immutable/nodes/20.DYgQYcr-.js.gz +0 -0
- package/build/client/_app/immutable/nodes/21.CTwryTPC.js.br +0 -0
- package/build/client/_app/immutable/nodes/21.CTwryTPC.js.gz +0 -0
- package/build/client/_app/immutable/nodes/23.uUN6jlSq.js.br +0 -0
- package/build/client/_app/immutable/nodes/23.uUN6jlSq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/24.cDDvPQLh.js.br +0 -0
- package/build/client/_app/immutable/nodes/24.cDDvPQLh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/27.lHQ_8tDM.js.br +0 -0
- package/build/client/_app/immutable/nodes/27.lHQ_8tDM.js.gz +0 -0
- package/build/client/_app/immutable/nodes/28.DZO_WZjq.js.br +0 -0
- package/build/client/_app/immutable/nodes/28.DZO_WZjq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/29.BBkvtbbm.js.br +0 -0
- package/build/client/_app/immutable/nodes/29.BBkvtbbm.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.Clu5JbAY.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.Clu5JbAY.js.gz +0 -0
- package/build/client/_app/immutable/nodes/30.CunrYTKW.js.br +0 -0
- package/build/client/_app/immutable/nodes/30.CunrYTKW.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.CwEyn2eq.js.br +0 -1
- package/build/client/_app/immutable/nodes/5.CwEyn2eq.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.Cybg-4zL.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.Cybg-4zL.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.U-nwvAMy.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.U-nwvAMy.js.gz +0 -0
- package/build/client/_app/immutable/nodes/8.Ds78IC3h.js.br +0 -0
- package/build/client/_app/immutable/nodes/8.Ds78IC3h.js.gz +0 -0
- package/build/client/_app/immutable/nodes/9.B4Dh5-cJ.js.br +0 -0
- package/build/client/_app/immutable/nodes/9.B4Dh5-cJ.js.gz +0 -0
- package/build/server/chunks/UserChip-BPLEgzMp.js.map +0 -1
- package/build/server/chunks/_page.svelte-By_vYfbZ.js.map +0 -1
- package/build/server/chunks/_server.ts-13_Xvown.js.map +0 -1
- package/build/server/chunks/_server.ts-6F3Ly0cY.js.map +0 -1
- package/build/server/chunks/_server.ts-B9uegfmw.js.map +0 -1
- package/build/server/chunks/_server.ts-BQetLy9N.js.map +0 -1
- package/build/server/chunks/_server.ts-BZH3tqYX.js.map +0 -1
- package/build/server/chunks/_server.ts-Be15h83H.js.map +0 -1
- package/build/server/chunks/_server.ts-BgVWq0qd.js.map +0 -1
- package/build/server/chunks/_server.ts-Bke_K04J.js.map +0 -1
- package/build/server/chunks/_server.ts-BlVwuKrl.js.map +0 -1
- package/build/server/chunks/_server.ts-BmjNVAmP.js.map +0 -1
- package/build/server/chunks/_server.ts-BwMyXo0z.js +0 -65
- package/build/server/chunks/_server.ts-BwMyXo0z.js.map +0 -1
- package/build/server/chunks/_server.ts-CF65FKS6.js.map +0 -1
- package/build/server/chunks/_server.ts-CMHRHdCD.js.map +0 -1
- package/build/server/chunks/_server.ts-Ca_OJJFC.js.map +0 -1
- package/build/server/chunks/_server.ts-Cc-srcRk.js.map +0 -1
- package/build/server/chunks/_server.ts-Cg1WgIQn.js.map +0 -1
- package/build/server/chunks/_server.ts-Cg6LtEov.js.map +0 -1
- package/build/server/chunks/_server.ts-CpsGzKQC.js.map +0 -1
- package/build/server/chunks/_server.ts-D2Qb9pui.js.map +0 -1
- package/build/server/chunks/_server.ts-DEBzt_W2.js.map +0 -1
- package/build/server/chunks/_server.ts-DVOhTvBf.js.map +0 -1
- package/build/server/chunks/_server.ts-DW-Oh4l9.js.map +0 -1
- package/build/server/chunks/_server.ts-DamGRKop.js.map +0 -1
- package/build/server/chunks/_server.ts-DethCmgs.js.map +0 -1
- package/build/server/chunks/_server.ts-DvBucq0r.js.map +0 -1
- package/build/server/chunks/_server.ts-Dz4bsmph.js.map +0 -1
- package/build/server/chunks/_server.ts-DzA4EZf_.js.map +0 -1
- package/build/server/chunks/_server.ts-L9PpKy16.js.map +0 -1
- package/build/server/chunks/_server.ts-Oi8Qzh0h.js.map +0 -1
- package/build/server/chunks/_server.ts-PKbOblCf.js.map +0 -1
- package/build/server/chunks/_server.ts-XAkApigL.js.map +0 -1
- package/build/server/chunks/_server.ts-bhjqtBoy.js.map +0 -1
- package/build/server/chunks/_server.ts-cHSphefi.js.map +0 -1
- package/build/server/chunks/_server.ts-d6YTPmkY.js.map +0 -1
- package/build/server/chunks/_server.ts-kTCuqLDl.js.map +0 -1
- package/build/server/chunks/_server.ts-kbr9HYg5.js.map +0 -1
- package/build/server/chunks/api-errors-BhVEeWTV.js.map +0 -1
- package/build/server/chunks/computeLimits-DPO6NbLd.js.map +0 -1
- package/build/server/chunks/hooks.server-BEbVZKxO.js.map +0 -1
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { json
|
|
1
|
+
import { json } from '@sveltejs/kit';
|
|
2
|
+
import { a as apiError, A as ApiErrorCode } from './api-errors-BrqxD-El.js';
|
|
2
3
|
import { c as getComputeServerConfigStore } from './providers.server-C3fQ7ZdV.js';
|
|
3
|
-
import { v as requireManageCompute } from './access.server-
|
|
4
|
+
import { v as requireManageCompute } from './access.server-Rd56k7vs.js';
|
|
4
5
|
import './context-BJnJL8ES.js';
|
|
5
6
|
import { p as platformServers } from './utils2-BqfluBM6.js';
|
|
7
|
+
import '@selvajs/compute/core';
|
|
6
8
|
import './shared-server-C3WdcJCQ.js';
|
|
7
9
|
import 'node:url';
|
|
8
10
|
import 'node:path';
|
|
@@ -10,8 +12,6 @@ import 'node:fs';
|
|
|
10
12
|
import 'node:crypto';
|
|
11
13
|
import 'node:fs/promises';
|
|
12
14
|
import '@supabase/supabase-js';
|
|
13
|
-
import './api-errors-BhVEeWTV.js';
|
|
14
|
-
import '@selvajs/compute/core';
|
|
15
15
|
import 'zod';
|
|
16
16
|
|
|
17
17
|
const GET = async ({ locals }) => {
|
|
@@ -30,37 +30,50 @@ const GET = async ({ locals }) => {
|
|
|
30
30
|
});
|
|
31
31
|
} catch (err) {
|
|
32
32
|
console.error("[Compute GET] Failed:", err);
|
|
33
|
-
|
|
33
|
+
apiError(500, ApiErrorCode.INTERNAL, "Failed to load compute config");
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
36
|
const PUT = async ({ request, locals }) => {
|
|
37
37
|
requireManageCompute(locals);
|
|
38
38
|
const body = await request.json().catch(() => null);
|
|
39
|
-
if (!body || typeof body !== "object")
|
|
39
|
+
if (!body || typeof body !== "object")
|
|
40
|
+
apiError(400, ApiErrorCode.VALIDATION_FAILED, "Invalid request body");
|
|
40
41
|
const incoming = body;
|
|
41
|
-
if (!Array.isArray(incoming.servers))
|
|
42
|
+
if (!Array.isArray(incoming.servers))
|
|
43
|
+
apiError(400, ApiErrorCode.VALIDATION_FAILED, "servers must be an array");
|
|
42
44
|
for (const s of incoming.servers) {
|
|
43
|
-
if (!s.id || typeof s.id !== "string")
|
|
44
|
-
|
|
45
|
+
if (!s.id || typeof s.id !== "string")
|
|
46
|
+
apiError(400, ApiErrorCode.VALIDATION_FAILED, "Each server needs an id");
|
|
47
|
+
if (!s.label || typeof s.label !== "string")
|
|
48
|
+
apiError(400, ApiErrorCode.VALIDATION_FAILED, "Each server needs a label");
|
|
45
49
|
if (!s.serverUrl || typeof s.serverUrl !== "string")
|
|
46
|
-
|
|
50
|
+
apiError(400, ApiErrorCode.VALIDATION_FAILED, "Each server needs a serverUrl");
|
|
47
51
|
try {
|
|
48
52
|
new URL(s.serverUrl);
|
|
49
53
|
} catch {
|
|
50
|
-
|
|
54
|
+
apiError(400, ApiErrorCode.VALIDATION_FAILED, `Invalid serverUrl: ${s.serverUrl}`);
|
|
51
55
|
}
|
|
52
56
|
if (s.sharedWith !== "all" && !Array.isArray(s.sharedWith)) {
|
|
53
|
-
|
|
57
|
+
apiError(
|
|
58
|
+
400,
|
|
59
|
+
ApiErrorCode.VALIDATION_FAILED,
|
|
60
|
+
'sharedWith must be "all" or an array of org ids'
|
|
61
|
+
);
|
|
54
62
|
}
|
|
55
63
|
if (Array.isArray(s.sharedWith) && s.sharedWith.some((x) => typeof x !== "string")) {
|
|
56
|
-
|
|
64
|
+
apiError(400, ApiErrorCode.VALIDATION_FAILED, "sharedWith array must contain strings");
|
|
57
65
|
}
|
|
58
66
|
if (s.apiKey !== void 0 && s.apiKey !== null && typeof s.apiKey !== "string")
|
|
59
|
-
|
|
67
|
+
apiError(400, ApiErrorCode.VALIDATION_FAILED, "apiKey must be a string, null, or omitted");
|
|
60
68
|
}
|
|
61
69
|
if (incoming.defaultServerId) {
|
|
62
70
|
const found = incoming.servers.find((s) => s.id === incoming.defaultServerId);
|
|
63
|
-
if (!found)
|
|
71
|
+
if (!found)
|
|
72
|
+
apiError(
|
|
73
|
+
400,
|
|
74
|
+
ApiErrorCode.VALIDATION_FAILED,
|
|
75
|
+
"defaultServerId must reference one of the submitted servers"
|
|
76
|
+
);
|
|
64
77
|
}
|
|
65
78
|
try {
|
|
66
79
|
const provider = getComputeServerConfigStore();
|
|
@@ -78,9 +91,9 @@ const PUT = async ({ request, locals }) => {
|
|
|
78
91
|
return new Response(null, { status: 204 });
|
|
79
92
|
} catch (err) {
|
|
80
93
|
console.error("[Compute PUT] Failed:", err);
|
|
81
|
-
|
|
94
|
+
apiError(500, ApiErrorCode.INTERNAL, "Failed to save compute config");
|
|
82
95
|
}
|
|
83
96
|
};
|
|
84
97
|
|
|
85
98
|
export { GET, PUT };
|
|
86
|
-
//# sourceMappingURL=_server.ts-
|
|
99
|
+
//# sourceMappingURL=_server.ts-OQ5_sYi3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-OQ5_sYi3.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/compute/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { a as apiError, A as ApiErrorCode } from \"../../../../../chunks/api-errors.js\";\nimport { c as getComputeServerConfigStore } from \"../../../../../chunks/providers.server.js\";\nimport { v as requireManageCompute } from \"../../../../../chunks/access.server.js\";\nimport \"../../../../../chunks/context.js\";\nimport { p as platformServers } from \"../../../../../chunks/utils2.js\";\nconst GET = async ({ locals }) => {\n requireManageCompute(locals);\n try {\n const config = await getComputeServerConfigStore().getConfig(locals.ctx);\n const servers = platformServers(config).map(\n ({ apiKey, ...rest }) => ({\n ...rest,\n hasApiKey: !!apiKey\n })\n );\n return json({\n servers,\n defaultServerId: config.defaultServerId\n });\n } catch (err) {\n console.error(\"[Compute GET] Failed:\", err);\n apiError(500, ApiErrorCode.INTERNAL, \"Failed to load compute config\");\n }\n};\nconst PUT = async ({ request, locals }) => {\n requireManageCompute(locals);\n const body = await request.json().catch(() => null);\n if (!body || typeof body !== \"object\")\n apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Invalid request body\");\n const incoming = body;\n if (!Array.isArray(incoming.servers))\n apiError(400, ApiErrorCode.VALIDATION_FAILED, \"servers must be an array\");\n for (const s of incoming.servers) {\n if (!s.id || typeof s.id !== \"string\")\n apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Each server needs an id\");\n if (!s.label || typeof s.label !== \"string\")\n apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Each server needs a label\");\n if (!s.serverUrl || typeof s.serverUrl !== \"string\")\n apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Each server needs a serverUrl\");\n try {\n new URL(s.serverUrl);\n } catch {\n apiError(400, ApiErrorCode.VALIDATION_FAILED, `Invalid serverUrl: ${s.serverUrl}`);\n }\n if (s.sharedWith !== \"all\" && !Array.isArray(s.sharedWith)) {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n 'sharedWith must be \"all\" or an array of org ids'\n );\n }\n if (Array.isArray(s.sharedWith) && s.sharedWith.some((x) => typeof x !== \"string\")) {\n apiError(400, ApiErrorCode.VALIDATION_FAILED, \"sharedWith array must contain strings\");\n }\n if (s.apiKey !== void 0 && s.apiKey !== null && typeof s.apiKey !== \"string\")\n apiError(400, ApiErrorCode.VALIDATION_FAILED, \"apiKey must be a string, null, or omitted\");\n }\n if (incoming.defaultServerId) {\n const found = incoming.servers.find((s) => s.id === incoming.defaultServerId);\n if (!found)\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n \"defaultServerId must reference one of the submitted servers\"\n );\n }\n try {\n const provider = getComputeServerConfigStore();\n const existing = await provider.getConfig(locals.ctx);\n const storedKeyById = new Map(platformServers(existing).map((s) => [s.id, s.apiKey]));\n const next = incoming.servers.map(\n ({ apiKey, sharedWith, ...rest }) => ({\n ...rest,\n scope: \"platform\",\n sharedWith: sharedWith === \"all\" ? \"all\" : [...sharedWith],\n apiKey: apiKey === null ? void 0 : apiKey ? apiKey : storedKeyById.get(rest.id)\n })\n );\n await provider.savePlatformServers(locals.ctx, next, incoming.defaultServerId);\n return new Response(null, { status: 204 });\n } catch (err) {\n console.error(\"[Compute PUT] Failed:\", err);\n apiError(500, ApiErrorCode.INTERNAL, \"Failed to save compute config\");\n }\n};\nexport {\n GET,\n PUT\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { json } from '@sveltejs/kit';
|
|
2
2
|
import { randomUUID } from 'node:crypto';
|
|
3
3
|
import { u as providers, f as flag } from './providers.server-C3fQ7ZdV.js';
|
|
4
|
-
import { t as requireEditableDefinition } from './access.server-
|
|
5
|
-
import { h as handleApiError, t as throwZodError } from './api-errors-
|
|
4
|
+
import { t as requireEditableDefinition } from './access.server-Rd56k7vs.js';
|
|
5
|
+
import { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from './api-errors-BrqxD-El.js';
|
|
6
6
|
import { G as GuidSchema, c as CreateShareLinkInputSchema } from './context-BJnJL8ES.js';
|
|
7
7
|
import { D as DEFAULT_SHARE_LINK_MAX_SOLVES } from './types2-DdHhYSMF.js';
|
|
8
8
|
import { m as mintRawToken, h as hashToken } from './token.server-BGL9vwYS.js';
|
|
@@ -18,7 +18,11 @@ import './utils2-BqfluBM6.js';
|
|
|
18
18
|
|
|
19
19
|
function assertSharingEnabled() {
|
|
20
20
|
if (!flag("ENABLE_SHARING")) {
|
|
21
|
-
|
|
21
|
+
apiError(
|
|
22
|
+
404,
|
|
23
|
+
ApiErrorCode.NOT_FOUND,
|
|
24
|
+
"Share links are disabled on this instance (ENABLE_SHARING)."
|
|
25
|
+
);
|
|
22
26
|
}
|
|
23
27
|
}
|
|
24
28
|
function strip(link) {
|
|
@@ -28,7 +32,7 @@ function strip(link) {
|
|
|
28
32
|
const GET = async ({ params, locals }) => {
|
|
29
33
|
assertSharingEnabled();
|
|
30
34
|
const guidParsed = GuidSchema.safeParse(params.guid);
|
|
31
|
-
if (!guidParsed.success)
|
|
35
|
+
if (!guidParsed.success) apiError(400, ApiErrorCode.VALIDATION_FAILED, "Invalid or missing GUID");
|
|
32
36
|
const { ctx } = await requireEditableDefinition(locals, guidParsed.data);
|
|
33
37
|
try {
|
|
34
38
|
const page = await providers.data.shareLinks.listByDefinition(ctx, guidParsed.data, {
|
|
@@ -45,7 +49,7 @@ const GET = async ({ params, locals }) => {
|
|
|
45
49
|
const POST = async ({ params, request, locals }) => {
|
|
46
50
|
assertSharingEnabled();
|
|
47
51
|
const guidParsed = GuidSchema.safeParse(params.guid);
|
|
48
|
-
if (!guidParsed.success)
|
|
52
|
+
if (!guidParsed.success) apiError(400, ApiErrorCode.VALIDATION_FAILED, "Invalid or missing GUID");
|
|
49
53
|
const { ctx } = await requireEditableDefinition(locals, guidParsed.data);
|
|
50
54
|
const body = await request.json().catch(() => ({}));
|
|
51
55
|
const parsed = CreateShareLinkInputSchema.safeParse(body);
|
|
@@ -77,4 +81,4 @@ const POST = async ({ params, request, locals }) => {
|
|
|
77
81
|
};
|
|
78
82
|
|
|
79
83
|
export { GET, POST };
|
|
80
|
-
//# sourceMappingURL=_server.ts-
|
|
84
|
+
//# sourceMappingURL=_server.ts-UYOqhuxS.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-UYOqhuxS.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_guid_/share-links/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { randomUUID } from \"node:crypto\";\nimport { u as providers, f as flag } from \"../../../../../../chunks/providers.server.js\";\nimport { t as requireEditableDefinition } from \"../../../../../../chunks/access.server.js\";\nimport { a as apiError, h as handleApiError, t as throwZodError, A as ApiErrorCode } from \"../../../../../../chunks/api-errors.js\";\nimport { G as GuidSchema, c as CreateShareLinkInputSchema } from \"../../../../../../chunks/context.js\";\nimport { D as DEFAULT_SHARE_LINK_MAX_SOLVES } from \"../../../../../../chunks/types2.js\";\nimport { m as mintRawToken, h as hashToken } from \"../../../../../../chunks/token.server.js\";\nfunction assertSharingEnabled() {\n if (!flag(\"ENABLE_SHARING\")) {\n apiError(\n 404,\n ApiErrorCode.NOT_FOUND,\n \"Share links are disabled on this instance (ENABLE_SHARING).\"\n );\n }\n}\nfunction strip(link) {\n const { tokenHash: _omit, ...rest } = link;\n return { ...rest, hasToken: true };\n}\nconst GET = async ({ params, locals }) => {\n assertSharingEnabled();\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Invalid or missing GUID\");\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n try {\n const page = await providers.data.shareLinks.listByDefinition(ctx, guidParsed.data, {\n limit: 200\n });\n return json({\n links: page.items.map(strip),\n nextCursor: page.nextCursor\n });\n } catch (err) {\n handleApiError(err, \"Failed to list share links\");\n }\n};\nconst POST = async ({ params, request, locals }) => {\n assertSharingEnabled();\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Invalid or missing GUID\");\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n const body = await request.json().catch(() => ({}));\n const parsed = CreateShareLinkInputSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const raw = mintRawToken();\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const link = {\n id: randomUUID(),\n definitionId: guidParsed.data,\n channel: parsed.data.channel,\n tokenHash: hashToken(raw),\n name: parsed.data.name,\n createdBy: locals.user.id,\n createdAt: now,\n expiresAt: parsed.data.expiresAt ?? null,\n revokedAt: null,\n allowSolve: parsed.data.allowSolve,\n // Default applied only when the field is absent. `null` is a deliberate\n // \"uncap\" choice and is preserved.\n maxSolves: parsed.data.maxSolves === void 0 ? DEFAULT_SHARE_LINK_MAX_SOLVES : parsed.data.maxSolves,\n solveCount: 0\n };\n try {\n await providers.data.shareLinks.create(ctx, link);\n return json({ link: strip(link), token: raw }, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create share link\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { json } from '@sveltejs/kit';
|
|
2
2
|
import { z } from 'zod';
|
|
3
3
|
import { a as getAuthProvider, k as getOrganizationProvider, l as getPermissionStore } from './providers.server-C3fQ7ZdV.js';
|
|
4
|
-
import { w as requireManageInstanceUsers } from './access.server-
|
|
4
|
+
import { w as requireManageInstanceUsers } from './access.server-Rd56k7vs.js';
|
|
5
5
|
import { s as setUserPlatformPermissions } from './permissions.server-zs4XAJCp.js';
|
|
6
|
-
import { t as throwZodError, h as handleApiError } from './api-errors-
|
|
6
|
+
import { a as apiError, t as throwZodError, A as ApiErrorCode, h as handleApiError } from './api-errors-BrqxD-El.js';
|
|
7
7
|
import { S as SYSTEM_CONTEXT, j as hasPermission, M as MEMBER_ASSIGNABLE_PERMISSIONS, P as PlatformPermissionSchema, d as OrgPermissionSchema } from './context-BJnJL8ES.js';
|
|
8
8
|
import { f as flattenPermissions, s as splitFlatPermissions } from './permissions-compat.server-G174xsh6.js';
|
|
9
9
|
import './shared-server-C3WdcJCQ.js';
|
|
@@ -28,8 +28,9 @@ const GET = async ({ locals }) => {
|
|
|
28
28
|
requireManageInstanceUsers(locals);
|
|
29
29
|
const page = await getAuthProvider().listUsers({ limit: 200 });
|
|
30
30
|
if (page === null) {
|
|
31
|
-
|
|
31
|
+
apiError(
|
|
32
32
|
501,
|
|
33
|
+
ApiErrorCode.INTERNAL,
|
|
33
34
|
"User management is not supported by the current auth provider. Configure DATA_PATH (local provider) or check your provider wiring."
|
|
34
35
|
);
|
|
35
36
|
}
|
|
@@ -55,7 +56,7 @@ const GET = async ({ locals }) => {
|
|
|
55
56
|
};
|
|
56
57
|
})
|
|
57
58
|
);
|
|
58
|
-
return json(flattened);
|
|
59
|
+
return json({ users: flattened });
|
|
59
60
|
};
|
|
60
61
|
const POST = async ({ request, locals }) => {
|
|
61
62
|
requireManageInstanceUsers(locals);
|
|
@@ -66,18 +67,23 @@ const POST = async ({ request, locals }) => {
|
|
|
66
67
|
const { email, password, permissions } = parsed.data;
|
|
67
68
|
const { platform, org } = splitFlatPermissions(permissions);
|
|
68
69
|
if (platform.length > 0 && !hasPermission(locals.ctx, "instance_admin")) {
|
|
69
|
-
|
|
70
|
+
apiError(
|
|
71
|
+
403,
|
|
72
|
+
ApiErrorCode.FORBIDDEN,
|
|
73
|
+
"Only a platform admin can grant platform-scope permissions"
|
|
74
|
+
);
|
|
70
75
|
}
|
|
71
76
|
try {
|
|
72
77
|
let user;
|
|
73
78
|
if (auth.passwordAuth) {
|
|
74
|
-
if (!password)
|
|
79
|
+
if (!password) apiError(400, ApiErrorCode.VALIDATION_FAILED, "Password is required");
|
|
75
80
|
user = await auth.passwordAuth.createUserWithPassword(email, password);
|
|
76
81
|
} else if (auth.createUser) {
|
|
77
82
|
user = await auth.createUser(email);
|
|
78
83
|
} else {
|
|
79
|
-
|
|
84
|
+
apiError(
|
|
80
85
|
501,
|
|
86
|
+
ApiErrorCode.INTERNAL,
|
|
81
87
|
`User creation is not supported by ${auth.name}. Users are managed externally.`
|
|
82
88
|
);
|
|
83
89
|
}
|
|
@@ -105,4 +111,4 @@ const POST = async ({ request, locals }) => {
|
|
|
105
111
|
};
|
|
106
112
|
|
|
107
113
|
export { GET, POST };
|
|
108
|
-
//# sourceMappingURL=_server.ts-
|
|
114
|
+
//# sourceMappingURL=_server.ts-Xt4gRfAl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-Xt4gRfAl.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/users/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { z } from \"zod\";\nimport { a as getAuthProvider, k as getOrganizationProvider, l as getPermissionStore } from \"../../../../../chunks/providers.server.js\";\nimport { w as requireManageInstanceUsers } from \"../../../../../chunks/access.server.js\";\nimport { s as setUserPlatformPermissions } from \"../../../../../chunks/permissions.server.js\";\nimport { a as apiError, t as throwZodError, A as ApiErrorCode, h as handleApiError } from \"../../../../../chunks/api-errors.js\";\nimport { P as PlatformPermissionSchema, d as OrgPermissionSchema, S as SYSTEM_CONTEXT, j as hasPermission, M as MEMBER_ASSIGNABLE_PERMISSIONS } from \"../../../../../chunks/context.js\";\nimport { f as flattenPermissions, s as splitFlatPermissions } from \"../../../../../chunks/permissions-compat.server.js\";\nconst FlatPermissionSchema = z.union([PlatformPermissionSchema, OrgPermissionSchema]);\nconst BaseUserBody = z.object({\n email: z.string().email(\"Valid email is required\"),\n permissions: z.array(FlatPermissionSchema)\n});\nconst PasswordUserBody = BaseUserBody.extend({\n password: z.string().min(8, \"Password must be at least 8 characters\").optional()\n});\nconst GET = async ({ locals }) => {\n requireManageInstanceUsers(locals);\n const page = await getAuthProvider().listUsers({ limit: 200 });\n if (page === null) {\n apiError(\n 501,\n ApiErrorCode.INTERNAL,\n \"User management is not supported by the current auth provider. Configure DATA_PATH (local provider) or check your provider wiring.\"\n );\n }\n const orgId = locals.ctx?.actingOrgId;\n const orgs = getOrganizationProvider();\n const userIds = page.items.map((u) => u.id);\n const platformByUser = await getPermissionStore().getForBatch(locals.ctx, userIds);\n const flattened = await Promise.all(\n page.items.map(async (u) => {\n let orgPerms = [];\n if (orgId) {\n const member = await orgs.getOrgMember(SYSTEM_CONTEXT, orgId, u.id);\n orgPerms = member?.permissions ?? [];\n }\n const platformPerms = platformByUser.get(u.id) ?? [];\n return {\n ...u,\n platformPermissions: platformPerms,\n permissions: flattenPermissions(\n platformPerms,\n orgPerms\n )\n };\n })\n );\n return json({ users: flattened });\n};\nconst POST = async ({ request, locals }) => {\n requireManageInstanceUsers(locals);\n const auth = getAuthProvider();\n const body = await request.json().catch(() => null);\n const parsed = PasswordUserBody.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const { email, password, permissions } = parsed.data;\n const { platform, org } = splitFlatPermissions(permissions);\n if (platform.length > 0 && !hasPermission(locals.ctx, \"instance_admin\")) {\n apiError(\n 403,\n ApiErrorCode.FORBIDDEN,\n \"Only a platform admin can grant platform-scope permissions\"\n );\n }\n try {\n let user;\n if (auth.passwordAuth) {\n if (!password) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Password is required\");\n user = await auth.passwordAuth.createUserWithPassword(email, password);\n } else if (auth.createUser) {\n user = await auth.createUser(email);\n } else {\n apiError(\n 501,\n ApiErrorCode.INTERNAL,\n `User creation is not supported by ${auth.name}. Users are managed externally.`\n );\n }\n if (platform.length > 0) {\n await setUserPlatformPermissions(locals.ctx, user.id, platform);\n }\n const orgId = locals.ctx?.actingOrgId;\n if (orgId) {\n const joinedAt = (/* @__PURE__ */ new Date()).toISOString();\n await getOrganizationProvider().addOrgMember(SYSTEM_CONTEXT, {\n orgId,\n userId: user.id,\n role: \"member\",\n permissions: org.filter((p) => MEMBER_ASSIGNABLE_PERMISSIONS.includes(p)),\n joinedAt,\n updatedAt: joinedAt,\n updatedBy: locals.user?.id ?? user.id,\n deletedAt: null\n });\n }\n return json(user, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to create user\");\n }\n};\nexport {\n GET,\n POST\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { error, json } from '@sveltejs/kit';
|
|
2
1
|
import { z } from 'zod';
|
|
3
2
|
import { M as MEMBER_ASSIGNABLE_PERMISSIONS, A as ALL_ORG_PERMISSIONS, e as OrgRoleSchema } from './context-BJnJL8ES.js';
|
|
4
3
|
import { k as getOrganizationProvider } from './providers.server-C3fQ7ZdV.js';
|
|
5
|
-
import { y as requireManageOrgMembers } from './access.server-
|
|
6
|
-
import { t as throwZodError, h as handleApiError } from './api-errors-
|
|
4
|
+
import { y as requireManageOrgMembers } from './access.server-Rd56k7vs.js';
|
|
5
|
+
import { a as apiError, t as throwZodError, A as ApiErrorCode, h as handleApiError } from './api-errors-BrqxD-El.js';
|
|
7
6
|
import './shared-server-C3WdcJCQ.js';
|
|
8
7
|
import 'node:url';
|
|
9
8
|
import 'node:path';
|
|
@@ -11,6 +10,7 @@ import 'node:fs';
|
|
|
11
10
|
import 'node:crypto';
|
|
12
11
|
import 'node:fs/promises';
|
|
13
12
|
import '@supabase/supabase-js';
|
|
13
|
+
import '@sveltejs/kit';
|
|
14
14
|
import '@selvajs/compute/core';
|
|
15
15
|
import './utils2-BqfluBM6.js';
|
|
16
16
|
|
|
@@ -25,11 +25,11 @@ const PatchSchema = z.object({
|
|
|
25
25
|
});
|
|
26
26
|
const PATCH = async ({ params, request, locals }) => {
|
|
27
27
|
const { orgId, userId } = params;
|
|
28
|
-
if (!orgId || !userId)
|
|
28
|
+
if (!orgId || !userId) apiError(400, ApiErrorCode.VALIDATION_FAILED, "Missing org ID or user ID");
|
|
29
29
|
requireManageOrgMembers(locals);
|
|
30
30
|
const ctx = locals.ctx;
|
|
31
31
|
if (ctx.actingOrgId !== orgId) {
|
|
32
|
-
|
|
32
|
+
apiError(403, ApiErrorCode.FORBIDDEN, "Acting org does not match the target org.");
|
|
33
33
|
}
|
|
34
34
|
const body = await request.json().catch(() => null);
|
|
35
35
|
const parsed = PatchSchema.safeParse(body);
|
|
@@ -40,11 +40,12 @@ const PATCH = async ({ params, request, locals }) => {
|
|
|
40
40
|
orgs.getOrgMember(ctx, orgId, ctx.userId),
|
|
41
41
|
orgs.getOrgMember(ctx, orgId, userId)
|
|
42
42
|
]);
|
|
43
|
-
if (!target)
|
|
44
|
-
if (!actorMember)
|
|
43
|
+
if (!target) apiError(404, ApiErrorCode.NOT_FOUND, "Member not found in this organization.");
|
|
44
|
+
if (!actorMember)
|
|
45
|
+
apiError(403, ApiErrorCode.FORBIDDEN, "You are not a member of this organization.");
|
|
45
46
|
if (patch.role !== void 0 && patch.role !== target.role) {
|
|
46
47
|
if (actorMember.role !== "owner") {
|
|
47
|
-
|
|
48
|
+
apiError(403, ApiErrorCode.FORBIDDEN, "Only the org owner can change roles.");
|
|
48
49
|
}
|
|
49
50
|
if (target.role === "owner" && patch.role !== "owner") {
|
|
50
51
|
const page = await orgs.listOrgMembers(ctx, orgId, { limit: 200 });
|
|
@@ -52,8 +53,9 @@ const PATCH = async ({ params, request, locals }) => {
|
|
|
52
53
|
(m) => m.role === "owner" && m.userId !== target.userId && !m.deletedAt
|
|
53
54
|
);
|
|
54
55
|
if (otherOwners.length === 0) {
|
|
55
|
-
|
|
56
|
+
apiError(
|
|
56
57
|
409,
|
|
58
|
+
ApiErrorCode.CONFLICT,
|
|
57
59
|
"Cannot demote the sole owner of this organization. Promote another member to owner first."
|
|
58
60
|
);
|
|
59
61
|
}
|
|
@@ -65,8 +67,9 @@ const PATCH = async ({ params, request, locals }) => {
|
|
|
65
67
|
const valid = effectiveRole === "member" ? new Set(MEMBER_ASSIGNABLE_PERMISSIONS) : new Set(ALL_ORG_PERMISSIONS);
|
|
66
68
|
const invalid = patch.permissions.filter((p) => !valid.has(p));
|
|
67
69
|
if (invalid.length > 0) {
|
|
68
|
-
|
|
70
|
+
apiError(
|
|
69
71
|
400,
|
|
72
|
+
ApiErrorCode.VALIDATION_FAILED,
|
|
70
73
|
`Permissions [${invalid.join(", ")}] cannot be assigned to a ${effectiveRole}.`
|
|
71
74
|
);
|
|
72
75
|
}
|
|
@@ -76,8 +79,8 @@ const PATCH = async ({ params, request, locals }) => {
|
|
|
76
79
|
handleApiError(err, "Failed to update permissions");
|
|
77
80
|
}
|
|
78
81
|
}
|
|
79
|
-
return
|
|
82
|
+
return new Response(null, { status: 204 });
|
|
80
83
|
};
|
|
81
84
|
|
|
82
85
|
export { PATCH };
|
|
83
|
-
//# sourceMappingURL=_server.ts-
|
|
86
|
+
//# sourceMappingURL=_server.ts-ZtjukIa0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-ZtjukIa0.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/orgs/_orgId_/members/_userId_/_server.ts.js"],"sourcesContent":["import { z } from \"zod\";\nimport { A as ALL_ORG_PERMISSIONS, e as OrgRoleSchema, M as MEMBER_ASSIGNABLE_PERMISSIONS } from \"../../../../../../../chunks/context.js\";\nimport { k as getOrganizationProvider } from \"../../../../../../../chunks/providers.server.js\";\nimport { y as requireManageOrgMembers } from \"../../../../../../../chunks/access.server.js\";\nimport { a as apiError, t as throwZodError, A as ApiErrorCode, h as handleApiError } from \"../../../../../../../chunks/api-errors.js\";\nconst PERMISSIONS_SCHEMA = z.array(\n z.enum(ALL_ORG_PERMISSIONS)\n);\nconst PatchSchema = z.object({\n role: OrgRoleSchema.optional(),\n permissions: PERMISSIONS_SCHEMA.optional()\n}).refine((b) => b.role !== void 0 || b.permissions !== void 0, {\n message: \"Provide at least one of role, permissions\"\n});\nconst PATCH = async ({ params, request, locals }) => {\n const { orgId, userId } = params;\n if (!orgId || !userId) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing org ID or user ID\");\n requireManageOrgMembers(locals);\n const ctx = locals.ctx;\n if (ctx.actingOrgId !== orgId) {\n apiError(403, ApiErrorCode.FORBIDDEN, \"Acting org does not match the target org.\");\n }\n const body = await request.json().catch(() => null);\n const parsed = PatchSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const patch = parsed.data;\n const orgs = getOrganizationProvider();\n const [actorMember, target] = await Promise.all([\n orgs.getOrgMember(ctx, orgId, ctx.userId),\n orgs.getOrgMember(ctx, orgId, userId)\n ]);\n if (!target) apiError(404, ApiErrorCode.NOT_FOUND, \"Member not found in this organization.\");\n if (!actorMember)\n apiError(403, ApiErrorCode.FORBIDDEN, \"You are not a member of this organization.\");\n if (patch.role !== void 0 && patch.role !== target.role) {\n if (actorMember.role !== \"owner\") {\n apiError(403, ApiErrorCode.FORBIDDEN, \"Only the org owner can change roles.\");\n }\n if (target.role === \"owner\" && patch.role !== \"owner\") {\n const page = await orgs.listOrgMembers(ctx, orgId, { limit: 200 });\n const otherOwners = page.items.filter(\n (m) => m.role === \"owner\" && m.userId !== target.userId && !m.deletedAt\n );\n if (otherOwners.length === 0) {\n apiError(\n 409,\n ApiErrorCode.CONFLICT,\n \"Cannot demote the sole owner of this organization. Promote another member to owner first.\"\n );\n }\n }\n await orgs.updateOrgMemberRole(ctx, orgId, userId, patch.role);\n }\n if (patch.permissions !== void 0) {\n const effectiveRole = patch.role ?? target.role;\n const valid = effectiveRole === \"member\" ? new Set(MEMBER_ASSIGNABLE_PERMISSIONS) : new Set(ALL_ORG_PERMISSIONS);\n const invalid = patch.permissions.filter((p) => !valid.has(p));\n if (invalid.length > 0) {\n apiError(\n 400,\n ApiErrorCode.VALIDATION_FAILED,\n `Permissions [${invalid.join(\", \")}] cannot be assigned to a ${effectiveRole}.`\n );\n }\n try {\n await orgs.updateOrgMemberPermissions(ctx, orgId, userId, patch.permissions);\n } catch (err) {\n handleApiError(err, \"Failed to update permissions\");\n }\n }\n return new Response(null, { status: 204 });\n};\nexport {\n PATCH\n};\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { json } from '@sveltejs/kit';
|
|
2
|
+
import { a as apiError, A as ApiErrorCode } from './api-errors-BrqxD-El.js';
|
|
3
|
+
import { c as getComputeServerConfigStore } from './providers.server-C3fQ7ZdV.js';
|
|
4
|
+
import './context-BJnJL8ES.js';
|
|
5
|
+
import { f as findServerById } from './utils2-BqfluBM6.js';
|
|
6
|
+
import { v as requireManageCompute } from './access.server-Rd56k7vs.js';
|
|
7
|
+
import { ComputeServerStats } from '@selvajs/compute/core';
|
|
8
|
+
import './shared-server-C3WdcJCQ.js';
|
|
9
|
+
import 'node:url';
|
|
10
|
+
import 'node:path';
|
|
11
|
+
import 'node:fs';
|
|
12
|
+
import 'node:crypto';
|
|
13
|
+
import 'node:fs/promises';
|
|
14
|
+
import '@supabase/supabase-js';
|
|
15
|
+
import 'zod';
|
|
16
|
+
|
|
17
|
+
const POST = async ({ request, locals }) => {
|
|
18
|
+
requireManageCompute(locals);
|
|
19
|
+
const body = await request.json().catch(() => null);
|
|
20
|
+
if (!body || typeof body !== "object")
|
|
21
|
+
apiError(400, ApiErrorCode.VALIDATION_FAILED, "Invalid request body");
|
|
22
|
+
const { serverId, action } = body;
|
|
23
|
+
if (!serverId) apiError(400, ApiErrorCode.VALIDATION_FAILED, "serverId required");
|
|
24
|
+
if (action !== "purge" && action !== "shutdown")
|
|
25
|
+
apiError(400, ApiErrorCode.VALIDATION_FAILED, "action must be 'purge' or 'shutdown'");
|
|
26
|
+
const config = await getComputeServerConfigStore().getConfig(locals.ctx);
|
|
27
|
+
const server = findServerById(config, serverId);
|
|
28
|
+
if (!server) apiError(404, ApiErrorCode.NOT_FOUND, "Server not found");
|
|
29
|
+
const stats = new ComputeServerStats(server.serverUrl, server.apiKey);
|
|
30
|
+
try {
|
|
31
|
+
if (action === "purge") {
|
|
32
|
+
const result2 = await stats.purgeAllChildren();
|
|
33
|
+
if (result2 === null)
|
|
34
|
+
apiError(502, ApiErrorCode.INTERNAL, "Could not reach the server to purge its cache");
|
|
35
|
+
return json({ action, ...result2 });
|
|
36
|
+
}
|
|
37
|
+
const result = await stats.shutdownChildren();
|
|
38
|
+
if (result === null)
|
|
39
|
+
apiError(502, ApiErrorCode.INTERNAL, "Could not reach the server to shut down its children");
|
|
40
|
+
return json({ action, ...result });
|
|
41
|
+
} finally {
|
|
42
|
+
await stats.dispose();
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
export { POST };
|
|
47
|
+
//# sourceMappingURL=_server.ts-bR98vjY2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-bR98vjY2.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/compute/actions/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { a as apiError, A as ApiErrorCode } from \"../../../../../../chunks/api-errors.js\";\nimport { c as getComputeServerConfigStore } from \"../../../../../../chunks/providers.server.js\";\nimport \"../../../../../../chunks/context.js\";\nimport { f as findServerById } from \"../../../../../../chunks/utils2.js\";\nimport { v as requireManageCompute } from \"../../../../../../chunks/access.server.js\";\nimport { ComputeServerStats } from \"@selvajs/compute/core\";\nconst POST = async ({ request, locals }) => {\n requireManageCompute(locals);\n const body = await request.json().catch(() => null);\n if (!body || typeof body !== \"object\")\n apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Invalid request body\");\n const { serverId, action } = body;\n if (!serverId) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"serverId required\");\n if (action !== \"purge\" && action !== \"shutdown\")\n apiError(400, ApiErrorCode.VALIDATION_FAILED, \"action must be 'purge' or 'shutdown'\");\n const config = await getComputeServerConfigStore().getConfig(locals.ctx);\n const server = findServerById(config, serverId);\n if (!server) apiError(404, ApiErrorCode.NOT_FOUND, \"Server not found\");\n const stats = new ComputeServerStats(server.serverUrl, server.apiKey);\n try {\n if (action === \"purge\") {\n const result2 = await stats.purgeAllChildren();\n if (result2 === null)\n apiError(502, ApiErrorCode.INTERNAL, \"Could not reach the server to purge its cache\");\n return json({ action, ...result2 });\n }\n const result = await stats.shutdownChildren();\n if (result === null)\n apiError(502, ApiErrorCode.INTERNAL, \"Could not reach the server to shut down its children\");\n return json({ action, ...result });\n } finally {\n await stats.dispose();\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAOK,MAAC,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AAC5C,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC;AACrD,EAAE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;AACvC,IAAI,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,sBAAsB,CAAC;AACzE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;AACnC,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;AACnF,EAAE,IAAI,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,UAAU;AACjD,IAAI,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;AACzF,EAAE,MAAM,MAAM,GAAG,MAAM,2BAA2B,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC;AAC1E,EAAE,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC;AACjD,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,kBAAkB,CAAC;AACxE,EAAE,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC;AACvE,EAAE,IAAI;AACN,IAAI,IAAI,MAAM,KAAK,OAAO,EAAE;AAC5B,MAAM,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE;AACpD,MAAM,IAAI,OAAO,KAAK,IAAI;AAC1B,QAAQ,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAE,+CAA+C,CAAC;AAC7F,MAAM,OAAO,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;AACzC,IAAI;AACJ,IAAI,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,gBAAgB,EAAE;AACjD,IAAI,IAAI,MAAM,KAAK,IAAI;AACvB,MAAM,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAE,sDAAsD,CAAC;AAClG,IAAI,OAAO,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;AACtC,EAAE,CAAC,SAAS;AACZ,IAAI,MAAM,KAAK,CAAC,OAAO,EAAE;AACzB,EAAE;AACF;;;;"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { error, json } from '@sveltejs/kit';
|
|
2
1
|
import { f as flag, m as getPlatformProjectGrantStore } from './providers.server-C3fQ7ZdV.js';
|
|
3
|
-
import { u as requireInstanceAdmin } from './access.server-
|
|
4
|
-
import { h as handleApiError } from './api-errors-
|
|
2
|
+
import { u as requireInstanceAdmin } from './access.server-Rd56k7vs.js';
|
|
3
|
+
import { a as apiError, h as handleApiError, A as ApiErrorCode } from './api-errors-BrqxD-El.js';
|
|
5
4
|
import { S as SYSTEM_CONTEXT } from './context-BJnJL8ES.js';
|
|
6
5
|
import './shared-server-C3WdcJCQ.js';
|
|
7
6
|
import 'node:url';
|
|
@@ -10,22 +9,23 @@ import 'node:fs';
|
|
|
10
9
|
import 'node:crypto';
|
|
11
10
|
import 'node:fs/promises';
|
|
12
11
|
import '@supabase/supabase-js';
|
|
12
|
+
import '@sveltejs/kit';
|
|
13
13
|
import 'zod';
|
|
14
14
|
import '@selvajs/compute/core';
|
|
15
15
|
import './utils2-BqfluBM6.js';
|
|
16
16
|
|
|
17
17
|
const DELETE = async ({ params, locals }) => {
|
|
18
18
|
requireInstanceAdmin(locals);
|
|
19
|
-
if (!flag("ENABLE_PLATFORM_PROJECTS"))
|
|
19
|
+
if (!flag("ENABLE_PLATFORM_PROJECTS")) apiError(404, ApiErrorCode.NOT_FOUND, "Not found");
|
|
20
20
|
const { grantId } = params;
|
|
21
|
-
if (!grantId)
|
|
21
|
+
if (!grantId) apiError(400, ApiErrorCode.VALIDATION_FAILED, "Missing grant ID");
|
|
22
22
|
try {
|
|
23
23
|
await getPlatformProjectGrantStore().delete(SYSTEM_CONTEXT, grantId);
|
|
24
|
-
return
|
|
24
|
+
return new Response(null, { status: 204 });
|
|
25
25
|
} catch (err) {
|
|
26
26
|
handleApiError(err, "Failed to revoke grant");
|
|
27
27
|
}
|
|
28
28
|
};
|
|
29
29
|
|
|
30
30
|
export { DELETE };
|
|
31
|
-
//# sourceMappingURL=_server.ts-
|
|
31
|
+
//# sourceMappingURL=_server.ts-deI69oUs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-deI69oUs.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/admin/api/projects/_id_/grants/_grantId_/_server.ts.js"],"sourcesContent":["import { f as flag, m as getPlatformProjectGrantStore } from \"../../../../../../../../chunks/providers.server.js\";\nimport { u as requireInstanceAdmin } from \"../../../../../../../../chunks/access.server.js\";\nimport { a as apiError, h as handleApiError, A as ApiErrorCode } from \"../../../../../../../../chunks/api-errors.js\";\nimport { S as SYSTEM_CONTEXT } from \"../../../../../../../../chunks/context.js\";\nconst DELETE = async ({ params, locals }) => {\n requireInstanceAdmin(locals);\n if (!flag(\"ENABLE_PLATFORM_PROJECTS\")) apiError(404, ApiErrorCode.NOT_FOUND, \"Not found\");\n const { grantId } = params;\n if (!grantId) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing grant ID\");\n try {\n await getPlatformProjectGrantStore().delete(SYSTEM_CONTEXT, grantId);\n return new Response(null, { status: 204 });\n } catch (err) {\n handleApiError(err, \"Failed to revoke grant\");\n }\n};\nexport {\n DELETE\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIK,MAAC,MAAM,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC7C,EAAE,oBAAoB,CAAC,MAAM,CAAC;AAC9B,EAAE,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC;AAC3F,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM;AAC5B,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,kBAAkB,CAAC;AACjF,EAAE,IAAI;AACN,IAAI,MAAM,4BAA4B,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,OAAO,CAAC;AACxE,IAAI,OAAO,IAAI,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC9C,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,wBAAwB,CAAC;AACjD,EAAE;AACF;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { json } from '@sveltejs/kit';
|
|
2
2
|
import { i as getDefinitionService } from './providers.server-C3fQ7ZdV.js';
|
|
3
|
-
import { t as requireEditableDefinition } from './access.server-
|
|
4
|
-
import { t as throwZodError, h as handleApiError } from './api-errors-
|
|
3
|
+
import { t as requireEditableDefinition } from './access.server-Rd56k7vs.js';
|
|
4
|
+
import { a as apiError, t as throwZodError, h as handleApiError, A as ApiErrorCode } from './api-errors-BrqxD-El.js';
|
|
5
5
|
import { G as GuidSchema, h as PublishVersionInputSchema } from './context-BJnJL8ES.js';
|
|
6
6
|
import './shared-server-C3WdcJCQ.js';
|
|
7
7
|
import 'node:url';
|
|
@@ -16,7 +16,7 @@ import './utils2-BqfluBM6.js';
|
|
|
16
16
|
|
|
17
17
|
const POST = async ({ params, request, locals }) => {
|
|
18
18
|
const guidParsed = GuidSchema.safeParse(params.guid);
|
|
19
|
-
if (!guidParsed.success)
|
|
19
|
+
if (!guidParsed.success) apiError(400, ApiErrorCode.VALIDATION_FAILED, "Invalid or missing GUID");
|
|
20
20
|
const body = await request.json().catch(() => ({}));
|
|
21
21
|
const parsed = PublishVersionInputSchema.safeParse(body);
|
|
22
22
|
if (!parsed.success) throwZodError(parsed.error);
|
|
@@ -27,11 +27,11 @@ const POST = async ({ params, request, locals }) => {
|
|
|
27
27
|
guidParsed.data,
|
|
28
28
|
parsed.data.versionId
|
|
29
29
|
);
|
|
30
|
-
return json({
|
|
30
|
+
return json({ version });
|
|
31
31
|
} catch (err) {
|
|
32
32
|
handleApiError(err, "Failed to publish version");
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
|
|
36
36
|
export { POST };
|
|
37
|
-
//# sourceMappingURL=_server.ts-
|
|
37
|
+
//# sourceMappingURL=_server.ts-fxzTH5KH.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-fxzTH5KH.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/definitions/_guid_/publish/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { i as getDefinitionService } from \"../../../../../../chunks/providers.server.js\";\nimport { t as requireEditableDefinition } from \"../../../../../../chunks/access.server.js\";\nimport { a as apiError, t as throwZodError, h as handleApiError, A as ApiErrorCode } from \"../../../../../../chunks/api-errors.js\";\nimport { G as GuidSchema, h as PublishVersionInputSchema } from \"../../../../../../chunks/context.js\";\nconst POST = async ({ params, request, locals }) => {\n const guidParsed = GuidSchema.safeParse(params.guid);\n if (!guidParsed.success) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Invalid or missing GUID\");\n const body = await request.json().catch(() => ({}));\n const parsed = PublishVersionInputSchema.safeParse(body);\n if (!parsed.success) throwZodError(parsed.error);\n const { ctx } = await requireEditableDefinition(locals, guidParsed.data);\n try {\n const version = await getDefinitionService().publish(\n ctx,\n guidParsed.data,\n parsed.data.versionId\n );\n return json({ version });\n } catch (err) {\n handleApiError(err, \"Failed to publish version\");\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAKK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK;AACpD,EAAE,MAAM,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;AACtD,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,yBAAyB,CAAC;AACnG,EAAE,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;AACrD,EAAE,MAAM,MAAM,GAAG,yBAAyB,CAAC,SAAS,CAAC,IAAI,CAAC;AAC1D,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,yBAAyB,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC;AAC1E,EAAE,IAAI;AACN,IAAI,MAAM,OAAO,GAAG,MAAM,oBAAoB,EAAE,CAAC,OAAO;AACxD,MAAM,GAAG;AACT,MAAM,UAAU,CAAC,IAAI;AACrB,MAAM,MAAM,CAAC,IAAI,CAAC;AAClB,KAAK;AACL,IAAI,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;AAC5B,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,2BAA2B,CAAC;AACpD,EAAE;AACF;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { json } from '@sveltejs/kit';
|
|
2
2
|
import { n as getProjectProvider } from './providers.server-C3fQ7ZdV.js';
|
|
3
|
-
import { o as requireCanReclaim } from './access.server-
|
|
4
|
-
import { h as handleApiError } from './api-errors-
|
|
3
|
+
import { o as requireCanReclaim } from './access.server-Rd56k7vs.js';
|
|
4
|
+
import { a as apiError, h as handleApiError, A as ApiErrorCode } from './api-errors-BrqxD-El.js';
|
|
5
5
|
import './shared-server-C3WdcJCQ.js';
|
|
6
6
|
import 'node:url';
|
|
7
7
|
import 'node:path';
|
|
@@ -16,7 +16,7 @@ import './utils2-BqfluBM6.js';
|
|
|
16
16
|
|
|
17
17
|
const POST = async ({ params, locals }) => {
|
|
18
18
|
const { id } = params;
|
|
19
|
-
if (!id)
|
|
19
|
+
if (!id) apiError(400, ApiErrorCode.VALIDATION_FAILED, "Missing project ID");
|
|
20
20
|
const { user, ctx } = await requireCanReclaim(locals, id);
|
|
21
21
|
const now = (/* @__PURE__ */ new Date()).toISOString();
|
|
22
22
|
const member = {
|
|
@@ -30,11 +30,11 @@ const POST = async ({ params, locals }) => {
|
|
|
30
30
|
};
|
|
31
31
|
try {
|
|
32
32
|
await getProjectProvider().addProjectMember(ctx, member);
|
|
33
|
-
return json({
|
|
33
|
+
return json({ member }, { status: 201 });
|
|
34
34
|
} catch (err) {
|
|
35
35
|
handleApiError(err, "Failed to reclaim project");
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
export { POST };
|
|
40
|
-
//# sourceMappingURL=_server.ts-
|
|
40
|
+
//# sourceMappingURL=_server.ts-mFb6RwID.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-mFb6RwID.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/api/projects/_id_/reclaim/_server.ts.js"],"sourcesContent":["import { json } from \"@sveltejs/kit\";\nimport { n as getProjectProvider } from \"../../../../../../chunks/providers.server.js\";\nimport { o as requireCanReclaim } from \"../../../../../../chunks/access.server.js\";\nimport { a as apiError, h as handleApiError, A as ApiErrorCode } from \"../../../../../../chunks/api-errors.js\";\nconst POST = async ({ params, locals }) => {\n const { id } = params;\n if (!id) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing project ID\");\n const { user, ctx } = await requireCanReclaim(locals, id);\n const now = (/* @__PURE__ */ new Date()).toISOString();\n const member = {\n projectId: id,\n userId: user.id,\n role: \"owner\",\n joinedAt: now,\n updatedAt: now,\n updatedBy: ctx.userId || user.id,\n deletedAt: null\n };\n try {\n await getProjectProvider().addProjectMember(ctx, member);\n return json({ member }, { status: 201 });\n } catch (err) {\n handleApiError(err, \"Failed to reclaim project\");\n }\n};\nexport {\n POST\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAIK,MAAC,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK;AAC3C,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM;AACvB,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,oBAAoB,CAAC;AAC9E,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC;AAC3D,EAAE,MAAM,GAAG,GAAG,iBAAiB,IAAI,IAAI,EAAE,EAAE,WAAW,EAAE;AACxD,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,SAAS,EAAE,EAAE;AACjB,IAAI,MAAM,EAAE,IAAI,CAAC,EAAE;AACnB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,QAAQ,EAAE,GAAG;AACjB,IAAI,SAAS,EAAE,GAAG;AAClB,IAAI,SAAS,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI,CAAC,EAAE;AACpC,IAAI,SAAS,EAAE;AACf,GAAG;AACH,EAAE,IAAI;AACN,IAAI,MAAM,kBAAkB,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC;AAC5D,IAAI,OAAO,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;AAC5C,EAAE,CAAC,CAAC,OAAO,GAAG,EAAE;AAChB,IAAI,cAAc,CAAC,GAAG,EAAE,2BAA2B,CAAC;AACpD,EAAE;AACF;;;;"}
|
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { redirect } from '@sveltejs/kit';
|
|
2
|
+
import { a as apiError, A as ApiErrorCode } from './api-errors-BrqxD-El.js';
|
|
2
3
|
import { a as getAuthProvider } from './providers.server-C3fQ7ZdV.js';
|
|
3
4
|
import { b as bootstrapUserSession } from './auth-bootstrap.server-DKc9-3PR.js';
|
|
4
5
|
import { h as setSessionCookie, f as setRefreshCookie, s as safeRedirectTarget } from './admin-auth.server-45kKyH82.js';
|
|
6
|
+
import './context-BJnJL8ES.js';
|
|
7
|
+
import 'zod';
|
|
8
|
+
import '@selvajs/compute/core';
|
|
9
|
+
import './utils2-BqfluBM6.js';
|
|
5
10
|
import './shared-server-C3WdcJCQ.js';
|
|
6
11
|
import 'node:url';
|
|
7
12
|
import 'node:path';
|
|
8
13
|
import 'node:fs';
|
|
9
|
-
import './context-BJnJL8ES.js';
|
|
10
|
-
import 'zod';
|
|
11
14
|
import 'node:crypto';
|
|
12
15
|
import 'node:fs/promises';
|
|
13
16
|
import '@supabase/supabase-js';
|
|
@@ -15,13 +18,13 @@ import './slug-BGuFQjqe.js';
|
|
|
15
18
|
|
|
16
19
|
const GET = async ({ url, cookies }) => {
|
|
17
20
|
const code = url.searchParams.get("code");
|
|
18
|
-
if (!code)
|
|
21
|
+
if (!code) apiError(400, ApiErrorCode.VALIDATION_FAILED, "Missing authorization code");
|
|
19
22
|
const oauth = getAuthProvider().oauth;
|
|
20
23
|
if (!oauth) {
|
|
21
|
-
|
|
24
|
+
apiError(501, ApiErrorCode.INTERNAL, "OAuth is not supported by the configured auth provider.");
|
|
22
25
|
}
|
|
23
26
|
const result = await oauth.exchangeOAuthCode(code);
|
|
24
|
-
if (!result)
|
|
27
|
+
if (!result) apiError(401, ApiErrorCode.UNAUTHORIZED, "OAuth exchange failed");
|
|
25
28
|
await bootstrapUserSession(result.user);
|
|
26
29
|
setSessionCookie(cookies, result.sessionToken);
|
|
27
30
|
setRefreshCookie(cookies, result.refreshToken);
|
|
@@ -30,4 +33,4 @@ const GET = async ({ url, cookies }) => {
|
|
|
30
33
|
};
|
|
31
34
|
|
|
32
35
|
export { GET };
|
|
33
|
-
//# sourceMappingURL=_server.ts-
|
|
36
|
+
//# sourceMappingURL=_server.ts-sdl64bpd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_server.ts-sdl64bpd.js","sources":["../../../.svelte-kit/adapter-node/entries/endpoints/auth/supabase/callback/_server.ts.js"],"sourcesContent":["import { redirect } from \"@sveltejs/kit\";\nimport { a as apiError, A as ApiErrorCode } from \"../../../../../chunks/api-errors.js\";\nimport { a as getAuthProvider } from \"../../../../../chunks/providers.server.js\";\nimport { b as bootstrapUserSession } from \"../../../../../chunks/auth-bootstrap.server.js\";\nimport { h as setSessionCookie, f as setRefreshCookie, s as safeRedirectTarget } from \"../../../../../chunks/admin-auth.server.js\";\nconst GET = async ({ url, cookies }) => {\n const code = url.searchParams.get(\"code\");\n if (!code) apiError(400, ApiErrorCode.VALIDATION_FAILED, \"Missing authorization code\");\n const oauth = getAuthProvider().oauth;\n if (!oauth) {\n apiError(501, ApiErrorCode.INTERNAL, \"OAuth is not supported by the configured auth provider.\");\n }\n const result = await oauth.exchangeOAuthCode(code);\n if (!result) apiError(401, ApiErrorCode.UNAUTHORIZED, \"OAuth exchange failed\");\n await bootstrapUserSession(result.user);\n setSessionCookie(cookies, result.sessionToken);\n setRefreshCookie(cookies, result.refreshToken);\n const dest = safeRedirectTarget(url.searchParams.get(\"redirectTo\"), \"/library\");\n redirect(303, dest);\n};\nexport {\n GET\n};\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAKK,MAAC,GAAG,GAAG,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK;AACxC,EAAE,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC;AAC3C,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,iBAAiB,EAAE,4BAA4B,CAAC;AACxF,EAAE,MAAM,KAAK,GAAG,eAAe,EAAE,CAAC,KAAK;AACvC,EAAE,IAAI,CAAC,KAAK,EAAE;AACd,IAAI,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,EAAE,yDAAyD,CAAC;AACnG,EAAE;AACF,EAAE,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC;AACpD,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,YAAY,EAAE,uBAAuB,CAAC;AAChF,EAAE,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,CAAC;AACzC,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AAChD,EAAE,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC;AAChD,EAAE,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC;AACjF,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;AACrB;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { error, redirect } from '@sveltejs/kit';
|
|
2
2
|
import { j as hasPermission, a as ALL_PLATFORM_PERMISSIONS } from './context-BJnJL8ES.js';
|
|
3
3
|
import { h as getDefinitionMeta, k as getOrganizationProvider, f as flag, n as getProjectProvider, m as getPlatformProjectGrantStore } from './providers.server-C3fQ7ZdV.js';
|
|
4
|
-
import { h as handleApiError } from './api-errors-
|
|
4
|
+
import { h as handleApiError } from './api-errors-BrqxD-El.js';
|
|
5
5
|
import 'zod';
|
|
6
6
|
import './shared-server-C3WdcJCQ.js';
|
|
7
7
|
import 'node:url';
|
|
@@ -405,4 +405,4 @@ const access_server = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defin
|
|
|
405
405
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
406
406
|
|
|
407
407
|
export { requireTargetIsOrgMember as A, withAdminBypass as B, access_server as a, assertAnyPlatformPermission as b, assertManageCompute as c, assertManageInstanceUsers as d, assertPagePermission as e, canChangeVisibilityToPublic as f, canEdit as g, canView as h, checkOwnerRemoval as i, requireCanCreateProject as j, requireCanEditDefinition as k, requireCanEditProjectSettings as l, requireCanManage as m, requireCanManageMembers as n, requireCanReclaim as o, projectAccessInputFromRows as p, requireCanSolve as q, requireCanCreateDefinition as r, requireCanViewProject as s, requireEditableDefinition as t, requireInstanceAdmin as u, requireManageCompute as v, requireManageInstanceUsers as w, requireManageOrgCompute as x, requireManageOrgMembers as y, requirePermission as z };
|
|
408
|
-
//# sourceMappingURL=access.server-
|
|
408
|
+
//# sourceMappingURL=access.server-Rd56k7vs.js.map
|