kempo 4.2.16 → 4.2.17
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/bin/cli.js +21 -4
- package/dist/admin/components/AddGroupControl.js +2 -2
- package/dist/admin/components/AddGroupControl.js.map +1 -1
- package/dist/admin/components/ClearExpiredSessionsControl.js +2 -2
- package/dist/admin/components/ClearExpiredSessionsControl.js.map +1 -1
- package/dist/admin/components/FragmentEditor.js +15 -15
- package/dist/admin/components/FragmentEditor.js.map +1 -1
- package/dist/admin/components/GlobalContentEditor.js +12 -12
- package/dist/admin/components/GlobalContentEditor.js.map +1 -1
- package/dist/admin/components/GroupDeleteSelected.js +2 -2
- package/dist/admin/components/GroupDeleteSelected.js.map +1 -1
- package/dist/admin/components/GroupRemoveRecord.js +2 -2
- package/dist/admin/components/GroupRemoveRecord.js.map +1 -1
- package/dist/admin/components/Monaco.js +1 -1
- package/dist/admin/components/Monaco.js.map +1 -1
- package/dist/admin/components/PageEditor.js +42 -28
- package/dist/admin/components/PageEditor.js.map +1 -1
- package/dist/admin/components/TableRowDelete.js +2 -2
- package/dist/admin/components/TableRowDelete.js.map +1 -1
- package/dist/admin/components/TableRowLink.js +2 -2
- package/dist/admin/components/TableRowLink.js.map +1 -1
- package/dist/admin/components/TemplateEditor.js +18 -18
- package/dist/admin/components/TemplateEditor.js.map +1 -1
- package/dist/admin/components/ValueEditor.js +17 -17
- package/dist/admin/components/ValueEditor.js.map +1 -1
- package/dist/admin/components/tableControls/AddMember.js +2 -2
- package/dist/admin/components/tableControls/AddMember.js.map +1 -1
- package/dist/admin/components/tableControls/AddPermission.js +2 -2
- package/dist/admin/components/tableControls/AddPermission.js.map +1 -1
- package/dist/admin/components/tableControls/InstallExtension.js +2 -2
- package/dist/admin/components/tableControls/InstallExtension.js.map +1 -1
- package/dist/admin/components/tableControls/UninstallExtension.js +2 -2
- package/dist/admin/components/tableControls/UninstallExtension.js.map +1 -1
- package/dist/admin/extensions/index.page.html +49 -15
- package/dist/admin/icons/open_in_new.svg +1 -0
- package/dist/admin/nav.fragment.html +1 -1
- 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/auth/change-password/POST.js +1 -1
- package/dist/kempo/api/auth/change-password/POST.js.map +1 -1
- package/dist/kempo/api/auth/login/email/POST.js +1 -1
- package/dist/kempo/api/auth/login/email/POST.js.map +1 -1
- package/dist/kempo/api/auth/logout/POST.js +1 -1
- package/dist/kempo/api/auth/logout/POST.js.map +1 -1
- package/dist/kempo/api/auth/register/email/POST.js +1 -1
- package/dist/kempo/api/auth/register/email/POST.js.map +1 -1
- package/dist/kempo/api/auth/reset-password/POST.js +1 -1
- package/dist/kempo/api/auth/reset-password/POST.js.map +1 -1
- package/dist/kempo/api/auth/session/GET.js +1 -1
- package/dist/kempo/api/auth/session/GET.js.map +1 -1
- package/dist/kempo/api/auth/verify-email/POST.js +1 -1
- package/dist/kempo/api/auth/verify-email/POST.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/GET.js +1 -1
- package/dist/kempo/api/extensions/GET.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/extensions/available/GET.js +1 -1
- package/dist/kempo/api/extensions/available/GET.js.map +1 -1
- package/dist/kempo/api/extensions/known/GET.js +1 -1
- package/dist/kempo/api/extensions/known/GET.js.map +1 -1
- package/dist/kempo/api/forgot-password/POST.js +1 -1
- package/dist/kempo/api/forgot-password/POST.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 +2 -2
- 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 +2 -2
- package/dist/kempo/api/globals/lock/PUT.js.map +1 -1
- package/dist/kempo/api/groups/DELETE.js +1 -1
- package/dist/kempo/api/groups/DELETE.js.map +1 -1
- package/dist/kempo/api/groups/GET.js +1 -1
- package/dist/kempo/api/groups/GET.js.map +1 -1
- package/dist/kempo/api/groups/PATCH.js +1 -1
- package/dist/kempo/api/groups/PATCH.js.map +1 -1
- package/dist/kempo/api/groups/POST.js +1 -1
- package/dist/kempo/api/groups/POST.js.map +1 -1
- package/dist/kempo/api/groups/[name]/GET.js +1 -1
- package/dist/kempo/api/groups/[name]/GET.js.map +1 -1
- package/dist/kempo/api/groups/[name]/members/DELETE.js +1 -1
- package/dist/kempo/api/groups/[name]/members/DELETE.js.map +1 -1
- package/dist/kempo/api/groups/[name]/members/GET.js +1 -1
- package/dist/kempo/api/groups/[name]/members/GET.js.map +1 -1
- package/dist/kempo/api/groups/[name]/members/POST.js +1 -1
- package/dist/kempo/api/groups/[name]/members/POST.js.map +1 -1
- package/dist/kempo/api/groups/[name]/permissions/DELETE.js +1 -1
- package/dist/kempo/api/groups/[name]/permissions/DELETE.js.map +1 -1
- package/dist/kempo/api/groups/[name]/permissions/GET.js +1 -1
- package/dist/kempo/api/groups/[name]/permissions/GET.js.map +1 -1
- package/dist/kempo/api/groups/[name]/permissions/POST.js +1 -1
- package/dist/kempo/api/groups/[name]/permissions/POST.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 +2 -2
- package/dist/kempo/api/pages/lock/PUT.js.map +1 -1
- package/dist/kempo/api/pages/search/GET.js +2 -2
- 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/permissions/DELETE.js +1 -1
- package/dist/kempo/api/permissions/DELETE.js.map +1 -1
- package/dist/kempo/api/permissions/GET.js +1 -1
- package/dist/kempo/api/permissions/GET.js.map +1 -1
- package/dist/kempo/api/permissions/PATCH.js +1 -1
- package/dist/kempo/api/permissions/PATCH.js.map +1 -1
- package/dist/kempo/api/permissions/POST.js +1 -1
- package/dist/kempo/api/permissions/POST.js.map +1 -1
- package/dist/kempo/api/settings/[owner]/GET.js +1 -1
- package/dist/kempo/api/settings/[owner]/GET.js.map +1 -1
- package/dist/kempo/api/settings/[owner]/[name]/DELETE.js +1 -1
- package/dist/kempo/api/settings/[owner]/[name]/DELETE.js.map +1 -1
- package/dist/kempo/api/settings/[owner]/[name]/GET.js +1 -1
- package/dist/kempo/api/settings/[owner]/[name]/GET.js.map +1 -1
- package/dist/kempo/api/settings/[owner]/[name]/POST.js +1 -1
- package/dist/kempo/api/settings/[owner]/[name]/POST.js.map +1 -1
- package/dist/kempo/api/settings/public/GET.js +1 -1
- package/dist/kempo/api/settings/public/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 +2 -2
- package/dist/kempo/api/templates/lock/PUT.js.map +1 -1
- package/dist/kempo/api/user/DELETE.js +1 -1
- package/dist/kempo/api/user/DELETE.js.map +1 -1
- package/dist/kempo/api/user/GET.js +1 -1
- package/dist/kempo/api/user/GET.js.map +1 -1
- package/dist/kempo/api/user/PATCH.js +1 -1
- package/dist/kempo/api/user/PATCH.js.map +1 -1
- package/dist/kempo/api/user/[userid]/GET.js +1 -1
- package/dist/kempo/api/user/[userid]/GET.js.map +1 -1
- package/dist/kempo/api/user/[userid]/groups/DELETE.js +1 -1
- package/dist/kempo/api/user/[userid]/groups/DELETE.js.map +1 -1
- package/dist/kempo/api/user/[userid]/groups/GET.js +1 -1
- package/dist/kempo/api/user/[userid]/groups/GET.js.map +1 -1
- package/dist/kempo/api/user/[userid]/groups/POST.js +1 -1
- package/dist/kempo/api/user/[userid]/groups/POST.js.map +1 -1
- package/dist/kempo/api/user/[userid]/permissions/GET.js +1 -1
- package/dist/kempo/api/user/[userid]/permissions/GET.js.map +1 -1
- package/dist/kempo/api/user/[userid]/permissions/all/GET.js +1 -1
- package/dist/kempo/api/user/[userid]/permissions/all/GET.js.map +1 -1
- package/dist/kempo/api/user/[userid]/permissions/list/GET.js +1 -1
- package/dist/kempo/api/user/[userid]/permissions/list/GET.js.map +1 -1
- package/dist/kempo/api/user/[userid]/permissions/some/GET.js +1 -1
- package/dist/kempo/api/user/[userid]/permissions/some/GET.js.map +1 -1
- package/dist/kempo/api/user/[userid]/sessions/DELETE.js +1 -1
- package/dist/kempo/api/user/[userid]/sessions/DELETE.js.map +1 -1
- package/dist/kempo/api/user/[userid]/sessions/GET.js +1 -1
- package/dist/kempo/api/user/[userid]/sessions/GET.js.map +1 -1
- package/dist/kempo/api/user/[userid]/sessions/expired/DELETE.js +1 -1
- package/dist/kempo/api/user/[userid]/sessions/expired/DELETE.js.map +1 -1
- package/dist/kempo/api/user/create/POST.js +1 -1
- package/dist/kempo/api/user/create/POST.js.map +1 -1
- package/dist/kempo/api/user/search/GET.js +1 -1
- package/dist/kempo/api/user/search/GET.js.map +1 -1
- package/dist/kempo/components/LogoutBtn.js +1 -1
- package/dist/kempo/components/LogoutBtn.js.map +1 -1
- package/dist/kempo/components/Menu.js +9 -9
- package/dist/kempo/components/Menu.js.map +1 -1
- package/dist/kempo/components/Permission.js +1 -1
- package/dist/kempo/components/Permission.js.map +1 -1
- package/dist/kempo/components/Role.js +1 -1
- package/dist/kempo/components/Role.js.map +1 -1
- package/dist/kempo/components/UserCreatedAt.js +1 -1
- package/dist/kempo/components/UserCreatedAt.js.map +1 -1
- package/dist/kempo/components/UserEmail.js +1 -1
- package/dist/kempo/components/UserEmail.js.map +1 -1
- package/dist/kempo/components/UserEmailVerified.js +1 -1
- package/dist/kempo/components/UserEmailVerified.js.map +1 -1
- package/dist/kempo/components/UserName.js +1 -1
- package/dist/kempo/components/UserName.js.map +1 -1
- package/dist/kempo/fetch.js +1 -1
- package/dist/kempo/fetch.js.map +1 -1
- package/dist/kempo/sdk.js +1 -1
- package/dist/kempo/sdk.js.map +1 -1
- package/middleware/kempo.js +36 -6
- package/package.json +2 -2
- package/server/utils/extensions/installExtension.js +19 -13
- package/server/utils/extensions/uninstallExtension.js +6 -10
- package/server/utils/pages/deletePage.js +2 -10
- package/dist/admin/accounts/groups/[name]/index.html +0 -518
- package/dist/admin/accounts/groups/index.html +0 -378
- package/dist/admin/accounts/permissions/index.html +0 -397
- package/dist/admin/accounts/users/[id]/index.html +0 -541
- package/dist/admin/accounts/users/index.html +0 -396
- package/dist/admin/content/fragments/edit/index.html +0 -132
- package/dist/admin/content/fragments/index.html +0 -375
- package/dist/admin/content/globals/edit/index.html +0 -132
- package/dist/admin/content/globals/index.html +0 -358
- package/dist/admin/content/pages/edit/index.html +0 -132
- package/dist/admin/content/pages/index.html +0 -509
- package/dist/admin/content/templates/edit/index.html +0 -132
- package/dist/admin/content/templates/index.html +0 -429
- package/dist/admin/extensions/index.html +0 -222
- package/dist/admin/index.html +0 -130
- package/dist/admin/settings/[owner]/[name]/index.html +0 -449
- package/dist/admin/settings/index.html +0 -410
package/dist/kempo/fetch.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\fetch.js","names":["pendingRequests","Map","
|
|
1
|
+
{"version":3,"file":"src\\kempo\\fetch.js","names":["pendingRequests","Map","dedupFetch","async","url","options","key","method","body","createRequestKey","has","existingRequest","get","Promise","resolve","reject","callbacks","add","then","response","ok","errorData","json","e","code","status","msg","error","message","Set","fetchPromise","fetch","forEach","clone","delete","catch","set","includes","params","entries","Object","filter","v","length","queryString","map","value","Array","isArray","encodeURIComponent","join","post","data","headers","JSON","stringify","put","patch","del"],"sources":["0"],"sourcesContent":["const pendingRequests = new Map();\r\n\r\nconst createRequestKey = (url, options = {}) => {\r\n const method = options.method || 'GET';\r\n const body = options.body || '';\r\n return `${method}:${url}:${body}`;\r\n};\r\n\r\nconst dedupFetch = async (url, options) => {\r\n const key = createRequestKey(url, options);\r\n if(pendingRequests.has(key)){\r\n const existingRequest = pendingRequests.get(key);\r\n return new Promise((resolve, reject) => {\r\n existingRequest.callbacks.add({ resolve, reject });\r\n }).then(async response => {\r\n if(!response.ok) {\r\n let errorData;\r\n try {\r\n errorData = await response.json();\r\n } catch(e) {\r\n return [{ code: response.status, msg: 'Service temporarily unavailable. Please try again later.' }, null];\r\n }\r\n return [{ code: response.status, msg: errorData.error || errorData.message || 'An error occurred' }, null];\r\n }\r\n try {\r\n return [null, await response.json()];\r\n } catch(e) {\r\n return [{ code: 500, msg: 'Service temporarily unavailable. Please try again later.' }, null];\r\n }\r\n });\r\n }\r\n const callbacks = new Set();\r\n const fetchPromise = fetch(url, options)\r\n .then(response => {\r\n callbacks.forEach(({ resolve }) => resolve(response.clone()));\r\n pendingRequests.delete(key);\r\n return response;\r\n })\r\n .catch(error => {\r\n callbacks.forEach(({ reject }) => reject(error));\r\n pendingRequests.delete(key);\r\n throw error;\r\n });\r\n pendingRequests.set(key, { fetchPromise, callbacks });\r\n try {\r\n const response = await fetchPromise;\r\n if(!response.ok) {\r\n let errorData;\r\n try {\r\n errorData = await response.json();\r\n } catch(e) {\r\n return [{ code: response.status, msg: 'Service temporarily unavailable. Please try again later.' }, null];\r\n }\r\n return [{ code: response.status, msg: errorData.error || errorData.message || 'An error occurred' }, null];\r\n }\r\n try {\r\n return [null, await response.json()];\r\n } catch(e) {\r\n return [{ code: 500, msg: 'Service temporarily unavailable. Please try again later.' }, null];\r\n }\r\n } catch(error) {\r\n if(error.message === 'Service temporarily unavailable. Please try again later.' || error.message.includes('Failed to fetch')) {\r\n return [{ code: 503, msg: 'Service temporarily unavailable. Please try again later.' }, null];\r\n }\r\n return [{ code: 500, msg: error.message || 'An error occurred' }, null];\r\n }\r\n};\r\n\r\nexport const get = (url, params) => {\r\n if(params){\r\n const entries = Object.entries(params).filter(([, v]) => v !== undefined && v !== null);\r\n if(entries.length){\r\n const queryString = entries\r\n .map(([key, value]) => {\r\n if(Array.isArray(value)){\r\n return `${encodeURIComponent(key)}=${value.map(v => encodeURIComponent(v)).join(',')}`;\r\n }\r\n return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;\r\n })\r\n .join('&');\r\n return dedupFetch(`${url}?${queryString}`, { method: 'GET' });\r\n }\r\n }\r\n return dedupFetch(url, { method: 'GET' });\r\n};\r\n\r\nexport const post = (url, data) => dedupFetch(url, {\r\n method: 'POST',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n});\r\n\r\nexport const put = (url, data) => dedupFetch(url, {\r\n method: 'PUT',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n});\r\n\r\nexport const patch = (url, data) => dedupFetch(url, {\r\n method: 'PATCH',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n});\r\n\r\nexport const del = (url, data) => dedupFetch(url, {\r\n method: 'DELETE',\r\n headers: { 'Content-Type': 'application/json' },\r\n body: JSON.stringify(data)\r\n});\r\n"],"mappings":"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","ignoreList":[]}
|
package/dist/kempo/sdk.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{get,post,put,patch,del}from"./fetch.js";const
|
|
1
|
+
import{get as e,post as s,put as o,patch as t,del as n}from"./fetch.js";const r="/kempo/api";export const register=async({email:e,password:o,name:t})=>s(`${r}/auth/register/email`,{email:e,password:o,name:t});export const login=async({email:e,password:o})=>s(`${r}/auth/login/email`,{email:e,password:o});export const logout=async()=>s(`${r}/auth/logout`,{});export const getSession=async()=>e(`${r}/auth/session`);export const forgotPassword=async({email:e})=>s(`${r}/forgot-password`,{email:e});export const resetPassword=async({token:e,password:o,logoutAll:t=!1})=>s(`${r}/auth/reset-password`,{token:e,newPassword:o,logoutAll:t});export const changePassword=async({currentPassword:e,newPassword:o,logoutAll:t})=>s(`${r}/auth/change-password`,{currentPassword:e,newPassword:o,logoutAll:t});export const verifyEmail=async({token:e})=>s(`${r}/auth/verify-email`,{token:e});export const currentUserHasPermission=async({permission:s})=>e(`${r}/user/current/permissions`,{permission:s});export const currentUserHasAllPermissions=async({permissions:s})=>e(`${r}/user/current/permissions/all`,{permissions:s});export const currentUserHasSomePermissions=async({permissions:s})=>e(`${r}/user/current/permissions/some`,{permissions:s});export const getAllCurrentUserPermissions=async()=>e(`${r}/user/current/permissions/list`);export const userHasPermission=async({userid:s,permission:o})=>e(`${r}/user/${s}/permissions`,{permission:o});export const userHasAllPermissions=async({userid:s,permissions:o})=>e(`${r}/user/${s}/permissions/all`,{permissions:o});export const userHasSomePermissions=async({userid:s,permissions:o})=>e(`${r}/user/${s}/permissions/some`,{permissions:o});export const getAllUserPermissions=async({userid:s})=>e(`${r}/user/${s}/permissions/list`);export const getUsers=async({limit:s,offset:o}={})=>e(`${r}/user`,{limit:s,offset:o});export const searchUsers=async({q:s,limit:o,offset:t,inGroup:n,notInGroup:a}={})=>e(`${r}/user/search`,{q:s,limit:o,offset:t,inGroup:n,notInGroup:a});export const createUser=async({name:e,email:o,password:t,emailVerified:n})=>s(`${r}/user/create`,{name:e,email:o,password:t,emailVerified:n});export const deleteUsers=async e=>n(`${r}/user`,{ids:e});export const updateUser=async({id:e,name:s,email:o,emailVerified:n,createdAt:a})=>t(`${r}/user`,{id:e,name:s,email:o,emailVerified:n,createdAt:a});export const getUser=async s=>e(`${r}/user/${s}`);export const getUserSessions=async(s,{limit:o,offset:t}={})=>e(`${r}/user/${s}/sessions`,{limit:o,offset:t});export const deleteUserSession=async(e,s)=>n(`${r}/user/${e}/sessions`,{sessionToken:s});export const deleteExpiredUserSessions=async e=>n(`${r}/user/${e}/sessions/expired`);export const getUserGroups=async(s,{limit:o,offset:t}={})=>e(`${r}/user/${s}/groups`,{limit:o,offset:t});export const addUserToGroup=async(e,o)=>s(`${r}/user/${e}/groups`,{groupName:o});export const removeUserFromGroup=async(e,s)=>n(`${r}/user/${e}/groups`,{groupName:s});export const listGroups=async({limit:s,offset:o,owner:t}={})=>e(`${r}/groups`,{limit:s,offset:o,owner:t});export const createGroup=async({name:e,description:o})=>s(`${r}/groups`,{name:e,description:o});export const updateGroup=async({name:e,newName:s,description:o})=>t(`${r}/groups`,{name:e,newName:s,description:o});export const deleteGroups=async e=>n(`${r}/groups`,{names:e});export const getGroup=async s=>e(`${r}/groups/${encodeURIComponent(s)}`);export const getGroupMembers=async(s,{limit:o,offset:t}={})=>e(`${r}/groups/${encodeURIComponent(s)}/members`,{limit:o,offset:t});export const addMemberToGroup=async(e,o)=>s(`${r}/groups/${encodeURIComponent(e)}/members`,{userId:o});export const removeMemberFromGroup=async(e,s)=>n(`${r}/groups/${encodeURIComponent(e)}/members`,{userId:s});export const getGroupPermissions=async s=>e(`${r}/groups/${encodeURIComponent(s)}/permissions`);export const addPermissionToGroup=async(e,o)=>s(`${r}/groups/${encodeURIComponent(e)}/permissions`,{permissionName:o});export const removePermissionFromGroup=async(e,s)=>n(`${r}/groups/${encodeURIComponent(e)}/permissions`,{permissionName:s});export const listPermissions=async({limit:s,offset:o,owner:t}={})=>e(`${r}/permissions`,{limit:s,offset:o,owner:t});export const createPermissions=async e=>s(`${r}/permissions`,{permissions:e});export const updatePermission=async({name:e,description:s})=>t(`${r}/permissions`,{name:e,description:s});export const deletePermissions=async e=>n(`${r}/permissions`,{names:e});export const getSetting=async(s,o)=>e(`${r}/settings/${encodeURIComponent(s)}/${encodeURIComponent(o)}`);export const listSettings=async({owner:s,limit:o,offset:t}={})=>e(`${r}/settings/${encodeURIComponent(s)}`,{limit:o,offset:t});export const setSetting=async(e,o,t)=>s(`${r}/settings/${encodeURIComponent(e)}/${encodeURIComponent(o)}`,t);export const deleteSetting=async(e,s)=>n(`${r}/settings/${encodeURIComponent(e)}/${encodeURIComponent(s)}`);export const listPages=async()=>e(`${r}/pages`);export const listTemplates=async()=>e(`${r}/templates`);export const listDirectories=async()=>e(`${r}/pages/directories`);export const getPage=async s=>e(`${r}/pages/file`,{file:s});export const createPage=async({directory:e,name:o,template:t})=>s(`${r}/pages`,{directory:e,name:o,template:t});export const updatePage=async({file:e,name:s,title:t,description:n,author:a,template:i,contents:c,extraMetadata:l})=>o(`${r}/pages/file`,{file:e,name:s,title:t,description:n,author:a,template:i,contents:c,extraMetadata:l});export const deletePages=async e=>n(`${r}/pages`,{files:e});export const disablePage=async e=>o(`${r}/pages/disable`,{file:e});export const enablePage=async e=>o(`${r}/pages/enable`,{file:e});export const movePage=async({file:e,newFile:s})=>t(`${r}/pages/file`,{file:e,newFile:s});export const searchPagesByMetadata=async s=>e(`${r}/pages/search`,{query:JSON.stringify(s)});export const setPageLocked=async({file:e,locked:s})=>o(`${r}/pages/lock`,{file:e,locked:s});export const getTemplate=async s=>e(`${r}/templates/file`,{file:s});export const createTemplate=async({directory:e,name:o,copyFrom:t})=>s(`${r}/templates`,{directory:e,name:o,copyFrom:t});export const updateTemplate=async({file:e,name:s,author:t,markup:n})=>o(`${r}/templates/file`,{file:e,name:s,author:t,markup:n});export const deleteTemplates=async e=>n(`${r}/templates`,{files:e});export const disableTemplate=async e=>o(`${r}/templates/disable`,{file:e});export const enableTemplate=async e=>o(`${r}/templates/enable`,{file:e});export const moveTemplate=async({file:e,newFile:s})=>t(`${r}/templates/file`,{file:e,newFile:s});export const setTemplateLocked=async({file:e,locked:s})=>o(`${r}/templates/lock`,{file:e,locked:s});export const listFragments=async()=>e(`${r}/fragments`);export const getFragment=async s=>e(`${r}/fragments/file`,{file:s});export const createFragment=async({directory:e,name:o})=>s(`${r}/fragments`,{directory:e,name:o});export const updateFragment=async({file:e,author:s,markup:t})=>o(`${r}/fragments/file`,{file:e,author:s,markup:t});export const deleteFragments=async e=>n(`${r}/fragments`,{files:e});export const moveFragment=async({file:e,newFile:s})=>t(`${r}/fragments/file`,{file:e,newFile:s});export const disableFragment=async e=>o(`${r}/fragments/disable`,{file:e});export const enableFragment=async e=>o(`${r}/fragments/enable`,{file:e});export const setFragmentLocked=async({file:e,locked:s})=>o(`${r}/fragments/lock`,{file:e,locked:s});export const listGlobalContent=async()=>e(`${r}/globals`);export const getGlobalContent=async s=>e(`${r}/globals/entry`,{id:s});export const createGlobalContent=async({name:e,location:o,priority:t})=>s(`${r}/globals`,{name:e,location:o,priority:t});export const updateGlobalContent=async({id:e,name:s,location:t,priority:n,markup:a})=>o(`${r}/globals/entry`,{id:e,name:s,location:t,priority:n,markup:a});export const deleteGlobalContent=async e=>n(`${r}/globals`,{ids:e});export const disableGlobalContent=async e=>o(`${r}/globals/disable`,{id:e});export const enableGlobalContent=async e=>o(`${r}/globals/enable`,{id:e});export const setGlobalContentLocked=async({id:e,locked:s})=>o(`${r}/globals/lock`,{id:e,locked:s});export const listExtensions=async({limit:s,offset:o}={})=>e(`${r}/extensions`,{limit:s,offset:o});export const listAvailableExtensions=async()=>e(`${r}/extensions/available`);export const listKnownExtensions=async()=>e(`${r}/extensions/known`);export const installExtension=async e=>s(`${r}/extensions`,{name:e});export const uninstallExtension=async e=>n(`${r}/extensions`,{name:e});export const enableExtension=async e=>s(`${r}/extensions/${encodeURIComponent(e)}/enable`,{});export const disableExtension=async e=>s(`${r}/extensions/${encodeURIComponent(e)}/disable`,{});export const listAdminGlobalContent=async()=>e(`${r}/admin-globals`);export const getAdminGlobalContent=async s=>e(`${r}/admin-globals/${encodeURIComponent(s)}`);export const createAdminGlobalContent=async({name:e,location:o,priority:t,owner:n,markup:a})=>s(`${r}/admin-globals`,{name:e,location:o,priority:t,owner:n,markup:a});export const updateAdminGlobalContent=async(e,{name:s,location:t,priority:n,markup:a})=>o(`${r}/admin-globals/${encodeURIComponent(e)}`,{name:s,location:t,priority:n,markup:a});export const deleteAdminGlobalContent=async e=>n(`${r}/admin-globals`,{ids:e});export const enableAdminGlobalContent=async e=>o(`${r}/admin-globals/${encodeURIComponent(e)}/enable`,{});export const disableAdminGlobalContent=async e=>o(`${r}/admin-globals/${encodeURIComponent(e)}/disable`,{});
|
|
2
2
|
//# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\sdk.js.map
|
package/dist/kempo/sdk.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src\\kempo\\sdk.js","names":["get","post","put","patch","del","API_BASE","register","async","email","password","name","login","logout","getSession","forgotPassword","resetPassword","token","logoutAll","newPassword","changePassword","currentPassword","verifyEmail","currentUserHasPermission","permission","currentUserHasAllPermissions","permissions","currentUserHasSomePermissions","getAllCurrentUserPermissions","userHasPermission","userid","userHasAllPermissions","userHasSomePermissions","getAllUserPermissions","getUsers","limit","offset","searchUsers","q","inGroup","notInGroup","createUser","emailVerified","deleteUsers","ids","updateUser","id","createdAt","getUser","getUserSessions","deleteUserSession","sessionToken","deleteExpiredUserSessions","getUserGroups","addUserToGroup","groupName","removeUserFromGroup","listGroups","owner","createGroup","description","updateGroup","newName","deleteGroups","names","getGroup","encodeURIComponent","getGroupMembers","addMemberToGroup","userId","removeMemberFromGroup","getGroupPermissions","addPermissionToGroup","permissionName","removePermissionFromGroup","listPermissions","createPermissions","updatePermission","deletePermissions","getSetting","listSettings","setSetting","data","deleteSetting","listPages","listTemplates","listDirectories","getPage","file","createPage","directory","template","updatePage","title","author","contents","deletePages","files","disablePage","enablePage","movePage","newFile","getTemplate","createTemplate","copyFrom","updateTemplate","markup","deleteTemplates","disableTemplate","enableTemplate","moveTemplate","listFragments","getFragment","createFragment","updateFragment","deleteFragments","moveFragment","disableFragment","enableFragment","listGlobalContent","getGlobalContent","createGlobalContent","location","priority","updateGlobalContent","deleteGlobalContent","disableGlobalContent","enableGlobalContent","listExtensions","listAvailableExtensions","listKnownExtensions","installExtension","uninstallExtension","enableExtension","disableExtension","listAdminGlobalContent","getAdminGlobalContent","createAdminGlobalContent","updateAdminGlobalContent","deleteAdminGlobalContent","enableAdminGlobalContent","disableAdminGlobalContent"],"sources":["0"],"sourcesContent":["import { get, post, put, patch, del } from './fetch.js';\nconst API_BASE = '/kempo/api';\n\nexport const register = async ({ email, password, name }) =>\n post(`${API_BASE}/auth/register/email`, { email, password, name });\n\nexport const login = async ({ email, password }) =>\n post(`${API_BASE}/auth/login/email`, { email, password });\n\nexport const logout = async () => post(`${API_BASE}/auth/logout`, {});\n\nexport const getSession = async () => get(`${API_BASE}/auth/session`);\n\nexport const forgotPassword = async ({ email }) =>\n post(`${API_BASE}/forgot-password`, { email });\n\nexport const resetPassword = async ({ token, password, logoutAll = false }) =>\n post(`${API_BASE}/auth/reset-password`, { token, newPassword: password, logoutAll });\n \nexport const changePassword = async ({ currentPassword, newPassword, logoutAll }) => \n post(`${API_BASE}/auth/change-password`, { currentPassword, newPassword, logoutAll });\n\nexport const verifyEmail = async ({ token }) =>\n post(`${API_BASE}/auth/verify-email`, { token });\n\nexport const currentUserHasPermission = async ({ permission }) =>\n get(`${API_BASE}/user/current/permissions`, { permission });\n\nexport const currentUserHasAllPermissions = async ({ permissions }) =>\n get(`${API_BASE}/user/current/permissions/all`, { permissions });\n\nexport const currentUserHasSomePermissions = async ({ permissions }) =>\n get(`${API_BASE}/user/current/permissions/some`, { permissions });\n\nexport const getAllCurrentUserPermissions = async () =>\n get(`${API_BASE}/user/current/permissions/list`);\n\nexport const userHasPermission = async ({ userid, permission }) =>\n get(`${API_BASE}/user/${userid}/permissions`, { permission });\n\nexport const userHasAllPermissions = async ({ userid, permissions }) =>\n get(`${API_BASE}/user/${userid}/permissions/all`, { permissions });\n\nexport const userHasSomePermissions = async ({ userid, permissions }) =>\n get(`${API_BASE}/user/${userid}/permissions/some`, { permissions });\n\nexport const getAllUserPermissions = async ({ userid }) =>\n get(`${API_BASE}/user/${userid}/permissions/list`);\n\nexport const getUsers = async ({ limit, offset } = {}) =>\n get(`${API_BASE}/user`, { limit, offset });\n\nexport const searchUsers = async ({ q, limit, offset, inGroup, notInGroup } = {}) =>\n get(`${API_BASE}/user/search`, { q, limit, offset, inGroup, notInGroup });\n\nexport const createUser = async ({ name, email, password, emailVerified }) =>\n post(`${API_BASE}/user/create`, { name, email, password, emailVerified });\n\nexport const deleteUsers = async (ids) =>\n del(`${API_BASE}/user`, { ids });\n\nexport const updateUser = async ({ id, name, email, emailVerified, createdAt }) =>\n patch(`${API_BASE}/user`, { id, name, email, emailVerified, createdAt });\n\nexport const getUser = async (userid) =>\n get(`${API_BASE}/user/${userid}`);\n\nexport const getUserSessions = async (userid, { limit, offset } = {}) =>\n get(`${API_BASE}/user/${userid}/sessions`, { limit, offset });\n\nexport const deleteUserSession = async (userid, sessionToken) =>\n del(`${API_BASE}/user/${userid}/sessions`, { sessionToken });\n\nexport const deleteExpiredUserSessions = async (userid) =>\n del(`${API_BASE}/user/${userid}/sessions/expired`);\n\nexport const getUserGroups = async (userid, { limit, offset } = {}) =>\n get(`${API_BASE}/user/${userid}/groups`, { limit, offset });\n\nexport const addUserToGroup = async (userid, groupName) =>\n post(`${API_BASE}/user/${userid}/groups`, { groupName });\n\nexport const removeUserFromGroup = async (userid, groupName) =>\n del(`${API_BASE}/user/${userid}/groups`, { groupName });\n\nexport const listGroups = async ({ limit, offset, owner } = {}) =>\n get(`${API_BASE}/groups`, { limit, offset, owner });\n\nexport const createGroup = async ({ name, description }) =>\n post(`${API_BASE}/groups`, { name, description });\n\nexport const updateGroup = async ({ name, newName, description }) =>\n patch(`${API_BASE}/groups`, { name, newName, description });\n\nexport const deleteGroups = async (names) =>\n del(`${API_BASE}/groups`, { names });\n\nexport const getGroup = async (name) =>\n get(`${API_BASE}/groups/${encodeURIComponent(name)}`);\n\nexport const getGroupMembers = async (name, { limit, offset } = {}) =>\n get(`${API_BASE}/groups/${encodeURIComponent(name)}/members`, { limit, offset });\n\nexport const addMemberToGroup = async (name, userId) =>\n post(`${API_BASE}/groups/${encodeURIComponent(name)}/members`, { userId });\n\nexport const removeMemberFromGroup = async (name, userId) =>\n del(`${API_BASE}/groups/${encodeURIComponent(name)}/members`, { userId });\n\nexport const getGroupPermissions = async (name) =>\n get(`${API_BASE}/groups/${encodeURIComponent(name)}/permissions`);\n\nexport const addPermissionToGroup = async (name, permissionName) =>\n post(`${API_BASE}/groups/${encodeURIComponent(name)}/permissions`, { permissionName });\n\nexport const removePermissionFromGroup = async (name, permissionName) =>\n del(`${API_BASE}/groups/${encodeURIComponent(name)}/permissions`, { permissionName });\n\nexport const listPermissions = async ({ limit, offset, owner } = {}) =>\n get(`${API_BASE}/permissions`, { limit, offset, owner });\n\nexport const createPermissions = async (permissions) =>\n post(`${API_BASE}/permissions`, { permissions });\n\nexport const updatePermission = async ({ name, description }) =>\n patch(`${API_BASE}/permissions`, { name, description });\n\nexport const deletePermissions = async (names) =>\n del(`${API_BASE}/permissions`, { names });\n\nexport const getSetting = async (owner, name) =>\n get(`${API_BASE}/settings/${encodeURIComponent(owner)}/${encodeURIComponent(name)}`);\n\nexport const listSettings = async ({ owner, limit, offset } = {}) =>\n get(`${API_BASE}/settings/${encodeURIComponent(owner)}`, { limit, offset });\n\nexport const setSetting = async (owner, name, data) =>\n post(`${API_BASE}/settings/${encodeURIComponent(owner)}/${encodeURIComponent(name)}`, data);\n\nexport const deleteSetting = async (owner, name) =>\n del(`${API_BASE}/settings/${encodeURIComponent(owner)}/${encodeURIComponent(name)}`);\n\n/*\n Pages\n*/\n\nexport const listPages = async () =>\n get(`${API_BASE}/pages`);\n\nexport const listTemplates = async () =>\n get(`${API_BASE}/templates`);\n\nexport const listDirectories = async () =>\n get(`${API_BASE}/pages/directories`);\n\nexport const getPage = async (file) =>\n get(`${API_BASE}/pages/file`, { file });\n\nexport const createPage = async ({ directory, name, template }) =>\n post(`${API_BASE}/pages`, { directory, name, template });\n\nexport const updatePage = async ({ file, name, title, description, author, template, contents }) =>\n put(`${API_BASE}/pages/file`, { file, name, title, description, author, template, contents });\n\nexport const deletePages = async (files) =>\n del(`${API_BASE}/pages`, { files });\n\nexport const disablePage = async (file) =>\n put(`${API_BASE}/pages/disable`, { file });\n\nexport const enablePage = async (file) =>\n put(`${API_BASE}/pages/enable`, { file });\n\nexport const movePage = async ({ file, newFile }) =>\n patch(`${API_BASE}/pages/file`, { file, newFile });\n\n/*\n Templates\n*/\n\nexport const getTemplate = async (file) =>\n get(`${API_BASE}/templates/file`, { file });\n\nexport const createTemplate = async ({ directory, name, copyFrom }) =>\n post(`${API_BASE}/templates`, { directory, name, copyFrom });\n\nexport const updateTemplate = async ({ file, name, author, markup }) =>\n put(`${API_BASE}/templates/file`, { file, name, author, markup });\n\nexport const deleteTemplates = async (files) =>\n del(`${API_BASE}/templates`, { files });\n\nexport const disableTemplate = async (file) =>\n put(`${API_BASE}/templates/disable`, { file });\n\nexport const enableTemplate = async (file) =>\n put(`${API_BASE}/templates/enable`, { file });\n\nexport const moveTemplate = async ({ file, newFile }) =>\n patch(`${API_BASE}/templates/file`, { file, newFile });\n\n/*\n Fragments\n*/\n\nexport const listFragments = async () =>\n get(`${API_BASE}/fragments`);\n\nexport const getFragment = async (file) =>\n get(`${API_BASE}/fragments/file`, { file });\n\nexport const createFragment = async ({ directory, name }) =>\n post(`${API_BASE}/fragments`, { directory, name });\n\nexport const updateFragment = async ({ file, author, markup }) =>\n put(`${API_BASE}/fragments/file`, { file, author, markup });\n\nexport const deleteFragments = async (files) =>\n del(`${API_BASE}/fragments`, { files });\n\nexport const moveFragment = async ({ file, newFile }) =>\n patch(`${API_BASE}/fragments/file`, { file, newFile });\n\nexport const disableFragment = async (file) =>\n put(`${API_BASE}/fragments/disable`, { file });\n\nexport const enableFragment = async (file) =>\n put(`${API_BASE}/fragments/enable`, { file });\n\n/*\n Global Content\n*/\n\nexport const listGlobalContent = async () =>\n get(`${API_BASE}/globals`);\n\nexport const getGlobalContent = async (id) =>\n get(`${API_BASE}/globals/entry`, { id });\n\nexport const createGlobalContent = async ({ name, location, priority }) =>\n post(`${API_BASE}/globals`, { name, location, priority });\n\nexport const updateGlobalContent = async ({ id, name, location, priority, markup }) =>\n put(`${API_BASE}/globals/entry`, { id, name, location, priority, markup });\n\nexport const deleteGlobalContent = async (ids) =>\n del(`${API_BASE}/globals`, { ids });\n\nexport const disableGlobalContent = async (id) =>\n put(`${API_BASE}/globals/disable`, { id });\n\nexport const enableGlobalContent = async (id) =>\n put(`${API_BASE}/globals/enable`, { id });\n\n/*\n Extensions\n*/\n\nexport const listExtensions = async ({ limit, offset } = {}) =>\n get(`${API_BASE}/extensions`, { limit, offset });\n\nexport const listAvailableExtensions = async () =>\n get(`${API_BASE}/extensions/available`);\n\nexport const listKnownExtensions = async () =>\n get(`${API_BASE}/extensions/known`);\n\nexport const installExtension = async (name) =>\n post(`${API_BASE}/extensions`, { name });\n\nexport const uninstallExtension = async (name) =>\n del(`${API_BASE}/extensions`, { name });\n\nexport const enableExtension = async (name) =>\n post(`${API_BASE}/extensions/${encodeURIComponent(name)}/enable`, {});\n\nexport const disableExtension = async (name) =>\n post(`${API_BASE}/extensions/${encodeURIComponent(name)}/disable`, {});\n\n/*\n Admin Global Content\n*/\n\nexport const listAdminGlobalContent = async () =>\n get(`${API_BASE}/admin-globals`);\n\nexport const getAdminGlobalContent = async (id) =>\n get(`${API_BASE}/admin-globals/${encodeURIComponent(id)}`);\n\nexport const createAdminGlobalContent = async ({ name, location, priority, owner, markup }) =>\n post(`${API_BASE}/admin-globals`, { name, location, priority, owner, markup });\n\nexport const updateAdminGlobalContent = async (id, { name, location, priority, markup }) =>\n put(`${API_BASE}/admin-globals/${encodeURIComponent(id)}`, { name, location, priority, markup });\n\nexport const deleteAdminGlobalContent = async (ids) =>\n del(`${API_BASE}/admin-globals`, { ids });\n\nexport const enableAdminGlobalContent = async (id) =>\n put(`${API_BASE}/admin-globals/${encodeURIComponent(id)}/enable`, {});\n\nexport const disableAdminGlobalContent = async (id) =>\n put(`${API_BASE}/admin-globals/${encodeURIComponent(id)}/disable`, {});\n\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"src\\kempo\\sdk.js","names":["get","post","put","patch","del","API_BASE","register","async","email","password","name","login","logout","getSession","forgotPassword","resetPassword","token","logoutAll","newPassword","changePassword","currentPassword","verifyEmail","currentUserHasPermission","permission","currentUserHasAllPermissions","permissions","currentUserHasSomePermissions","getAllCurrentUserPermissions","userHasPermission","userid","userHasAllPermissions","userHasSomePermissions","getAllUserPermissions","getUsers","limit","offset","searchUsers","q","inGroup","notInGroup","createUser","emailVerified","deleteUsers","ids","updateUser","id","createdAt","getUser","getUserSessions","deleteUserSession","sessionToken","deleteExpiredUserSessions","getUserGroups","addUserToGroup","groupName","removeUserFromGroup","listGroups","owner","createGroup","description","updateGroup","newName","deleteGroups","names","getGroup","encodeURIComponent","getGroupMembers","addMemberToGroup","userId","removeMemberFromGroup","getGroupPermissions","addPermissionToGroup","permissionName","removePermissionFromGroup","listPermissions","createPermissions","updatePermission","deletePermissions","getSetting","listSettings","setSetting","data","deleteSetting","listPages","listTemplates","listDirectories","getPage","file","createPage","directory","template","updatePage","title","author","contents","extraMetadata","deletePages","files","disablePage","enablePage","movePage","newFile","searchPagesByMetadata","query","JSON","stringify","setPageLocked","locked","getTemplate","createTemplate","copyFrom","updateTemplate","markup","deleteTemplates","disableTemplate","enableTemplate","moveTemplate","setTemplateLocked","listFragments","getFragment","createFragment","updateFragment","deleteFragments","moveFragment","disableFragment","enableFragment","setFragmentLocked","listGlobalContent","getGlobalContent","createGlobalContent","location","priority","updateGlobalContent","deleteGlobalContent","disableGlobalContent","enableGlobalContent","setGlobalContentLocked","listExtensions","listAvailableExtensions","listKnownExtensions","installExtension","uninstallExtension","enableExtension","disableExtension","listAdminGlobalContent","getAdminGlobalContent","createAdminGlobalContent","updateAdminGlobalContent","deleteAdminGlobalContent","enableAdminGlobalContent","disableAdminGlobalContent"],"sources":["0"],"sourcesContent":["import { get, post, put, patch, del } from './fetch.js';\nconst API_BASE = '/kempo/api';\n\nexport const register = async ({ email, password, name }) =>\n post(`${API_BASE}/auth/register/email`, { email, password, name });\n\nexport const login = async ({ email, password }) =>\n post(`${API_BASE}/auth/login/email`, { email, password });\n\nexport const logout = async () => post(`${API_BASE}/auth/logout`, {});\n\nexport const getSession = async () => get(`${API_BASE}/auth/session`);\n\nexport const forgotPassword = async ({ email }) =>\n post(`${API_BASE}/forgot-password`, { email });\n\nexport const resetPassword = async ({ token, password, logoutAll = false }) =>\n post(`${API_BASE}/auth/reset-password`, { token, newPassword: password, logoutAll });\n \nexport const changePassword = async ({ currentPassword, newPassword, logoutAll }) => \n post(`${API_BASE}/auth/change-password`, { currentPassword, newPassword, logoutAll });\n\nexport const verifyEmail = async ({ token }) =>\n post(`${API_BASE}/auth/verify-email`, { token });\n\nexport const currentUserHasPermission = async ({ permission }) =>\n get(`${API_BASE}/user/current/permissions`, { permission });\n\nexport const currentUserHasAllPermissions = async ({ permissions }) =>\n get(`${API_BASE}/user/current/permissions/all`, { permissions });\n\nexport const currentUserHasSomePermissions = async ({ permissions }) =>\n get(`${API_BASE}/user/current/permissions/some`, { permissions });\n\nexport const getAllCurrentUserPermissions = async () =>\n get(`${API_BASE}/user/current/permissions/list`);\n\nexport const userHasPermission = async ({ userid, permission }) =>\n get(`${API_BASE}/user/${userid}/permissions`, { permission });\n\nexport const userHasAllPermissions = async ({ userid, permissions }) =>\n get(`${API_BASE}/user/${userid}/permissions/all`, { permissions });\n\nexport const userHasSomePermissions = async ({ userid, permissions }) =>\n get(`${API_BASE}/user/${userid}/permissions/some`, { permissions });\n\nexport const getAllUserPermissions = async ({ userid }) =>\n get(`${API_BASE}/user/${userid}/permissions/list`);\n\nexport const getUsers = async ({ limit, offset } = {}) =>\n get(`${API_BASE}/user`, { limit, offset });\n\nexport const searchUsers = async ({ q, limit, offset, inGroup, notInGroup } = {}) =>\n get(`${API_BASE}/user/search`, { q, limit, offset, inGroup, notInGroup });\n\nexport const createUser = async ({ name, email, password, emailVerified }) =>\n post(`${API_BASE}/user/create`, { name, email, password, emailVerified });\n\nexport const deleteUsers = async (ids) =>\n del(`${API_BASE}/user`, { ids });\n\nexport const updateUser = async ({ id, name, email, emailVerified, createdAt }) =>\n patch(`${API_BASE}/user`, { id, name, email, emailVerified, createdAt });\n\nexport const getUser = async (userid) =>\n get(`${API_BASE}/user/${userid}`);\n\nexport const getUserSessions = async (userid, { limit, offset } = {}) =>\n get(`${API_BASE}/user/${userid}/sessions`, { limit, offset });\n\nexport const deleteUserSession = async (userid, sessionToken) =>\n del(`${API_BASE}/user/${userid}/sessions`, { sessionToken });\n\nexport const deleteExpiredUserSessions = async (userid) =>\n del(`${API_BASE}/user/${userid}/sessions/expired`);\n\nexport const getUserGroups = async (userid, { limit, offset } = {}) =>\n get(`${API_BASE}/user/${userid}/groups`, { limit, offset });\n\nexport const addUserToGroup = async (userid, groupName) =>\n post(`${API_BASE}/user/${userid}/groups`, { groupName });\n\nexport const removeUserFromGroup = async (userid, groupName) =>\n del(`${API_BASE}/user/${userid}/groups`, { groupName });\n\nexport const listGroups = async ({ limit, offset, owner } = {}) =>\n get(`${API_BASE}/groups`, { limit, offset, owner });\n\nexport const createGroup = async ({ name, description }) =>\n post(`${API_BASE}/groups`, { name, description });\n\nexport const updateGroup = async ({ name, newName, description }) =>\n patch(`${API_BASE}/groups`, { name, newName, description });\n\nexport const deleteGroups = async (names) =>\n del(`${API_BASE}/groups`, { names });\n\nexport const getGroup = async (name) =>\n get(`${API_BASE}/groups/${encodeURIComponent(name)}`);\n\nexport const getGroupMembers = async (name, { limit, offset } = {}) =>\n get(`${API_BASE}/groups/${encodeURIComponent(name)}/members`, { limit, offset });\n\nexport const addMemberToGroup = async (name, userId) =>\n post(`${API_BASE}/groups/${encodeURIComponent(name)}/members`, { userId });\n\nexport const removeMemberFromGroup = async (name, userId) =>\n del(`${API_BASE}/groups/${encodeURIComponent(name)}/members`, { userId });\n\nexport const getGroupPermissions = async (name) =>\n get(`${API_BASE}/groups/${encodeURIComponent(name)}/permissions`);\n\nexport const addPermissionToGroup = async (name, permissionName) =>\n post(`${API_BASE}/groups/${encodeURIComponent(name)}/permissions`, { permissionName });\n\nexport const removePermissionFromGroup = async (name, permissionName) =>\n del(`${API_BASE}/groups/${encodeURIComponent(name)}/permissions`, { permissionName });\n\nexport const listPermissions = async ({ limit, offset, owner } = {}) =>\n get(`${API_BASE}/permissions`, { limit, offset, owner });\n\nexport const createPermissions = async (permissions) =>\n post(`${API_BASE}/permissions`, { permissions });\n\nexport const updatePermission = async ({ name, description }) =>\n patch(`${API_BASE}/permissions`, { name, description });\n\nexport const deletePermissions = async (names) =>\n del(`${API_BASE}/permissions`, { names });\n\nexport const getSetting = async (owner, name) =>\n get(`${API_BASE}/settings/${encodeURIComponent(owner)}/${encodeURIComponent(name)}`);\n\nexport const listSettings = async ({ owner, limit, offset } = {}) =>\n get(`${API_BASE}/settings/${encodeURIComponent(owner)}`, { limit, offset });\n\nexport const setSetting = async (owner, name, data) =>\n post(`${API_BASE}/settings/${encodeURIComponent(owner)}/${encodeURIComponent(name)}`, data);\n\nexport const deleteSetting = async (owner, name) =>\n del(`${API_BASE}/settings/${encodeURIComponent(owner)}/${encodeURIComponent(name)}`);\n\n/*\n Pages\n*/\n\nexport const listPages = async () =>\n get(`${API_BASE}/pages`);\n\nexport const listTemplates = async () =>\n get(`${API_BASE}/templates`);\n\nexport const listDirectories = async () =>\n get(`${API_BASE}/pages/directories`);\n\nexport const getPage = async (file) =>\n get(`${API_BASE}/pages/file`, { file });\n\nexport const createPage = async ({ directory, name, template }) =>\n post(`${API_BASE}/pages`, { directory, name, template });\n\nexport const updatePage = async ({ file, name, title, description, author, template, contents, extraMetadata }) =>\n put(`${API_BASE}/pages/file`, { file, name, title, description, author, template, contents, extraMetadata });\n\nexport const deletePages = async (files) =>\n del(`${API_BASE}/pages`, { files });\n\nexport const disablePage = async (file) =>\n put(`${API_BASE}/pages/disable`, { file });\n\nexport const enablePage = async (file) =>\n put(`${API_BASE}/pages/enable`, { file });\n\nexport const movePage = async ({ file, newFile }) =>\n patch(`${API_BASE}/pages/file`, { file, newFile });\n\nexport const searchPagesByMetadata = async (query) =>\n get(`${API_BASE}/pages/search`, { query: JSON.stringify(query) });\n\nexport const setPageLocked = async ({ file, locked }) =>\n put(`${API_BASE}/pages/lock`, { file, locked });\n\n/*\n Templates\n*/\n\nexport const getTemplate = async (file) =>\n get(`${API_BASE}/templates/file`, { file });\n\nexport const createTemplate = async ({ directory, name, copyFrom }) =>\n post(`${API_BASE}/templates`, { directory, name, copyFrom });\n\nexport const updateTemplate = async ({ file, name, author, markup }) =>\n put(`${API_BASE}/templates/file`, { file, name, author, markup });\n\nexport const deleteTemplates = async (files) =>\n del(`${API_BASE}/templates`, { files });\n\nexport const disableTemplate = async (file) =>\n put(`${API_BASE}/templates/disable`, { file });\n\nexport const enableTemplate = async (file) =>\n put(`${API_BASE}/templates/enable`, { file });\n\nexport const moveTemplate = async ({ file, newFile }) =>\n patch(`${API_BASE}/templates/file`, { file, newFile });\n\nexport const setTemplateLocked = async ({ file, locked }) =>\n put(`${API_BASE}/templates/lock`, { file, locked });\n\n/*\n Fragments\n*/\n\nexport const listFragments = async () =>\n get(`${API_BASE}/fragments`);\n\nexport const getFragment = async (file) =>\n get(`${API_BASE}/fragments/file`, { file });\n\nexport const createFragment = async ({ directory, name }) =>\n post(`${API_BASE}/fragments`, { directory, name });\n\nexport const updateFragment = async ({ file, author, markup }) =>\n put(`${API_BASE}/fragments/file`, { file, author, markup });\n\nexport const deleteFragments = async (files) =>\n del(`${API_BASE}/fragments`, { files });\n\nexport const moveFragment = async ({ file, newFile }) =>\n patch(`${API_BASE}/fragments/file`, { file, newFile });\n\nexport const disableFragment = async (file) =>\n put(`${API_BASE}/fragments/disable`, { file });\n\nexport const enableFragment = async (file) =>\n put(`${API_BASE}/fragments/enable`, { file });\n\nexport const setFragmentLocked = async ({ file, locked }) =>\n put(`${API_BASE}/fragments/lock`, { file, locked });\n\n/*\n Global Content\n*/\n\nexport const listGlobalContent = async () =>\n get(`${API_BASE}/globals`);\n\nexport const getGlobalContent = async (id) =>\n get(`${API_BASE}/globals/entry`, { id });\n\nexport const createGlobalContent = async ({ name, location, priority }) =>\n post(`${API_BASE}/globals`, { name, location, priority });\n\nexport const updateGlobalContent = async ({ id, name, location, priority, markup }) =>\n put(`${API_BASE}/globals/entry`, { id, name, location, priority, markup });\n\nexport const deleteGlobalContent = async (ids) =>\n del(`${API_BASE}/globals`, { ids });\n\nexport const disableGlobalContent = async (id) =>\n put(`${API_BASE}/globals/disable`, { id });\n\nexport const enableGlobalContent = async (id) =>\n put(`${API_BASE}/globals/enable`, { id });\n\nexport const setGlobalContentLocked = async ({ id, locked }) =>\n put(`${API_BASE}/globals/lock`, { id, locked });\n\n/*\n Extensions\n*/\n\nexport const listExtensions = async ({ limit, offset } = {}) =>\n get(`${API_BASE}/extensions`, { limit, offset });\n\nexport const listAvailableExtensions = async () =>\n get(`${API_BASE}/extensions/available`);\n\nexport const listKnownExtensions = async () =>\n get(`${API_BASE}/extensions/known`);\n\nexport const installExtension = async (name) =>\n post(`${API_BASE}/extensions`, { name });\n\nexport const uninstallExtension = async (name) =>\n del(`${API_BASE}/extensions`, { name });\n\nexport const enableExtension = async (name) =>\n post(`${API_BASE}/extensions/${encodeURIComponent(name)}/enable`, {});\n\nexport const disableExtension = async (name) =>\n post(`${API_BASE}/extensions/${encodeURIComponent(name)}/disable`, {});\n\n/*\n Admin Global Content\n*/\n\nexport const listAdminGlobalContent = async () =>\n get(`${API_BASE}/admin-globals`);\n\nexport const getAdminGlobalContent = async (id) =>\n get(`${API_BASE}/admin-globals/${encodeURIComponent(id)}`);\n\nexport const createAdminGlobalContent = async ({ name, location, priority, owner, markup }) =>\n post(`${API_BASE}/admin-globals`, { name, location, priority, owner, markup });\n\nexport const updateAdminGlobalContent = async (id, { name, location, priority, markup }) =>\n put(`${API_BASE}/admin-globals/${encodeURIComponent(id)}`, { name, location, priority, markup });\n\nexport const deleteAdminGlobalContent = async (ids) =>\n del(`${API_BASE}/admin-globals`, { ids });\n\nexport const enableAdminGlobalContent = async (id) =>\n put(`${API_BASE}/admin-globals/${encodeURIComponent(id)}/enable`, {});\n\nexport const disableAdminGlobalContent = async (id) =>\n put(`${API_BASE}/admin-globals/${encodeURIComponent(id)}/disable`, {});\n\n"],"mappings":"cAASA,UAAKC,SAAMC,WAAKC,SAAOC,MAAW,aAC3C,MAAMC,EAAW,oBAEV,MAAMC,SAAWC,OAASC,QAAOC,WAAUC,UAChDT,EAAK,GAAGI,wBAAgC,CAAEG,QAAOC,WAAUC,gBAEtD,MAAMC,MAAQJ,OAASC,QAAOC,cACnCR,EAAK,GAAGI,qBAA6B,CAAEG,QAAOC,oBAEzC,MAAMG,OAASL,SAAYN,EAAK,GAAGI,gBAAwB,CAAC,UAE5D,MAAMQ,WAAaN,SAAYP,EAAI,GAAGK,yBAEtC,MAAMS,eAAiBP,OAASC,WACrCP,EAAK,GAAGI,oBAA4B,CAAEG,iBAEjC,MAAMO,cAAgBR,OAASS,QAAOP,WAAUQ,aAAY,KACjEhB,EAAK,GAAGI,wBAAgC,CAAEW,QAAOE,YAAaT,EAAUQ,qBAEnE,MAAME,eAAiBZ,OAASa,kBAAiBF,cAAaD,eACnEhB,EAAK,GAAGI,yBAAiC,CAAEe,kBAAiBF,cAAaD,qBAEpE,MAAMI,YAAcd,OAASS,WAClCf,EAAK,GAAGI,sBAA8B,CAAEW,iBAEnC,MAAMM,yBAA2Bf,OAASgB,gBAC/CvB,EAAI,GAAGK,6BAAqC,CAAEkB,sBAEzC,MAAMC,6BAA+BjB,OAASkB,iBACnDzB,EAAI,GAAGK,iCAAyC,CAAEoB,uBAE7C,MAAMC,8BAAgCnB,OAASkB,iBACpDzB,EAAI,GAAGK,kCAA0C,CAAEoB,uBAE9C,MAAME,6BAA+BpB,SAC1CP,EAAI,GAAGK,0CAEF,MAAMuB,kBAAoBrB,OAASsB,SAAQN,gBAChDvB,EAAI,GAAGK,UAAiBwB,gBAAsB,CAAEN,sBAE3C,MAAMO,sBAAwBvB,OAASsB,SAAQJ,iBACpDzB,EAAI,GAAGK,UAAiBwB,oBAA0B,CAAEJ,uBAE/C,MAAMM,uBAAyBxB,OAASsB,SAAQJ,iBACrDzB,EAAI,GAAGK,UAAiBwB,qBAA2B,CAAEJ,uBAEhD,MAAMO,sBAAwBzB,OAASsB,YAC5C7B,EAAI,GAAGK,UAAiBwB,6BAEnB,MAAMI,SAAW1B,OAAS2B,QAAOC,UAAW,CAAC,IAClDnC,EAAI,GAAGK,SAAiB,CAAE6B,QAAOC,kBAE5B,MAAMC,YAAc7B,OAAS8B,IAAGH,QAAOC,SAAQG,UAASC,cAAe,CAAC,IAC7EvC,EAAI,GAAGK,gBAAwB,CAAEgC,IAAGH,QAAOC,SAAQG,UAASC,sBAEvD,MAAMC,WAAajC,OAASG,OAAMF,QAAOC,WAAUgC,mBACxDxC,EAAK,GAAGI,gBAAwB,CAAEK,OAAMF,QAAOC,WAAUgC,yBAEpD,MAAMC,YAAcnC,MAAOoC,GAChCvC,EAAI,GAAGC,SAAiB,CAAEsC,eAErB,MAAMC,WAAarC,OAASsC,KAAInC,OAAMF,QAAOiC,gBAAeK,eACjE3C,EAAM,GAAGE,SAAiB,CAAEwC,KAAInC,OAAMF,QAAOiC,gBAAeK,qBAEvD,MAAMC,QAAUxC,MAAOsB,GAC5B7B,EAAI,GAAGK,UAAiBwB,YAEnB,MAAMmB,gBAAkBzC,MAAOsB,GAAUK,QAAOC,UAAW,CAAC,IACjEnC,EAAI,GAAGK,UAAiBwB,aAAmB,CAAEK,QAAOC,kBAE/C,MAAMc,kBAAoB1C,MAAOsB,EAAQqB,IAC9C9C,EAAI,GAAGC,UAAiBwB,aAAmB,CAAEqB,wBAExC,MAAMC,0BAA4B5C,MAAOsB,GAC9CzB,EAAI,GAAGC,UAAiBwB,6BAEnB,MAAMuB,cAAgB7C,MAAOsB,GAAUK,QAAOC,UAAW,CAAC,IAC/DnC,EAAI,GAAGK,UAAiBwB,WAAiB,CAAEK,QAAOC,kBAE7C,MAAMkB,eAAiB9C,MAAOsB,EAAQyB,IAC3CrD,EAAK,GAAGI,UAAiBwB,WAAiB,CAAEyB,qBAEvC,MAAMC,oBAAsBhD,MAAOsB,EAAQyB,IAChDlD,EAAI,GAAGC,UAAiBwB,WAAiB,CAAEyB,qBAEtC,MAAME,WAAajD,OAAS2B,QAAOC,SAAQsB,SAAU,CAAC,IAC3DzD,EAAI,GAAGK,WAAmB,CAAE6B,QAAOC,SAAQsB,iBAEtC,MAAMC,YAAcnD,OAASG,OAAMiD,iBACxC1D,EAAK,GAAGI,WAAmB,CAAEK,OAAMiD,uBAE9B,MAAMC,YAAcrD,OAASG,OAAMmD,UAASF,iBACjDxD,EAAM,GAAGE,WAAmB,CAAEK,OAAMmD,UAASF,uBAExC,MAAMG,aAAevD,MAAOwD,GACjC3D,EAAI,GAAGC,WAAmB,CAAE0D,iBAEvB,MAAMC,SAAWzD,MAAOG,GAC7BV,EAAI,GAAGK,YAAmB4D,mBAAmBvD,aAExC,MAAMwD,gBAAkB3D,MAAOG,GAAQwB,QAAOC,UAAW,CAAC,IAC/DnC,EAAI,GAAGK,YAAmB4D,mBAAmBvD,aAAiB,CAAEwB,QAAOC,kBAElE,MAAMgC,iBAAmB5D,MAAOG,EAAM0D,IAC3CnE,EAAK,GAAGI,YAAmB4D,mBAAmBvD,aAAiB,CAAE0D,kBAE5D,MAAMC,sBAAwB9D,MAAOG,EAAM0D,IAChDhE,EAAI,GAAGC,YAAmB4D,mBAAmBvD,aAAiB,CAAE0D,kBAE3D,MAAME,oBAAsB/D,MAAOG,GACxCV,EAAI,GAAGK,YAAmB4D,mBAAmBvD,yBAExC,MAAM6D,qBAAuBhE,MAAOG,EAAM8D,IAC/CvE,EAAK,GAAGI,YAAmB4D,mBAAmBvD,iBAAqB,CAAE8D,0BAEhE,MAAMC,0BAA4BlE,MAAOG,EAAM8D,IACpDpE,EAAI,GAAGC,YAAmB4D,mBAAmBvD,iBAAqB,CAAE8D,0BAE/D,MAAME,gBAAkBnE,OAAS2B,QAAOC,SAAQsB,SAAU,CAAC,IAChEzD,EAAI,GAAGK,gBAAwB,CAAE6B,QAAOC,SAAQsB,iBAE3C,MAAMkB,kBAAoBpE,MAAOkB,GACtCxB,EAAK,GAAGI,gBAAwB,CAAEoB,uBAE7B,MAAMmD,iBAAmBrE,OAASG,OAAMiD,iBAC7CxD,EAAM,GAAGE,gBAAwB,CAAEK,OAAMiD,uBAEpC,MAAMkB,kBAAoBtE,MAAOwD,GACtC3D,EAAI,GAAGC,gBAAwB,CAAE0D,iBAE5B,MAAMe,WAAavE,MAAOkD,EAAO/C,IACtCV,EAAI,GAAGK,cAAqB4D,mBAAmBR,MAAUQ,mBAAmBvD,aAEvE,MAAMqE,aAAexE,OAASkD,QAAOvB,QAAOC,UAAW,CAAC,IAC7DnC,EAAI,GAAGK,cAAqB4D,mBAAmBR,KAAU,CAAEvB,QAAOC,kBAE7D,MAAM6C,WAAazE,MAAOkD,EAAO/C,EAAMuE,IAC5ChF,EAAK,GAAGI,cAAqB4D,mBAAmBR,MAAUQ,mBAAmBvD,KAASuE,UAEjF,MAAMC,cAAgB3E,MAAOkD,EAAO/C,IACzCN,EAAI,GAAGC,cAAqB4D,mBAAmBR,MAAUQ,mBAAmBvD,aAMvE,MAAMyE,UAAY5E,SACvBP,EAAI,GAAGK,kBAEF,MAAM+E,cAAgB7E,SAC3BP,EAAI,GAAGK,sBAEF,MAAMgF,gBAAkB9E,SAC7BP,EAAI,GAAGK,8BAEF,MAAMiF,QAAU/E,MAAOgF,GAC5BvF,EAAI,GAAGK,eAAuB,CAAEkF,gBAE3B,MAAMC,WAAajF,OAASkF,YAAW/E,OAAMgF,cAClDzF,EAAK,GAAGI,UAAkB,CAAEoF,YAAW/E,OAAMgF,oBAExC,MAAMC,WAAapF,OAASgF,OAAM7E,OAAMkF,QAAOjC,cAAakC,SAAQH,WAAUI,WAAUC,mBAC7F7F,EAAI,GAAGG,eAAuB,CAAEkF,OAAM7E,OAAMkF,QAAOjC,cAAakC,SAAQH,WAAUI,WAAUC,yBAEvF,MAAMC,YAAczF,MAAO0F,GAChC7F,EAAI,GAAGC,UAAkB,CAAE4F,iBAEtB,MAAMC,YAAc3F,MAAOgF,GAChCrF,EAAI,GAAGG,kBAA0B,CAAEkF,gBAE9B,MAAMY,WAAa5F,MAAOgF,GAC/BrF,EAAI,GAAGG,iBAAyB,CAAEkF,gBAE7B,MAAMa,SAAW7F,OAASgF,OAAMc,aACrClG,EAAM,GAAGE,eAAuB,CAAEkF,OAAMc,mBAEnC,MAAMC,sBAAwB/F,MAAOgG,GAC1CvG,EAAI,GAAGK,iBAAyB,CAAEkG,MAAOC,KAAKC,UAAUF,YAEnD,MAAMG,cAAgBnG,OAASgF,OAAMoB,YAC1CzG,EAAI,GAAGG,eAAuB,CAAEkF,OAAMoB,kBAMjC,MAAMC,YAAcrG,MAAOgF,GAChCvF,EAAI,GAAGK,mBAA2B,CAAEkF,gBAE/B,MAAMsB,eAAiBtG,OAASkF,YAAW/E,OAAMoG,cACtD7G,EAAK,GAAGI,cAAsB,CAAEoF,YAAW/E,OAAMoG,oBAE5C,MAAMC,eAAiBxG,OAASgF,OAAM7E,OAAMmF,SAAQmB,YACzD9G,EAAI,GAAGG,mBAA2B,CAAEkF,OAAM7E,OAAMmF,SAAQmB,kBAEnD,MAAMC,gBAAkB1G,MAAO0F,GACpC7F,EAAI,GAAGC,cAAsB,CAAE4F,iBAE1B,MAAMiB,gBAAkB3G,MAAOgF,GACpCrF,EAAI,GAAGG,sBAA8B,CAAEkF,gBAElC,MAAM4B,eAAiB5G,MAAOgF,GACnCrF,EAAI,GAAGG,qBAA6B,CAAEkF,gBAEjC,MAAM6B,aAAe7G,OAASgF,OAAMc,aACzClG,EAAM,GAAGE,mBAA2B,CAAEkF,OAAMc,mBAEvC,MAAMgB,kBAAoB9G,OAASgF,OAAMoB,YAC9CzG,EAAI,GAAGG,mBAA2B,CAAEkF,OAAMoB,kBAMrC,MAAMW,cAAgB/G,SAC3BP,EAAI,GAAGK,sBAEF,MAAMkH,YAAchH,MAAOgF,GAChCvF,EAAI,GAAGK,mBAA2B,CAAEkF,gBAE/B,MAAMiC,eAAiBjH,OAASkF,YAAW/E,UAChDT,EAAK,GAAGI,cAAsB,CAAEoF,YAAW/E,gBAEtC,MAAM+G,eAAiBlH,OAASgF,OAAMM,SAAQmB,YACnD9G,EAAI,GAAGG,mBAA2B,CAAEkF,OAAMM,SAAQmB,kBAE7C,MAAMU,gBAAkBnH,MAAO0F,GACpC7F,EAAI,GAAGC,cAAsB,CAAE4F,iBAE1B,MAAM0B,aAAepH,OAASgF,OAAMc,aACzClG,EAAM,GAAGE,mBAA2B,CAAEkF,OAAMc,mBAEvC,MAAMuB,gBAAkBrH,MAAOgF,GACpCrF,EAAI,GAAGG,sBAA8B,CAAEkF,gBAElC,MAAMsC,eAAiBtH,MAAOgF,GACnCrF,EAAI,GAAGG,qBAA6B,CAAEkF,gBAEjC,MAAMuC,kBAAoBvH,OAASgF,OAAMoB,YAC9CzG,EAAI,GAAGG,mBAA2B,CAAEkF,OAAMoB,kBAMrC,MAAMoB,kBAAoBxH,SAC/BP,EAAI,GAAGK,oBAEF,MAAM2H,iBAAmBzH,MAAOsC,GACrC7C,EAAI,GAAGK,kBAA0B,CAAEwC,cAE9B,MAAMoF,oBAAsB1H,OAASG,OAAMwH,WAAUC,cAC1DlI,EAAK,GAAGI,YAAoB,CAAEK,OAAMwH,WAAUC,oBAEzC,MAAMC,oBAAsB7H,OAASsC,KAAInC,OAAMwH,WAAUC,WAAUnB,YACxE9G,EAAI,GAAGG,kBAA0B,CAAEwC,KAAInC,OAAMwH,WAAUC,WAAUnB,kBAE5D,MAAMqB,oBAAsB9H,MAAOoC,GACxCvC,EAAI,GAAGC,YAAoB,CAAEsC,eAExB,MAAM2F,qBAAuB/H,MAAOsC,GACzC3C,EAAI,GAAGG,oBAA4B,CAAEwC,cAEhC,MAAM0F,oBAAsBhI,MAAOsC,GACxC3C,EAAI,GAAGG,mBAA2B,CAAEwC,cAE/B,MAAM2F,uBAAyBjI,OAASsC,KAAI8D,YACjDzG,EAAI,GAAGG,iBAAyB,CAAEwC,KAAI8D,kBAMjC,MAAM8B,eAAiBlI,OAAS2B,QAAOC,UAAW,CAAC,IACxDnC,EAAI,GAAGK,eAAuB,CAAE6B,QAAOC,kBAElC,MAAMuG,wBAA0BnI,SACrCP,EAAI,GAAGK,iCAEF,MAAMsI,oBAAsBpI,SACjCP,EAAI,GAAGK,6BAEF,MAAMuI,iBAAmBrI,MAAOG,GACrCT,EAAK,GAAGI,eAAuB,CAAEK,gBAE5B,MAAMmI,mBAAqBtI,MAAOG,GACvCN,EAAI,GAAGC,eAAuB,CAAEK,gBAE3B,MAAMoI,gBAAkBvI,MAAOG,GACpCT,EAAK,GAAGI,gBAAuB4D,mBAAmBvD,YAAgB,CAAC,UAE9D,MAAMqI,iBAAmBxI,MAAOG,GACrCT,EAAK,GAAGI,gBAAuB4D,mBAAmBvD,aAAiB,CAAC,UAM/D,MAAMsI,uBAAyBzI,SACpCP,EAAI,GAAGK,0BAEF,MAAM4I,sBAAwB1I,MAAOsC,GAC1C7C,EAAI,GAAGK,mBAA0B4D,mBAAmBpB,aAE/C,MAAMqG,yBAA2B3I,OAASG,OAAMwH,WAAUC,WAAU1E,QAAOuD,YAChF/G,EAAK,GAAGI,kBAA0B,CAAEK,OAAMwH,WAAUC,WAAU1E,QAAOuD,kBAEhE,MAAMmC,yBAA2B5I,MAAOsC,GAAMnC,OAAMwH,WAAUC,WAAUnB,YAC7E9G,EAAI,GAAGG,mBAA0B4D,mBAAmBpB,KAAO,CAAEnC,OAAMwH,WAAUC,WAAUnB,kBAElF,MAAMoC,yBAA2B7I,MAAOoC,GAC7CvC,EAAI,GAAGC,kBAA0B,CAAEsC,eAE9B,MAAM0G,yBAA2B9I,MAAOsC,GAC7C3C,EAAI,GAAGG,mBAA0B4D,mBAAmBpB,YAAc,CAAC,UAE9D,MAAMyG,0BAA4B/I,MAAOsC,GAC9C3C,EAAI,GAAGG,mBAA0B4D,mBAAmBpB,aAAe,CAAC","ignoreList":[]}
|
package/middleware/kempo.js
CHANGED
|
@@ -172,6 +172,9 @@ export default config => {
|
|
|
172
172
|
const extName = adminMatch[1];
|
|
173
173
|
const subPath = adminMatch[2] || '/';
|
|
174
174
|
const adminDir = join(NODE_MODULES, extName, 'admin');
|
|
175
|
+
const resolveDir = buildResolveDir(ADMIN_ROOT, url);
|
|
176
|
+
const method = request.method?.toUpperCase() || 'GET';
|
|
177
|
+
|
|
175
178
|
const pageCandidates = subPath.endsWith('/')
|
|
176
179
|
? [join(adminDir, subPath, 'index.page.html')]
|
|
177
180
|
: [
|
|
@@ -179,7 +182,6 @@ export default config => {
|
|
|
179
182
|
join(adminDir, subPath, 'index.page.html'),
|
|
180
183
|
];
|
|
181
184
|
|
|
182
|
-
const resolveDir = buildResolveDir(ADMIN_ROOT, url);
|
|
183
185
|
for(const pagePath of pageCandidates){
|
|
184
186
|
try {
|
|
185
187
|
await stat(pagePath);
|
|
@@ -190,16 +192,44 @@ export default config => {
|
|
|
190
192
|
} catch { /* try next */ }
|
|
191
193
|
}
|
|
192
194
|
|
|
193
|
-
const
|
|
195
|
+
const staticPath = join(adminDir, subPath === '/' ? 'index.html' : subPath);
|
|
194
196
|
try {
|
|
195
|
-
const fileStat = await stat(
|
|
197
|
+
const fileStat = await stat(staticPath);
|
|
196
198
|
if(fileStat.isFile()){
|
|
197
|
-
const mime = MIME_TYPES[extname(
|
|
199
|
+
const mime = MIME_TYPES[extname(staticPath)] || 'application/octet-stream';
|
|
198
200
|
response.writeHead(200, { 'Content-Type': mime });
|
|
199
|
-
response.end(await readFile(
|
|
201
|
+
response.end(await readFile(staticPath));
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
} catch { /* try dynamic */ }
|
|
205
|
+
|
|
206
|
+
const segments = subPath.replace(/^\//, '').split('/').filter(Boolean);
|
|
207
|
+
const walked = await walkDynamic(adminDir, segments);
|
|
208
|
+
if(walked){
|
|
209
|
+
const { filePath: walkedPath, params } = walked;
|
|
210
|
+
let walkedStat;
|
|
211
|
+
try { walkedStat = await stat(walkedPath); } catch { /* not found */ }
|
|
212
|
+
if(walkedStat?.isDirectory()){
|
|
213
|
+
const served = await serveDir(walkedPath, method, request, response, resolveDir, ADMIN_ROOT, params);
|
|
214
|
+
if(served) return;
|
|
215
|
+
} else if(walkedStat?.isFile()){
|
|
216
|
+
const name = walkedPath.split(/[/\\]/).pop();
|
|
217
|
+
if(name.endsWith('.page.html')){
|
|
218
|
+
const html = await renderExternalPage(walkedPath, ADMIN_ROOT, resolveDir);
|
|
219
|
+
response.writeHead(200, { 'Content-Type': 'text/html; charset=utf-8' });
|
|
220
|
+
response.end(html);
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
if(ROUTE_FILES.includes(name)){
|
|
224
|
+
await executeRouteFile(walkedPath, request, response, params);
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
const mime = MIME_TYPES[extname(walkedPath)] || 'application/octet-stream';
|
|
228
|
+
response.writeHead(200, { 'Content-Type': mime });
|
|
229
|
+
response.end(await readFile(walkedPath));
|
|
200
230
|
return;
|
|
201
231
|
}
|
|
202
|
-
}
|
|
232
|
+
}
|
|
203
233
|
|
|
204
234
|
return next();
|
|
205
235
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kempo",
|
|
3
|
-
"version": "4.2.
|
|
3
|
+
"version": "4.2.17",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A fullstack CMS framework for creating websites with user authentication",
|
|
6
6
|
"scripts": {
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"drizzle-orm": "^0.44.7",
|
|
47
47
|
"html-minifier-terser": "^7.2.0",
|
|
48
48
|
"inquirer": "^12.6.1",
|
|
49
|
-
"kempo": "^4.2.
|
|
49
|
+
"kempo": "^4.2.16",
|
|
50
50
|
"kempo-server": "^3.1.0",
|
|
51
51
|
"kempo-testing-framework": "^1.4.6",
|
|
52
52
|
"kempo-ui": "^0.4.6",
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import db from '../../db/index.js';
|
|
2
2
|
import { extension, hook, permission, group, groupPermission } from '../../db/schema.js';
|
|
3
3
|
import { eq } from 'drizzle-orm';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
import { pathToFileURL } from 'url';
|
|
6
|
+
import { existsSync } from 'fs';
|
|
6
7
|
import { readFile } from 'fs/promises';
|
|
7
8
|
import { randomUUID } from 'crypto';
|
|
8
9
|
import triggerHook, { clearHandlerCache } from '../hooks/triggerHook.js';
|
|
@@ -11,8 +12,6 @@ import setSetting from '../settings/setSetting.js';
|
|
|
11
12
|
import createTablesFromSchema from './createTablesFromSchema.js';
|
|
12
13
|
import { invalidateScopeCache } from './scopeCache.js';
|
|
13
14
|
|
|
14
|
-
const requireFromProject = createRequire(join(process.cwd(), 'package.json'));
|
|
15
|
-
|
|
16
15
|
export default async ({ name }) => {
|
|
17
16
|
if(!name){
|
|
18
17
|
return [{ code: 400, msg: 'Extension name is required' }, null];
|
|
@@ -27,23 +26,30 @@ export default async ({ name }) => {
|
|
|
27
26
|
return [{ code: 500, msg: 'Failed to check existing extensions' }, null];
|
|
28
27
|
}
|
|
29
28
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
} catch {
|
|
29
|
+
const extRoot = join(process.cwd(), 'node_modules', name);
|
|
30
|
+
const extPkgPath = join(extRoot, 'package.json');
|
|
31
|
+
const kempoConfigPath = join(extRoot, 'kempo-config.json');
|
|
32
|
+
|
|
33
|
+
if(!existsSync(extPkgPath)){
|
|
36
34
|
return [{ code: 404, msg: `Extension package "${name}" not found` }, null];
|
|
37
35
|
}
|
|
38
36
|
|
|
39
|
-
|
|
37
|
+
let pkg, kempoConfig;
|
|
38
|
+
try {
|
|
39
|
+
pkg = JSON.parse(await readFile(extPkgPath, 'utf-8'));
|
|
40
|
+
kempoConfig = existsSync(kempoConfigPath)
|
|
41
|
+
? JSON.parse(await readFile(kempoConfigPath, 'utf-8'))
|
|
42
|
+
: {};
|
|
43
|
+
} catch {
|
|
44
|
+
return [{ code: 500, msg: `Failed to read extension package files` }, null];
|
|
45
|
+
}
|
|
40
46
|
|
|
41
47
|
/*
|
|
42
48
|
Create tables from declarative schema
|
|
43
49
|
*/
|
|
44
50
|
if(kempoConfig.schema){
|
|
45
51
|
try {
|
|
46
|
-
const schemaModule = await import(join(extRoot, kempoConfig.schema));
|
|
52
|
+
const schemaModule = await import(pathToFileURL(join(extRoot, kempoConfig.schema)).href);
|
|
47
53
|
const [err] = await createTablesFromSchema(schemaModule);
|
|
48
54
|
if(err) return [err, null];
|
|
49
55
|
} catch(error){
|
|
@@ -55,7 +61,7 @@ export default async ({ name }) => {
|
|
|
55
61
|
Run install script
|
|
56
62
|
*/
|
|
57
63
|
try {
|
|
58
|
-
const installModule = await import(join(extRoot, 'install.js')).catch(() => null);
|
|
64
|
+
const installModule = await import(pathToFileURL(join(extRoot, 'install.js')).href + `?t=${Date.now()}`).catch(() => null);
|
|
59
65
|
if(installModule?.default){
|
|
60
66
|
await installModule.default();
|
|
61
67
|
}
|
|
@@ -1,14 +1,12 @@
|
|
|
1
1
|
import db from '../../db/index.js';
|
|
2
2
|
import { extension, hook, permission, setting, group } from '../../db/schema.js';
|
|
3
3
|
import { eq, inArray } from 'drizzle-orm';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { join } from 'path';
|
|
5
|
+
import { pathToFileURL } from 'url';
|
|
6
6
|
import { sql } from 'drizzle-orm';
|
|
7
7
|
import triggerHook, { clearHandlerCache } from '../hooks/triggerHook.js';
|
|
8
8
|
import { invalidateScopeCache } from './scopeCache.js';
|
|
9
9
|
|
|
10
|
-
const requireFromProject = createRequire(join(process.cwd(), 'package.json'));
|
|
11
|
-
|
|
12
10
|
export default async ({ name }) => {
|
|
13
11
|
if(!name){
|
|
14
12
|
return [{ code: 400, msg: 'Extension name is required' }, null];
|
|
@@ -26,9 +24,8 @@ export default async ({ name }) => {
|
|
|
26
24
|
}
|
|
27
25
|
|
|
28
26
|
try {
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const uninstallModule = await import(join(extRoot, 'uninstall.js')).catch(() => null);
|
|
27
|
+
const extRoot = join(process.cwd(), 'node_modules', name);
|
|
28
|
+
const uninstallModule = await import(pathToFileURL(join(extRoot, 'uninstall.js')).href + `?t=${Date.now()}`).catch(() => null);
|
|
32
29
|
if(uninstallModule?.default){
|
|
33
30
|
await uninstallModule.default();
|
|
34
31
|
}
|
|
@@ -39,9 +36,8 @@ export default async ({ name }) => {
|
|
|
39
36
|
*/
|
|
40
37
|
if(kempoConfig.schema){
|
|
41
38
|
try {
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
const schemaModule = await import(join(extRoot, kempoConfig.schema));
|
|
39
|
+
const extRoot = join(process.cwd(), 'node_modules', name);
|
|
40
|
+
const schemaModule = await import(pathToFileURL(join(extRoot, kempoConfig.schema)).href);
|
|
45
41
|
const { getTableConfig } = await import('drizzle-orm/pg-core');
|
|
46
42
|
for(const exported of Object.values(schemaModule)){
|
|
47
43
|
if(typeof exported !== 'object' || !exported?.[Symbol.for('drizzle:Name')]) continue;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { unlink } from 'fs/promises';
|
|
2
2
|
import { join, normalize, sep } from 'path';
|
|
3
|
-
import parseFrontmatter from '../fs/parseFrontmatter.js';
|
|
4
3
|
import triggerHook from '../hooks/triggerHook.js';
|
|
5
4
|
|
|
6
5
|
export default async ({ rootDir, files }) => {
|
|
@@ -14,19 +13,12 @@ export default async ({ rootDir, files }) => {
|
|
|
14
13
|
}
|
|
15
14
|
|
|
16
15
|
const fullPath = join(rootDir, normalized);
|
|
17
|
-
let content;
|
|
18
16
|
try {
|
|
19
|
-
|
|
17
|
+
await unlink(fullPath);
|
|
20
18
|
} catch {
|
|
21
19
|
continue;
|
|
22
20
|
}
|
|
23
21
|
|
|
24
|
-
const meta = parseFrontmatter(content);
|
|
25
|
-
if(meta.owner && meta.owner !== 'custom'){
|
|
26
|
-
return [{ code: 403, msg: `Cannot delete page: ${file}` }, null];
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
await unlink(fullPath);
|
|
30
22
|
await triggerHook('page:deleted', { file });
|
|
31
23
|
}
|
|
32
24
|
|