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.
Files changed (274) hide show
  1. package/bin/cli.js +21 -4
  2. package/dist/admin/components/AddGroupControl.js +2 -2
  3. package/dist/admin/components/AddGroupControl.js.map +1 -1
  4. package/dist/admin/components/ClearExpiredSessionsControl.js +2 -2
  5. package/dist/admin/components/ClearExpiredSessionsControl.js.map +1 -1
  6. package/dist/admin/components/FragmentEditor.js +15 -15
  7. package/dist/admin/components/FragmentEditor.js.map +1 -1
  8. package/dist/admin/components/GlobalContentEditor.js +12 -12
  9. package/dist/admin/components/GlobalContentEditor.js.map +1 -1
  10. package/dist/admin/components/GroupDeleteSelected.js +2 -2
  11. package/dist/admin/components/GroupDeleteSelected.js.map +1 -1
  12. package/dist/admin/components/GroupRemoveRecord.js +2 -2
  13. package/dist/admin/components/GroupRemoveRecord.js.map +1 -1
  14. package/dist/admin/components/Monaco.js +1 -1
  15. package/dist/admin/components/Monaco.js.map +1 -1
  16. package/dist/admin/components/PageEditor.js +42 -28
  17. package/dist/admin/components/PageEditor.js.map +1 -1
  18. package/dist/admin/components/TableRowDelete.js +2 -2
  19. package/dist/admin/components/TableRowDelete.js.map +1 -1
  20. package/dist/admin/components/TableRowLink.js +2 -2
  21. package/dist/admin/components/TableRowLink.js.map +1 -1
  22. package/dist/admin/components/TemplateEditor.js +18 -18
  23. package/dist/admin/components/TemplateEditor.js.map +1 -1
  24. package/dist/admin/components/ValueEditor.js +17 -17
  25. package/dist/admin/components/ValueEditor.js.map +1 -1
  26. package/dist/admin/components/tableControls/AddMember.js +2 -2
  27. package/dist/admin/components/tableControls/AddMember.js.map +1 -1
  28. package/dist/admin/components/tableControls/AddPermission.js +2 -2
  29. package/dist/admin/components/tableControls/AddPermission.js.map +1 -1
  30. package/dist/admin/components/tableControls/InstallExtension.js +2 -2
  31. package/dist/admin/components/tableControls/InstallExtension.js.map +1 -1
  32. package/dist/admin/components/tableControls/UninstallExtension.js +2 -2
  33. package/dist/admin/components/tableControls/UninstallExtension.js.map +1 -1
  34. package/dist/admin/extensions/index.page.html +49 -15
  35. package/dist/admin/icons/open_in_new.svg +1 -0
  36. package/dist/admin/nav.fragment.html +1 -1
  37. package/dist/kempo/api/admin-globals/DELETE.js +1 -1
  38. package/dist/kempo/api/admin-globals/DELETE.js.map +1 -1
  39. package/dist/kempo/api/admin-globals/GET.js +1 -1
  40. package/dist/kempo/api/admin-globals/GET.js.map +1 -1
  41. package/dist/kempo/api/admin-globals/POST.js +1 -1
  42. package/dist/kempo/api/admin-globals/POST.js.map +1 -1
  43. package/dist/kempo/api/admin-globals/[id]/GET.js +1 -1
  44. package/dist/kempo/api/admin-globals/[id]/GET.js.map +1 -1
  45. package/dist/kempo/api/admin-globals/[id]/PUT.js +1 -1
  46. package/dist/kempo/api/admin-globals/[id]/PUT.js.map +1 -1
  47. package/dist/kempo/api/admin-globals/[id]/disable/PUT.js +1 -1
  48. package/dist/kempo/api/admin-globals/[id]/disable/PUT.js.map +1 -1
  49. package/dist/kempo/api/admin-globals/[id]/enable/PUT.js +1 -1
  50. package/dist/kempo/api/admin-globals/[id]/enable/PUT.js.map +1 -1
  51. package/dist/kempo/api/auth/change-password/POST.js +1 -1
  52. package/dist/kempo/api/auth/change-password/POST.js.map +1 -1
  53. package/dist/kempo/api/auth/login/email/POST.js +1 -1
  54. package/dist/kempo/api/auth/login/email/POST.js.map +1 -1
  55. package/dist/kempo/api/auth/logout/POST.js +1 -1
  56. package/dist/kempo/api/auth/logout/POST.js.map +1 -1
  57. package/dist/kempo/api/auth/register/email/POST.js +1 -1
  58. package/dist/kempo/api/auth/register/email/POST.js.map +1 -1
  59. package/dist/kempo/api/auth/reset-password/POST.js +1 -1
  60. package/dist/kempo/api/auth/reset-password/POST.js.map +1 -1
  61. package/dist/kempo/api/auth/session/GET.js +1 -1
  62. package/dist/kempo/api/auth/session/GET.js.map +1 -1
  63. package/dist/kempo/api/auth/verify-email/POST.js +1 -1
  64. package/dist/kempo/api/auth/verify-email/POST.js.map +1 -1
  65. package/dist/kempo/api/extensions/DELETE.js +1 -1
  66. package/dist/kempo/api/extensions/DELETE.js.map +1 -1
  67. package/dist/kempo/api/extensions/GET.js +1 -1
  68. package/dist/kempo/api/extensions/GET.js.map +1 -1
  69. package/dist/kempo/api/extensions/POST.js +1 -1
  70. package/dist/kempo/api/extensions/POST.js.map +1 -1
  71. package/dist/kempo/api/extensions/[name]/disable/POST.js +1 -1
  72. package/dist/kempo/api/extensions/[name]/disable/POST.js.map +1 -1
  73. package/dist/kempo/api/extensions/[name]/enable/POST.js +1 -1
  74. package/dist/kempo/api/extensions/[name]/enable/POST.js.map +1 -1
  75. package/dist/kempo/api/extensions/[name]/update/POST.js +1 -1
  76. package/dist/kempo/api/extensions/[name]/update/POST.js.map +1 -1
  77. package/dist/kempo/api/extensions/[name]/update-check/GET.js +1 -1
  78. package/dist/kempo/api/extensions/[name]/update-check/GET.js.map +1 -1
  79. package/dist/kempo/api/extensions/available/GET.js +1 -1
  80. package/dist/kempo/api/extensions/available/GET.js.map +1 -1
  81. package/dist/kempo/api/extensions/known/GET.js +1 -1
  82. package/dist/kempo/api/extensions/known/GET.js.map +1 -1
  83. package/dist/kempo/api/forgot-password/POST.js +1 -1
  84. package/dist/kempo/api/forgot-password/POST.js.map +1 -1
  85. package/dist/kempo/api/fragments/DELETE.js +1 -1
  86. package/dist/kempo/api/fragments/DELETE.js.map +1 -1
  87. package/dist/kempo/api/fragments/GET.js +1 -1
  88. package/dist/kempo/api/fragments/GET.js.map +1 -1
  89. package/dist/kempo/api/fragments/POST.js +1 -1
  90. package/dist/kempo/api/fragments/POST.js.map +1 -1
  91. package/dist/kempo/api/fragments/disable/PUT.js +1 -1
  92. package/dist/kempo/api/fragments/disable/PUT.js.map +1 -1
  93. package/dist/kempo/api/fragments/enable/PUT.js +1 -1
  94. package/dist/kempo/api/fragments/enable/PUT.js.map +1 -1
  95. package/dist/kempo/api/fragments/file/GET.js +1 -1
  96. package/dist/kempo/api/fragments/file/GET.js.map +1 -1
  97. package/dist/kempo/api/fragments/file/PATCH.js +1 -1
  98. package/dist/kempo/api/fragments/file/PATCH.js.map +1 -1
  99. package/dist/kempo/api/fragments/file/PUT.js +1 -1
  100. package/dist/kempo/api/fragments/file/PUT.js.map +1 -1
  101. package/dist/kempo/api/fragments/lock/PUT.js +2 -2
  102. package/dist/kempo/api/fragments/lock/PUT.js.map +1 -1
  103. package/dist/kempo/api/globals/DELETE.js +1 -1
  104. package/dist/kempo/api/globals/DELETE.js.map +1 -1
  105. package/dist/kempo/api/globals/GET.js +1 -1
  106. package/dist/kempo/api/globals/GET.js.map +1 -1
  107. package/dist/kempo/api/globals/POST.js +1 -1
  108. package/dist/kempo/api/globals/POST.js.map +1 -1
  109. package/dist/kempo/api/globals/disable/PUT.js +1 -1
  110. package/dist/kempo/api/globals/disable/PUT.js.map +1 -1
  111. package/dist/kempo/api/globals/enable/PUT.js +1 -1
  112. package/dist/kempo/api/globals/enable/PUT.js.map +1 -1
  113. package/dist/kempo/api/globals/entry/GET.js +1 -1
  114. package/dist/kempo/api/globals/entry/GET.js.map +1 -1
  115. package/dist/kempo/api/globals/entry/PUT.js +1 -1
  116. package/dist/kempo/api/globals/entry/PUT.js.map +1 -1
  117. package/dist/kempo/api/globals/lock/PUT.js +2 -2
  118. package/dist/kempo/api/globals/lock/PUT.js.map +1 -1
  119. package/dist/kempo/api/groups/DELETE.js +1 -1
  120. package/dist/kempo/api/groups/DELETE.js.map +1 -1
  121. package/dist/kempo/api/groups/GET.js +1 -1
  122. package/dist/kempo/api/groups/GET.js.map +1 -1
  123. package/dist/kempo/api/groups/PATCH.js +1 -1
  124. package/dist/kempo/api/groups/PATCH.js.map +1 -1
  125. package/dist/kempo/api/groups/POST.js +1 -1
  126. package/dist/kempo/api/groups/POST.js.map +1 -1
  127. package/dist/kempo/api/groups/[name]/GET.js +1 -1
  128. package/dist/kempo/api/groups/[name]/GET.js.map +1 -1
  129. package/dist/kempo/api/groups/[name]/members/DELETE.js +1 -1
  130. package/dist/kempo/api/groups/[name]/members/DELETE.js.map +1 -1
  131. package/dist/kempo/api/groups/[name]/members/GET.js +1 -1
  132. package/dist/kempo/api/groups/[name]/members/GET.js.map +1 -1
  133. package/dist/kempo/api/groups/[name]/members/POST.js +1 -1
  134. package/dist/kempo/api/groups/[name]/members/POST.js.map +1 -1
  135. package/dist/kempo/api/groups/[name]/permissions/DELETE.js +1 -1
  136. package/dist/kempo/api/groups/[name]/permissions/DELETE.js.map +1 -1
  137. package/dist/kempo/api/groups/[name]/permissions/GET.js +1 -1
  138. package/dist/kempo/api/groups/[name]/permissions/GET.js.map +1 -1
  139. package/dist/kempo/api/groups/[name]/permissions/POST.js +1 -1
  140. package/dist/kempo/api/groups/[name]/permissions/POST.js.map +1 -1
  141. package/dist/kempo/api/pages/DELETE.js +1 -1
  142. package/dist/kempo/api/pages/DELETE.js.map +1 -1
  143. package/dist/kempo/api/pages/GET.js +1 -1
  144. package/dist/kempo/api/pages/GET.js.map +1 -1
  145. package/dist/kempo/api/pages/POST.js +1 -1
  146. package/dist/kempo/api/pages/POST.js.map +1 -1
  147. package/dist/kempo/api/pages/directories/GET.js +1 -1
  148. package/dist/kempo/api/pages/directories/GET.js.map +1 -1
  149. package/dist/kempo/api/pages/disable/PUT.js +1 -1
  150. package/dist/kempo/api/pages/disable/PUT.js.map +1 -1
  151. package/dist/kempo/api/pages/enable/PUT.js +1 -1
  152. package/dist/kempo/api/pages/enable/PUT.js.map +1 -1
  153. package/dist/kempo/api/pages/file/GET.js +1 -1
  154. package/dist/kempo/api/pages/file/GET.js.map +1 -1
  155. package/dist/kempo/api/pages/file/PATCH.js +1 -1
  156. package/dist/kempo/api/pages/file/PATCH.js.map +1 -1
  157. package/dist/kempo/api/pages/file/PUT.js +1 -1
  158. package/dist/kempo/api/pages/file/PUT.js.map +1 -1
  159. package/dist/kempo/api/pages/lock/PUT.js +2 -2
  160. package/dist/kempo/api/pages/lock/PUT.js.map +1 -1
  161. package/dist/kempo/api/pages/search/GET.js +2 -2
  162. package/dist/kempo/api/pages/search/GET.js.map +1 -1
  163. package/dist/kempo/api/pages/templates/GET.js +1 -1
  164. package/dist/kempo/api/pages/templates/GET.js.map +1 -1
  165. package/dist/kempo/api/permissions/DELETE.js +1 -1
  166. package/dist/kempo/api/permissions/DELETE.js.map +1 -1
  167. package/dist/kempo/api/permissions/GET.js +1 -1
  168. package/dist/kempo/api/permissions/GET.js.map +1 -1
  169. package/dist/kempo/api/permissions/PATCH.js +1 -1
  170. package/dist/kempo/api/permissions/PATCH.js.map +1 -1
  171. package/dist/kempo/api/permissions/POST.js +1 -1
  172. package/dist/kempo/api/permissions/POST.js.map +1 -1
  173. package/dist/kempo/api/settings/[owner]/GET.js +1 -1
  174. package/dist/kempo/api/settings/[owner]/GET.js.map +1 -1
  175. package/dist/kempo/api/settings/[owner]/[name]/DELETE.js +1 -1
  176. package/dist/kempo/api/settings/[owner]/[name]/DELETE.js.map +1 -1
  177. package/dist/kempo/api/settings/[owner]/[name]/GET.js +1 -1
  178. package/dist/kempo/api/settings/[owner]/[name]/GET.js.map +1 -1
  179. package/dist/kempo/api/settings/[owner]/[name]/POST.js +1 -1
  180. package/dist/kempo/api/settings/[owner]/[name]/POST.js.map +1 -1
  181. package/dist/kempo/api/settings/public/GET.js +1 -1
  182. package/dist/kempo/api/settings/public/GET.js.map +1 -1
  183. package/dist/kempo/api/templates/DELETE.js +1 -1
  184. package/dist/kempo/api/templates/DELETE.js.map +1 -1
  185. package/dist/kempo/api/templates/GET.js +1 -1
  186. package/dist/kempo/api/templates/GET.js.map +1 -1
  187. package/dist/kempo/api/templates/POST.js +1 -1
  188. package/dist/kempo/api/templates/POST.js.map +1 -1
  189. package/dist/kempo/api/templates/disable/PUT.js +1 -1
  190. package/dist/kempo/api/templates/disable/PUT.js.map +1 -1
  191. package/dist/kempo/api/templates/enable/PUT.js +1 -1
  192. package/dist/kempo/api/templates/enable/PUT.js.map +1 -1
  193. package/dist/kempo/api/templates/file/GET.js +1 -1
  194. package/dist/kempo/api/templates/file/GET.js.map +1 -1
  195. package/dist/kempo/api/templates/file/PATCH.js +1 -1
  196. package/dist/kempo/api/templates/file/PATCH.js.map +1 -1
  197. package/dist/kempo/api/templates/file/PUT.js +1 -1
  198. package/dist/kempo/api/templates/file/PUT.js.map +1 -1
  199. package/dist/kempo/api/templates/lock/PUT.js +2 -2
  200. package/dist/kempo/api/templates/lock/PUT.js.map +1 -1
  201. package/dist/kempo/api/user/DELETE.js +1 -1
  202. package/dist/kempo/api/user/DELETE.js.map +1 -1
  203. package/dist/kempo/api/user/GET.js +1 -1
  204. package/dist/kempo/api/user/GET.js.map +1 -1
  205. package/dist/kempo/api/user/PATCH.js +1 -1
  206. package/dist/kempo/api/user/PATCH.js.map +1 -1
  207. package/dist/kempo/api/user/[userid]/GET.js +1 -1
  208. package/dist/kempo/api/user/[userid]/GET.js.map +1 -1
  209. package/dist/kempo/api/user/[userid]/groups/DELETE.js +1 -1
  210. package/dist/kempo/api/user/[userid]/groups/DELETE.js.map +1 -1
  211. package/dist/kempo/api/user/[userid]/groups/GET.js +1 -1
  212. package/dist/kempo/api/user/[userid]/groups/GET.js.map +1 -1
  213. package/dist/kempo/api/user/[userid]/groups/POST.js +1 -1
  214. package/dist/kempo/api/user/[userid]/groups/POST.js.map +1 -1
  215. package/dist/kempo/api/user/[userid]/permissions/GET.js +1 -1
  216. package/dist/kempo/api/user/[userid]/permissions/GET.js.map +1 -1
  217. package/dist/kempo/api/user/[userid]/permissions/all/GET.js +1 -1
  218. package/dist/kempo/api/user/[userid]/permissions/all/GET.js.map +1 -1
  219. package/dist/kempo/api/user/[userid]/permissions/list/GET.js +1 -1
  220. package/dist/kempo/api/user/[userid]/permissions/list/GET.js.map +1 -1
  221. package/dist/kempo/api/user/[userid]/permissions/some/GET.js +1 -1
  222. package/dist/kempo/api/user/[userid]/permissions/some/GET.js.map +1 -1
  223. package/dist/kempo/api/user/[userid]/sessions/DELETE.js +1 -1
  224. package/dist/kempo/api/user/[userid]/sessions/DELETE.js.map +1 -1
  225. package/dist/kempo/api/user/[userid]/sessions/GET.js +1 -1
  226. package/dist/kempo/api/user/[userid]/sessions/GET.js.map +1 -1
  227. package/dist/kempo/api/user/[userid]/sessions/expired/DELETE.js +1 -1
  228. package/dist/kempo/api/user/[userid]/sessions/expired/DELETE.js.map +1 -1
  229. package/dist/kempo/api/user/create/POST.js +1 -1
  230. package/dist/kempo/api/user/create/POST.js.map +1 -1
  231. package/dist/kempo/api/user/search/GET.js +1 -1
  232. package/dist/kempo/api/user/search/GET.js.map +1 -1
  233. package/dist/kempo/components/LogoutBtn.js +1 -1
  234. package/dist/kempo/components/LogoutBtn.js.map +1 -1
  235. package/dist/kempo/components/Menu.js +9 -9
  236. package/dist/kempo/components/Menu.js.map +1 -1
  237. package/dist/kempo/components/Permission.js +1 -1
  238. package/dist/kempo/components/Permission.js.map +1 -1
  239. package/dist/kempo/components/Role.js +1 -1
  240. package/dist/kempo/components/Role.js.map +1 -1
  241. package/dist/kempo/components/UserCreatedAt.js +1 -1
  242. package/dist/kempo/components/UserCreatedAt.js.map +1 -1
  243. package/dist/kempo/components/UserEmail.js +1 -1
  244. package/dist/kempo/components/UserEmail.js.map +1 -1
  245. package/dist/kempo/components/UserEmailVerified.js +1 -1
  246. package/dist/kempo/components/UserEmailVerified.js.map +1 -1
  247. package/dist/kempo/components/UserName.js +1 -1
  248. package/dist/kempo/components/UserName.js.map +1 -1
  249. package/dist/kempo/fetch.js +1 -1
  250. package/dist/kempo/fetch.js.map +1 -1
  251. package/dist/kempo/sdk.js +1 -1
  252. package/dist/kempo/sdk.js.map +1 -1
  253. package/middleware/kempo.js +36 -6
  254. package/package.json +2 -2
  255. package/server/utils/extensions/installExtension.js +19 -13
  256. package/server/utils/extensions/uninstallExtension.js +6 -10
  257. package/server/utils/pages/deletePage.js +2 -10
  258. package/dist/admin/accounts/groups/[name]/index.html +0 -518
  259. package/dist/admin/accounts/groups/index.html +0 -378
  260. package/dist/admin/accounts/permissions/index.html +0 -397
  261. package/dist/admin/accounts/users/[id]/index.html +0 -541
  262. package/dist/admin/accounts/users/index.html +0 -396
  263. package/dist/admin/content/fragments/edit/index.html +0 -132
  264. package/dist/admin/content/fragments/index.html +0 -375
  265. package/dist/admin/content/globals/edit/index.html +0 -132
  266. package/dist/admin/content/globals/index.html +0 -358
  267. package/dist/admin/content/pages/edit/index.html +0 -132
  268. package/dist/admin/content/pages/index.html +0 -509
  269. package/dist/admin/content/templates/edit/index.html +0 -132
  270. package/dist/admin/content/templates/index.html +0 -429
  271. package/dist/admin/extensions/index.html +0 -222
  272. package/dist/admin/index.html +0 -130
  273. package/dist/admin/settings/[owner]/[name]/index.html +0 -449
  274. package/dist/admin/settings/index.html +0 -410
@@ -1,2 +1,2 @@
1
- import{resolve}from"path";import currentUserHasPermission from"../../../../server/utils/permissions/currentUserHasPermission.js";import createAdminGlobalContent from"../../../../server/utils/admin-global-content/createAdminGlobalContent.js";const adminDir=resolve(import.meta.dirname,"../../../../dist/admin");export default async(r,e)=>{const s=r.cookies.session_token,[o,t]=await currentUserHasPermission(s,"system:globals:create");if(o)return e.status(o.code).json({error:o.msg});if(!t)return e.status(403).json({error:"Insufficient permissions"});const{name:n,location:i,priority:a,owner:m,markup:c}=r.body,[l,u]=await createAdminGlobalContent({adminDir:adminDir,name:n,location:i,priority:a,owner:m,markup:c});if(l)return e.status(l.code).json({error:l.msg});e.json(u)};
1
+ import{resolve as r}from"path";import o from"../../../../server/utils/permissions/currentUserHasPermission.js";import s from"../../../../server/utils/admin-global-content/createAdminGlobalContent.js";const t=r(import.meta.dirname,"../../../../dist/admin");export default async(r,e)=>{const i=r.cookies.session_token,[n,a]=await o(i,"system:globals:create");if(n)return e.status(n.code).json({error:n.msg});if(!a)return e.status(403).json({error:"Insufficient permissions"});const{name:m,location:c,priority:u,owner:p,markup:l}=r.body,[d,f]=await s({adminDir:t,name:m,location:c,priority:u,owner:p,markup:l});if(d)return e.status(d.code).json({error:d.msg});e.json(f)};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\admin-globals\POST.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\admin-globals\\POST.js","names":["resolve","currentUserHasPermission","createAdminGlobalContent","adminDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","location","priority","owner","markup","body","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport createAdminGlobalContent from '../../../../server/utils/admin-global-content/createAdminGlobalContent.js';\r\n\r\nconst adminDir = resolve(import.meta.dirname, '../../../../dist/admin');\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:create');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const { name, location, priority, owner, markup } = request.body;\r\n const [error, data] = await createAdminGlobalContent({ adminDir, name, location, priority, owner, markup });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAASA,YAAe,cACjBC,6BAA8B,0EAC9BC,6BAA8B,4EAErC,MAAMC,SAAWH,oBAAoBI,QAAS,yCAE/BC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBX,yBAAyBO,EAAO,yBAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,KAAEA,EAAIC,SAAEA,EAAQC,SAAEA,EAAQC,MAAEA,EAAKC,OAAEA,GAAWhB,EAAQiB,MACrDP,EAAOQ,SAActB,yBAAyB,CAAEC,kBAAUe,OAAMC,WAAUC,WAAUC,QAAOC,WAElG,GAAGN,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKS","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\admin-globals\\POST.js","names":["resolve","currentUserHasPermission","createAdminGlobalContent","adminDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","location","priority","owner","markup","body","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport createAdminGlobalContent from '../../../../server/utils/admin-global-content/createAdminGlobalContent.js';\r\n\r\nconst adminDir = resolve(import.meta.dirname, '../../../../dist/admin');\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:create');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const { name, location, priority, owner, markup } = request.body;\r\n const [error, data] = await createAdminGlobalContent({ adminDir, name, location, priority, owner, markup });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"kBAASA,MAAe,cACjBC,MAA8B,0EAC9BC,MAA8B,4EAErC,MAAMC,EAAWH,cAAoBI,QAAS,yCAE/BC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBX,EAAyBO,EAAO,yBAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,KAAEA,EAAIC,SAAEA,EAAQC,SAAEA,EAAQC,MAAEA,EAAKC,OAAEA,GAAWhB,EAAQiB,MACrDP,EAAOQ,SAActB,EAAyB,CAAEC,WAAUe,OAAMC,WAAUC,WAAUC,QAAOC,WAElG,GAAGN,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKS","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{resolve}from"path";import currentUserHasPermission from"../../../../../server/utils/permissions/currentUserHasPermission.js";import getAdminGlobalContent from"../../../../../server/utils/admin-global-content/getAdminGlobalContent.js";const adminDir=resolve(import.meta.dirname,"../../../../../dist/admin");export default async(s,r)=>{const e=s.cookies.session_token,[t,i]=await currentUserHasPermission(e,"system:globals:read");if(t)return r.status(t.code).json({error:t.msg});if(!i)return r.status(403).json({error:"Insufficient permissions"});const n=s.params.id,[o,a]=await getAdminGlobalContent({adminDir:adminDir,id:n});if(o)return r.status(o.code).json({error:o.msg});r.json(a)};
1
+ import{resolve as s}from"path";import r from"../../../../../server/utils/permissions/currentUserHasPermission.js";import t from"../../../../../server/utils/admin-global-content/getAdminGlobalContent.js";const o=s(import.meta.dirname,"../../../../../dist/admin");export default async(s,e)=>{const i=s.cookies.session_token,[n,a]=await r(i,"system:globals:read");if(n)return e.status(n.code).json({error:n.msg});if(!a)return e.status(403).json({error:"Insufficient permissions"});const m=s.params.id,[d,u]=await t({adminDir:o,id:m});if(d)return e.status(d.code).json({error:d.msg});e.json(u)};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\admin-globals\[id]\GET.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\admin-globals\\[id]\\GET.js","names":["resolve","currentUserHasPermission","getAdminGlobalContent","adminDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","params","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getAdminGlobalContent from '../../../../../server/utils/admin-global-content/getAdminGlobalContent.js';\r\n\r\nconst adminDir = resolve(import.meta.dirname, '../../../../../dist/admin');\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:read');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const id = request.params.id;\r\n const [error, data] = await getAdminGlobalContent({ adminDir, id });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAASA,YAAe,cACjBC,6BAA8B,6EAC9BC,0BAA2B,4EAElC,MAAMC,SAAWH,oBAAoBI,QAAS,4CAE/BC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBX,yBAAyBO,EAAO,uBAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAKZ,EAAQa,OAAOD,IACnBF,EAAOI,SAAclB,sBAAsB,CAAEC,kBAAUe,OAE9D,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKK","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\admin-globals\\[id]\\GET.js","names":["resolve","currentUserHasPermission","getAdminGlobalContent","adminDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","params","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport getAdminGlobalContent from '../../../../../server/utils/admin-global-content/getAdminGlobalContent.js';\r\n\r\nconst adminDir = resolve(import.meta.dirname, '../../../../../dist/admin');\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:read');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const id = request.params.id;\r\n const [error, data] = await getAdminGlobalContent({ adminDir, id });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"kBAASA,MAAe,cACjBC,MAA8B,6EAC9BC,MAA2B,4EAElC,MAAMC,EAAWH,cAAoBI,QAAS,4CAE/BC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBX,EAAyBO,EAAO,uBAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAKZ,EAAQa,OAAOD,IACnBF,EAAOI,SAAclB,EAAsB,CAAEC,WAAUe,OAE9D,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKK","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{resolve}from"path";import currentUserHasPermission from"../../../../../server/utils/permissions/currentUserHasPermission.js";import updateAdminGlobalContent from"../../../../../server/utils/admin-global-content/updateAdminGlobalContent.js";const adminDir=resolve(import.meta.dirname,"../../../../../dist/admin");export default async(r,s)=>{const o=r.cookies.session_token,[t,e]=await currentUserHasPermission(o,"system:globals:update");if(t)return s.status(t.code).json({error:t.msg});if(!e)return s.status(403).json({error:"Insufficient permissions"});const i=r.params.id,{name:n,location:a,priority:m,markup:d}=r.body,[u,l]=await updateAdminGlobalContent({adminDir:adminDir,id:i,name:n,location:a,priority:m,markup:d});if(u)return s.status(u.code).json({error:u.msg});s.json(l)};
1
+ import{resolve as r}from"path";import s from"../../../../../server/utils/permissions/currentUserHasPermission.js";import o from"../../../../../server/utils/admin-global-content/updateAdminGlobalContent.js";const t=r(import.meta.dirname,"../../../../../dist/admin");export default async(r,i)=>{const e=r.cookies.session_token,[n,a]=await s(e,"system:globals:update");if(n)return i.status(n.code).json({error:n.msg});if(!a)return i.status(403).json({error:"Insufficient permissions"});const m=r.params.id,{name:p,location:u,priority:d,markup:c}=r.body,[l,f]=await o({adminDir:t,id:m,name:p,location:u,priority:d,markup:c});if(l)return i.status(l.code).json({error:l.msg});i.json(f)};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\admin-globals\[id]\PUT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\admin-globals\\[id]\\PUT.js","names":["resolve","currentUserHasPermission","updateAdminGlobalContent","adminDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","params","name","location","priority","markup","body","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport updateAdminGlobalContent from '../../../../../server/utils/admin-global-content/updateAdminGlobalContent.js';\r\n\r\nconst adminDir = resolve(import.meta.dirname, '../../../../../dist/admin');\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:update');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const id = request.params.id;\r\n const { name, location, priority, markup } = request.body;\r\n const [error, data] = await updateAdminGlobalContent({ adminDir, id, name, location, priority, markup });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAASA,YAAe,cACjBC,6BAA8B,6EAC9BC,6BAA8B,+EAErC,MAAMC,SAAWH,oBAAoBI,QAAS,4CAE/BC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBX,yBAAyBO,EAAO,yBAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAKZ,EAAQa,OAAOD,IACpBE,KAAEA,EAAIC,SAAEA,EAAQC,SAAEA,EAAQC,OAAEA,GAAWjB,EAAQkB,MAC9CR,EAAOS,SAAcvB,yBAAyB,CAAEC,kBAAUe,KAAIE,OAAMC,WAAUC,WAAUC,WAE/F,GAAGP,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKU","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\admin-globals\\[id]\\PUT.js","names":["resolve","currentUserHasPermission","updateAdminGlobalContent","adminDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","params","name","location","priority","markup","body","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport updateAdminGlobalContent from '../../../../../server/utils/admin-global-content/updateAdminGlobalContent.js';\r\n\r\nconst adminDir = resolve(import.meta.dirname, '../../../../../dist/admin');\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:update');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const id = request.params.id;\r\n const { name, location, priority, markup } = request.body;\r\n const [error, data] = await updateAdminGlobalContent({ adminDir, id, name, location, priority, markup });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"kBAASA,MAAe,cACjBC,MAA8B,6EAC9BC,MAA8B,+EAErC,MAAMC,EAAWH,cAAoBI,QAAS,4CAE/BC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBX,EAAyBO,EAAO,yBAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAKZ,EAAQa,OAAOD,IACpBE,KAAEA,EAAIC,SAAEA,EAAQC,SAAEA,EAAQC,OAAEA,GAAWjB,EAAQkB,MAC9CR,EAAOS,SAAcvB,EAAyB,CAAEC,WAAUe,KAAIE,OAAMC,WAAUC,WAAUC,WAE/F,GAAGP,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKU","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{resolve}from"path";import currentUserHasPermission from"../../../../../../server/utils/permissions/currentUserHasPermission.js";import disableAdminGlobalContent from"../../../../../../server/utils/admin-global-content/disableAdminGlobalContent.js";const adminDir=resolve(import.meta.dirname,"../../../../../../dist/admin");export default async(s,r)=>{const e=s.cookies.session_token,[i,n]=await currentUserHasPermission(e,"system:globals:update");if(i)return r.status(i.code).json({error:i.msg});if(!n)return r.status(403).json({error:"Insufficient permissions"});const o=s.params.id,[t,a]=await disableAdminGlobalContent({adminDir:adminDir,id:o});if(t)return r.status(t.code).json({error:t.msg});r.json(a)};
1
+ import{resolve as s}from"path";import r from"../../../../../../server/utils/permissions/currentUserHasPermission.js";import t from"../../../../../../server/utils/admin-global-content/disableAdminGlobalContent.js";const o=s(import.meta.dirname,"../../../../../../dist/admin");export default async(s,i)=>{const e=s.cookies.session_token,[n,a]=await r(e,"system:globals:update");if(n)return i.status(n.code).json({error:n.msg});if(!a)return i.status(403).json({error:"Insufficient permissions"});const m=s.params.id,[d,u]=await t({adminDir:o,id:m});if(d)return i.status(d.code).json({error:d.msg});i.json(u)};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\admin-globals\[id]\disable\PUT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\admin-globals\\[id]\\disable\\PUT.js","names":["resolve","currentUserHasPermission","disableAdminGlobalContent","adminDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","params","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport disableAdminGlobalContent from '../../../../../../server/utils/admin-global-content/disableAdminGlobalContent.js';\r\n\r\nconst adminDir = resolve(import.meta.dirname, '../../../../../../dist/admin');\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:update');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const id = request.params.id;\r\n const [error, data] = await disableAdminGlobalContent({ adminDir, id });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAASA,YAAe,cACjBC,6BAA8B,gFAC9BC,8BAA+B,mFAEtC,MAAMC,SAAWH,oBAAoBI,QAAS,+CAE/BC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBX,yBAAyBO,EAAO,yBAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAKZ,EAAQa,OAAOD,IACnBF,EAAOI,SAAclB,0BAA0B,CAAEC,kBAAUe,OAElE,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKK","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\admin-globals\\[id]\\disable\\PUT.js","names":["resolve","currentUserHasPermission","disableAdminGlobalContent","adminDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","params","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport disableAdminGlobalContent from '../../../../../../server/utils/admin-global-content/disableAdminGlobalContent.js';\r\n\r\nconst adminDir = resolve(import.meta.dirname, '../../../../../../dist/admin');\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:update');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const id = request.params.id;\r\n const [error, data] = await disableAdminGlobalContent({ adminDir, id });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"kBAASA,MAAe,cACjBC,MAA8B,gFAC9BC,MAA+B,mFAEtC,MAAMC,EAAWH,cAAoBI,QAAS,+CAE/BC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBX,EAAyBO,EAAO,yBAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAKZ,EAAQa,OAAOD,IACnBF,EAAOI,SAAclB,EAA0B,CAAEC,WAAUe,OAElE,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKK","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{resolve}from"path";import currentUserHasPermission from"../../../../../../server/utils/permissions/currentUserHasPermission.js";import enableAdminGlobalContent from"../../../../../../server/utils/admin-global-content/enableAdminGlobalContent.js";const adminDir=resolve(import.meta.dirname,"../../../../../../dist/admin");export default async(s,r)=>{const e=s.cookies.session_token,[n,i]=await currentUserHasPermission(e,"system:globals:update");if(n)return r.status(n.code).json({error:n.msg});if(!i)return r.status(403).json({error:"Insufficient permissions"});const o=s.params.id,[t,a]=await enableAdminGlobalContent({adminDir:adminDir,id:o});if(t)return r.status(t.code).json({error:t.msg});r.json(a)};
1
+ import{resolve as s}from"path";import r from"../../../../../../server/utils/permissions/currentUserHasPermission.js";import t from"../../../../../../server/utils/admin-global-content/enableAdminGlobalContent.js";const o=s(import.meta.dirname,"../../../../../../dist/admin");export default async(s,e)=>{const i=s.cookies.session_token,[n,a]=await r(i,"system:globals:update");if(n)return e.status(n.code).json({error:n.msg});if(!a)return e.status(403).json({error:"Insufficient permissions"});const m=s.params.id,[d,u]=await t({adminDir:o,id:m});if(d)return e.status(d.code).json({error:d.msg});e.json(u)};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\admin-globals\[id]\enable\PUT.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\admin-globals\\[id]\\enable\\PUT.js","names":["resolve","currentUserHasPermission","enableAdminGlobalContent","adminDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","params","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport enableAdminGlobalContent from '../../../../../../server/utils/admin-global-content/enableAdminGlobalContent.js';\r\n\r\nconst adminDir = resolve(import.meta.dirname, '../../../../../../dist/admin');\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:update');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const id = request.params.id;\r\n const [error, data] = await enableAdminGlobalContent({ adminDir, id });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAASA,YAAe,cACjBC,6BAA8B,gFAC9BC,6BAA8B,kFAErC,MAAMC,SAAWH,oBAAoBI,QAAS,+CAE/BC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBX,yBAAyBO,EAAO,yBAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAKZ,EAAQa,OAAOD,IACnBF,EAAOI,SAAclB,yBAAyB,CAAEC,kBAAUe,OAEjE,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKK","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\admin-globals\\[id]\\enable\\PUT.js","names":["resolve","currentUserHasPermission","enableAdminGlobalContent","adminDir","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","id","params","data"],"sources":["0"],"sourcesContent":["import { resolve } from 'path';\r\nimport currentUserHasPermission from '../../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport enableAdminGlobalContent from '../../../../../../server/utils/admin-global-content/enableAdminGlobalContent.js';\r\n\r\nconst adminDir = resolve(import.meta.dirname, '../../../../../../dist/admin');\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:globals:update');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const id = request.params.id;\r\n const [error, data] = await enableAdminGlobalContent({ adminDir, id });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"kBAASA,MAAe,cACjBC,MAA8B,gFAC9BC,MAA8B,kFAErC,MAAMC,EAAWH,cAAoBI,QAAS,+CAE/BC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBX,EAAyBO,EAAO,yBAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAKZ,EAAQa,OAAOD,IACnBF,EAAOI,SAAclB,EAAyB,CAAEC,WAAUe,OAEjE,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKK","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import changePassword from"../../../../../server/utils/auth/changePassword.js";import getSession from"../../../../../server/utils/auth/getSession.js";import bcrypt from"bcrypt";export default async(s,r)=>{try{const e=s.cookies.session_token,[t,o]=await getSession({token:e});if(t||!o||!o.user)return r.status(401).json({error:"Not authenticated"});const{currentPassword:a,newPassword:n}=s.body;if(!a||!n)return r.status(400).json({error:"Current password and new password are required"});if(n.length<8)return r.status(400).json({error:"New password must be at least 8 characters"});if(!await bcrypt.compare(a,o.user.passwordHash))return r.status(400).json({error:"Current password is incorrect"});const[c,u]=await changePassword(o.user.id,n);if(c)return r.status(c.code).json({error:c.msg});r.json({success:!0,message:"Password changed successfully"})}catch(s){console.error("Change password error:",s),r.status(500).json({error:s.message||"Failed to change password"})}};
1
+ import s from"../../../../../server/utils/auth/changePassword.js";import r from"../../../../../server/utils/auth/getSession.js";import e from"bcrypt";export default async(t,o)=>{try{const a=t.cookies.session_token,[n,u]=await r({token:a});if(n||!u||!u.user)return o.status(401).json({error:"Not authenticated"});const{currentPassword:c,newPassword:i}=t.body;if(!c||!i)return o.status(400).json({error:"Current password and new password are required"});if(i.length<8)return o.status(400).json({error:"New password must be at least 8 characters"});if(!await e.compare(c,u.user.passwordHash))return o.status(400).json({error:"Current password is incorrect"});const[d,w]=await s(u.user.id,i);if(d)return o.status(d.code).json({error:d.msg});o.json({success:!0,message:"Password changed successfully"})}catch(s){console.error("Change password error:",s),o.status(500).json({error:s.message||"Failed to change password"})}};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\auth\change-password\POST.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\auth\\change-password\\POST.js","names":["changePassword","getSession","bcrypt","async","request","response","sessionToken","cookies","session_token","sessionError","session","token","user","status","json","error","currentPassword","newPassword","body","length","compare","passwordHash","changeError","result","id","code","msg","success","message","console"],"sources":["0"],"sourcesContent":["import changePassword from '../../../../../server/utils/auth/changePassword.js';\r\nimport getSession from '../../../../../server/utils/auth/getSession.js';\r\nimport bcrypt from 'bcrypt';\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const sessionToken = request.cookies.session_token;\r\n const [sessionError, session] = await getSession({ token: sessionToken });\r\n \r\n if(sessionError || !session || !session.user){\r\n return response.status(401).json({ error: 'Not authenticated' });\r\n }\r\n \r\n const { currentPassword, newPassword } = request.body;\r\n\r\n if(!currentPassword || !newPassword){\r\n return response.status(400).json({ error: 'Current password and new password are required' });\r\n }\r\n\r\n if(newPassword.length < 8){\r\n return response.status(400).json({ error: 'New password must be at least 8 characters' });\r\n }\r\n\r\n const isValid = await bcrypt.compare(currentPassword, session.user.passwordHash);\r\n \r\n if(!isValid){\r\n return response.status(400).json({ error: 'Current password is incorrect' });\r\n }\r\n\r\n const [changeError, result] = await changePassword(session.user.id, newPassword);\r\n\r\n if(changeError){\r\n return response.status(changeError.code).json({ error: changeError.msg });\r\n }\r\n\r\n response.json({ success: true, message: 'Password changed successfully' });\r\n } catch(error){\r\n console.error('Change password error:', error);\r\n response.status(500).json({ \r\n error: error.message || 'Failed to change password'\r\n });\r\n }\r\n};\r\n"],"mappings":"OAAOA,mBAAoB,4DACpBC,eAAgB,wDAChBC,WAAY,wBAEJC,MAAOC,EAASC,KAC7B,IACE,MAAMC,EAAeF,EAAQG,QAAQC,eAC9BC,EAAcC,SAAiBT,WAAW,CAAEU,MAAOL,IAE1D,GAAGG,IAAiBC,IAAYA,EAAQE,KACtC,OAAOP,EAASQ,OAAO,KAAKC,KAAK,CAAEC,MAAO,sBAG5C,MAAMC,gBAAEA,EAAeC,YAAEA,GAAgBb,EAAQc,KAEjD,IAAIF,IAAoBC,EACtB,OAAOZ,EAASQ,OAAO,KAAKC,KAAK,CAAEC,MAAO,mDAG5C,GAAGE,EAAYE,OAAS,EACtB,OAAOd,EAASQ,OAAO,KAAKC,KAAK,CAAEC,MAAO,+CAK5C,UAFsBb,OAAOkB,QAAQJ,EAAiBN,EAAQE,KAAKS,cAGjE,OAAOhB,EAASQ,OAAO,KAAKC,KAAK,CAAEC,MAAO,kCAG5C,MAAOO,EAAaC,SAAgBvB,eAAeU,EAAQE,KAAKY,GAAIP,GAEpE,GAAGK,EACD,OAAOjB,EAASQ,OAAOS,EAAYG,MAAMX,KAAK,CAAEC,MAAOO,EAAYI,MAGrErB,EAASS,KAAK,CAAEa,SAAS,EAAMC,QAAS,iCAC1C,CAAE,MAAMb,GACNc,QAAQd,MAAM,yBAA0BA,GACxCV,EAASQ,OAAO,KAAKC,KAAK,CACxBC,MAAOA,EAAMa,SAAW,6BAE5B","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\auth\\change-password\\POST.js","names":["changePassword","getSession","bcrypt","async","request","response","sessionToken","cookies","session_token","sessionError","session","token","user","status","json","error","currentPassword","newPassword","body","length","compare","passwordHash","changeError","result","id","code","msg","success","message","console"],"sources":["0"],"sourcesContent":["import changePassword from '../../../../../server/utils/auth/changePassword.js';\r\nimport getSession from '../../../../../server/utils/auth/getSession.js';\r\nimport bcrypt from 'bcrypt';\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const sessionToken = request.cookies.session_token;\r\n const [sessionError, session] = await getSession({ token: sessionToken });\r\n \r\n if(sessionError || !session || !session.user){\r\n return response.status(401).json({ error: 'Not authenticated' });\r\n }\r\n \r\n const { currentPassword, newPassword } = request.body;\r\n\r\n if(!currentPassword || !newPassword){\r\n return response.status(400).json({ error: 'Current password and new password are required' });\r\n }\r\n\r\n if(newPassword.length < 8){\r\n return response.status(400).json({ error: 'New password must be at least 8 characters' });\r\n }\r\n\r\n const isValid = await bcrypt.compare(currentPassword, session.user.passwordHash);\r\n \r\n if(!isValid){\r\n return response.status(400).json({ error: 'Current password is incorrect' });\r\n }\r\n\r\n const [changeError, result] = await changePassword(session.user.id, newPassword);\r\n\r\n if(changeError){\r\n return response.status(changeError.code).json({ error: changeError.msg });\r\n }\r\n\r\n response.json({ success: true, message: 'Password changed successfully' });\r\n } catch(error){\r\n console.error('Change password error:', error);\r\n response.status(500).json({ \r\n error: error.message || 'Failed to change password'\r\n });\r\n }\r\n};\r\n"],"mappings":"OAAOA,MAAoB,4DACpBC,MAAgB,wDAChBC,MAAY,wBAEJC,MAAOC,EAASC,KAC7B,IACE,MAAMC,EAAeF,EAAQG,QAAQC,eAC9BC,EAAcC,SAAiBT,EAAW,CAAEU,MAAOL,IAE1D,GAAGG,IAAiBC,IAAYA,EAAQE,KACtC,OAAOP,EAASQ,OAAO,KAAKC,KAAK,CAAEC,MAAO,sBAG5C,MAAMC,gBAAEA,EAAeC,YAAEA,GAAgBb,EAAQc,KAEjD,IAAIF,IAAoBC,EACtB,OAAOZ,EAASQ,OAAO,KAAKC,KAAK,CAAEC,MAAO,mDAG5C,GAAGE,EAAYE,OAAS,EACtB,OAAOd,EAASQ,OAAO,KAAKC,KAAK,CAAEC,MAAO,+CAK5C,UAFsBb,EAAOkB,QAAQJ,EAAiBN,EAAQE,KAAKS,cAGjE,OAAOhB,EAASQ,OAAO,KAAKC,KAAK,CAAEC,MAAO,kCAG5C,MAAOO,EAAaC,SAAgBvB,EAAeU,EAAQE,KAAKY,GAAIP,GAEpE,GAAGK,EACD,OAAOjB,EAASQ,OAAOS,EAAYG,MAAMX,KAAK,CAAEC,MAAOO,EAAYI,MAGrErB,EAASS,KAAK,CAAEa,SAAS,EAAMC,QAAS,iCAC1C,CAAE,MAAMb,GACNc,QAAQd,MAAM,yBAA0BA,GACxCV,EAASQ,OAAO,KAAKC,KAAK,CACxBC,MAAOA,EAAMa,SAAW,6BAE5B","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import loginEmail from"../../../../../../server/utils/auth/loginEmail.js";export default async(e,r)=>{try{const{email:o,password:s}=e.body,[t,n]=await loginEmail(o,s);if(t)return r.status(t.code).json({error:t.msg});r.cookie("session_token",n.sessionToken,{httpOnly:!0,secure:"production"===process.env.NODE_ENV,sameSite:"lax",path:"/",maxAge:n.expiresAt.getTime()-Date.now()}),r.json({user:n.user})}catch(e){console.error("Login error:",e),r.status(500).json({error:"Internal server error"})}};
1
+ import e from"../../../../../../server/utils/auth/loginEmail.js";export default async(r,s)=>{try{const{email:o,password:t}=r.body,[n,a]=await e(o,t);if(n)return s.status(n.code).json({error:n.msg});s.cookie("session_token",a.sessionToken,{httpOnly:!0,secure:"production"===process.env.NODE_ENV,sameSite:"lax",path:"/",maxAge:a.expiresAt.getTime()-Date.now()}),s.json({user:a.user})}catch(e){console.error("Login error:",e),s.status(500).json({error:"Internal server error"})}};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\auth\login\email\POST.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\auth\\login\\email\\POST.js","names":["loginEmail","async","request","response","email","password","body","error","result","status","code","json","msg","cookie","sessionToken","httpOnly","secure","process","env","NODE_ENV","sameSite","path","maxAge","expiresAt","getTime","Date","now","user","console"],"sources":["0"],"sourcesContent":["import loginEmail from '../../../../../../server/utils/auth/loginEmail.js';\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const { email, password } = request.body;\r\n \r\n const [error, result] = await loginEmail(email, password);\r\n \r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.cookie('session_token', result.sessionToken, {\r\n httpOnly: true,\r\n secure: process.env.NODE_ENV === 'production',\r\n sameSite: 'lax',\r\n path: '/',\r\n maxAge: result.expiresAt.getTime() - Date.now()\r\n });\r\n \r\n response.json({ user: result.user });\r\n } catch(error){\r\n console.error('Login error:', error);\r\n response.status(500).json({ error: 'Internal server error' });\r\n }\r\n};\r\n"],"mappings":"OAAOA,eAAgB,mEAERC,MAAOC,EAASC,KAC7B,IACE,MAAMC,MAAEA,EAAKC,SAAEA,GAAaH,EAAQI,MAE7BC,EAAOC,SAAgBR,WAAWI,EAAOC,GAEhD,GAAGE,EACD,OAAOJ,EAASM,OAAOF,EAAMG,MAAMC,KAAK,CAAEJ,MAAOA,EAAMK,MAGzDT,EAASU,OAAO,gBAAiBL,EAAOM,aAAc,CACpDC,UAAU,EACVC,OAAiC,eAAzBC,QAAQC,IAAIC,SACpBC,SAAU,MACVC,KAAM,IACNC,OAAQd,EAAOe,UAAUC,UAAYC,KAAKC,QAG5CvB,EAASQ,KAAK,CAAEgB,KAAMnB,EAAOmB,MAC/B,CAAE,MAAMpB,GACNqB,QAAQrB,MAAM,eAAgBA,GAC9BJ,EAASM,OAAO,KAAKE,KAAK,CAAEJ,MAAO,yBACrC","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\auth\\login\\email\\POST.js","names":["loginEmail","async","request","response","email","password","body","error","result","status","code","json","msg","cookie","sessionToken","httpOnly","secure","process","env","NODE_ENV","sameSite","path","maxAge","expiresAt","getTime","Date","now","user","console"],"sources":["0"],"sourcesContent":["import loginEmail from '../../../../../../server/utils/auth/loginEmail.js';\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const { email, password } = request.body;\r\n \r\n const [error, result] = await loginEmail(email, password);\r\n \r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.cookie('session_token', result.sessionToken, {\r\n httpOnly: true,\r\n secure: process.env.NODE_ENV === 'production',\r\n sameSite: 'lax',\r\n path: '/',\r\n maxAge: result.expiresAt.getTime() - Date.now()\r\n });\r\n \r\n response.json({ user: result.user });\r\n } catch(error){\r\n console.error('Login error:', error);\r\n response.status(500).json({ error: 'Internal server error' });\r\n }\r\n};\r\n"],"mappings":"OAAOA,MAAgB,mEAERC,MAAOC,EAASC,KAC7B,IACE,MAAMC,MAAEA,EAAKC,SAAEA,GAAaH,EAAQI,MAE7BC,EAAOC,SAAgBR,EAAWI,EAAOC,GAEhD,GAAGE,EACD,OAAOJ,EAASM,OAAOF,EAAMG,MAAMC,KAAK,CAAEJ,MAAOA,EAAMK,MAGzDT,EAASU,OAAO,gBAAiBL,EAAOM,aAAc,CACpDC,UAAU,EACVC,OAAiC,eAAzBC,QAAQC,IAAIC,SACpBC,SAAU,MACVC,KAAM,IACNC,OAAQd,EAAOe,UAAUC,UAAYC,KAAKC,QAG5CvB,EAASQ,KAAK,CAAEgB,KAAMnB,EAAOmB,MAC/B,CAAE,MAAMpB,GACNqB,QAAQrB,MAAM,eAAgBA,GAC9BJ,EAASM,OAAO,KAAKE,KAAK,CAAEJ,MAAO,yBACrC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import logout from"../../../../../server/utils/auth/logout.js";export default async(t,e)=>{try{const o=t.cookies.session_token,[s,r]=await logout({token:o});if(s)return e.status(s.code).json({error:s.msg});e.setHeader("Set-Cookie","session_token=; Path=/; HttpOnly; Secure; SameSite=Strict; Max-Age=0"),e.json(r)}catch(t){e.status(500).json({error:t.message})}};
1
+ import e from"../../../../../server/utils/auth/logout.js";export default async(t,s)=>{try{const o=t.cookies.session_token,[r,a]=await e({token:o});if(r)return s.status(r.code).json({error:r.msg});s.setHeader("Set-Cookie","session_token=; Path=/; HttpOnly; Secure; SameSite=Strict; Max-Age=0"),s.json(a)}catch(e){s.status(500).json({error:e.message})}};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\auth\logout\POST.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\auth\\logout\\POST.js","names":["logout","async","request","response","token","cookies","session_token","error","result","status","code","json","msg","setHeader","message"],"sources":["0"],"sourcesContent":["import logout from '../../../../../server/utils/auth/logout.js';\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const token = request.cookies.session_token;\r\n const [error, result] = await logout({ token });\r\n \r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n \r\n response.setHeader('Set-Cookie', 'session_token=; Path=/; HttpOnly; Secure; SameSite=Strict; Max-Age=0');\r\n response.json(result);\r\n } catch(error) {\r\n response.status(500).json({ error: error.message });\r\n }\r\n};\r\n"],"mappings":"OAAOA,WAAY,4DAEJC,MAAOC,EAASC,KAC7B,IACE,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAOC,SAAgBR,OAAO,CAAEI,UAEvC,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAMG,MAAMC,KAAK,CAAEJ,MAAOA,EAAMK,MAGzDT,EAASU,UAAU,aAAc,wEACjCV,EAASQ,KAAKH,EAChB,CAAE,MAAMD,GACNJ,EAASM,OAAO,KAAKE,KAAK,CAAEJ,MAAOA,EAAMO,SAC3C","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\auth\\logout\\POST.js","names":["logout","async","request","response","token","cookies","session_token","error","result","status","code","json","msg","setHeader","message"],"sources":["0"],"sourcesContent":["import logout from '../../../../../server/utils/auth/logout.js';\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const token = request.cookies.session_token;\r\n const [error, result] = await logout({ token });\r\n \r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n \r\n response.setHeader('Set-Cookie', 'session_token=; Path=/; HttpOnly; Secure; SameSite=Strict; Max-Age=0');\r\n response.json(result);\r\n } catch(error) {\r\n response.status(500).json({ error: error.message });\r\n }\r\n};\r\n"],"mappings":"OAAOA,MAAY,4DAEJC,MAAOC,EAASC,KAC7B,IACE,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAOC,SAAgBR,EAAO,CAAEI,UAEvC,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAMG,MAAMC,KAAK,CAAEJ,MAAOA,EAAMK,MAGzDT,EAASU,UAAU,aAAc,wEACjCV,EAASQ,KAAKH,EAChB,CAAE,MAAMD,GACNJ,EAASM,OAAO,KAAKE,KAAK,CAAEJ,MAAOA,EAAMO,SAC3C","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import registerEmail from"../../../../../../server/utils/auth/registerEmail.js";export default async(e,r)=>{try{const{email:s,password:i,name:o}=e.body,[t,a]=await registerEmail({email:s,password:i,name:o});if(t)return r.status(t.code).json({error:t.msg});if(a.requiresVerification)return r.json({user:a.user,requiresVerification:a.requiresVerification});r.cookie("session_token",a.sessionToken,{httpOnly:!0,secure:"production"===process.env.NODE_ENV,sameSite:"lax",path:"/",maxAge:a.expiresAt.getTime()-Date.now()}),r.json({user:a.user})}catch(e){console.error("Registration error:",e),r.status(500).json({error:"Internal server error"})}};
1
+ import e from"../../../../../../server/utils/auth/registerEmail.js";export default async(r,s)=>{try{const{email:o,password:t,name:i}=r.body,[a,n]=await e({email:o,password:t,name:i});if(a)return s.status(a.code).json({error:a.msg});if(n.requiresVerification)return s.json({user:n.user,requiresVerification:n.requiresVerification});s.cookie("session_token",n.sessionToken,{httpOnly:!0,secure:"production"===process.env.NODE_ENV,sameSite:"lax",path:"/",maxAge:n.expiresAt.getTime()-Date.now()}),s.json({user:n.user})}catch(e){console.error("Registration error:",e),s.status(500).json({error:"Internal server error"})}};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\auth\register\email\POST.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\auth\\register\\email\\POST.js","names":["registerEmail","async","request","response","email","password","name","body","error","result","status","code","json","msg","requiresVerification","user","cookie","sessionToken","httpOnly","secure","process","env","NODE_ENV","sameSite","path","maxAge","expiresAt","getTime","Date","now","console"],"sources":["0"],"sourcesContent":["import registerEmail from '../../../../../../server/utils/auth/registerEmail.js';\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const { email, password, name } = request.body;\r\n \r\n const [error, result] = await registerEmail({ email, password, name });\r\n \r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n if(result.requiresVerification){\r\n return response.json({ user: result.user, requiresVerification: result.requiresVerification });\r\n }\r\n\r\n response.cookie('session_token', result.sessionToken, {\r\n httpOnly: true,\r\n secure: process.env.NODE_ENV === 'production',\r\n sameSite: 'lax',\r\n path: '/',\r\n maxAge: result.expiresAt.getTime() - Date.now()\r\n });\r\n \r\n response.json({ user: result.user });\r\n } catch(error){\r\n console.error('Registration error:', error);\r\n response.status(500).json({ error: 'Internal server error' });\r\n }\r\n};\r\n"],"mappings":"OAAOA,kBAAmB,sEAEXC,MAAOC,EAASC,KAC7B,IACE,MAAMC,MAAEA,EAAKC,SAAEA,EAAQC,KAAEA,GAASJ,EAAQK,MAEnCC,EAAOC,SAAgBT,cAAc,CAAEI,QAAOC,WAAUC,SAE/D,GAAGE,EACD,OAAOL,EAASO,OAAOF,EAAMG,MAAMC,KAAK,CAAEJ,MAAOA,EAAMK,MAGzD,GAAGJ,EAAOK,qBACR,OAAOX,EAASS,KAAK,CAAEG,KAAMN,EAAOM,KAAMD,qBAAsBL,EAAOK,uBAGzEX,EAASa,OAAO,gBAAiBP,EAAOQ,aAAc,CACpDC,UAAU,EACVC,OAAiC,eAAzBC,QAAQC,IAAIC,SACpBC,SAAU,MACVC,KAAM,IACNC,OAAQhB,EAAOiB,UAAUC,UAAYC,KAAKC,QAG5C1B,EAASS,KAAK,CAAEG,KAAMN,EAAOM,MAC/B,CAAE,MAAMP,GACNsB,QAAQtB,MAAM,sBAAuBA,GACrCL,EAASO,OAAO,KAAKE,KAAK,CAAEJ,MAAO,yBACrC","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\auth\\register\\email\\POST.js","names":["registerEmail","async","request","response","email","password","name","body","error","result","status","code","json","msg","requiresVerification","user","cookie","sessionToken","httpOnly","secure","process","env","NODE_ENV","sameSite","path","maxAge","expiresAt","getTime","Date","now","console"],"sources":["0"],"sourcesContent":["import registerEmail from '../../../../../../server/utils/auth/registerEmail.js';\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const { email, password, name } = request.body;\r\n \r\n const [error, result] = await registerEmail({ email, password, name });\r\n \r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n if(result.requiresVerification){\r\n return response.json({ user: result.user, requiresVerification: result.requiresVerification });\r\n }\r\n\r\n response.cookie('session_token', result.sessionToken, {\r\n httpOnly: true,\r\n secure: process.env.NODE_ENV === 'production',\r\n sameSite: 'lax',\r\n path: '/',\r\n maxAge: result.expiresAt.getTime() - Date.now()\r\n });\r\n \r\n response.json({ user: result.user });\r\n } catch(error){\r\n console.error('Registration error:', error);\r\n response.status(500).json({ error: 'Internal server error' });\r\n }\r\n};\r\n"],"mappings":"OAAOA,MAAmB,sEAEXC,MAAOC,EAASC,KAC7B,IACE,MAAMC,MAAEA,EAAKC,SAAEA,EAAQC,KAAEA,GAASJ,EAAQK,MAEnCC,EAAOC,SAAgBT,EAAc,CAAEI,QAAOC,WAAUC,SAE/D,GAAGE,EACD,OAAOL,EAASO,OAAOF,EAAMG,MAAMC,KAAK,CAAEJ,MAAOA,EAAMK,MAGzD,GAAGJ,EAAOK,qBACR,OAAOX,EAASS,KAAK,CAAEG,KAAMN,EAAOM,KAAMD,qBAAsBL,EAAOK,uBAGzEX,EAASa,OAAO,gBAAiBP,EAAOQ,aAAc,CACpDC,UAAU,EACVC,OAAiC,eAAzBC,QAAQC,IAAIC,SACpBC,SAAU,MACVC,KAAM,IACNC,OAAQhB,EAAOiB,UAAUC,UAAYC,KAAKC,QAG5C1B,EAASS,KAAK,CAAEG,KAAMN,EAAOM,MAC/B,CAAE,MAAMP,GACNsB,QAAQtB,MAAM,sBAAuBA,GACrCL,EAASO,OAAO,KAAKE,KAAK,CAAEJ,MAAO,yBACrC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import resetPassword from"../../../../../server/utils/auth/resetPassword.js";import loginEmail from"../../../../../server/utils/auth/loginEmail.js";import db from"../../../../../server/db/index.js";import{user}from"../../../../../server/db/schema.js";import{eq}from"drizzle-orm";export default async(s,e)=>{try{const{token:r,newPassword:o,logoutAll:t=!1}=s.body;console.log("Password reset request - Token:",r);const[a,n]=await resetPassword({token:r,password:o,logoutAll:t});if(a)return e.status(a.code).json({error:a.msg});const i=await db.select().from(user).where(eq(user.id,n.userId)).limit(1);if(0===i.length)return e.status(500).json({error:"User not found after password reset"});const[l,u]=await loginEmail(i[0].email,o);if(l)return e.status(l.code).json({error:l.msg});e.cookie("session_token",u.sessionToken,{httpOnly:!0,secure:"production"===process.env.NODE_ENV,sameSite:"lax",path:"/",maxAge:24*(u.sessionDurationDays||7)*60*60*1e3}),e.json({success:!0,user:u.user})}catch(s){console.error("Password reset error:",s),e.status(500).json({error:"Failed to reset password"})}};
1
+ import s from"../../../../../server/utils/auth/resetPassword.js";import r from"../../../../../server/utils/auth/loginEmail.js";import e from"../../../../../server/db/index.js";import{user as o}from"../../../../../server/db/schema.js";import{eq as t}from"drizzle-orm";export default async(a,n)=>{try{const{token:i,newPassword:u,logoutAll:l=!1}=a.body;console.log("Password reset request - Token:",i);const[d,m]=await s({token:i,password:u,logoutAll:l});if(d)return n.status(d.code).json({error:d.msg});const c=await e.select().from(o).where(t(o.id,m.userId)).limit(1);if(0===c.length)return n.status(500).json({error:"User not found after password reset"});const[p,f]=await r(c[0].email,u);if(p)return n.status(p.code).json({error:p.msg});n.cookie("session_token",f.sessionToken,{httpOnly:!0,secure:"production"===process.env.NODE_ENV,sameSite:"lax",path:"/",maxAge:24*(f.sessionDurationDays||7)*60*60*1e3}),n.json({success:!0,user:f.user})}catch(s){console.error("Password reset error:",s),n.status(500).json({error:"Failed to reset password"})}};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\auth\reset-password\POST.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\auth\\reset-password\\POST.js","names":["resetPassword","loginEmail","db","user","eq","async","request","response","token","newPassword","logoutAll","body","console","log","resetError","result","password","status","code","json","error","msg","userData","select","from","where","id","userId","limit","length","loginError","loginResult","email","cookie","sessionToken","httpOnly","secure","process","env","NODE_ENV","sameSite","path","maxAge","sessionDurationDays","success"],"sources":["0"],"sourcesContent":["import resetPassword from '../../../../../server/utils/auth/resetPassword.js';\r\nimport loginEmail from '../../../../../server/utils/auth/loginEmail.js';\r\nimport db from '../../../../../server/db/index.js';\r\nimport { user } from '../../../../../server/db/schema.js';\r\nimport { eq } from 'drizzle-orm';\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const { token, newPassword, logoutAll = false } = request.body;\r\n \r\n console.log('Password reset request - Token:', token);\r\n \r\n const [resetError, result] = await resetPassword({ token, password: newPassword, logoutAll });\r\n \r\n if(resetError){\r\n return response.status(resetError.code).json({ error: resetError.msg });\r\n }\r\n \r\n const userData = await db.select().from(user).where(eq(user.id, result.userId)).limit(1);\r\n \r\n if(userData.length === 0){\r\n return response.status(500).json({ error: 'User not found after password reset' });\r\n }\r\n\r\n const [loginError, loginResult] = await loginEmail(userData[0].email, newPassword);\r\n \r\n if(loginError){\r\n return response.status(loginError.code).json({ error: loginError.msg });\r\n }\r\n \r\n response.cookie('session_token', loginResult.sessionToken, {\r\n httpOnly: true,\r\n secure: process.env.NODE_ENV === 'production',\r\n sameSite: 'lax',\r\n path: '/',\r\n maxAge: (loginResult.sessionDurationDays || 7) * 24 * 60 * 60 * 1000\r\n });\r\n \r\n response.json({ success: true, user: loginResult.user });\r\n } catch(error){\r\n console.error('Password reset error:', error);\r\n response.status(500).json({ error: 'Failed to reset password' });\r\n }\r\n};\r\n"],"mappings":"OAAOA,kBAAmB,2DACnBC,eAAgB,wDAChBC,OAAQ,2CACNC,SAAY,4CACZC,OAAU,6BAEJC,MAAOC,EAASC,KAC7B,IACE,MAAMC,MAAEA,EAAKC,YAAEA,EAAWC,UAAEA,GAAY,GAAUJ,EAAQK,KAE1DC,QAAQC,IAAI,kCAAmCL,GAE/C,MAAOM,EAAYC,SAAgBf,cAAc,CAAEQ,QAAOQ,SAAUP,EAAaC,cAEjF,GAAGI,EACD,OAAOP,EAASU,OAAOH,EAAWI,MAAMC,KAAK,CAAEC,MAAON,EAAWO,MAGnE,MAAMC,QAAiBpB,GAAGqB,SAASC,KAAKrB,MAAMsB,MAAMrB,GAAGD,KAAKuB,GAAIX,EAAOY,SAASC,MAAM,GAEtF,GAAuB,IAApBN,EAASO,OACV,OAAOtB,EAASU,OAAO,KAAKE,KAAK,CAAEC,MAAO,wCAG5C,MAAOU,EAAYC,SAAqB9B,WAAWqB,EAAS,GAAGU,MAAOvB,GAEtE,GAAGqB,EACD,OAAOvB,EAASU,OAAOa,EAAWZ,MAAMC,KAAK,CAAEC,MAAOU,EAAWT,MAGnEd,EAAS0B,OAAO,gBAAiBF,EAAYG,aAAc,CACzDC,UAAU,EACVC,OAAiC,eAAzBC,QAAQC,IAAIC,SACpBC,SAAU,MACVC,KAAM,IACNC,OAAiD,IAAxCX,EAAYY,qBAAuB,GAAU,GAAK,GAAK,MAGlEpC,EAASY,KAAK,CAAEyB,SAAS,EAAMzC,KAAM4B,EAAY5B,MACnD,CAAE,MAAMiB,GACNR,QAAQQ,MAAM,wBAAyBA,GACvCb,EAASU,OAAO,KAAKE,KAAK,CAAEC,MAAO,4BACrC","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\auth\\reset-password\\POST.js","names":["resetPassword","loginEmail","db","user","eq","async","request","response","token","newPassword","logoutAll","body","console","log","resetError","result","password","status","code","json","error","msg","userData","select","from","where","id","userId","limit","length","loginError","loginResult","email","cookie","sessionToken","httpOnly","secure","process","env","NODE_ENV","sameSite","path","maxAge","sessionDurationDays","success"],"sources":["0"],"sourcesContent":["import resetPassword from '../../../../../server/utils/auth/resetPassword.js';\r\nimport loginEmail from '../../../../../server/utils/auth/loginEmail.js';\r\nimport db from '../../../../../server/db/index.js';\r\nimport { user } from '../../../../../server/db/schema.js';\r\nimport { eq } from 'drizzle-orm';\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const { token, newPassword, logoutAll = false } = request.body;\r\n \r\n console.log('Password reset request - Token:', token);\r\n \r\n const [resetError, result] = await resetPassword({ token, password: newPassword, logoutAll });\r\n \r\n if(resetError){\r\n return response.status(resetError.code).json({ error: resetError.msg });\r\n }\r\n \r\n const userData = await db.select().from(user).where(eq(user.id, result.userId)).limit(1);\r\n \r\n if(userData.length === 0){\r\n return response.status(500).json({ error: 'User not found after password reset' });\r\n }\r\n\r\n const [loginError, loginResult] = await loginEmail(userData[0].email, newPassword);\r\n \r\n if(loginError){\r\n return response.status(loginError.code).json({ error: loginError.msg });\r\n }\r\n \r\n response.cookie('session_token', loginResult.sessionToken, {\r\n httpOnly: true,\r\n secure: process.env.NODE_ENV === 'production',\r\n sameSite: 'lax',\r\n path: '/',\r\n maxAge: (loginResult.sessionDurationDays || 7) * 24 * 60 * 60 * 1000\r\n });\r\n \r\n response.json({ success: true, user: loginResult.user });\r\n } catch(error){\r\n console.error('Password reset error:', error);\r\n response.status(500).json({ error: 'Failed to reset password' });\r\n }\r\n};\r\n"],"mappings":"OAAOA,MAAmB,2DACnBC,MAAgB,wDAChBC,MAAQ,mDACNC,MAAY,kDACZC,MAAU,6BAEJC,MAAOC,EAASC,KAC7B,IACE,MAAMC,MAAEA,EAAKC,YAAEA,EAAWC,UAAEA,GAAY,GAAUJ,EAAQK,KAE1DC,QAAQC,IAAI,kCAAmCL,GAE/C,MAAOM,EAAYC,SAAgBf,EAAc,CAAEQ,QAAOQ,SAAUP,EAAaC,cAEjF,GAAGI,EACD,OAAOP,EAASU,OAAOH,EAAWI,MAAMC,KAAK,CAAEC,MAAON,EAAWO,MAGnE,MAAMC,QAAiBpB,EAAGqB,SAASC,KAAKrB,GAAMsB,MAAMrB,EAAGD,EAAKuB,GAAIX,EAAOY,SAASC,MAAM,GAEtF,GAAuB,IAApBN,EAASO,OACV,OAAOtB,EAASU,OAAO,KAAKE,KAAK,CAAEC,MAAO,wCAG5C,MAAOU,EAAYC,SAAqB9B,EAAWqB,EAAS,GAAGU,MAAOvB,GAEtE,GAAGqB,EACD,OAAOvB,EAASU,OAAOa,EAAWZ,MAAMC,KAAK,CAAEC,MAAOU,EAAWT,MAGnEd,EAAS0B,OAAO,gBAAiBF,EAAYG,aAAc,CACzDC,UAAU,EACVC,OAAiC,eAAzBC,QAAQC,IAAIC,SACpBC,SAAU,MACVC,KAAM,IACNC,OAAiD,IAAxCX,EAAYY,qBAAuB,GAAU,GAAK,GAAK,MAGlEpC,EAASY,KAAK,CAAEyB,SAAS,EAAMzC,KAAM4B,EAAY5B,MACnD,CAAE,MAAMiB,GACNR,QAAQQ,MAAM,wBAAyBA,GACvCb,EAASU,OAAO,KAAKE,KAAK,CAAEC,MAAO,4BACrC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import getSession from"../../../../../server/utils/auth/getSession.js";export default async(s,e)=>{try{const o=s.cookies.session_token,[n,r]=await getSession({token:o});if(n||!r||!r.user)return e.json({session:null,user:null});const{passwordHash:t,...i}=r.user;e.json({session:r.session,user:i})}catch(s){console.log("Session API error:",s),e.status(500).json({error:s.message})}};
1
+ import s from"../../../../../server/utils/auth/getSession.js";export default async(e,o)=>{try{const r=e.cookies.session_token,[n,t]=await s({token:r});if(n||!t||!t.user)return o.json({session:null,user:null});const{passwordHash:i,...u}=t.user;o.json({session:t.session,user:u})}catch(s){console.log("Session API error:",s),o.status(500).json({error:s.message})}};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\auth\session\GET.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\auth\\session\\GET.js","names":["getSession","async","request","response","sessionToken","cookies","session_token","error","sessionData","token","user","json","session","passwordHash","userWithoutPassword","console","log","status","message"],"sources":["0"],"sourcesContent":["import getSession from '../../../../../server/utils/auth/getSession.js';\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const sessionToken = request.cookies.session_token;\r\n const [error, sessionData] = await getSession({ token: sessionToken });\r\n \r\n if(error || !sessionData || !sessionData.user){\r\n return response.json({ session: null, user: null });\r\n }\r\n \r\n const { passwordHash, ...userWithoutPassword } = sessionData.user;\r\n \r\n response.json({\r\n session: sessionData.session,\r\n user: userWithoutPassword\r\n });\r\n } catch(error){\r\n console.log('Session API error:', error);\r\n response.status(500).json({ error: error.message });\r\n }\r\n};\r\n"],"mappings":"OAAOA,eAAgB,gEAERC,MAAOC,EAASC,KAC7B,IACE,MAAMC,EAAeF,EAAQG,QAAQC,eAC9BC,EAAOC,SAAqBR,WAAW,CAAES,MAAOL,IAEvD,GAAGG,IAAUC,IAAgBA,EAAYE,KACvC,OAAOP,EAASQ,KAAK,CAAEC,QAAS,KAAMF,KAAM,OAG9C,MAAMG,aAAEA,KAAiBC,GAAwBN,EAAYE,KAE7DP,EAASQ,KAAK,CACZC,QAASJ,EAAYI,QACrBF,KAAMI,GAEV,CAAE,MAAMP,GACNQ,QAAQC,IAAI,qBAAsBT,GAClCJ,EAASc,OAAO,KAAKN,KAAK,CAAEJ,MAAOA,EAAMW,SAC3C","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\auth\\session\\GET.js","names":["getSession","async","request","response","sessionToken","cookies","session_token","error","sessionData","token","user","json","session","passwordHash","userWithoutPassword","console","log","status","message"],"sources":["0"],"sourcesContent":["import getSession from '../../../../../server/utils/auth/getSession.js';\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const sessionToken = request.cookies.session_token;\r\n const [error, sessionData] = await getSession({ token: sessionToken });\r\n \r\n if(error || !sessionData || !sessionData.user){\r\n return response.json({ session: null, user: null });\r\n }\r\n \r\n const { passwordHash, ...userWithoutPassword } = sessionData.user;\r\n \r\n response.json({\r\n session: sessionData.session,\r\n user: userWithoutPassword\r\n });\r\n } catch(error){\r\n console.log('Session API error:', error);\r\n response.status(500).json({ error: error.message });\r\n }\r\n};\r\n"],"mappings":"OAAOA,MAAgB,gEAERC,MAAOC,EAASC,KAC7B,IACE,MAAMC,EAAeF,EAAQG,QAAQC,eAC9BC,EAAOC,SAAqBR,EAAW,CAAES,MAAOL,IAEvD,GAAGG,IAAUC,IAAgBA,EAAYE,KACvC,OAAOP,EAASQ,KAAK,CAAEC,QAAS,KAAMF,KAAM,OAG9C,MAAMG,aAAEA,KAAiBC,GAAwBN,EAAYE,KAE7DP,EAASQ,KAAK,CACZC,QAASJ,EAAYI,QACrBF,KAAMI,GAEV,CAAE,MAAMP,GACNQ,QAAQC,IAAI,qBAAsBT,GAClCJ,EAASc,OAAO,KAAKN,KAAK,CAAEJ,MAAOA,EAAMW,SAC3C","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import crypto from"crypto";import verifyEmail from"../../../../../server/utils/auth/verifyEmail.js";import db from"../../../../../server/db/index.js";import{session,user}from"../../../../../server/db/schema.js";import{eq}from"drizzle-orm";import getSetting from"../../../../../server/utils/settings/getSetting.js";const generateToken=()=>crypto.randomBytes(32).toString("hex");export default async(e,r)=>{try{const{token:t}=e.body,[s,o]=await verifyEmail({token:t});if(s)return r.status(s.code).json({error:s.msg});const i=await db.select().from(user).where(eq(user.id,o.userId)).limit(1);if(0===i.length)return r.status(500).json({error:"User not found"});const n=generateToken(),[a,m]=await getSetting("system","session_duration_days",7);if(a)return r.status(a.code).json({error:a.msg});const d=new Date(Date.now()+24*m*60*60*1e3),c=new Date;await db.insert(session).values({token:n,userId:o.userId,expiresAt:d,createdAt:c}),r.cookie("session_token",n,{httpOnly:!0,secure:"production"===process.env.NODE_ENV,sameSite:"lax",path:"/",maxAge:24*m*60*60*1e3}),r.json({success:!0,user:{id:i[0].id,email:i[0].email,name:i[0].name,emailVerified:i[0].emailVerified}})}catch(e){console.error("Email verification error:",e),r.status(500).json({error:"Internal server error"})}};
1
+ import e from"crypto";import r from"../../../../../server/utils/auth/verifyEmail.js";import t from"../../../../../server/db/index.js";import{session as s,user as o}from"../../../../../server/db/schema.js";import{eq as i}from"drizzle-orm";import n from"../../../../../server/utils/settings/getSetting.js";export default async(a,m)=>{try{const{token:d}=a.body,[c,u]=await r({token:d});if(c)return m.status(c.code).json({error:c.msg});const l=await t.select().from(o).where(i(o.id,u.userId)).limit(1);if(0===l.length)return m.status(500).json({error:"User not found"});const f=e.randomBytes(32).toString("hex"),[p,j]=await n("system","session_duration_days",7);if(p)return m.status(p.code).json({error:p.msg});const v=new Date(Date.now()+24*j*60*60*1e3),y=new Date;await t.insert(s).values({token:f,userId:u.userId,expiresAt:v,createdAt:y}),m.cookie("session_token",f,{httpOnly:!0,secure:"production"===process.env.NODE_ENV,sameSite:"lax",path:"/",maxAge:24*j*60*60*1e3}),m.json({success:!0,user:{id:l[0].id,email:l[0].email,name:l[0].name,emailVerified:l[0].emailVerified}})}catch(e){console.error("Email verification error:",e),m.status(500).json({error:"Internal server error"})}};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\auth\verify-email\POST.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\auth\\verify-email\\POST.js","names":["crypto","verifyEmail","db","session","user","eq","getSetting","generateToken","randomBytes","toString","async","request","response","token","body","error","result","status","code","json","msg","userRecord","select","from","where","id","userId","limit","length","sessionToken","settingError","sessionDurationDays","expiresAt","Date","now","insert","values","createdAt","cookie","httpOnly","secure","process","env","NODE_ENV","sameSite","path","maxAge","success","email","name","emailVerified","console"],"sources":["0"],"sourcesContent":["import crypto from 'crypto';\r\nimport verifyEmail from '../../../../../server/utils/auth/verifyEmail.js';\r\nimport db from '../../../../../server/db/index.js';\r\nimport { session, user } from '../../../../../server/db/schema.js';\r\nimport { eq } from 'drizzle-orm';\r\nimport getSetting from '../../../../../server/utils/settings/getSetting.js';\r\n\r\nconst generateToken = () => crypto.randomBytes(32).toString('hex');\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const { token } = request.body;\r\n \r\n const [error, result] = await verifyEmail({ token });\r\n \r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n const userRecord = await db\r\n .select()\r\n .from(user)\r\n .where(eq(user.id, result.userId))\r\n .limit(1);\r\n\r\n if(userRecord.length === 0){\r\n return response.status(500).json({ error: 'User not found' });\r\n }\r\n\r\n const sessionToken = generateToken();\r\n const [settingError, sessionDurationDays] = await getSetting('system', 'session_duration_days', 7);\r\n \r\n if(settingError){\r\n return response.status(settingError.code).json({ error: settingError.msg });\r\n }\r\n \r\n const expiresAt = new Date(Date.now() + sessionDurationDays * 24 * 60 * 60 * 1000);\r\n const now = new Date();\r\n\r\n await db.insert(session).values({\r\n token: sessionToken,\r\n userId: result.userId,\r\n expiresAt,\r\n createdAt: now,\r\n });\r\n\r\n response.cookie('session_token', sessionToken, {\r\n httpOnly: true,\r\n secure: process.env.NODE_ENV === 'production',\r\n sameSite: 'lax',\r\n path: '/',\r\n maxAge: sessionDurationDays * 24 * 60 * 60 * 1000\r\n });\r\n\r\n response.json({ \r\n success: true,\r\n user: {\r\n id: userRecord[0].id,\r\n email: userRecord[0].email,\r\n name: userRecord[0].name,\r\n emailVerified: userRecord[0].emailVerified,\r\n }\r\n });\r\n } catch(error){\r\n console.error('Email verification error:', error);\r\n response.status(500).json({ error: 'Internal server error' });\r\n }\r\n};\r\n"],"mappings":"OAAOA,WAAY,gBACZC,gBAAiB,yDACjBC,OAAQ,2CACNC,QAASC,SAAY,4CACrBC,OAAU,qBACZC,eAAgB,qDAEvB,MAAMC,cAAgB,IAAMP,OAAOQ,YAAY,IAAIC,SAAS,sBAE7CC,MAAOC,EAASC,KAC7B,IACE,MAAMC,MAAEA,GAAUF,EAAQG,MAEnBC,EAAOC,SAAgBf,YAAY,CAAEY,UAE5C,GAAGE,EACD,OAAOH,EAASK,OAAOF,EAAMG,MAAMC,KAAK,CAAEJ,MAAOA,EAAMK,MAGzD,MAAMC,QAAmBnB,GACtBoB,SACAC,KAAKnB,MACLoB,MAAMnB,GAAGD,KAAKqB,GAAIT,EAAOU,SACzBC,MAAM,GAET,GAAyB,IAAtBN,EAAWO,OACZ,OAAOhB,EAASK,OAAO,KAAKE,KAAK,CAAEJ,MAAO,mBAG5C,MAAMc,EAAetB,iBACduB,EAAcC,SAA6BzB,WAAW,SAAU,wBAAyB,GAEhG,GAAGwB,EACD,OAAOlB,EAASK,OAAOa,EAAaZ,MAAMC,KAAK,CAAEJ,MAAOe,EAAaV,MAGvE,MAAMY,EAAY,IAAIC,KAAKA,KAAKC,MAA8B,GAAtBH,EAA2B,GAAK,GAAK,KACvEG,EAAM,IAAID,WAEV/B,GAAGiC,OAAOhC,SAASiC,OAAO,CAC9BvB,MAAOgB,EACPH,OAAQV,EAAOU,OACfM,YACAK,UAAWH,IAGbtB,EAAS0B,OAAO,gBAAiBT,EAAc,CAC7CU,UAAU,EACVC,OAAiC,eAAzBC,QAAQC,IAAIC,SACpBC,SAAU,MACVC,KAAM,IACNC,OAA8B,GAAtBf,EAA2B,GAAK,GAAK,MAG/CnB,EAASO,KAAK,CACZ4B,SAAS,EACT3C,KAAM,CACJqB,GAAIJ,EAAW,GAAGI,GAClBuB,MAAO3B,EAAW,GAAG2B,MACrBC,KAAM5B,EAAW,GAAG4B,KACpBC,cAAe7B,EAAW,GAAG6B,gBAGnC,CAAE,MAAMnC,GACNoC,QAAQpC,MAAM,4BAA6BA,GAC3CH,EAASK,OAAO,KAAKE,KAAK,CAAEJ,MAAO,yBACrC","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\auth\\verify-email\\POST.js","names":["crypto","verifyEmail","db","session","user","eq","getSetting","async","request","response","token","body","error","result","status","code","json","msg","userRecord","select","from","where","id","userId","limit","length","sessionToken","randomBytes","toString","settingError","sessionDurationDays","expiresAt","Date","now","insert","values","createdAt","cookie","httpOnly","secure","process","env","NODE_ENV","sameSite","path","maxAge","success","email","name","emailVerified","console"],"sources":["0"],"sourcesContent":["import crypto from 'crypto';\r\nimport verifyEmail from '../../../../../server/utils/auth/verifyEmail.js';\r\nimport db from '../../../../../server/db/index.js';\r\nimport { session, user } from '../../../../../server/db/schema.js';\r\nimport { eq } from 'drizzle-orm';\r\nimport getSetting from '../../../../../server/utils/settings/getSetting.js';\r\n\r\nconst generateToken = () => crypto.randomBytes(32).toString('hex');\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const { token } = request.body;\r\n \r\n const [error, result] = await verifyEmail({ token });\r\n \r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n const userRecord = await db\r\n .select()\r\n .from(user)\r\n .where(eq(user.id, result.userId))\r\n .limit(1);\r\n\r\n if(userRecord.length === 0){\r\n return response.status(500).json({ error: 'User not found' });\r\n }\r\n\r\n const sessionToken = generateToken();\r\n const [settingError, sessionDurationDays] = await getSetting('system', 'session_duration_days', 7);\r\n \r\n if(settingError){\r\n return response.status(settingError.code).json({ error: settingError.msg });\r\n }\r\n \r\n const expiresAt = new Date(Date.now() + sessionDurationDays * 24 * 60 * 60 * 1000);\r\n const now = new Date();\r\n\r\n await db.insert(session).values({\r\n token: sessionToken,\r\n userId: result.userId,\r\n expiresAt,\r\n createdAt: now,\r\n });\r\n\r\n response.cookie('session_token', sessionToken, {\r\n httpOnly: true,\r\n secure: process.env.NODE_ENV === 'production',\r\n sameSite: 'lax',\r\n path: '/',\r\n maxAge: sessionDurationDays * 24 * 60 * 60 * 1000\r\n });\r\n\r\n response.json({ \r\n success: true,\r\n user: {\r\n id: userRecord[0].id,\r\n email: userRecord[0].email,\r\n name: userRecord[0].name,\r\n emailVerified: userRecord[0].emailVerified,\r\n }\r\n });\r\n } catch(error){\r\n console.error('Email verification error:', error);\r\n response.status(500).json({ error: 'Internal server error' });\r\n }\r\n};\r\n"],"mappings":"OAAOA,MAAY,gBACZC,MAAiB,yDACjBC,MAAQ,sDACNC,UAASC,MAAY,kDACrBC,MAAU,qBACZC,MAAgB,oEAIRC,MAAOC,EAASC,KAC7B,IACE,MAAMC,MAAEA,GAAUF,EAAQG,MAEnBC,EAAOC,SAAgBZ,EAAY,CAAES,UAE5C,GAAGE,EACD,OAAOH,EAASK,OAAOF,EAAMG,MAAMC,KAAK,CAAEJ,MAAOA,EAAMK,MAGzD,MAAMC,QAAmBhB,EACtBiB,SACAC,KAAKhB,GACLiB,MAAMhB,EAAGD,EAAKkB,GAAIT,EAAOU,SACzBC,MAAM,GAET,GAAyB,IAAtBN,EAAWO,OACZ,OAAOhB,EAASK,OAAO,KAAKE,KAAK,CAAEJ,MAAO,mBAG5C,MAAMc,EAtBkB1B,EAAO2B,YAAY,IAAIC,SAAS,QAuBjDC,EAAcC,SAA6BxB,EAAW,SAAU,wBAAyB,GAEhG,GAAGuB,EACD,OAAOpB,EAASK,OAAOe,EAAad,MAAMC,KAAK,CAAEJ,MAAOiB,EAAaZ,MAGvE,MAAMc,EAAY,IAAIC,KAAKA,KAAKC,MAA8B,GAAtBH,EAA2B,GAAK,GAAK,KACvEG,EAAM,IAAID,WAEV9B,EAAGgC,OAAO/B,GAASgC,OAAO,CAC9BzB,MAAOgB,EACPH,OAAQV,EAAOU,OACfQ,YACAK,UAAWH,IAGbxB,EAAS4B,OAAO,gBAAiBX,EAAc,CAC7CY,UAAU,EACVC,OAAiC,eAAzBC,QAAQC,IAAIC,SACpBC,SAAU,MACVC,KAAM,IACNC,OAA8B,GAAtBf,EAA2B,GAAK,GAAK,MAG/CrB,EAASO,KAAK,CACZ8B,SAAS,EACT1C,KAAM,CACJkB,GAAIJ,EAAW,GAAGI,GAClByB,MAAO7B,EAAW,GAAG6B,MACrBC,KAAM9B,EAAW,GAAG8B,KACpBC,cAAe/B,EAAW,GAAG+B,gBAGnC,CAAE,MAAMrC,GACNsC,QAAQtC,MAAM,4BAA6BA,GAC3CH,EAASK,OAAO,KAAKE,KAAK,CAAEJ,MAAO,yBACrC","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import currentUserHasPermission from"../../../../server/utils/permissions/currentUserHasPermission.js";import uninstallExtension from"../../../../server/utils/extensions/uninstallExtension.js";export default async(s,n)=>{const e=s.cookies.session_token,[r,t]=await currentUserHasPermission(e,"system:extensions:uninstall");if(r)return n.status(r.code).json({error:r.msg});if(!t)return n.status(403).json({error:"Insufficient permissions"});const{name:i}=s.body,[o,a]=await uninstallExtension({name:i});if(o)return n.status(o.code).json({error:o.msg});n.json(a)};
1
+ import s from"../../../../server/utils/permissions/currentUserHasPermission.js";import e from"../../../../server/utils/extensions/uninstallExtension.js";export default async(n,r)=>{const t=n.cookies.session_token,[o,i]=await s(t,"system:extensions:uninstall");if(o)return r.status(o.code).json({error:o.msg});if(!i)return r.status(403).json({error:"Insufficient permissions"});const{name:a}=n.body,[u,m]=await e({name:a});if(u)return r.status(u.code).json({error:u.msg});r.json(m)};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\extensions\DELETE.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\extensions\\DELETE.js","names":["currentUserHasPermission","uninstallExtension","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","body","data"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport uninstallExtension from '../../../../server/utils/extensions/uninstallExtension.js';\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:uninstall');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const { name } = request.body;\r\n const [error, data] = await uninstallExtension({ name });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAAOA,6BAA8B,0EAC9BC,uBAAwB,2EAEhBC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBT,yBAAyBK,EAAO,+BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,KAAEA,GAASZ,EAAQa,MAClBH,EAAOI,SAAchB,mBAAmB,CAAEc,SAEjD,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKK","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\extensions\\DELETE.js","names":["currentUserHasPermission","uninstallExtension","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","body","data"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport uninstallExtension from '../../../../server/utils/extensions/uninstallExtension.js';\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:uninstall');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const { name } = request.body;\r\n const [error, data] = await uninstallExtension({ name });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAAOA,MAA8B,0EAC9BC,MAAwB,2EAEhBC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBT,EAAyBK,EAAO,+BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,KAAEA,GAASZ,EAAQa,MAClBH,EAAOI,SAAchB,EAAmB,CAAEc,SAEjD,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKK","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import currentUserHasPermission from"../../../../server/utils/permissions/currentUserHasPermission.js";import listExtensions from"../../../../server/utils/extensions/listExtensions.js";export default async(s,e)=>{const r=s.cookies.session_token,[t,i]=await currentUserHasPermission(r,"system:extensions:read");if(t)return e.status(t.code).json({error:t.msg});if(!i)return e.status(403).json({error:"Insufficient permissions"});const n=parseInt(s.query.limit)||50,o=parseInt(s.query.offset)||0,[a,u]=await listExtensions({limit:n,offset:o});if(a)return e.status(a.code).json({error:a.msg});e.json(u)};
1
+ import s from"../../../../server/utils/permissions/currentUserHasPermission.js";import e from"../../../../server/utils/extensions/listExtensions.js";export default async(r,t)=>{const o=r.cookies.session_token,[i,n]=await s(o,"system:extensions:read");if(i)return t.status(i.code).json({error:i.msg});if(!n)return t.status(403).json({error:"Insufficient permissions"});const a=parseInt(r.query.limit)||50,u=parseInt(r.query.offset)||0,[f,m]=await e({limit:a,offset:u});if(f)return t.status(f.code).json({error:f.msg});t.json(m)};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\extensions\GET.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\extensions\\GET.js","names":["currentUserHasPermission","listExtensions","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","limit","parseInt","query","offset","data"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport listExtensions from '../../../../server/utils/extensions/listExtensions.js';\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:read');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const limit = parseInt(request.query.limit) || 50;\r\n const offset = parseInt(request.query.offset) || 0;\r\n const [error, data] = await listExtensions({ limit, offset });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAAOA,6BAA8B,0EAC9BC,mBAAoB,uEAEZC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBT,yBAAyBK,EAAO,0BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAQC,SAASb,EAAQc,MAAMF,QAAU,GACzCG,EAASF,SAASb,EAAQc,MAAMC,SAAW,GAC1CL,EAAOM,SAAclB,eAAe,CAAEc,QAAOG,WAEpD,GAAGL,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKO","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\extensions\\GET.js","names":["currentUserHasPermission","listExtensions","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","limit","parseInt","query","offset","data"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport listExtensions from '../../../../server/utils/extensions/listExtensions.js';\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:read');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const limit = parseInt(request.query.limit) || 50;\r\n const offset = parseInt(request.query.offset) || 0;\r\n const [error, data] = await listExtensions({ limit, offset });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAAOA,MAA8B,0EAC9BC,MAAoB,uEAEZC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBT,EAAyBK,EAAO,0BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAQC,SAASb,EAAQc,MAAMF,QAAU,GACzCG,EAASF,SAASb,EAAQc,MAAMC,SAAW,GAC1CL,EAAOM,SAAclB,EAAe,CAAEc,QAAOG,WAEpD,GAAGL,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKO","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import currentUserHasPermission from"../../../../server/utils/permissions/currentUserHasPermission.js";import installExtension from"../../../../server/utils/extensions/installExtension.js";export default async(s,e)=>{const n=s.cookies.session_token,[r,t]=await currentUserHasPermission(n,"system:extensions:install");if(r)return e.status(r.code).json({error:r.msg});if(!t)return e.status(403).json({error:"Insufficient permissions"});const{name:i}=s.body,[o,a]=await installExtension({name:i});if(o)return e.status(o.code).json({error:o.msg});e.json(a)};
1
+ import s from"../../../../server/utils/permissions/currentUserHasPermission.js";export default async(e,t)=>{const r=e.cookies.session_token,[n,o]=await s(r,"system:extensions:install");if(n)return t.status(n.code).json({error:n.msg});if(!o)return t.status(403).json({error:"Insufficient permissions"});const{name:i}=e.body,{default:a}=await import("../../../../server/utils/extensions/installExtension.js"),[u,m]=await a({name:i});if(u)return t.status(u.code).json({error:u.msg});t.json(m)};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\extensions\POST.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\extensions\\POST.js","names":["currentUserHasPermission","installExtension","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","body","data"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport installExtension from '../../../../server/utils/extensions/installExtension.js';\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:install');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const { name } = request.body;\r\n const [error, data] = await installExtension({ name });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAAOA,6BAA8B,0EAC9BC,qBAAsB,yEAEdC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBT,yBAAyBK,EAAO,6BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,KAAEA,GAASZ,EAAQa,MAClBH,EAAOI,SAAchB,iBAAiB,CAAEc,SAE/C,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKK","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\extensions\\POST.js","names":["currentUserHasPermission","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","body","default","installExtension","import","data"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../server/utils/permissions/currentUserHasPermission.js';\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:install');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const { name } = request.body;\r\n const { default: installExtension } = await import('../../../../server/utils/extensions/installExtension.js');\r\n const [error, data] = await installExtension({ name });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAAOA,MAA8B,kFAEtBC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBR,EAAyBI,EAAO,6BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,KAAEA,GAASZ,EAAQa,MACjBC,QAASC,SAA2BC,OAAO,4DAC5CN,EAAOO,SAAcF,EAAiB,CAAEH,SAE/C,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKQ","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import currentUserHasPermission from"../../../../../server/utils/permissions/currentUserHasPermission.js";import disableExtension from"../../../../../server/utils/extensions/disableExtension.js";export default async(s,e)=>{const r=s.cookies.session_token,[n,i]=await currentUserHasPermission(r,"system:extensions:manage");if(n)return e.status(n.code).json({error:n.msg});if(!i)return e.status(403).json({error:"Insufficient permissions"});const o=s.params.name,[t,a]=await disableExtension({name:o});if(t)return e.status(t.code).json({error:t.msg});e.json(a)};
1
+ import s from"../../../../../server/utils/permissions/currentUserHasPermission.js";import e from"../../../../../server/utils/extensions/disableExtension.js";export default async(r,n)=>{const o=r.cookies.session_token,[t,i]=await s(o,"system:extensions:manage");if(t)return n.status(t.code).json({error:t.msg});if(!i)return n.status(403).json({error:"Insufficient permissions"});const a=r.params.name,[m,u]=await e({name:a});if(m)return n.status(m.code).json({error:m.msg});n.json(u)};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\extensions\[name]\disable\POST.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\extensions\\[name]\\disable\\POST.js","names":["currentUserHasPermission","disableExtension","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","params","data"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport disableExtension from '../../../../../server/utils/extensions/disableExtension.js';\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:manage');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const name = request.params.name;\r\n const [error, data] = await disableExtension({ name });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAAOA,6BAA8B,6EAC9BC,qBAAsB,4EAEdC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBT,yBAAyBK,EAAO,4BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAOZ,EAAQa,OAAOD,MACrBF,EAAOI,SAAchB,iBAAiB,CAAEc,SAE/C,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKK","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\extensions\\[name]\\disable\\POST.js","names":["currentUserHasPermission","disableExtension","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","params","data"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport disableExtension from '../../../../../server/utils/extensions/disableExtension.js';\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:manage');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const name = request.params.name;\r\n const [error, data] = await disableExtension({ name });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAAOA,MAA8B,6EAC9BC,MAAsB,4EAEdC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBT,EAAyBK,EAAO,4BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAOZ,EAAQa,OAAOD,MACrBF,EAAOI,SAAchB,EAAiB,CAAEc,SAE/C,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKK","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import currentUserHasPermission from"../../../../../server/utils/permissions/currentUserHasPermission.js";import enableExtension from"../../../../../server/utils/extensions/enableExtension.js";export default async(s,e)=>{const r=s.cookies.session_token,[n,o]=await currentUserHasPermission(r,"system:extensions:manage");if(n)return e.status(n.code).json({error:n.msg});if(!o)return e.status(403).json({error:"Insufficient permissions"});const t=s.params.name,[i,a]=await enableExtension({name:t});if(i)return e.status(i.code).json({error:i.msg});e.json(a)};
1
+ import s from"../../../../../server/utils/permissions/currentUserHasPermission.js";import e from"../../../../../server/utils/extensions/enableExtension.js";export default async(r,n)=>{const o=r.cookies.session_token,[t,i]=await s(o,"system:extensions:manage");if(t)return n.status(t.code).json({error:t.msg});if(!i)return n.status(403).json({error:"Insufficient permissions"});const a=r.params.name,[m,u]=await e({name:a});if(m)return n.status(m.code).json({error:m.msg});n.json(u)};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\extensions\[name]\enable\POST.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\extensions\\[name]\\enable\\POST.js","names":["currentUserHasPermission","enableExtension","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","params","data"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport enableExtension from '../../../../../server/utils/extensions/enableExtension.js';\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:manage');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const name = request.params.name;\r\n const [error, data] = await enableExtension({ name });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAAOA,6BAA8B,6EAC9BC,oBAAqB,2EAEbC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBT,yBAAyBK,EAAO,4BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAOZ,EAAQa,OAAOD,MACrBF,EAAOI,SAAchB,gBAAgB,CAAEc,SAE9C,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKK","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\extensions\\[name]\\enable\\POST.js","names":["currentUserHasPermission","enableExtension","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","params","data"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport enableExtension from '../../../../../server/utils/extensions/enableExtension.js';\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:manage');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const name = request.params.name;\r\n const [error, data] = await enableExtension({ name });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAAOA,MAA8B,6EAC9BC,MAAqB,2EAEbC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBT,EAAyBK,EAAO,4BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAOZ,EAAQa,OAAOD,MACrBF,EAAOI,SAAchB,EAAgB,CAAEc,SAE9C,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKK","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import currentUserHasPermission from"../../../../../server/utils/permissions/currentUserHasPermission.js";import updateExtension from"../../../../../server/utils/extensions/updateExtension.js";export default async(s,e)=>{const r=s.cookies.session_token,[n,t]=await currentUserHasPermission(r,"system:extensions:manage");if(n)return e.status(n.code).json({error:n.msg});if(!t)return e.status(403).json({error:"Insufficient permissions"});const o=s.params.name,i=s.body?.version||"latest",[a,m]=await updateExtension({name:o,version:i});if(a)return e.status(a.code).json({error:a.msg});e.json(m)};
1
+ import s from"../../../../../server/utils/permissions/currentUserHasPermission.js";import e from"../../../../../server/utils/extensions/updateExtension.js";export default async(r,n)=>{const o=r.cookies.session_token,[t,i]=await s(o,"system:extensions:manage");if(t)return n.status(t.code).json({error:t.msg});if(!i)return n.status(403).json({error:"Insufficient permissions"});const a=r.params.name,m=r.body?.version||"latest",[u,c]=await e({name:a,version:m});if(u)return n.status(u.code).json({error:u.msg});n.json(c)};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\extensions\[name]\update\POST.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\extensions\\[name]\\update\\POST.js","names":["currentUserHasPermission","updateExtension","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","params","version","body","data"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport updateExtension from '../../../../../server/utils/extensions/updateExtension.js';\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:manage');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const name = request.params.name;\r\n const version = request.body?.version || 'latest';\r\n const [error, data] = await updateExtension({ name, version });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAAOA,6BAA8B,6EAC9BC,oBAAqB,2EAEbC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBT,yBAAyBK,EAAO,4BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAOZ,EAAQa,OAAOD,KACtBE,EAAUd,EAAQe,MAAMD,SAAW,UAClCJ,EAAOM,SAAclB,gBAAgB,CAAEc,OAAME,YAEpD,GAAGJ,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKO","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\extensions\\[name]\\update\\POST.js","names":["currentUserHasPermission","updateExtension","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","params","version","body","data"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport updateExtension from '../../../../../server/utils/extensions/updateExtension.js';\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:manage');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const name = request.params.name;\r\n const version = request.body?.version || 'latest';\r\n const [error, data] = await updateExtension({ name, version });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAAOA,MAA8B,6EAC9BC,MAAqB,2EAEbC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBT,EAAyBK,EAAO,4BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAOZ,EAAQa,OAAOD,KACtBE,EAAUd,EAAQe,MAAMD,SAAW,UAClCJ,EAAOM,SAAclB,EAAgB,CAAEc,OAAME,YAEpD,GAAGJ,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKO","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import currentUserHasPermission from"../../../../../server/utils/permissions/currentUserHasPermission.js";import checkExtensionUpdate from"../../../../../server/utils/extensions/checkExtensionUpdate.js";export default async(s,e)=>{const r=s.cookies.session_token,[n,t]=await currentUserHasPermission(r,"system:extensions:manage");if(n)return e.status(n.code).json({error:n.msg});if(!t)return e.status(403).json({error:"Insufficient permissions"});const o=s.params.name,[i,a]=await checkExtensionUpdate({name:o});if(i)return e.status(i.code).json({error:i.msg});e.json(a)};
1
+ import s from"../../../../../server/utils/permissions/currentUserHasPermission.js";import e from"../../../../../server/utils/extensions/checkExtensionUpdate.js";export default async(r,n)=>{const t=r.cookies.session_token,[o,i]=await s(t,"system:extensions:manage");if(o)return n.status(o.code).json({error:o.msg});if(!i)return n.status(403).json({error:"Insufficient permissions"});const a=r.params.name,[m,u]=await e({name:a});if(m)return n.status(m.code).json({error:m.msg});n.json(u)};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\extensions\[name]\update-check\GET.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\extensions\\[name]\\update-check\\GET.js","names":["currentUserHasPermission","checkExtensionUpdate","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","params","data"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport checkExtensionUpdate from '../../../../../server/utils/extensions/checkExtensionUpdate.js';\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:manage');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const name = request.params.name;\r\n const [error, data] = await checkExtensionUpdate({ name });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAAOA,6BAA8B,6EAC9BC,yBAA0B,gFAElBC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBT,yBAAyBK,EAAO,4BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAOZ,EAAQa,OAAOD,MACrBF,EAAOI,SAAchB,qBAAqB,CAAEc,SAEnD,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKK","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\extensions\\[name]\\update-check\\GET.js","names":["currentUserHasPermission","checkExtensionUpdate","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","name","params","data"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport checkExtensionUpdate from '../../../../../server/utils/extensions/checkExtensionUpdate.js';\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:manage');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n const name = request.params.name;\r\n const [error, data] = await checkExtensionUpdate({ name });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json(data);\r\n};\r\n"],"mappings":"OAAOA,MAA8B,6EAC9BC,MAA0B,gFAElBC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBT,EAAyBK,EAAO,4BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,MAAME,EAAOZ,EAAQa,OAAOD,MACrBF,EAAOI,SAAchB,EAAqB,CAAEc,SAEnD,GAAGF,EACD,OAAOT,EAASM,OAAOG,EAAMF,MAAMC,KAAK,CAAEC,MAAOA,EAAMC,MAGzDV,EAASQ,KAAKK","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import currentUserHasPermission from"../../../../../server/utils/permissions/currentUserHasPermission.js";import{readFile}from"fs/promises";import{existsSync}from"fs";import{join,dirname}from"path";import{createRequire}from"module";const requireFromProject=createRequire(join(process.cwd(),"package.json")),knownExtensionsPath=join(import.meta.dirname,"../../../admin/known-extensions.json");export default async(e,s)=>{const r=e.cookies.session_token,[o,n]=await currentUserHasPermission(r,"system:extensions:read");if(o)return s.status(o.code).json({error:o.msg});if(!n)return s.status(403).json({error:"Insufficient permissions"});let t=[];existsSync(knownExtensionsPath)&&(t=JSON.parse(await readFile(knownExtensionsPath,"utf-8")));const i=join(process.cwd(),"package.json"),a=JSON.parse(await readFile(i,"utf-8")),c={...a.dependencies,...a.devDependencies},m=[];for(const[e]of Object.entries(c))try{const s=requireFromProject.resolve(`${e}/package.json`),r=JSON.parse(await readFile(s,"utf-8"));if(r.kempo){const s=t.find(s=>s.name===e);m.push({name:e,version:r.version,description:r.description||s?.description||"",author:r.author||s?.author||""})}}catch{}s.json({items:m,total:m.length})};
1
+ import s from"../../../../../server/utils/permissions/currentUserHasPermission.js";import{readFile as e}from"fs/promises";import{existsSync as o}from"fs";import{join as t}from"path";const n=t(import.meta.dirname,"../../../admin/known-extensions.json");export default async(r,i)=>{const a=r.cookies.session_token,[c,p]=await s(a,"system:extensions:read");if(c)return i.status(c.code).json({error:c.msg});if(!p)return i.status(403).json({error:"Insufficient permissions"});let m=[];o(n)&&(m=JSON.parse(await e(n,"utf-8")));const f=t(process.cwd(),"package.json"),d=JSON.parse(await e(f,"utf-8")),u={...d.dependencies,...d.devDependencies},j=t(process.cwd(),"node_modules"),h=[];for(const[s]of Object.entries(u))try{const n=t(j,s,"kempo-config.json");if(!o(n))continue;const r=t(j,s,"package.json"),i=JSON.parse(await e(r,"utf-8")),a=m.find(e=>e.name===s);h.push({name:s,version:i.version,description:i.description||a?.description||"",author:i.author||a?.author||""})}catch{}i.json({items:h,total:h.length})};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\extensions\available\GET.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\extensions\\available\\GET.js","names":["currentUserHasPermission","readFile","existsSync","join","dirname","createRequire","requireFromProject","process","cwd","knownExtensionsPath","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","knownExtensions","JSON","parse","pkgPath","projectPkg","allDeps","dependencies","devDependencies","available","depName","Object","entries","depPkgPath","resolve","depPkg","kempo","known","find","k","name","push","version","description","author","items","total","length"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport { readFile } from 'fs/promises';\r\nimport { existsSync } from 'fs';\r\nimport { join, dirname } from 'path';\r\nimport { createRequire } from 'module';\r\n\r\nconst requireFromProject = createRequire(join(process.cwd(), 'package.json'));\r\nconst knownExtensionsPath = join(import.meta.dirname, '../../../admin/known-extensions.json');\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:read');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n let knownExtensions = [];\r\n if(existsSync(knownExtensionsPath)){\r\n knownExtensions = JSON.parse(await readFile(knownExtensionsPath, 'utf-8'));\r\n }\r\n\r\n const pkgPath = join(process.cwd(), 'package.json');\r\n const projectPkg = JSON.parse(await readFile(pkgPath, 'utf-8'));\r\n const allDeps = {\r\n ...projectPkg.dependencies,\r\n ...projectPkg.devDependencies,\r\n };\r\n\r\n const available = [];\r\n for(const [depName] of Object.entries(allDeps)){\r\n try {\r\n const depPkgPath = requireFromProject.resolve(`${depName}/package.json`);\r\n const depPkg = JSON.parse(await readFile(depPkgPath, 'utf-8'));\r\n if(depPkg.kempo){\r\n const known = knownExtensions.find(k => k.name === depName);\r\n available.push({\r\n name: depName,\r\n version: depPkg.version,\r\n description: depPkg.description || known?.description || '',\r\n author: depPkg.author || known?.author || '',\r\n });\r\n }\r\n } catch {}\r\n }\r\n\r\n response.json({ items: available, total: available.length });\r\n};\r\n"],"mappings":"OAAOA,6BAA8B,6EAC5BC,aAAgB,qBAChBC,eAAkB,YAClBC,KAAMC,YAAe,cACrBC,kBAAqB,SAE9B,MAAMC,mBAAqBD,cAAcF,KAAKI,QAAQC,MAAO,iBACvDC,oBAAsBN,iBAAiBC,QAAS,uDAEvCM,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBjB,yBAAyBa,EAAO,0BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,IAAIE,EAAkB,GACnBrB,WAAWO,uBACZc,EAAkBC,KAAKC,YAAYxB,SAASQ,oBAAqB,WAGnE,MAAMiB,EAAUvB,KAAKI,QAAQC,MAAO,gBAC9BmB,EAAaH,KAAKC,YAAYxB,SAASyB,EAAS,UAChDE,EAAU,IACXD,EAAWE,gBACXF,EAAWG,iBAGVC,EAAY,GAClB,IAAI,MAAOC,KAAYC,OAAOC,QAAQN,GACpC,IACE,MAAMO,EAAa7B,mBAAmB8B,QAAQ,GAAGJ,kBAC3CK,EAASb,KAAKC,YAAYxB,SAASkC,EAAY,UACrD,GAAGE,EAAOC,MAAM,CACd,MAAMC,EAAQhB,EAAgBiB,KAAKC,GAAKA,EAAEC,OAASV,GACnDD,EAAUY,KAAK,CACbD,KAAMV,EACNY,QAASP,EAAOO,QAChBC,YAAaR,EAAOQ,aAAeN,GAAOM,aAAe,GACzDC,OAAQT,EAAOS,QAAUP,GAAOO,QAAU,IAE9C,CACF,CAAE,MAAO,CAGXlC,EAASQ,KAAK,CAAE2B,MAAOhB,EAAWiB,MAAOjB,EAAUkB","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\extensions\\available\\GET.js","names":["currentUserHasPermission","readFile","existsSync","join","knownExtensionsPath","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","knownExtensions","JSON","parse","pkgPath","process","cwd","projectPkg","allDeps","dependencies","devDependencies","nodeModulesPath","available","depName","Object","entries","kempoConfigPath","depPkgPath","depPkg","known","find","k","name","push","version","description","author","items","total","length"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport { readFile } from 'fs/promises';\r\nimport { existsSync } from 'fs';\r\nimport { join } from 'path';\r\n\r\nconst knownExtensionsPath = join(import.meta.dirname, '../../../admin/known-extensions.json');\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:read');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n let knownExtensions = [];\r\n if(existsSync(knownExtensionsPath)){\r\n knownExtensions = JSON.parse(await readFile(knownExtensionsPath, 'utf-8'));\r\n }\r\n\r\n const pkgPath = join(process.cwd(), 'package.json');\r\n const projectPkg = JSON.parse(await readFile(pkgPath, 'utf-8'));\r\n const allDeps = {\r\n ...projectPkg.dependencies,\r\n ...projectPkg.devDependencies,\r\n };\r\n\r\n const nodeModulesPath = join(process.cwd(), 'node_modules');\r\n const available = [];\r\n\r\n for(const [depName] of Object.entries(allDeps)){\r\n try {\r\n const kempoConfigPath = join(nodeModulesPath, depName, 'kempo-config.json');\r\n if(!existsSync(kempoConfigPath)) continue;\r\n const depPkgPath = join(nodeModulesPath, depName, 'package.json');\r\n const depPkg = JSON.parse(await readFile(depPkgPath, 'utf-8'));\r\n const known = knownExtensions.find(k => k.name === depName);\r\n available.push({\r\n name: depName,\r\n version: depPkg.version,\r\n description: depPkg.description || known?.description || '',\r\n author: depPkg.author || known?.author || '',\r\n });\r\n } catch {}\r\n }\r\n\r\n response.json({ items: available, total: available.length });\r\n};\r\n"],"mappings":"OAAOA,MAA8B,yFAC5BC,MAAgB,mCAChBC,MAAkB,oBAClBC,MAAY,OAErB,MAAMC,EAAsBD,cAAiBE,QAAS,uDAEvCC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBb,EAAyBS,EAAO,0BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,IAAIE,EAAkB,GACnBjB,EAAWE,KACZe,EAAkBC,KAAKC,YAAYpB,EAASG,EAAqB,WAGnE,MAAMkB,EAAUnB,EAAKoB,QAAQC,MAAO,gBAC9BC,EAAaL,KAAKC,YAAYpB,EAASqB,EAAS,UAChDI,EAAU,IACXD,EAAWE,gBACXF,EAAWG,iBAGVC,EAAkB1B,EAAKoB,QAAQC,MAAO,gBACtCM,EAAY,GAElB,IAAI,MAAOC,KAAYC,OAAOC,QAAQP,GACpC,IACE,MAAMQ,EAAkB/B,EAAK0B,EAAiBE,EAAS,qBACvD,IAAI7B,EAAWgC,GAAkB,SACjC,MAAMC,EAAahC,EAAK0B,EAAiBE,EAAS,gBAC5CK,EAAShB,KAAKC,YAAYpB,EAASkC,EAAY,UAC/CE,EAAQlB,EAAgBmB,KAAKC,GAAKA,EAAEC,OAAST,GACnDD,EAAUW,KAAK,CACbD,KAAMT,EACNW,QAASN,EAAOM,QAChBC,YAAaP,EAAOO,aAAeN,GAAOM,aAAe,GACzDC,OAAQR,EAAOQ,QAAUP,GAAOO,QAAU,IAE9C,CAAE,MAAO,CAGXpC,EAASQ,KAAK,CAAE6B,MAAOf,EAAWgB,MAAOhB,EAAUiB","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import currentUserHasPermission from"../../../../../server/utils/permissions/currentUserHasPermission.js";import{readFile}from"fs/promises";import{existsSync}from"fs";import{join}from"path";const knownExtensionsPath=join(import.meta.dirname,"../../../admin/known-extensions.json");export default async(s,n)=>{const e=s.cookies.session_token,[t,o]=await currentUserHasPermission(e,"system:extensions:read");if(t)return n.status(t.code).json({error:t.msg});if(!o)return n.status(403).json({error:"Insufficient permissions"});if(!existsSync(knownExtensionsPath))return n.json({items:[],total:0});const r=JSON.parse(await readFile(knownExtensionsPath,"utf-8"));n.json({items:r,total:r.length})};
1
+ import s from"../../../../../server/utils/permissions/currentUserHasPermission.js";import{readFile as t}from"fs/promises";import{existsSync as o}from"fs";import{join as r}from"path";const e=r(import.meta.dirname,"../../../admin/known-extensions.json");export default async(r,n)=>{const i=r.cookies.session_token,[m,a]=await s(i,"system:extensions:read");if(m)return n.status(m.code).json({error:m.msg});if(!a)return n.status(403).json({error:"Insufficient permissions"});if(!o(e))return n.json({items:[],total:0});const f=JSON.parse(await t(e,"utf-8"));n.json({items:f,total:f.length})};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\extensions\known\GET.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\extensions\\known\\GET.js","names":["currentUserHasPermission","readFile","existsSync","join","knownExtensionsPath","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","items","total","JSON","parse","length"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport { readFile } from 'fs/promises';\r\nimport { existsSync } from 'fs';\r\nimport { join } from 'path';\r\n\r\nconst knownExtensionsPath = join(import.meta.dirname, '../../../admin/known-extensions.json');\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:read');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n if(!existsSync(knownExtensionsPath)){\r\n return response.json({ items: [], total: 0 });\r\n }\r\n\r\n const items = JSON.parse(await readFile(knownExtensionsPath, 'utf-8'));\r\n response.json({ items, total: items.length });\r\n};\r\n"],"mappings":"OAAOA,6BAA8B,6EAC5BC,aAAgB,qBAChBC,eAAkB,YAClBC,SAAY,OAErB,MAAMC,oBAAsBD,iBAAiBE,QAAS,uDAEvCC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBb,yBAAyBS,EAAO,0BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,IAAIf,WAAWE,qBACb,OAAOI,EAASQ,KAAK,CAAEG,MAAO,GAAIC,MAAO,IAG3C,MAAMD,EAAQE,KAAKC,YAAYrB,SAASG,oBAAqB,UAC7DI,EAASQ,KAAK,CAAEG,QAAOC,MAAOD,EAAMI","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\extensions\\known\\GET.js","names":["currentUserHasPermission","readFile","existsSync","join","knownExtensionsPath","dirname","async","request","response","token","cookies","session_token","permError","hasPermission","status","code","json","error","msg","items","total","JSON","parse","length"],"sources":["0"],"sourcesContent":["import currentUserHasPermission from '../../../../../server/utils/permissions/currentUserHasPermission.js';\r\nimport { readFile } from 'fs/promises';\r\nimport { existsSync } from 'fs';\r\nimport { join } from 'path';\r\n\r\nconst knownExtensionsPath = join(import.meta.dirname, '../../../admin/known-extensions.json');\r\n\r\nexport default async (request, response) => {\r\n const token = request.cookies.session_token;\r\n const [permError, hasPermission] = await currentUserHasPermission(token, 'system:extensions:read');\r\n\r\n if(permError){\r\n return response.status(permError.code).json({ error: permError.msg });\r\n }\r\n\r\n if(!hasPermission){\r\n return response.status(403).json({ error: 'Insufficient permissions' });\r\n }\r\n\r\n if(!existsSync(knownExtensionsPath)){\r\n return response.json({ items: [], total: 0 });\r\n }\r\n\r\n const items = JSON.parse(await readFile(knownExtensionsPath, 'utf-8'));\r\n response.json({ items, total: items.length });\r\n};\r\n"],"mappings":"OAAOA,MAA8B,yFAC5BC,MAAgB,mCAChBC,MAAkB,oBAClBC,MAAY,OAErB,MAAMC,EAAsBD,cAAiBE,QAAS,uDAEvCC,MAAOC,EAASC,KAC7B,MAAMC,EAAQF,EAAQG,QAAQC,eACvBC,EAAWC,SAAuBb,EAAyBS,EAAO,0BAEzE,GAAGG,EACD,OAAOJ,EAASM,OAAOF,EAAUG,MAAMC,KAAK,CAAEC,MAAOL,EAAUM,MAGjE,IAAIL,EACF,OAAOL,EAASM,OAAO,KAAKE,KAAK,CAAEC,MAAO,6BAG5C,IAAIf,EAAWE,GACb,OAAOI,EAASQ,KAAK,CAAEG,MAAO,GAAIC,MAAO,IAG3C,MAAMD,EAAQE,KAAKC,YAAYrB,EAASG,EAAqB,UAC7DI,EAASQ,KAAK,CAAEG,QAAOC,MAAOD,EAAMI","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import requestPasswordReset from"../../../../server/utils/auth/requestPasswordReset.js";export default async(s,e)=>{try{const{email:r}=s.body,[t,o]=await requestPasswordReset({email:r});if(t)return e.status(t.code).json({error:t.msg});e.json({success:!0,message:"Password reset email sent"})}catch(s){console.error("Forgot password error:",s),e.status(500).json({error:"Failed to send password reset email"})}};
1
+ import s from"../../../../server/utils/auth/requestPasswordReset.js";export default async(e,r)=>{try{const{email:o}=e.body,[t,a]=await s({email:o});if(t)return r.status(t.code).json({error:t.msg});r.json({success:!0,message:"Password reset email sent"})}catch(s){console.error("Forgot password error:",s),r.status(500).json({error:"Failed to send password reset email"})}};
2
2
  //# sourceMappingURL=C:\Users\dusti\dev\kempo\dist\kempo\api\forgot-password\POST.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"src\\kempo\\api\\forgot-password\\POST.js","names":["requestPasswordReset","async","request","response","email","body","error","result","status","code","json","msg","success","message","console"],"sources":["0"],"sourcesContent":["import requestPasswordReset from '../../../../server/utils/auth/requestPasswordReset.js';\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const { email } = request.body;\r\n \r\n const [error, result] = await requestPasswordReset({ email });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json({ success: true, message: 'Password reset email sent' });\r\n } catch(error){\r\n console.error('Forgot password error:', error);\r\n response.status(500).json({ error: 'Failed to send password reset email' });\r\n }\r\n};\r\n"],"mappings":"OAAOA,yBAA0B,uEAElBC,MAAOC,EAASC,KAC7B,IACE,MAAMC,MAAEA,GAAUF,EAAQG,MAEnBC,EAAOC,SAAgBP,qBAAqB,CAAEI,UAErD,GAAGE,EACD,OAAOH,EAASK,OAAOF,EAAMG,MAAMC,KAAK,CAAEJ,MAAOA,EAAMK,MAGzDR,EAASO,KAAK,CAAEE,SAAS,EAAMC,QAAS,6BAC1C,CAAE,MAAMP,GACNQ,QAAQR,MAAM,yBAA0BA,GACxCH,EAASK,OAAO,KAAKE,KAAK,CAAEJ,MAAO,uCACrC","ignoreList":[]}
1
+ {"version":3,"file":"src\\kempo\\api\\forgot-password\\POST.js","names":["requestPasswordReset","async","request","response","email","body","error","result","status","code","json","msg","success","message","console"],"sources":["0"],"sourcesContent":["import requestPasswordReset from '../../../../server/utils/auth/requestPasswordReset.js';\r\n\r\nexport default async (request, response) => {\r\n try {\r\n const { email } = request.body;\r\n \r\n const [error, result] = await requestPasswordReset({ email });\r\n\r\n if(error){\r\n return response.status(error.code).json({ error: error.msg });\r\n }\r\n\r\n response.json({ success: true, message: 'Password reset email sent' });\r\n } catch(error){\r\n console.error('Forgot password error:', error);\r\n response.status(500).json({ error: 'Failed to send password reset email' });\r\n }\r\n};\r\n"],"mappings":"OAAOA,MAA0B,uEAElBC,MAAOC,EAASC,KAC7B,IACE,MAAMC,MAAEA,GAAUF,EAAQG,MAEnBC,EAAOC,SAAgBP,EAAqB,CAAEI,UAErD,GAAGE,EACD,OAAOH,EAASK,OAAOF,EAAMG,MAAMC,KAAK,CAAEJ,MAAOA,EAAMK,MAGzDR,EAASO,KAAK,CAAEE,SAAS,EAAMC,QAAS,6BAC1C,CAAE,MAAMP,GACNQ,QAAQR,MAAM,yBAA0BA,GACxCH,EAASK,OAAO,KAAKE,KAAK,CAAEJ,MAAO,uCACrC","ignoreList":[]}