kempo 4.2.19 → 4.2.21
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/app-public/CATCH.page.html +15 -0
- package/app-public/kempo-global.global.html +0 -6
- package/bin/cli.js +4 -21
- package/dist/admin/accounts/groups/[name]/index.page.html +114 -4
- package/dist/admin/accounts/groups/index.page.html +89 -4
- package/dist/admin/accounts/permissions/index.page.html +86 -4
- package/dist/admin/accounts/users/[id]/index.page.html +117 -3
- package/dist/admin/accounts/users/index.page.html +118 -4
- package/dist/admin/components/AddGroupControl.js +1 -5
- package/dist/admin/components/AddGroupControl.js.map +1 -1
- package/dist/admin/components/AdminTableControl.js +2 -0
- package/dist/admin/components/AdminTableControl.js.map +1 -0
- package/dist/admin/components/ClearExpiredSessionsControl.js +1 -5
- package/dist/admin/components/ClearExpiredSessionsControl.js.map +1 -1
- package/dist/admin/components/GroupDeleteSelected.js +1 -5
- package/dist/admin/components/GroupDeleteSelected.js.map +1 -1
- package/dist/admin/components/GroupRemoveRecord.js +1 -5
- package/dist/admin/components/GroupRemoveRecord.js.map +1 -1
- package/dist/admin/components/TableRowDelete.js +1 -3
- package/dist/admin/components/TableRowDelete.js.map +1 -1
- package/dist/admin/components/TableRowLink.js +1 -7
- package/dist/admin/components/TableRowLink.js.map +1 -1
- package/dist/admin/components/tableControls/AddMember.js +1 -5
- package/dist/admin/components/tableControls/AddMember.js.map +1 -1
- package/dist/admin/components/tableControls/AddPermission.js +1 -5
- package/dist/admin/components/tableControls/AddPermission.js.map +1 -1
- package/dist/admin/components/tableControls/InstallExtension.js +1 -5
- package/dist/admin/components/tableControls/InstallExtension.js.map +1 -1
- package/dist/admin/components/tableControls/UninstallExtension.js +1 -5
- package/dist/admin/components/tableControls/UninstallExtension.js.map +1 -1
- package/dist/admin/content/fragments/edit/index.page.html +8 -1
- package/dist/admin/content/fragments/index.page.html +88 -3
- package/dist/admin/content/globals/edit/index.page.html +8 -1
- package/dist/admin/content/globals/index.page.html +103 -8
- package/dist/admin/content/pages/edit/index.page.html +8 -1
- package/dist/admin/content/pages/index.page.html +225 -28
- package/dist/admin/content/templates/edit/index.page.html +8 -1
- package/dist/admin/content/templates/index.page.html +117 -3
- package/dist/admin/default.template.html +20 -1
- package/dist/admin/extensions/index.page.html +59 -2
- package/dist/admin/icons/extension_add.svg +1 -0
- package/dist/admin/icons/extension_remove.svg +1 -0
- package/dist/admin/index.page.html +5 -1
- package/dist/admin/init.js.map +1 -1
- package/dist/admin/nav.fragment.html +84 -2
- package/dist/admin/settings/[owner]/[name]/index.page.html +110 -4
- package/dist/admin/settings/index.page.html +89 -4
- package/dist/kempo/api/admin-globals/DELETE.js +1 -1
- package/dist/kempo/api/admin-globals/DELETE.js.map +1 -1
- package/dist/kempo/api/admin-globals/GET.js +1 -1
- package/dist/kempo/api/admin-globals/GET.js.map +1 -1
- package/dist/kempo/api/admin-globals/POST.js +1 -1
- package/dist/kempo/api/admin-globals/POST.js.map +1 -1
- package/dist/kempo/api/admin-globals/[id]/GET.js +1 -1
- package/dist/kempo/api/admin-globals/[id]/GET.js.map +1 -1
- package/dist/kempo/api/admin-globals/[id]/PUT.js +1 -1
- package/dist/kempo/api/admin-globals/[id]/PUT.js.map +1 -1
- package/dist/kempo/api/admin-globals/[id]/disable/PUT.js +1 -1
- package/dist/kempo/api/admin-globals/[id]/disable/PUT.js.map +1 -1
- package/dist/kempo/api/admin-globals/[id]/enable/PUT.js +1 -1
- package/dist/kempo/api/admin-globals/[id]/enable/PUT.js.map +1 -1
- package/dist/kempo/api/extensions/DELETE.js +1 -1
- package/dist/kempo/api/extensions/DELETE.js.map +1 -1
- package/dist/kempo/api/extensions/POST.js +1 -1
- package/dist/kempo/api/extensions/POST.js.map +1 -1
- package/dist/kempo/api/extensions/[name]/disable/POST.js +1 -1
- package/dist/kempo/api/extensions/[name]/disable/POST.js.map +1 -1
- package/dist/kempo/api/extensions/[name]/enable/POST.js +1 -1
- package/dist/kempo/api/extensions/[name]/enable/POST.js.map +1 -1
- package/dist/kempo/api/extensions/[name]/update/POST.js +1 -1
- package/dist/kempo/api/extensions/[name]/update/POST.js.map +1 -1
- package/dist/kempo/api/extensions/[name]/update-check/GET.js +1 -1
- package/dist/kempo/api/extensions/[name]/update-check/GET.js.map +1 -1
- package/dist/kempo/api/fragments/DELETE.js +1 -1
- package/dist/kempo/api/fragments/DELETE.js.map +1 -1
- package/dist/kempo/api/fragments/GET.js +1 -1
- package/dist/kempo/api/fragments/GET.js.map +1 -1
- package/dist/kempo/api/fragments/POST.js +1 -1
- package/dist/kempo/api/fragments/POST.js.map +1 -1
- package/dist/kempo/api/fragments/disable/PUT.js +1 -1
- package/dist/kempo/api/fragments/disable/PUT.js.map +1 -1
- package/dist/kempo/api/fragments/enable/PUT.js +1 -1
- package/dist/kempo/api/fragments/enable/PUT.js.map +1 -1
- package/dist/kempo/api/fragments/file/GET.js +1 -1
- package/dist/kempo/api/fragments/file/GET.js.map +1 -1
- package/dist/kempo/api/fragments/file/PATCH.js +1 -1
- package/dist/kempo/api/fragments/file/PATCH.js.map +1 -1
- package/dist/kempo/api/fragments/file/PUT.js +1 -1
- package/dist/kempo/api/fragments/file/PUT.js.map +1 -1
- package/dist/kempo/api/fragments/lock/PUT.js +1 -1
- package/dist/kempo/api/fragments/lock/PUT.js.map +1 -1
- package/dist/kempo/api/globals/DELETE.js +1 -1
- package/dist/kempo/api/globals/DELETE.js.map +1 -1
- package/dist/kempo/api/globals/GET.js +1 -1
- package/dist/kempo/api/globals/GET.js.map +1 -1
- package/dist/kempo/api/globals/POST.js +1 -1
- package/dist/kempo/api/globals/POST.js.map +1 -1
- package/dist/kempo/api/globals/disable/PUT.js +1 -1
- package/dist/kempo/api/globals/disable/PUT.js.map +1 -1
- package/dist/kempo/api/globals/enable/PUT.js +1 -1
- package/dist/kempo/api/globals/enable/PUT.js.map +1 -1
- package/dist/kempo/api/globals/entry/GET.js +1 -1
- package/dist/kempo/api/globals/entry/GET.js.map +1 -1
- package/dist/kempo/api/globals/entry/PUT.js +1 -1
- package/dist/kempo/api/globals/entry/PUT.js.map +1 -1
- package/dist/kempo/api/globals/lock/PUT.js +1 -1
- package/dist/kempo/api/globals/lock/PUT.js.map +1 -1
- package/dist/kempo/api/pages/DELETE.js +1 -1
- package/dist/kempo/api/pages/DELETE.js.map +1 -1
- package/dist/kempo/api/pages/GET.js +1 -1
- package/dist/kempo/api/pages/GET.js.map +1 -1
- package/dist/kempo/api/pages/POST.js +1 -1
- package/dist/kempo/api/pages/POST.js.map +1 -1
- package/dist/kempo/api/pages/directories/GET.js +1 -1
- package/dist/kempo/api/pages/directories/GET.js.map +1 -1
- package/dist/kempo/api/pages/disable/PUT.js +1 -1
- package/dist/kempo/api/pages/disable/PUT.js.map +1 -1
- package/dist/kempo/api/pages/enable/PUT.js +1 -1
- package/dist/kempo/api/pages/enable/PUT.js.map +1 -1
- package/dist/kempo/api/pages/file/GET.js +1 -1
- package/dist/kempo/api/pages/file/GET.js.map +1 -1
- package/dist/kempo/api/pages/file/PATCH.js +1 -1
- package/dist/kempo/api/pages/file/PATCH.js.map +1 -1
- package/dist/kempo/api/pages/file/PUT.js +1 -1
- package/dist/kempo/api/pages/file/PUT.js.map +1 -1
- package/dist/kempo/api/pages/lock/PUT.js +1 -1
- package/dist/kempo/api/pages/lock/PUT.js.map +1 -1
- package/dist/kempo/api/pages/rescan/POST.js +2 -0
- package/dist/kempo/api/pages/rescan/POST.js.map +1 -0
- package/dist/kempo/api/pages/search/GET.js +1 -1
- package/dist/kempo/api/pages/search/GET.js.map +1 -1
- package/dist/kempo/api/pages/templates/GET.js +1 -1
- package/dist/kempo/api/pages/templates/GET.js.map +1 -1
- package/dist/kempo/api/templates/DELETE.js +1 -1
- package/dist/kempo/api/templates/DELETE.js.map +1 -1
- package/dist/kempo/api/templates/GET.js +1 -1
- package/dist/kempo/api/templates/GET.js.map +1 -1
- package/dist/kempo/api/templates/POST.js +1 -1
- package/dist/kempo/api/templates/POST.js.map +1 -1
- package/dist/kempo/api/templates/disable/PUT.js +1 -1
- package/dist/kempo/api/templates/disable/PUT.js.map +1 -1
- package/dist/kempo/api/templates/enable/PUT.js +1 -1
- package/dist/kempo/api/templates/enable/PUT.js.map +1 -1
- package/dist/kempo/api/templates/file/GET.js +1 -1
- package/dist/kempo/api/templates/file/GET.js.map +1 -1
- package/dist/kempo/api/templates/file/PATCH.js +1 -1
- package/dist/kempo/api/templates/file/PATCH.js.map +1 -1
- package/dist/kempo/api/templates/file/PUT.js +1 -1
- package/dist/kempo/api/templates/file/PUT.js.map +1 -1
- package/dist/kempo/api/templates/lock/PUT.js +1 -1
- package/dist/kempo/api/templates/lock/PUT.js.map +1 -1
- package/dist/kempo/api/user/[userid]/name/GET.js +2 -0
- package/dist/kempo/api/user/[userid]/name/GET.js.map +1 -0
- package/dist/kempo/components/UserDisplayName.js +2 -0
- package/dist/kempo/components/UserDisplayName.js.map +1 -0
- package/dist/kempo/sdk.js +1 -1
- package/dist/kempo/sdk.js.map +1 -1
- package/middleware/kempo.js +99 -25
- package/package.json +16 -9
- package/server/utils/admin-global-content/createAdminGlobalContent.js +4 -3
- package/server/utils/admin-global-content/deleteAdminGlobalContent.js +2 -2
- package/server/utils/admin-global-content/deleteAdminGlobalContentByOwner.js +2 -2
- package/server/utils/admin-global-content/disableAdminGlobalContent.js +2 -2
- package/server/utils/admin-global-content/enableAdminGlobalContent.js +2 -2
- package/server/utils/admin-global-content/getAdminGlobalContent.js +2 -2
- package/server/utils/admin-global-content/helpers.js +12 -1
- package/server/utils/admin-global-content/listAdminGlobalContent.js +2 -2
- package/server/utils/admin-global-content/updateAdminGlobalContent.js +2 -2
- package/server/utils/email/sendEmail.js +9 -3
- package/server/utils/extensions/uninstallExtension.js +54 -21
- package/server/utils/fragments/listFragments.js +10 -1
- package/server/utils/hooks/triggerHook.js +15 -13
- package/server/utils/pages/listPages.js +57 -7
- package/app-public/kempo-global.global-disabled.html +0 -0
- package/app-public/new-page.page.html +0 -17
- package/app-public/test.page.html +0 -21
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as r}from"path";import s from"../../../../../server/utils/permissions/currentUserHasPermission.js";import
|
|
1
|
+
import{resolve as r,join as e}from"path";import s from"../../../../../server/utils/permissions/currentUserHasPermission.js";import t from"../../../../../server/utils/fragments/moveFragment.js";const i=import.meta.dirname.includes("node_modules")?e(process.cwd(),"public"):r(import.meta.dirname,"../../../../../app-public");export default async(r,e)=>{const o=r.cookies.session_token,[n,a]=await s(o,"system:pages:update");if(n)return e.status(n.code).json({error:n.msg});if(!a)return e.status(403).json({error:"Insufficient permissions"});const{file:m,newFile:u}=r.body;if(!m)return e.status(400).json({error:"File path is required"});if(!u)return e.status(400).json({error:"New file path is required"});const[p,c]=await t({rootDir:i,file:m,newFile:u});if(p)return e.status(p.code).json({error:p.msg});e.json(c)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\fragments\file\PATCH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\fragments\\file\\PATCH.js","names":["resolve","currentUserHasPermission","moveFragment","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","newFile","body","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport moveFragment from '../../../../../server/utils/fragments/moveFragment.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file, newFile } = request.body;\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tif(!newFile){\r\n\t\treturn response.status(400).json({ error: 'New file path is required' });\r\n\t}\r\n\r\n\tconst [error, data] = await moveFragment({ rootDir, file, newFile });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\fragments\\file\\PATCH.js","names":["resolve","join","currentUserHasPermission","moveFragment","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","newFile","body","data"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport moveFragment from '../../../../../server/utils/fragments/moveFragment.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file, newFile } = request.body;\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tif(!newFile){\r\n\t\treturn response.status(400).json({ error: 'New file path is required' });\r\n\t}\r\n\r\n\tconst [error, data] = await moveFragment({ rootDir, file, newFile });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,6EAC9BC,MAAkB,wDAEzB,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBL,EAAKM,QAAQC,MAAO,UAAYR,cAAoBK,QAAS,4CAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBd,EAAyBU,EAAO,uBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,KAAEA,EAAIC,QAAEA,GAAYb,EAAQc,KAElC,IAAIF,EACH,OAAOX,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,0BAG3C,IAAIG,EACH,OAAOZ,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,8BAG3C,MAAOA,EAAOK,SAActB,EAAa,CAAEC,UAASkB,OAAMC,YAE1D,GAAGH,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKM","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as r}from"path";import
|
|
1
|
+
import{resolve as r,join as e}from"path";import s from"../../../../../server/utils/permissions/currentUserHasPermission.js";import t from"../../../../../server/utils/fragments/getFragmentMetadata.js";import o from"../../../../../server/utils/fragments/updateFragment.js";const i=import.meta.dirname.includes("node_modules")?e(process.cwd(),"public"):r(import.meta.dirname,"../../../../../app-public");export default async(r,e)=>{const a=r.cookies.session_token,[n,m]=await s(a,"system:fragments:update");if(n)return e.status(n.code).json({error:n.msg});if(!m)return e.status(403).json({error:"Insufficient permissions"});const{file:u,name:p,author:c,markup:d}=r.body;if(!u)return e.status(400).json({error:"File path is required"});const[f,l]=await t({rootDir:i,file:u});if(!f&&l.locked)return e.status(403).json({error:"This fragment is locked and cannot be edited"});const[g,j]=await o({rootDir:i,file:u,name:p,author:c,markup:d});if(g)return e.status(g.code).json({error:g.msg});e.json(j)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\fragments\file\PUT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\fragments\\file\\PUT.js","names":["resolve","currentUserHasPermission","getFragmentMetadata","updateFragment","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","name","author","markup","body","metaError","metadata","locked","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getFragmentMetadata from '../../../../../server/utils/fragments/getFragmentMetadata.js';\r\nimport updateFragment from '../../../../../server/utils/fragments/updateFragment.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:fragments:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file, name, author, markup } = request.body;\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tconst [metaError, metadata] = await getFragmentMetadata({ rootDir, file });\r\n\tif(!metaError && metadata.locked){\r\n\t\treturn response.status(403).json({ error: 'This fragment is locked and cannot be edited' });\r\n\t}\r\n\r\n\tconst [error, data] = await updateFragment({ rootDir, file, name, author, markup });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\fragments\\file\\PUT.js","names":["resolve","join","currentUserHasPermission","getFragmentMetadata","updateFragment","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","name","author","markup","body","metaError","metadata","locked","data"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getFragmentMetadata from '../../../../../server/utils/fragments/getFragmentMetadata.js';\r\nimport updateFragment from '../../../../../server/utils/fragments/updateFragment.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:fragments:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file, name, author, markup } = request.body;\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tconst [metaError, metadata] = await getFragmentMetadata({ rootDir, file });\r\n\tif(!metaError && metadata.locked){\r\n\t\treturn response.status(403).json({ error: 'This fragment is locked and cannot be edited' });\r\n\t}\r\n\r\n\tconst [error, data] = await updateFragment({ rootDir, file, name, author, markup });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,6EAC9BC,MAAyB,sEACzBC,MAAoB,0DAE3B,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBN,EAAKO,QAAQC,MAAO,UAAYT,cAAoBM,QAAS,4CAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBf,EAAyBW,EAAO,2BAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,KAAEA,EAAIC,KAAEA,EAAIC,OAAEA,EAAMC,OAAEA,GAAWf,EAAQgB,KAE/C,IAAIJ,EACH,OAAOX,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,0BAG3C,MAAOO,EAAWC,SAAkB1B,EAAoB,CAAEE,UAASkB,SACnE,IAAIK,GAAaC,EAASC,OACzB,OAAOlB,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,iDAG3C,MAAOA,EAAOU,SAAc3B,EAAe,CAAEC,UAASkB,OAAMC,OAAMC,SAAQC,WAE1E,GAAGL,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKW","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as
|
|
1
|
+
import{resolve as s,join as e}from"path";import r from"../../../../../server/utils/permissions/currentUserHasPermission.js";import o from"../../../../../server/utils/fragments/setFragmentLocked.js";const t=import.meta.dirname.includes("node_modules")?e(process.cwd(),"public"):s(import.meta.dirname,"../../../../../app-public");export default async(s,e)=>{const i=s.cookies.session_token,[n,a]=await r(i,"system:fragments:update");if(n)return e.status(n.code).json({error:n.msg});if(!a)return e.status(403).json({error:"Insufficient permissions"});const{file:m,locked:u}=s.body;if(!m)return e.status(400).json({error:"File path is required"});if("boolean"!=typeof u)return e.status(400).json({error:"locked must be a boolean"});const[c,p]=await o({rootDir:t,file:m,locked:u});if(c)return e.status(c.code).json({error:c.msg});e.json(p)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\fragments\lock\PUT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\fragments\\lock\\PUT.js","names":["resolve","currentUserHasPermission","setFragmentLocked","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","locked","body","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport setFragmentLocked from '../../../../../server/utils/fragments/setFragmentLocked.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:fragments:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file, locked } = request.body;\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tif(typeof locked !== 'boolean'){\r\n\t\treturn response.status(400).json({ error: 'locked must be a boolean' });\r\n\t}\r\n\r\n\tconst [error, data] = await setFragmentLocked({ rootDir, file, locked });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\fragments\\lock\\PUT.js","names":["resolve","join","currentUserHasPermission","setFragmentLocked","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","locked","body","data"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport setFragmentLocked from '../../../../../server/utils/fragments/setFragmentLocked.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:fragments:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file, locked } = request.body;\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tif(typeof locked !== 'boolean'){\r\n\t\treturn response.status(400).json({ error: 'locked must be a boolean' });\r\n\t}\r\n\r\n\tconst [error, data] = await setFragmentLocked({ rootDir, file, locked });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,6EAC9BC,MAAuB,6DAE9B,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBL,EAAKM,QAAQC,MAAO,UAAYR,cAAoBK,QAAS,4CAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBd,EAAyBU,EAAO,2BAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,KAAEA,EAAIC,OAAEA,GAAWb,EAAQc,KAEjC,IAAIF,EACH,OAAOX,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,0BAG3C,GAAqB,kBAAXG,EACT,OAAOZ,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAOA,EAAOK,SAActB,EAAkB,CAAEC,UAASkB,OAAMC,WAE/D,GAAGH,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKM","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as t}from"path";import
|
|
1
|
+
import{resolve as o,join as t}from"path";import e from"../../../../server/utils/permissions/currentUserHasPermission.js";import s from"../../../../server/utils/global-content/getGlobalContentMetadata.js";import r from"../../../../server/utils/global-content/deleteGlobalContent.js";const n=import.meta.dirname.includes("node_modules")?t(process.cwd(),"public"):o(import.meta.dirname,"../../../../app-public");export default async(o,t)=>{const i=o.cookies.session_token,[a,l]=await e(i,"system:globals:delete");if(a)return t.status(a.code).json({error:a.msg});if(!l)return t.status(403).json({error:"Insufficient permissions"});const{ids:c}=o.body||{};if(!c?.length)return t.status(400).json({error:"No IDs specified"});for(const o of c){const[e,r]=await s({rootDir:n,id:o});if(!e&&r.locked)return t.status(403).json({error:`Cannot delete locked global content: ${r.name}`})}const[m,d]=await r({rootDir:n,ids:c});if(m)return t.status(m.code).json({error:m.msg});t.json(d)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\globals\DELETE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\globals\\DELETE.js","names":["resolve","currentUserHasPermission","getGlobalContentMetadata","deleteGlobalContent","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","ids","body","length","id","metaError","metadata","locked","name","result"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getGlobalContentMetadata from '../../../../server/utils/global-content/getGlobalContentMetadata.js';\r\nimport deleteGlobalContent from '../../../../server/utils/global-content/deleteGlobalContent.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:delete');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { ids } = request.body || {};\r\n\r\n\tif(!ids?.length){\r\n\t\treturn response.status(400).json({ error: 'No IDs specified' });\r\n\t}\r\n\r\n\tfor(const id of ids){\r\n\t\tconst [metaError, metadata] = await getGlobalContentMetadata({ rootDir, id });\r\n\t\tif(!metaError && metadata.locked){\r\n\t\t\treturn response.status(403).json({ error: `Cannot delete locked global content: ${metadata.name}` });\r\n\t\t}\r\n\t}\r\n\r\n\tconst [error, result] = await deleteGlobalContent({ rootDir, ids });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(result);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\globals\\DELETE.js","names":["resolve","join","currentUserHasPermission","getGlobalContentMetadata","deleteGlobalContent","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","ids","body","length","id","metaError","metadata","locked","name","result"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getGlobalContentMetadata from '../../../../server/utils/global-content/getGlobalContentMetadata.js';\r\nimport deleteGlobalContent from '../../../../server/utils/global-content/deleteGlobalContent.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:delete');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { ids } = request.body || {};\r\n\r\n\tif(!ids?.length){\r\n\t\treturn response.status(400).json({ error: 'No IDs specified' });\r\n\t}\r\n\r\n\tfor(const id of ids){\r\n\t\tconst [metaError, metadata] = await getGlobalContentMetadata({ rootDir, id });\r\n\t\tif(!metaError && metadata.locked){\r\n\t\t\treturn response.status(403).json({ error: `Cannot delete locked global content: ${metadata.name}` });\r\n\t\t}\r\n\t}\r\n\r\n\tconst [error, result] = await deleteGlobalContent({ rootDir, ids });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(result);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,0EAC9BC,MAA8B,6EAC9BC,MAAyB,iEAEhC,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBN,EAAKO,QAAQC,MAAO,UAAYT,cAAoBM,QAAS,yCAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBf,EAAyBW,EAAO,yBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,IAAEA,GAAQZ,EAAQa,MAAQ,CAAC,EAEjC,IAAID,GAAKE,OACR,OAAOb,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,qBAG3C,IAAI,MAAMK,KAAMH,EAAI,CACnB,MAAOI,EAAWC,SAAkBzB,EAAyB,CAAEE,UAASqB,OACxE,IAAIC,GAAaC,EAASC,OACzB,OAAOjB,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,wCAAwCO,EAASE,QAE7F,CAEA,MAAOT,EAAOU,SAAgB3B,EAAoB,CAAEC,UAASkB,QAE7D,GAAGF,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKW","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as s}from"path";import
|
|
1
|
+
import{resolve as s,join as r}from"path";import o from"../../../../server/utils/permissions/currentUserHasPermission.js";import t from"../../../../server/utils/global-content/listGlobalContent.js";const e=import.meta.dirname.includes("node_modules")?r(process.cwd(),"public"):s(import.meta.dirname,"../../../../app-public");export default async(s,r)=>{const i=s.cookies.session_token,[n,a]=await o(i,"system:globals:read");if(n)return r.status(n.code).json({error:n.msg});if(!a)return r.status(403).json({error:"Insufficient permissions"});const[m,c]=await t({rootDir:e});if(m)return r.status(m.code).json({error:m.msg});r.json(c)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\globals\GET.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\globals\\GET.js","names":["resolve","currentUserHasPermission","listGlobalContent","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport listGlobalContent from '../../../../server/utils/global-content/listGlobalContent.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:read');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst [error, data] = await listGlobalContent({ rootDir });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\globals\\GET.js","names":["resolve","join","currentUserHasPermission","listGlobalContent","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","data"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport listGlobalContent from '../../../../server/utils/global-content/listGlobalContent.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:read');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst [error, data] = await listGlobalContent({ rootDir });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,0EAC9BC,MAAuB,+DAE9B,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBL,EAAKM,QAAQC,MAAO,UAAYR,cAAoBK,QAAS,yCAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBd,EAAyBU,EAAO,uBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAOA,EAAOE,SAAcnB,EAAkB,CAAEC,YAEhD,GAAGgB,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKG","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as r}from"path";import
|
|
1
|
+
import{resolve as r,join as s}from"path";import t from"../../../../server/utils/permissions/currentUserHasPermission.js";import o from"../../../../server/utils/auth/getSession.js";import e from"../../../../server/utils/global-content/createGlobalContent.js";const i=import.meta.dirname.includes("node_modules")?s(process.cwd(),"public"):r(import.meta.dirname,"../../../../app-public");export default async(r,s)=>{const n=r.cookies.session_token,[a,u]=await t(n,"system:globals:create");if(a)return s.status(a.code).json({error:a.msg});if(!u)return s.status(403).json({error:"Insufficient permissions"});const{name:m,location:c,priority:p}=r.body;if(!m)return s.status(400).json({error:"Name is required"});if(!c)return s.status(400).json({error:"Location is required"});const[,l]=await o({token:n}),d=l?.user?.name||"",[f,j]=await e({rootDir:i,name:m,location:c,priority:p,author:d});if(f)return s.status(f.code).json({error:f.msg});s.status(201).json(j)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\globals\POST.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\globals\\POST.js","names":["resolve","currentUserHasPermission","getSession","createGlobalContent","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","location","priority","body","sessionData","author","user","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getSession from '../../../../server/utils/auth/getSession.js';\r\nimport createGlobalContent from '../../../../server/utils/global-content/createGlobalContent.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:create');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { name, location, priority } = request.body;\r\n\r\n\tif(!name){\r\n\t\treturn response.status(400).json({ error: 'Name is required' });\r\n\t}\r\n\r\n\tif(!location){\r\n\t\treturn response.status(400).json({ error: 'Location is required' });\r\n\t}\r\n\r\n\tconst [, sessionData] = await getSession({ token });\r\n\tconst author = sessionData?.user?.name || '';\r\n\r\n\tconst [error, data] = await createGlobalContent({ rootDir, name, location, priority, author });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.status(201).json(data);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\globals\\POST.js","names":["resolve","join","currentUserHasPermission","getSession","createGlobalContent","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","location","priority","body","sessionData","author","user","data"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getSession from '../../../../server/utils/auth/getSession.js';\r\nimport createGlobalContent from '../../../../server/utils/global-content/createGlobalContent.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:create');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { name, location, priority } = request.body;\r\n\r\n\tif(!name){\r\n\t\treturn response.status(400).json({ error: 'Name is required' });\r\n\t}\r\n\r\n\tif(!location){\r\n\t\treturn response.status(400).json({ error: 'Location is required' });\r\n\t}\r\n\r\n\tconst [, sessionData] = await getSession({ token });\r\n\tconst author = sessionData?.user?.name || '';\r\n\r\n\tconst [error, data] = await createGlobalContent({ rootDir, name, location, priority, author });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.status(201).json(data);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,0EAC9BC,MAAgB,qDAChBC,MAAyB,iEAEhC,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBN,EAAKO,QAAQC,MAAO,UAAYT,cAAoBM,QAAS,yCAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBf,EAAyBW,EAAO,yBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,KAAEA,EAAIC,SAAEA,EAAQC,SAAEA,GAAad,EAAQe,KAE7C,IAAIH,EACH,OAAOX,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,qBAG3C,IAAIG,EACH,OAAOZ,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,yBAG3C,MAAO,CAAEM,SAAqBxB,EAAW,CAAEU,UACrCe,EAASD,GAAaE,MAAMN,MAAQ,IAEnCF,EAAOS,SAAc1B,EAAoB,CAAEC,UAASkB,OAAMC,WAAUC,WAAUG,WAErF,GAAGP,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASM,OAAO,KAAKE,KAAKU","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as s}from"path";import
|
|
1
|
+
import{resolve as s,join as r}from"path";import o from"../../../../../server/utils/permissions/currentUserHasPermission.js";import t from"../../../../../server/utils/global-content/disableGlobalContent.js";const e=import.meta.dirname.includes("node_modules")?r(process.cwd(),"public"):s(import.meta.dirname,"../../../../../app-public");export default async(s,r)=>{const i=s.cookies.session_token,[n,a]=await o(i,"system:globals:update");if(n)return r.status(n.code).json({error:n.msg});if(!a)return r.status(403).json({error:"Insufficient permissions"});const{id:m}=s.body||{};if(!m)return r.status(400).json({error:"Global content ID is required"});const[u,c]=await t({rootDir:e,id:m});if(u)return r.status(u.code).json({error:u.msg});r.json(c)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\globals\disable\PUT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\globals\\disable\\PUT.js","names":["resolve","currentUserHasPermission","disableGlobalContent","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","body","result"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport disableGlobalContent from '../../../../../server/utils/global-content/disableGlobalContent.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { id } = request.body || {};\r\n\r\n\tif(!id){\r\n\t\treturn response.status(400).json({ error: 'Global content ID is required' });\r\n\t}\r\n\r\n\tconst [error, result] = await disableGlobalContent({ rootDir, id });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(result);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\globals\\disable\\PUT.js","names":["resolve","join","currentUserHasPermission","disableGlobalContent","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","body","result"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport disableGlobalContent from '../../../../../server/utils/global-content/disableGlobalContent.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { id } = request.body || {};\r\n\r\n\tif(!id){\r\n\t\treturn response.status(400).json({ error: 'Global content ID is required' });\r\n\t}\r\n\r\n\tconst [error, result] = await disableGlobalContent({ rootDir, id });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(result);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,6EAC9BC,MAA0B,qEAEjC,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBL,EAAKM,QAAQC,MAAO,UAAYR,cAAoBK,QAAS,4CAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBd,EAAyBU,EAAO,yBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,GAAEA,GAAOZ,EAAQa,MAAQ,CAAC,EAEhC,IAAID,EACH,OAAOX,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,kCAG3C,MAAOA,EAAOI,SAAgBrB,EAAqB,CAAEC,UAASkB,OAE9D,GAAGF,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKK","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as s}from"path";import
|
|
1
|
+
import{resolve as s,join as r}from"path";import o from"../../../../../server/utils/permissions/currentUserHasPermission.js";import e from"../../../../../server/utils/global-content/enableGlobalContent.js";const t=import.meta.dirname.includes("node_modules")?r(process.cwd(),"public"):s(import.meta.dirname,"../../../../../app-public");export default async(s,r)=>{const i=s.cookies.session_token,[n,a]=await o(i,"system:globals:update");if(n)return r.status(n.code).json({error:n.msg});if(!a)return r.status(403).json({error:"Insufficient permissions"});const{id:m}=s.body||{};if(!m)return r.status(400).json({error:"Global content ID is required"});const[u,c]=await e({rootDir:t,id:m});if(u)return r.status(u.code).json({error:u.msg});r.json(c)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\globals\enable\PUT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\globals\\enable\\PUT.js","names":["resolve","currentUserHasPermission","enableGlobalContent","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","body","result"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport enableGlobalContent from '../../../../../server/utils/global-content/enableGlobalContent.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { id } = request.body || {};\r\n\r\n\tif(!id){\r\n\t\treturn response.status(400).json({ error: 'Global content ID is required' });\r\n\t}\r\n\r\n\tconst [error, result] = await enableGlobalContent({ rootDir, id });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(result);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\globals\\enable\\PUT.js","names":["resolve","join","currentUserHasPermission","enableGlobalContent","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","body","result"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport enableGlobalContent from '../../../../../server/utils/global-content/enableGlobalContent.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { id } = request.body || {};\r\n\r\n\tif(!id){\r\n\t\treturn response.status(400).json({ error: 'Global content ID is required' });\r\n\t}\r\n\r\n\tconst [error, result] = await enableGlobalContent({ rootDir, id });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(result);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,6EAC9BC,MAAyB,oEAEhC,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBL,EAAKM,QAAQC,MAAO,UAAYR,cAAoBK,QAAS,4CAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBd,EAAyBU,EAAO,yBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,GAAEA,GAAOZ,EAAQa,MAAQ,CAAC,EAEhC,IAAID,EACH,OAAOX,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,kCAG3C,MAAOA,EAAOI,SAAgBrB,EAAoB,CAAEC,UAASkB,OAE7D,GAAGF,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKK","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as r}from"path";import
|
|
1
|
+
import{resolve as s,join as r}from"path";import o from"../../../../../server/utils/permissions/currentUserHasPermission.js";import e from"../../../../../server/utils/global-content/getGlobalContent.js";const t=import.meta.dirname.includes("node_modules")?r(process.cwd(),"public"):s(import.meta.dirname,"../../../../../app-public");export default async(s,r)=>{const i=s.cookies.session_token,[n,a]=await o(i,"system:globals:read");if(n)return r.status(n.code).json({error:n.msg});if(!a)return r.status(403).json({error:"Insufficient permissions"});const{id:m}=s.query;if(!m)return r.status(400).json({error:"Global content ID is required"});const[u,c]=await e({rootDir:t,id:m});if(u)return r.status(u.code).json({error:u.msg});r.json(c)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\globals\entry\GET.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\globals\\entry\\GET.js","names":["resolve","currentUserHasPermission","getGlobalContent","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","query","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getGlobalContent from '../../../../../server/utils/global-content/getGlobalContent.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:read');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { id } = request.query;\r\n\r\n\tif(!id){\r\n\t\treturn response.status(400).json({ error: 'Global content ID is required' });\r\n\t}\r\n\r\n\tconst [error, data] = await getGlobalContent({ rootDir, id });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\globals\\entry\\GET.js","names":["resolve","join","currentUserHasPermission","getGlobalContent","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","query","data"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getGlobalContent from '../../../../../server/utils/global-content/getGlobalContent.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:read');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { id } = request.query;\r\n\r\n\tif(!id){\r\n\t\treturn response.status(400).json({ error: 'Global content ID is required' });\r\n\t}\r\n\r\n\tconst [error, data] = await getGlobalContent({ rootDir, id });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,6EAC9BC,MAAsB,iEAE7B,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBL,EAAKM,QAAQC,MAAO,UAAYR,cAAoBK,QAAS,4CAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBd,EAAyBU,EAAO,uBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,GAAEA,GAAOZ,EAAQa,MAEvB,IAAID,EACH,OAAOX,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,kCAG3C,MAAOA,EAAOI,SAAcrB,EAAiB,CAAEC,UAASkB,OAExD,GAAGF,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKK","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as t}from"path";import
|
|
1
|
+
import{resolve as o,join as t}from"path";import r from"../../../../../server/utils/permissions/currentUserHasPermission.js";import s from"../../../../../server/utils/global-content/getGlobalContentMetadata.js";import e from"../../../../../server/utils/global-content/updateGlobalContent.js";const i=import.meta.dirname.includes("node_modules")?t(process.cwd(),"public"):o(import.meta.dirname,"../../../../../app-public");export default async(o,t)=>{const n=o.cookies.session_token,[a,l]=await r(n,"system:globals:update");if(a)return t.status(a.code).json({error:a.msg});if(!l)return t.status(403).json({error:"Insufficient permissions"});const{id:c,name:m,location:u,priority:d,markup:p}=o.body;if(!c)return t.status(400).json({error:"Global content ID is required"});const[f,b]=await s({rootDir:i,id:c});if(!f&&b.locked)return t.status(403).json({error:"This global content is locked and cannot be edited"});const[j,g]=await e({rootDir:i,id:c,name:m,location:u,priority:d,markup:p});if(j)return t.status(j.code).json({error:j.msg});t.json(g)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\globals\entry\PUT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\globals\\entry\\PUT.js","names":["resolve","currentUserHasPermission","getGlobalContentMetadata","updateGlobalContent","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","name","location","priority","markup","body","metaError","metadata","locked","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getGlobalContentMetadata from '../../../../../server/utils/global-content/getGlobalContentMetadata.js';\r\nimport updateGlobalContent from '../../../../../server/utils/global-content/updateGlobalContent.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { id, name, location, priority, markup } = request.body;\r\n\r\n\tif(!id){\r\n\t\treturn response.status(400).json({ error: 'Global content ID is required' });\r\n\t}\r\n\r\n\tconst [metaError, metadata] = await getGlobalContentMetadata({ rootDir, id });\r\n\tif(!metaError && metadata.locked){\r\n\t\treturn response.status(403).json({ error: 'This global content is locked and cannot be edited' });\r\n\t}\r\n\r\n\tconst [error, data] = await updateGlobalContent({ rootDir, id, name, location, priority, markup });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\globals\\entry\\PUT.js","names":["resolve","join","currentUserHasPermission","getGlobalContentMetadata","updateGlobalContent","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","name","location","priority","markup","body","metaError","metadata","locked","data"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getGlobalContentMetadata from '../../../../../server/utils/global-content/getGlobalContentMetadata.js';\r\nimport updateGlobalContent from '../../../../../server/utils/global-content/updateGlobalContent.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { id, name, location, priority, markup } = request.body;\r\n\r\n\tif(!id){\r\n\t\treturn response.status(400).json({ error: 'Global content ID is required' });\r\n\t}\r\n\r\n\tconst [metaError, metadata] = await getGlobalContentMetadata({ rootDir, id });\r\n\tif(!metaError && metadata.locked){\r\n\t\treturn response.status(403).json({ error: 'This global content is locked and cannot be edited' });\r\n\t}\r\n\r\n\tconst [error, data] = await updateGlobalContent({ rootDir, id, name, location, priority, markup });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,6EAC9BC,MAA8B,gFAC9BC,MAAyB,oEAEhC,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBN,EAAKO,QAAQC,MAAO,UAAYT,cAAoBM,QAAS,4CAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBf,EAAyBW,EAAO,yBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,GAAEA,EAAEC,KAAEA,EAAIC,SAAEA,EAAQC,SAAEA,EAAQC,OAAEA,GAAWhB,EAAQiB,KAEzD,IAAIL,EACH,OAAOX,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,kCAG3C,MAAOQ,EAAWC,SAAkB3B,EAAyB,CAAEE,UAASkB,OACxE,IAAIM,GAAaC,EAASC,OACzB,OAAOnB,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,uDAG3C,MAAOA,EAAOW,SAAc5B,EAAoB,CAAEC,UAASkB,KAAIC,OAAMC,WAAUC,WAAUC,WAEzF,GAAGN,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKY","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as o}from"path";import
|
|
1
|
+
import{resolve as o,join as s}from"path";import e from"../../../../../server/utils/permissions/currentUserHasPermission.js";import r from"../../../../../server/utils/global-content/setGlobalContentLocked.js";const t=import.meta.dirname.includes("node_modules")?s(process.cwd(),"public"):o(import.meta.dirname,"../../../../../app-public");export default async(o,s)=>{const n=o.cookies.session_token,[i,a]=await e(n,"system:globals:update");if(i)return s.status(i.code).json({error:i.msg});if(!a)return s.status(403).json({error:"Insufficient permissions"});const{id:u,locked:c}=o.body;if(!u)return s.status(400).json({error:"Global content ID is required"});if("boolean"!=typeof c)return s.status(400).json({error:"locked must be a boolean"});const[l,m]=await r({rootDir:t,id:u,locked:c});if(l)return s.status(l.code).json({error:l.msg});s.json(m)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\globals\lock\PUT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\globals\\lock\\PUT.js","names":["resolve","currentUserHasPermission","setGlobalContentLocked","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","locked","body","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport setGlobalContentLocked from '../../../../../server/utils/global-content/setGlobalContentLocked.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { id, locked } = request.body;\r\n\r\n\tif(!id){\r\n\t\treturn response.status(400).json({ error: 'Global content ID is required' });\r\n\t}\r\n\r\n\tif(typeof locked !== 'boolean'){\r\n\t\treturn response.status(400).json({ error: 'locked must be a boolean' });\r\n\t}\r\n\r\n\tconst [error, data] = await setGlobalContentLocked({ rootDir, id, locked });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\globals\\lock\\PUT.js","names":["resolve","join","currentUserHasPermission","setGlobalContentLocked","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","locked","body","data"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport setGlobalContentLocked from '../../../../../server/utils/global-content/setGlobalContentLocked.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { id, locked } = request.body;\r\n\r\n\tif(!id){\r\n\t\treturn response.status(400).json({ error: 'Global content ID is required' });\r\n\t}\r\n\r\n\tif(typeof locked !== 'boolean'){\r\n\t\treturn response.status(400).json({ error: 'locked must be a boolean' });\r\n\t}\r\n\r\n\tconst [error, data] = await setGlobalContentLocked({ rootDir, id, locked });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,6EAC9BC,MAA4B,uEAEnC,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBL,EAAKM,QAAQC,MAAO,UAAYR,cAAoBK,QAAS,4CAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBd,EAAyBU,EAAO,yBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,GAAEA,EAAEC,OAAEA,GAAWb,EAAQc,KAE/B,IAAIF,EACH,OAAOX,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,kCAG3C,GAAqB,kBAAXG,EACT,OAAOZ,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAOA,EAAOK,SAActB,EAAuB,CAAEC,UAASkB,KAAIC,WAElE,GAAGH,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKM","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as e}from"path";import
|
|
1
|
+
import{resolve as e,join as s}from"path";import r from"../../../../server/utils/permissions/currentUserHasPermission.js";import t from"../../../../server/utils/pages/getPageMetadata.js";import o from"../../../../server/utils/pages/deletePage.js";const i=import.meta.dirname.includes("node_modules")?s(process.cwd(),"public"):e(import.meta.dirname,"../../../../app-public");export default async(e,s)=>{const n=e.cookies.session_token,[a,m]=await r(n,"system:pages:delete");if(a)return s.status(a.code).json({error:a.msg});if(!m)return s.status(403).json({error:"Insufficient permissions"});const{files:u}=e.body||{};if(!u?.length)return s.status(400).json({error:"No files specified"});for(const e of u){const[r,o]=await t({rootDir:i,file:e});if(!r){if(o.locked)return s.status(403).json({error:`Cannot delete locked page: ${e}`});if(o.owner&&"custom"!==o.owner)return s.status(403).json({error:`Cannot delete system-owned page: ${e}`})}}const[c,f]=await o({rootDir:i,files:u});if(c)return s.status(c.code).json({error:c.msg});s.json(f)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\pages\DELETE.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\pages\\DELETE.js","names":["resolve","currentUserHasPermission","getPageMetadata","deletePage","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","files","body","length","file","metaError","metadata","locked","owner","result"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getPageMetadata from '../../../../server/utils/pages/getPageMetadata.js';\r\nimport deletePage from '../../../../server/utils/pages/deletePage.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:delete');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { files } = request.body || {};\r\n\r\n\tif(!files?.length){\r\n\t\treturn response.status(400).json({ error: 'No files specified' });\r\n\t}\r\n\r\n\tfor(const file of files){\r\n\t\tconst [metaError, metadata] = await getPageMetadata({ rootDir, file });\r\n\t\tif(!metaError){\r\n\t\t\tif(metadata.locked){\r\n\t\t\t\treturn response.status(403).json({ error: `Cannot delete locked page: ${file}` });\r\n\t\t\t}\r\n\t\t\tif(metadata.owner && metadata.owner !== 'custom'){\r\n\t\t\t\treturn response.status(403).json({ error: `Cannot delete system-owned page: ${file}` });\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconst [error, result] = await deletePage({ rootDir, files });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(result);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\pages\\DELETE.js","names":["resolve","join","currentUserHasPermission","getPageMetadata","deletePage","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","files","body","length","file","metaError","metadata","locked","owner","result"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getPageMetadata from '../../../../server/utils/pages/getPageMetadata.js';\r\nimport deletePage from '../../../../server/utils/pages/deletePage.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:delete');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { files } = request.body || {};\r\n\r\n\tif(!files?.length){\r\n\t\treturn response.status(400).json({ error: 'No files specified' });\r\n\t}\r\n\r\n\tfor(const file of files){\r\n\t\tconst [metaError, metadata] = await getPageMetadata({ rootDir, file });\r\n\t\tif(!metaError){\r\n\t\t\tif(metadata.locked){\r\n\t\t\t\treturn response.status(403).json({ error: `Cannot delete locked page: ${file}` });\r\n\t\t\t}\r\n\t\t\tif(metadata.owner && metadata.owner !== 'custom'){\r\n\t\t\t\treturn response.status(403).json({ error: `Cannot delete system-owned page: ${file}` });\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tconst [error, result] = await deletePage({ rootDir, files });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(result);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,0EAC9BC,MAAqB,2DACrBC,MAAgB,+CAEvB,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBN,EAAKO,QAAQC,MAAO,UAAYT,cAAoBM,QAAS,yCAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBf,EAAyBW,EAAO,uBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,MAAEA,GAAUZ,EAAQa,MAAQ,CAAC,EAEnC,IAAID,GAAOE,OACV,OAAOb,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,uBAG3C,IAAI,MAAMK,KAAQH,EAAM,CACvB,MAAOI,EAAWC,SAAkBzB,EAAgB,CAAEE,UAASqB,SAC/D,IAAIC,EAAU,CACb,GAAGC,EAASC,OACX,OAAOjB,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,8BAA8BK,MAEzE,GAAGE,EAASE,OAA4B,WAAnBF,EAASE,MAC7B,OAAOlB,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,oCAAoCK,KAEhF,CACD,CAEA,MAAOL,EAAOU,SAAgB3B,EAAW,CAAEC,UAASkB,UAEpD,GAAGF,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKW","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as s}from"path";import r from"../../../../server/utils/permissions/currentUserHasPermission.js";import
|
|
1
|
+
import{resolve as s,join as e}from"path";import r from"../../../../server/utils/permissions/currentUserHasPermission.js";import o from"../../../../server/utils/pages/listPages.js";const t=import.meta.dirname.includes("node_modules")?e(process.cwd(),"public"):s(import.meta.dirname,"../../../../app-public");export default async(s,e)=>{const i=s.cookies.session_token,[n,a]=await r(i,"system:pages:read");if(n)return e.status(n.code).json({error:n.msg});if(!a)return e.status(403).json({error:"Insufficient permissions"});const{owner:m,showHidden:p,offset:u,limit:d}=s.query,[c,f]=await o({rootDir:t,owner:m||void 0,showHidden:"false"!==p,offset:u?parseInt(u,10):0,limit:d?parseInt(d,10):0});if(c)return e.status(c.code).json({error:c.msg});e.json(f)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\pages\GET.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\pages\\GET.js","names":["resolve","currentUserHasPermission","listPages","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport listPages from '../../../../server/utils/pages/listPages.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:read');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst [error, data] = await listPages({
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\pages\\GET.js","names":["resolve","join","currentUserHasPermission","listPages","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","owner","showHidden","offset","limit","query","data","undefined","parseInt"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport listPages from '../../../../server/utils/pages/listPages.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:read');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { owner, showHidden, offset, limit } = request.query;\r\n\tconst [error, data] = await listPages({\r\n\t\trootDir,\r\n\t\towner: owner || undefined,\r\n\t\tshowHidden: showHidden !== 'false',\r\n\t\toffset: offset ? parseInt(offset, 10) : 0,\r\n\t\tlimit: limit ? parseInt(limit, 10) : 0\r\n\t});\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,0EAC9BC,MAAe,8CAEtB,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBL,EAAKM,QAAQC,MAAO,UAAYR,cAAoBK,QAAS,yCAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBd,EAAyBU,EAAO,qBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,MAAEA,EAAKC,WAAEA,EAAUC,OAAEA,EAAMC,MAAEA,GAAUf,EAAQgB,OAC9CN,EAAOO,SAAcxB,EAAU,CACrCC,UACAkB,MAAOA,QAASM,EAChBL,WAA2B,UAAfA,EACZC,OAAQA,EAASK,SAASL,EAAQ,IAAM,EACxCC,MAAOA,EAAQI,SAASJ,EAAO,IAAM,IAGtC,GAAGL,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKQ","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as e}from"path";import
|
|
1
|
+
import{resolve as e,join as r}from"path";import s from"../../../../server/utils/permissions/currentUserHasPermission.js";import t from"../../../../server/utils/auth/getSession.js";import o from"../../../../server/utils/pages/createPage.js";const a=import.meta.dirname.includes("node_modules")?r(process.cwd(),"public"):e(import.meta.dirname,"../../../../app-public");export default async(e,r)=>{const i=e.cookies.session_token,[n,m]=await s(i,"system:pages:create");if(n)return r.status(n.code).json({error:n.msg});if(!m)return r.status(403).json({error:"Insufficient permissions"});const{directory:u,name:c,template:p,extraMetadata:d,locked:l}=e.body;if(!c)return r.status(400).json({error:"Page name is required"});const[,f]=await t({token:i}),j=f?.user?.name||"",[g,k]=await o({rootDir:a,directory:u,name:c,template:p,author:j,extraMetadata:d,locked:l});if(g)return r.status(g.code).json({error:g.msg});r.status(201).json(k)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\pages\POST.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\pages\\POST.js","names":["resolve","currentUserHasPermission","getSession","createPage","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","directory","name","template","extraMetadata","locked","body","sessionData","author","user","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getSession from '../../../../server/utils/auth/getSession.js';\r\nimport createPage from '../../../../server/utils/pages/createPage.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:create');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { directory, name, template, extraMetadata, locked } = request.body;\r\n\r\n\tif(!name){\r\n\t\treturn response.status(400).json({ error: 'Page name is required' });\r\n\t}\r\n\r\n\tconst [, sessionData] = await getSession({ token });\r\n\tconst author = sessionData?.user?.name || '';\r\n\r\n\tconst [error, data] = await createPage({ rootDir, directory, name, template, author, extraMetadata, locked });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.status(201).json(data);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\pages\\POST.js","names":["resolve","join","currentUserHasPermission","getSession","createPage","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","directory","name","template","extraMetadata","locked","body","sessionData","author","user","data"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getSession from '../../../../server/utils/auth/getSession.js';\r\nimport createPage from '../../../../server/utils/pages/createPage.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:create');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { directory, name, template, extraMetadata, locked } = request.body;\r\n\r\n\tif(!name){\r\n\t\treturn response.status(400).json({ error: 'Page name is required' });\r\n\t}\r\n\r\n\tconst [, sessionData] = await getSession({ token });\r\n\tconst author = sessionData?.user?.name || '';\r\n\r\n\tconst [error, data] = await createPage({ rootDir, directory, name, template, author, extraMetadata, locked });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.status(201).json(data);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,0EAC9BC,MAAgB,qDAChBC,MAAgB,+CAEvB,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBN,EAAKO,QAAQC,MAAO,UAAYT,cAAoBM,QAAS,yCAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBf,EAAyBW,EAAO,uBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,UAAEA,EAASC,KAAEA,EAAIC,SAAEA,EAAQC,cAAEA,EAAaC,OAAEA,GAAWhB,EAAQiB,KAErE,IAAIJ,EACH,OAAOZ,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,0BAG3C,MAAO,CAAEQ,SAAqB1B,EAAW,CAAEU,UACrCiB,EAASD,GAAaE,MAAMP,MAAQ,IAEnCH,EAAOW,SAAc5B,EAAW,CAAEC,UAASkB,YAAWC,OAAMC,WAAUK,SAAQJ,gBAAeC,WAEpG,GAAGN,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASM,OAAO,KAAKE,KAAKY","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as s}from"path";import
|
|
1
|
+
import{resolve as s,join as r}from"path";import e from"../../../../../server/utils/permissions/currentUserHasPermission.js";import o from"../../../../../server/utils/pages/listDirectories.js";const t=import.meta.dirname.includes("node_modules")?r(process.cwd(),"public"):s(import.meta.dirname,"../../../../../app-public");export default async(s,r)=>{const i=s.cookies.session_token,[n,a]=await e(i,"system:pages:read");if(n)return r.status(n.code).json({error:n.msg});if(!a)return r.status(403).json({error:"Insufficient permissions"});const[m,p]=await o({rootDir:t});if(m)return r.status(m.code).json({error:m.msg});r.json(p)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\pages\directories\GET.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\pages\\directories\\GET.js","names":["resolve","currentUserHasPermission","listDirectories","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport listDirectories from '../../../../../server/utils/pages/listDirectories.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:read');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst [error, data] = await listDirectories({ rootDir });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\pages\\directories\\GET.js","names":["resolve","join","currentUserHasPermission","listDirectories","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","data"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport listDirectories from '../../../../../server/utils/pages/listDirectories.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:read');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst [error, data] = await listDirectories({ rootDir });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,6EAC9BC,MAAqB,uDAE5B,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBL,EAAKM,QAAQC,MAAO,UAAYR,cAAoBK,QAAS,4CAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBd,EAAyBU,EAAO,qBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAOA,EAAOE,SAAcnB,EAAgB,CAAEC,YAE9C,GAAGgB,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKG","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as s}from"path";import r from"../../../../../server/utils/permissions/currentUserHasPermission.js";import
|
|
1
|
+
import{resolve as s,join as e}from"path";import r from"../../../../../server/utils/permissions/currentUserHasPermission.js";import t from"../../../../../server/utils/pages/getPageMetadata.js";import o from"../../../../../server/utils/pages/disablePage.js";const i=import.meta.dirname.includes("node_modules")?e(process.cwd(),"public"):s(import.meta.dirname,"../../../../../app-public");export default async(s,e)=>{const a=s.cookies.session_token,[n,u]=await r(a,"system:pages:update");if(n)return e.status(n.code).json({error:n.msg});if(!u)return e.status(403).json({error:"Insufficient permissions"});const{file:m}=s.body||{};if(!m)return e.status(400).json({error:"File path is required"});const[p,c]=await t({rootDir:i,file:m});if(!p&&c.locked)return e.status(403).json({error:"Cannot disable a locked page"});const[d,l]=await o({rootDir:i,file:m});if(d)return e.status(d.code).json({error:d.msg});e.json(l)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\pages\disable\PUT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\pages\\disable\\PUT.js","names":["resolve","currentUserHasPermission","getPageMetadata","disablePage","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","body","metaError","metadata","locked","result"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getPageMetadata from '../../../../../server/utils/pages/getPageMetadata.js';\r\nimport disablePage from '../../../../../server/utils/pages/disablePage.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file } = request.body || {};\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tconst [metaError, metadata] = await getPageMetadata({ rootDir, file });\r\n\tif(!metaError && metadata.locked){\r\n\t\treturn response.status(403).json({ error: 'Cannot disable a locked page' });\r\n\t}\r\n\r\n\tconst [error, result] = await disablePage({ rootDir, file });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(result);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\pages\\disable\\PUT.js","names":["resolve","join","currentUserHasPermission","getPageMetadata","disablePage","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","body","metaError","metadata","locked","result"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getPageMetadata from '../../../../../server/utils/pages/getPageMetadata.js';\r\nimport disablePage from '../../../../../server/utils/pages/disablePage.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file } = request.body || {};\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tconst [metaError, metadata] = await getPageMetadata({ rootDir, file });\r\n\tif(!metaError && metadata.locked){\r\n\t\treturn response.status(403).json({ error: 'Cannot disable a locked page' });\r\n\t}\r\n\r\n\tconst [error, result] = await disablePage({ rootDir, file });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(result);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,6EAC9BC,MAAqB,8DACrBC,MAAiB,mDAExB,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBN,EAAKO,QAAQC,MAAO,UAAYT,cAAoBM,QAAS,4CAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBf,EAAyBW,EAAO,uBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,KAAEA,GAASZ,EAAQa,MAAQ,CAAC,EAElC,IAAID,EACH,OAAOX,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,0BAG3C,MAAOI,EAAWC,SAAkBvB,EAAgB,CAAEE,UAASkB,SAC/D,IAAIE,GAAaC,EAASC,OACzB,OAAOf,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,iCAG3C,MAAOA,EAAOO,SAAgBxB,EAAY,CAAEC,UAASkB,SAErD,GAAGF,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKQ","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as r}from"path";import{readFile as s}from"fs/promises";import{existsSync as e}from"fs";import{join as
|
|
1
|
+
import{resolve as r}from"path";import{readFile as s}from"fs/promises";import{existsSync as e}from"fs";import{join as o}from"path";import t from"../../../../../server/utils/permissions/currentUserHasPermission.js";import i from"../../../../../server/utils/fs/parseFrontmatter.js";import m from"../../../../../server/utils/pages/enablePage.js";const n=import.meta.dirname.includes("node_modules")?o(process.cwd(),"public"):r(import.meta.dirname,"../../../../../app-public");export default async(r,s)=>{const e=r.cookies.session_token,[o,i]=await t(e,"system:pages:update");if(o)return s.status(o.code).json({error:o.msg});if(!i)return s.status(403).json({error:"Insufficient permissions"});const{file:a}=r.body||{};if(!a)return s.status(400).json({error:"File path is required"});const[p,u]=await m({rootDir:n,file:a});if(p)return s.status(p.code).json({error:p.msg});s.json(u)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\pages\enable\PUT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\pages\\enable\\PUT.js","names":["resolve","readFile","existsSync","join","currentUserHasPermission","parseFrontmatter","enablePage","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","body","result"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport { readFile } from 'fs/promises';\r\nimport { existsSync } from 'fs';\r\nimport { join } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport parseFrontmatter from '../../../../../server/utils/fs/parseFrontmatter.js';\r\nimport enablePage from '../../../../../server/utils/pages/enablePage.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file } = request.body || {};\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tconst [error, result] = await enablePage({ rootDir, file });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(result);\r\n};\r\n"],"mappings":"kBAASA,MAAe,0BACfC,MAAgB,mCAChBC,MAAkB,oBAClBC,MAAY,cACdC,MAA8B,6EAC9BC,MAAsB,4DACtBC,MAAgB,kDAEvB,MAAMC,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\pages\\enable\\PUT.js","names":["resolve","readFile","existsSync","join","currentUserHasPermission","parseFrontmatter","enablePage","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","body","result"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport { readFile } from 'fs/promises';\r\nimport { existsSync } from 'fs';\r\nimport { join } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport parseFrontmatter from '../../../../../server/utils/fs/parseFrontmatter.js';\r\nimport enablePage from '../../../../../server/utils/pages/enablePage.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file } = request.body || {};\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tconst [error, result] = await enablePage({ rootDir, file });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(result);\r\n};\r\n"],"mappings":"kBAASA,MAAe,0BACfC,MAAgB,mCAChBC,MAAkB,oBAClBC,MAAY,cACdC,MAA8B,6EAC9BC,MAAsB,4DACtBC,MAAgB,kDAEvB,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBN,EAAKO,QAAQC,MAAO,UAAYX,cAAoBQ,QAAS,4CAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBf,EAAyBW,EAAO,uBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,KAAEA,GAASZ,EAAQa,MAAQ,CAAC,EAElC,IAAID,EACH,OAAOX,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,0BAG3C,MAAOA,EAAOI,SAAgBrB,EAAW,CAAEC,UAASkB,SAEpD,GAAGF,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKK","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as s}from"path";import
|
|
1
|
+
import{resolve as s,join as r}from"path";import e from"../../../../../server/utils/permissions/currentUserHasPermission.js";import t from"../../../../../server/utils/pages/getPage.js";const o=import.meta.dirname.includes("node_modules")?r(process.cwd(),"public"):s(import.meta.dirname,"../../../../../app-public");export default async(s,r)=>{const i=s.cookies.session_token,[n,a]=await e(i,"system:pages:read");if(n)return r.status(n.code).json({error:n.msg});if(!a)return r.status(403).json({error:"Insufficient permissions"});const{file:m}=s.query;if(!m)return r.status(400).json({error:"File path is required"});const[u,p]=await t({rootDir:o,file:m});if(u)return r.status(u.code).json({error:u.msg});r.json(p)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\pages\file\GET.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\pages\\file\\GET.js","names":["resolve","currentUserHasPermission","getPage","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","query","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getPage from '../../../../../server/utils/pages/getPage.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:read');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file } = request.query;\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tconst [error, data] = await getPage({ rootDir, file });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\pages\\file\\GET.js","names":["resolve","join","currentUserHasPermission","getPage","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","query","data"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getPage from '../../../../../server/utils/pages/getPage.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:read');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file } = request.query;\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tconst [error, data] = await getPage({ rootDir, file });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,6EAC9BC,MAAa,+CAEpB,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBL,EAAKM,QAAQC,MAAO,UAAYR,cAAoBK,QAAS,4CAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBd,EAAyBU,EAAO,qBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,KAAEA,GAASZ,EAAQa,MAEzB,IAAID,EACH,OAAOX,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,0BAG3C,MAAOA,EAAOI,SAAcrB,EAAQ,CAAEC,UAASkB,SAE/C,GAAGF,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKK","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as
|
|
1
|
+
import{resolve as e,join as s}from"path";import r from"../../../../../server/utils/permissions/currentUserHasPermission.js";import t from"../../../../../server/utils/pages/movePage.js";const i=import.meta.dirname.includes("node_modules")?s(process.cwd(),"public"):e(import.meta.dirname,"../../../../../app-public");export default async(e,s)=>{const o=e.cookies.session_token,[n,a]=await r(o,"system:pages:update");if(n)return s.status(n.code).json({error:n.msg});if(!a)return s.status(403).json({error:"Insufficient permissions"});const{file:u,newFile:m}=e.body;if(!u)return s.status(400).json({error:"File path is required"});if(!m)return s.status(400).json({error:"New file path is required"});const[p,c]=await t({rootDir:i,file:u,newFile:m});if(p)return s.status(p.code).json({error:p.msg});s.json(c)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\pages\file\PATCH.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\pages\\file\\PATCH.js","names":["resolve","currentUserHasPermission","movePage","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","newFile","body","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport movePage from '../../../../../server/utils/pages/movePage.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file, newFile } = request.body;\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tif(!newFile){\r\n\t\treturn response.status(400).json({ error: 'New file path is required' });\r\n\t}\r\n\r\n\tconst [error, data] = await movePage({ rootDir, file, newFile });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\pages\\file\\PATCH.js","names":["resolve","join","currentUserHasPermission","movePage","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","newFile","body","data"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport movePage from '../../../../../server/utils/pages/movePage.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file, newFile } = request.body;\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tif(!newFile){\r\n\t\treturn response.status(400).json({ error: 'New file path is required' });\r\n\t}\r\n\r\n\tconst [error, data] = await movePage({ rootDir, file, newFile });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,6EAC9BC,MAAc,gDAErB,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBL,EAAKM,QAAQC,MAAO,UAAYR,cAAoBK,QAAS,4CAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBd,EAAyBU,EAAO,uBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,KAAEA,EAAIC,QAAEA,GAAYb,EAAQc,KAElC,IAAIF,EACH,OAAOX,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,0BAG3C,IAAIG,EACH,OAAOZ,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,8BAG3C,MAAOA,EAAOK,SAActB,EAAS,CAAEC,UAASkB,OAAMC,YAEtD,GAAGH,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKM","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as t}from"path";import
|
|
1
|
+
import{resolve as e,join as t}from"path";import s from"../../../../../server/utils/permissions/currentUserHasPermission.js";import r from"../../../../../server/utils/pages/getPageMetadata.js";import o from"../../../../../server/utils/pages/updatePage.js";const i=import.meta.dirname.includes("node_modules")?t(process.cwd(),"public"):e(import.meta.dirname,"../../../../../app-public");export default async(e,t)=>{const a=e.cookies.session_token,[n,p]=await s(a,"system:pages:update");if(n)return t.status(n.code).json({error:n.msg});if(!p)return t.status(403).json({error:"Insufficient permissions"});const{file:m,name:u,title:c,description:d,author:l,template:f,contents:g,extraMetadata:j}=e.body;if(!m)return t.status(400).json({error:"File path is required"});const[h,b]=await r({rootDir:i,file:m});if(!h&&b.locked)return t.status(403).json({error:"This page is locked and cannot be edited"});const[k,w]=await o({rootDir:i,file:m,name:u,title:c,description:d,author:l,template:f,contents:g,extraMetadata:j});if(k)return t.status(k.code).json({error:k.msg});t.json(w)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\pages\file\PUT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\api\\pages\\file\\PUT.js","names":["resolve","currentUserHasPermission","getPageMetadata","updatePage","rootDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","name","title","description","author","template","contents","extraMetadata","body","metaError","metadata","locked","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getPageMetadata from '../../../../../server/utils/pages/getPageMetadata.js';\r\nimport updatePage from '../../../../../server/utils/pages/updatePage.js';\r\n\r\nconst rootDir = resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file, name, title, description, author, template, contents, extraMetadata } = request.body;\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tconst [metaError, metadata] = await getPageMetadata({ rootDir, file });\r\n\tif(!metaError && metadata.locked){\r\n\t\treturn response.status(403).json({ error: 'This page is locked and cannot be edited' });\r\n\t}\r\n\r\n\tconst [error, data] = await updatePage({ rootDir, file, name, title, description, author, template, contents, extraMetadata });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,
|
|
1
|
+
{"version":3,"file":"src\\kempo\\api\\pages\\file\\PUT.js","names":["resolve","join","currentUserHasPermission","getPageMetadata","updatePage","rootDir","dirname","includes","process","cwd","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","file","name","title","description","author","template","contents","extraMetadata","body","metaError","metadata","locked","data"],"sources":["0"],"sourcesContent":["import { resolve, join } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getPageMetadata from '../../../../../server/utils/pages/getPageMetadata.js';\r\nimport updatePage from '../../../../../server/utils/pages/updatePage.js';\r\n\r\nconst rootDir = import.meta.dirname.includes('node_modules') ? join(process.cwd(), 'public') : resolve(import.meta.dirname, '../../../../../app-public');\r\n\r\nexport default async (request, response) => {\r\n\tconst token = request.cookies.session_token;\r\n\tconst [permError, hasPermission] = await currentUserHasPermission(token, 'system:pages:update');\r\n\r\n\tif(permError){\r\n\t\treturn response.status(permError.code).json({ error: permError.msg });\r\n\t}\r\n\r\n\tif(!hasPermission){\r\n\t\treturn response.status(403).json({ error: 'Insufficient permissions' });\r\n\t}\r\n\r\n\tconst { file, name, title, description, author, template, contents, extraMetadata } = request.body;\r\n\r\n\tif(!file){\r\n\t\treturn response.status(400).json({ error: 'File path is required' });\r\n\t}\r\n\r\n\tconst [metaError, metadata] = await getPageMetadata({ rootDir, file });\r\n\tif(!metaError && metadata.locked){\r\n\t\treturn response.status(403).json({ error: 'This page is locked and cannot be edited' });\r\n\t}\r\n\r\n\tconst [error, data] = await updatePage({ rootDir, file, name, title, description, author, template, contents, extraMetadata });\r\n\r\n\tif(error){\r\n\t\treturn response.status(error.code).json({ error: error.msg });\r\n\t}\r\n\r\n\tresponse.json(data);\r\n};\r\n"],"mappings":"kBAASA,UAASC,MAAY,cACvBC,MAA8B,6EAC9BC,MAAqB,8DACrBC,MAAgB,kDAEvB,MAAMC,cAAsBC,QAAQC,SAAS,gBAAkBN,EAAKO,QAAQC,MAAO,UAAYT,cAAoBM,QAAS,4CAE7GI,MAAOC,EAASC,KAC9B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBf,EAAyBW,EAAO,uBAEzE,GAAGG,EACF,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGhE,IAAIL,EACH,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG3C,MAAME,KAAEA,EAAIC,KAAEA,EAAIC,MAAEA,EAAKC,YAAEA,EAAWC,OAAEA,EAAMC,SAAEA,EAAQC,SAAEA,EAAQC,cAAEA,GAAkBnB,EAAQoB,KAE9F,IAAIR,EACH,OAAOX,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,0BAG3C,MAAOW,EAAWC,SAAkB9B,EAAgB,CAAEE,UAASkB,SAC/D,IAAIS,GAAaC,EAASC,OACzB,OAAOtB,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6CAG3C,MAAOA,EAAOc,SAAc/B,EAAW,CAAEC,UAASkB,OAAMC,OAAMC,QAAOC,cAAaC,SAAQC,WAAUC,WAAUC,kBAE9G,GAAGT,EACF,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGxDV,EAASQ,KAAKe","ignoreList":[]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{resolve as s}from"path";import
|
|
1
|
+
import{resolve as s,join as e}from"path";import r from"../../../../../server/utils/permissions/currentUserHasPermission.js";import o from"../../../../../server/utils/pages/setPageLocked.js";const t=import.meta.dirname.includes("node_modules")?e(process.cwd(),"public"):s(import.meta.dirname,"../../../../../app-public");export default async(s,e)=>{const i=s.cookies.session_token,[n,a]=await r(i,"system:pages:update");if(n)return e.status(n.code).json({error:n.msg});if(!a)return e.status(403).json({error:"Insufficient permissions"});const{file:u,locked:m}=s.body;if(!u)return e.status(400).json({error:"File path is required"});if("boolean"!=typeof m)return e.status(400).json({error:"locked must be a boolean"});const[c,p]=await o({rootDir:t,file:u,locked:m});if(c)return e.status(c.code).json({error:c.msg});e.json(p)};
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\pages\lock\PUT.js.map
|