@saltcorn/server 0.6.2-beta.1 → 0.6.2-beta.5

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 (374) hide show
  1. package/app.js +9 -13
  2. package/auth/admin.js +8 -24
  3. package/auth/roleadmin.js +6 -16
  4. package/auth/routes.js +113 -59
  5. package/locales/en.json +30 -1
  6. package/markup/admin.js +17 -0
  7. package/package.json +17 -8
  8. package/public/ckeditor/adapters/jquery.js +10 -0
  9. package/public/ckeditor/ckeditor.js +1286 -0
  10. package/public/ckeditor/config.js +38 -0
  11. package/public/ckeditor/contents.css +208 -0
  12. package/public/ckeditor/lang/af.js +5 -0
  13. package/public/ckeditor/lang/ar.js +5 -0
  14. package/public/ckeditor/lang/az.js +5 -0
  15. package/public/ckeditor/lang/bg.js +5 -0
  16. package/public/ckeditor/lang/bn.js +5 -0
  17. package/public/ckeditor/lang/bs.js +5 -0
  18. package/public/ckeditor/lang/ca.js +5 -0
  19. package/public/ckeditor/lang/cs.js +5 -0
  20. package/public/ckeditor/lang/cy.js +5 -0
  21. package/public/ckeditor/lang/da.js +5 -0
  22. package/public/ckeditor/lang/de-ch.js +5 -0
  23. package/public/ckeditor/lang/de.js +5 -0
  24. package/public/ckeditor/lang/el.js +5 -0
  25. package/public/ckeditor/lang/en-au.js +5 -0
  26. package/public/ckeditor/lang/en-ca.js +5 -0
  27. package/public/ckeditor/lang/en-gb.js +5 -0
  28. package/public/ckeditor/lang/en.js +5 -0
  29. package/public/ckeditor/lang/eo.js +5 -0
  30. package/public/ckeditor/lang/es-mx.js +5 -0
  31. package/public/ckeditor/lang/es.js +5 -0
  32. package/public/ckeditor/lang/et.js +5 -0
  33. package/public/ckeditor/lang/eu.js +5 -0
  34. package/public/ckeditor/lang/fa.js +5 -0
  35. package/public/ckeditor/lang/fi.js +5 -0
  36. package/public/ckeditor/lang/fo.js +5 -0
  37. package/public/ckeditor/lang/fr-ca.js +5 -0
  38. package/public/ckeditor/lang/fr.js +5 -0
  39. package/public/ckeditor/lang/gl.js +5 -0
  40. package/public/ckeditor/lang/gu.js +5 -0
  41. package/public/ckeditor/lang/he.js +5 -0
  42. package/public/ckeditor/lang/hi.js +5 -0
  43. package/public/ckeditor/lang/hr.js +5 -0
  44. package/public/ckeditor/lang/hu.js +5 -0
  45. package/public/ckeditor/lang/id.js +5 -0
  46. package/public/ckeditor/lang/is.js +5 -0
  47. package/public/ckeditor/lang/it.js +5 -0
  48. package/public/ckeditor/lang/ja.js +5 -0
  49. package/public/ckeditor/lang/ka.js +5 -0
  50. package/public/ckeditor/lang/km.js +5 -0
  51. package/public/ckeditor/lang/ko.js +5 -0
  52. package/public/ckeditor/lang/ku.js +5 -0
  53. package/public/ckeditor/lang/lt.js +5 -0
  54. package/public/ckeditor/lang/lv.js +5 -0
  55. package/public/ckeditor/lang/mk.js +5 -0
  56. package/public/ckeditor/lang/mn.js +5 -0
  57. package/public/ckeditor/lang/ms.js +5 -0
  58. package/public/ckeditor/lang/nb.js +5 -0
  59. package/public/ckeditor/lang/nl.js +5 -0
  60. package/public/ckeditor/lang/no.js +5 -0
  61. package/public/ckeditor/lang/oc.js +5 -0
  62. package/public/ckeditor/lang/pl.js +5 -0
  63. package/public/ckeditor/lang/pt-br.js +5 -0
  64. package/public/ckeditor/lang/pt.js +5 -0
  65. package/public/ckeditor/lang/ro.js +5 -0
  66. package/public/ckeditor/lang/ru.js +5 -0
  67. package/public/ckeditor/lang/si.js +5 -0
  68. package/public/ckeditor/lang/sk.js +5 -0
  69. package/public/ckeditor/lang/sl.js +5 -0
  70. package/public/ckeditor/lang/sq.js +5 -0
  71. package/public/ckeditor/lang/sr-latn.js +5 -0
  72. package/public/ckeditor/lang/sr.js +5 -0
  73. package/public/ckeditor/lang/sv.js +5 -0
  74. package/public/ckeditor/lang/th.js +5 -0
  75. package/public/ckeditor/lang/tr.js +5 -0
  76. package/public/ckeditor/lang/tt.js +5 -0
  77. package/public/ckeditor/lang/ug.js +5 -0
  78. package/public/ckeditor/lang/uk.js +5 -0
  79. package/public/ckeditor/lang/vi.js +5 -0
  80. package/public/ckeditor/lang/zh-cn.js +5 -0
  81. package/public/ckeditor/lang/zh.js +5 -0
  82. package/public/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +10 -0
  83. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/_translationstatus.txt +25 -0
  84. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/af.js +11 -0
  85. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/ar.js +11 -0
  86. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/az.js +11 -0
  87. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/bg.js +11 -0
  88. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/ca.js +13 -0
  89. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/cs.js +12 -0
  90. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/cy.js +11 -0
  91. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/da.js +11 -0
  92. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/de-ch.js +13 -0
  93. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/de.js +13 -0
  94. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/el.js +13 -0
  95. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/en-au.js +11 -0
  96. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/en-gb.js +11 -0
  97. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/en.js +11 -0
  98. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/eo.js +13 -0
  99. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/es-mx.js +13 -0
  100. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/es.js +13 -0
  101. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/et.js +11 -0
  102. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/eu.js +12 -0
  103. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/fa.js +11 -0
  104. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/fi.js +11 -0
  105. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/fo.js +11 -0
  106. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/fr-ca.js +11 -0
  107. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/fr.js +13 -0
  108. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/gl.js +12 -0
  109. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/gu.js +11 -0
  110. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/he.js +11 -0
  111. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/hi.js +11 -0
  112. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/hr.js +11 -0
  113. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/hu.js +12 -0
  114. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/id.js +11 -0
  115. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/it.js +13 -0
  116. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/ja.js +9 -0
  117. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/km.js +11 -0
  118. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/ko.js +10 -0
  119. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/ku.js +11 -0
  120. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/lt.js +11 -0
  121. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/lv.js +12 -0
  122. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/mk.js +11 -0
  123. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/mn.js +11 -0
  124. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/nb.js +12 -0
  125. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/nl.js +12 -0
  126. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/no.js +11 -0
  127. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/oc.js +12 -0
  128. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/pl.js +13 -0
  129. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/pt-br.js +13 -0
  130. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/pt.js +12 -0
  131. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/ro.js +12 -0
  132. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/ru.js +11 -0
  133. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/si.js +10 -0
  134. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/sk.js +11 -0
  135. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/sl.js +11 -0
  136. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/sq.js +12 -0
  137. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/sr-latn.js +12 -0
  138. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/sr.js +12 -0
  139. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/sv.js +11 -0
  140. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/th.js +11 -0
  141. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/tr.js +12 -0
  142. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/tt.js +11 -0
  143. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/ug.js +12 -0
  144. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/uk.js +12 -0
  145. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/vi.js +11 -0
  146. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/zh-cn.js +9 -0
  147. package/public/ckeditor/plugins/a11yhelp/dialogs/lang/zh.js +9 -0
  148. package/public/ckeditor/plugins/about/dialogs/about.js +8 -0
  149. package/public/ckeditor/plugins/about/dialogs/hidpi/logo_ckeditor.png +0 -0
  150. package/public/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  151. package/public/ckeditor/plugins/clipboard/dialogs/paste.js +11 -0
  152. package/public/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  153. package/public/ckeditor/plugins/dialog/styles/dialog.css +18 -0
  154. package/public/ckeditor/plugins/icons.png +0 -0
  155. package/public/ckeditor/plugins/icons_hidpi.png +0 -0
  156. package/public/ckeditor/plugins/image/dialogs/image.js +44 -0
  157. package/public/ckeditor/plugins/image/images/noimage.png +0 -0
  158. package/public/ckeditor/plugins/link/dialogs/anchor.js +8 -0
  159. package/public/ckeditor/plugins/link/dialogs/link.js +30 -0
  160. package/public/ckeditor/plugins/link/images/anchor.png +0 -0
  161. package/public/ckeditor/plugins/link/images/hidpi/anchor.png +0 -0
  162. package/public/ckeditor/plugins/magicline/images/hidpi/icon-rtl.png +0 -0
  163. package/public/ckeditor/plugins/magicline/images/hidpi/icon.png +0 -0
  164. package/public/ckeditor/plugins/magicline/images/icon-rtl.png +0 -0
  165. package/public/ckeditor/plugins/magicline/images/icon.png +0 -0
  166. package/public/ckeditor/plugins/pastefromgdocs/filter/default.js +8 -0
  167. package/public/ckeditor/plugins/pastefromlibreoffice/filter/default.js +11 -0
  168. package/public/ckeditor/plugins/pastefromword/filter/default.js +42 -0
  169. package/public/ckeditor/plugins/pastetools/filter/common.js +24 -0
  170. package/public/ckeditor/plugins/pastetools/filter/image.js +12 -0
  171. package/public/ckeditor/plugins/scayt/CHANGELOG.md +4 -0
  172. package/public/ckeditor/plugins/scayt/LICENSE.md +28 -0
  173. package/public/ckeditor/plugins/scayt/README.md +81 -0
  174. package/public/ckeditor/plugins/scayt/dialogs/dialog.css +23 -0
  175. package/public/ckeditor/plugins/scayt/dialogs/options.js +32 -0
  176. package/public/ckeditor/plugins/scayt/dialogs/toolbar.css +71 -0
  177. package/public/ckeditor/plugins/scayt/skins/moono-lisa/scayt.css +25 -0
  178. package/public/ckeditor/plugins/specialchar/dialogs/lang/_translationstatus.txt +20 -0
  179. package/public/ckeditor/plugins/specialchar/dialogs/lang/af.js +13 -0
  180. package/public/ckeditor/plugins/specialchar/dialogs/lang/ar.js +13 -0
  181. package/public/ckeditor/plugins/specialchar/dialogs/lang/az.js +10 -0
  182. package/public/ckeditor/plugins/specialchar/dialogs/lang/bg.js +13 -0
  183. package/public/ckeditor/plugins/specialchar/dialogs/lang/ca.js +14 -0
  184. package/public/ckeditor/plugins/specialchar/dialogs/lang/cs.js +13 -0
  185. package/public/ckeditor/plugins/specialchar/dialogs/lang/cy.js +14 -0
  186. package/public/ckeditor/plugins/specialchar/dialogs/lang/da.js +11 -0
  187. package/public/ckeditor/plugins/specialchar/dialogs/lang/de-ch.js +13 -0
  188. package/public/ckeditor/plugins/specialchar/dialogs/lang/de.js +13 -0
  189. package/public/ckeditor/plugins/specialchar/dialogs/lang/el.js +13 -0
  190. package/public/ckeditor/plugins/specialchar/dialogs/lang/en-au.js +13 -0
  191. package/public/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js +13 -0
  192. package/public/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js +13 -0
  193. package/public/ckeditor/plugins/specialchar/dialogs/lang/en.js +13 -0
  194. package/public/ckeditor/plugins/specialchar/dialogs/lang/eo.js +12 -0
  195. package/public/ckeditor/plugins/specialchar/dialogs/lang/es-mx.js +13 -0
  196. package/public/ckeditor/plugins/specialchar/dialogs/lang/es.js +13 -0
  197. package/public/ckeditor/plugins/specialchar/dialogs/lang/et.js +11 -0
  198. package/public/ckeditor/plugins/specialchar/dialogs/lang/eu.js +13 -0
  199. package/public/ckeditor/plugins/specialchar/dialogs/lang/fa.js +12 -0
  200. package/public/ckeditor/plugins/specialchar/dialogs/lang/fi.js +13 -0
  201. package/public/ckeditor/plugins/specialchar/dialogs/lang/fr-ca.js +10 -0
  202. package/public/ckeditor/plugins/specialchar/dialogs/lang/fr.js +12 -0
  203. package/public/ckeditor/plugins/specialchar/dialogs/lang/gl.js +13 -0
  204. package/public/ckeditor/plugins/specialchar/dialogs/lang/he.js +12 -0
  205. package/public/ckeditor/plugins/specialchar/dialogs/lang/hr.js +13 -0
  206. package/public/ckeditor/plugins/specialchar/dialogs/lang/hu.js +12 -0
  207. package/public/ckeditor/plugins/specialchar/dialogs/lang/id.js +13 -0
  208. package/public/ckeditor/plugins/specialchar/dialogs/lang/it.js +14 -0
  209. package/public/ckeditor/plugins/specialchar/dialogs/lang/ja.js +9 -0
  210. package/public/ckeditor/plugins/specialchar/dialogs/lang/km.js +13 -0
  211. package/public/ckeditor/plugins/specialchar/dialogs/lang/ko.js +10 -0
  212. package/public/ckeditor/plugins/specialchar/dialogs/lang/ku.js +13 -0
  213. package/public/ckeditor/plugins/specialchar/dialogs/lang/lt.js +13 -0
  214. package/public/ckeditor/plugins/specialchar/dialogs/lang/lv.js +13 -0
  215. package/public/ckeditor/plugins/specialchar/dialogs/lang/nb.js +11 -0
  216. package/public/ckeditor/plugins/specialchar/dialogs/lang/nl.js +13 -0
  217. package/public/ckeditor/plugins/specialchar/dialogs/lang/no.js +11 -0
  218. package/public/ckeditor/plugins/specialchar/dialogs/lang/oc.js +12 -0
  219. package/public/ckeditor/plugins/specialchar/dialogs/lang/pl.js +12 -0
  220. package/public/ckeditor/plugins/specialchar/dialogs/lang/pt-br.js +11 -0
  221. package/public/ckeditor/plugins/specialchar/dialogs/lang/pt.js +13 -0
  222. package/public/ckeditor/plugins/specialchar/dialogs/lang/ro.js +13 -0
  223. package/public/ckeditor/plugins/specialchar/dialogs/lang/ru.js +13 -0
  224. package/public/ckeditor/plugins/specialchar/dialogs/lang/si.js +13 -0
  225. package/public/ckeditor/plugins/specialchar/dialogs/lang/sk.js +13 -0
  226. package/public/ckeditor/plugins/specialchar/dialogs/lang/sl.js +12 -0
  227. package/public/ckeditor/plugins/specialchar/dialogs/lang/sq.js +13 -0
  228. package/public/ckeditor/plugins/specialchar/dialogs/lang/sr-latn.js +13 -0
  229. package/public/ckeditor/plugins/specialchar/dialogs/lang/sr.js +13 -0
  230. package/public/ckeditor/plugins/specialchar/dialogs/lang/sv.js +11 -0
  231. package/public/ckeditor/plugins/specialchar/dialogs/lang/th.js +13 -0
  232. package/public/ckeditor/plugins/specialchar/dialogs/lang/tr.js +12 -0
  233. package/public/ckeditor/plugins/specialchar/dialogs/lang/tt.js +13 -0
  234. package/public/ckeditor/plugins/specialchar/dialogs/lang/ug.js +13 -0
  235. package/public/ckeditor/plugins/specialchar/dialogs/lang/uk.js +12 -0
  236. package/public/ckeditor/plugins/specialchar/dialogs/lang/vi.js +14 -0
  237. package/public/ckeditor/plugins/specialchar/dialogs/lang/zh-cn.js +9 -0
  238. package/public/ckeditor/plugins/specialchar/dialogs/lang/zh.js +9 -0
  239. package/public/ckeditor/plugins/specialchar/dialogs/specialchar.js +14 -0
  240. package/public/ckeditor/plugins/table/dialogs/table.js +22 -0
  241. package/public/ckeditor/plugins/tableselection/styles/tableselection.css +36 -0
  242. package/public/ckeditor/plugins/tabletools/dialogs/tableCell.js +18 -0
  243. package/public/ckeditor/plugins/widget/images/handle.png +0 -0
  244. package/public/ckeditor/plugins/wsc/LICENSE.md +28 -0
  245. package/public/ckeditor/plugins/wsc/README.md +84 -0
  246. package/public/ckeditor/plugins/wsc/dialogs/ciframe.html +66 -0
  247. package/public/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  248. package/public/ckeditor/plugins/wsc/dialogs/wsc.css +82 -0
  249. package/public/ckeditor/plugins/wsc/dialogs/wsc.js +90 -0
  250. package/public/ckeditor/plugins/wsc/dialogs/wsc_ie.js +11 -0
  251. package/public/ckeditor/plugins/wsc/icons/hidpi/spellchecker.png +0 -0
  252. package/public/ckeditor/plugins/wsc/icons/spellchecker.png +0 -0
  253. package/public/ckeditor/plugins/wsc/lang/af.js +2 -0
  254. package/public/ckeditor/plugins/wsc/lang/ar.js +2 -0
  255. package/public/ckeditor/plugins/wsc/lang/bg.js +2 -0
  256. package/public/ckeditor/plugins/wsc/lang/bn.js +2 -0
  257. package/public/ckeditor/plugins/wsc/lang/bs.js +2 -0
  258. package/public/ckeditor/plugins/wsc/lang/ca.js +2 -0
  259. package/public/ckeditor/plugins/wsc/lang/cs.js +2 -0
  260. package/public/ckeditor/plugins/wsc/lang/cy.js +2 -0
  261. package/public/ckeditor/plugins/wsc/lang/da.js +2 -0
  262. package/public/ckeditor/plugins/wsc/lang/de.js +2 -0
  263. package/public/ckeditor/plugins/wsc/lang/el.js +2 -0
  264. package/public/ckeditor/plugins/wsc/lang/en-au.js +2 -0
  265. package/public/ckeditor/plugins/wsc/lang/en-ca.js +2 -0
  266. package/public/ckeditor/plugins/wsc/lang/en-gb.js +2 -0
  267. package/public/ckeditor/plugins/wsc/lang/en.js +2 -0
  268. package/public/ckeditor/plugins/wsc/lang/eo.js +2 -0
  269. package/public/ckeditor/plugins/wsc/lang/es.js +2 -0
  270. package/public/ckeditor/plugins/wsc/lang/et.js +2 -0
  271. package/public/ckeditor/plugins/wsc/lang/eu.js +2 -0
  272. package/public/ckeditor/plugins/wsc/lang/fa.js +2 -0
  273. package/public/ckeditor/plugins/wsc/lang/fi.js +2 -0
  274. package/public/ckeditor/plugins/wsc/lang/fo.js +2 -0
  275. package/public/ckeditor/plugins/wsc/lang/fr-ca.js +2 -0
  276. package/public/ckeditor/plugins/wsc/lang/fr.js +2 -0
  277. package/public/ckeditor/plugins/wsc/lang/gl.js +2 -0
  278. package/public/ckeditor/plugins/wsc/lang/gu.js +2 -0
  279. package/public/ckeditor/plugins/wsc/lang/he.js +2 -0
  280. package/public/ckeditor/plugins/wsc/lang/hi.js +2 -0
  281. package/public/ckeditor/plugins/wsc/lang/hr.js +2 -0
  282. package/public/ckeditor/plugins/wsc/lang/hu.js +2 -0
  283. package/public/ckeditor/plugins/wsc/lang/is.js +2 -0
  284. package/public/ckeditor/plugins/wsc/lang/it.js +2 -0
  285. package/public/ckeditor/plugins/wsc/lang/ja.js +2 -0
  286. package/public/ckeditor/plugins/wsc/lang/ka.js +2 -0
  287. package/public/ckeditor/plugins/wsc/lang/km.js +2 -0
  288. package/public/ckeditor/plugins/wsc/lang/ko.js +2 -0
  289. package/public/ckeditor/plugins/wsc/lang/ku.js +2 -0
  290. package/public/ckeditor/plugins/wsc/lang/lt.js +2 -0
  291. package/public/ckeditor/plugins/wsc/lang/lv.js +2 -0
  292. package/public/ckeditor/plugins/wsc/lang/mk.js +2 -0
  293. package/public/ckeditor/plugins/wsc/lang/mn.js +2 -0
  294. package/public/ckeditor/plugins/wsc/lang/ms.js +2 -0
  295. package/public/ckeditor/plugins/wsc/lang/nb.js +2 -0
  296. package/public/ckeditor/plugins/wsc/lang/nl.js +2 -0
  297. package/public/ckeditor/plugins/wsc/lang/no.js +2 -0
  298. package/public/ckeditor/plugins/wsc/lang/pl.js +2 -0
  299. package/public/ckeditor/plugins/wsc/lang/pt-br.js +2 -0
  300. package/public/ckeditor/plugins/wsc/lang/pt.js +2 -0
  301. package/public/ckeditor/plugins/wsc/lang/ro.js +2 -0
  302. package/public/ckeditor/plugins/wsc/lang/ru.js +2 -0
  303. package/public/ckeditor/plugins/wsc/lang/sk.js +2 -0
  304. package/public/ckeditor/plugins/wsc/lang/sl.js +2 -0
  305. package/public/ckeditor/plugins/wsc/lang/sr-latn.js +2 -0
  306. package/public/ckeditor/plugins/wsc/lang/sr.js +2 -0
  307. package/public/ckeditor/plugins/wsc/lang/sv.js +2 -0
  308. package/public/ckeditor/plugins/wsc/lang/th.js +2 -0
  309. package/public/ckeditor/plugins/wsc/lang/tr.js +2 -0
  310. package/public/ckeditor/plugins/wsc/lang/ug.js +2 -0
  311. package/public/ckeditor/plugins/wsc/lang/uk.js +2 -0
  312. package/public/ckeditor/plugins/wsc/lang/vi.js +2 -0
  313. package/public/ckeditor/plugins/wsc/lang/zh-cn.js +1 -0
  314. package/public/ckeditor/plugins/wsc/lang/zh.js +1 -0
  315. package/public/ckeditor/plugins/wsc/plugin.js +5 -0
  316. package/public/ckeditor/plugins/wsc/skins/moono-lisa/wsc.css +43 -0
  317. package/public/ckeditor/skins/moono-lisa/dialog.css +5 -0
  318. package/public/ckeditor/skins/moono-lisa/dialog_ie.css +5 -0
  319. package/public/ckeditor/skins/moono-lisa/dialog_ie8.css +5 -0
  320. package/public/ckeditor/skins/moono-lisa/dialog_iequirks.css +5 -0
  321. package/public/ckeditor/skins/moono-lisa/editor.css +5 -0
  322. package/public/ckeditor/skins/moono-lisa/editor_gecko.css +5 -0
  323. package/public/ckeditor/skins/moono-lisa/editor_ie.css +5 -0
  324. package/public/ckeditor/skins/moono-lisa/editor_ie8.css +5 -0
  325. package/public/ckeditor/skins/moono-lisa/editor_iequirks.css +5 -0
  326. package/public/ckeditor/skins/moono-lisa/icons.png +0 -0
  327. package/public/ckeditor/skins/moono-lisa/icons_hidpi.png +0 -0
  328. package/public/ckeditor/skins/moono-lisa/images/arrow.png +0 -0
  329. package/public/ckeditor/skins/moono-lisa/images/close.png +0 -0
  330. package/public/ckeditor/skins/moono-lisa/images/hidpi/close.png +0 -0
  331. package/public/ckeditor/skins/moono-lisa/images/hidpi/lock-open.png +0 -0
  332. package/public/ckeditor/skins/moono-lisa/images/hidpi/lock.png +0 -0
  333. package/public/ckeditor/skins/moono-lisa/images/hidpi/refresh.png +0 -0
  334. package/public/ckeditor/skins/moono-lisa/images/lock-open.png +0 -0
  335. package/public/ckeditor/skins/moono-lisa/images/lock.png +0 -0
  336. package/public/ckeditor/skins/moono-lisa/images/refresh.png +0 -0
  337. package/public/ckeditor/skins/moono-lisa/images/spinner.gif +0 -0
  338. package/public/ckeditor/skins/moono-lisa/readme.md +46 -0
  339. package/public/ckeditor/styles.js +137 -0
  340. package/public/ckeditor/vendor/promise.js +13 -0
  341. package/public/saltcorn.css +20 -3
  342. package/public/saltcorn.js +3 -0
  343. package/restart_watcher.js +12 -2
  344. package/routes/actions.js +1 -15
  345. package/routes/admin.js +6 -23
  346. package/routes/api.js +51 -60
  347. package/routes/config.js +0 -1
  348. package/routes/crashlog.js +1 -4
  349. package/routes/delete.js +1 -2
  350. package/routes/edit.js +1 -2
  351. package/routes/eventlog.js +2 -15
  352. package/routes/events.js +0 -1
  353. package/routes/fields.js +1 -9
  354. package/routes/files.js +144 -64
  355. package/routes/homepage.js +3 -0
  356. package/routes/infoarch.js +12 -19
  357. package/routes/library.js +1 -4
  358. package/routes/list.js +50 -6
  359. package/routes/menu.js +118 -32
  360. package/routes/packs.js +2 -8
  361. package/routes/page.js +1 -7
  362. package/routes/pageedit.js +18 -30
  363. package/routes/plugins.js +21 -34
  364. package/routes/scapi.js +155 -184
  365. package/routes/search.js +6 -10
  366. package/routes/settings.js +1 -2
  367. package/routes/tables.js +1 -22
  368. package/routes/tenant.js +1 -9
  369. package/routes/utils.js +19 -19
  370. package/routes/view.js +7 -5
  371. package/routes/viewedit.js +18 -29
  372. package/s3storage.js +167 -0
  373. package/tests/admin.test.js +4 -2
  374. package/wrapper.js +5 -1
package/s3storage.js ADDED
@@ -0,0 +1,167 @@
1
+ var aws = require("aws-sdk");
2
+ var express = require("express");
3
+ var multer = require("multer");
4
+ var multerS3 = require("multer-s3");
5
+ const { getState } = require("@saltcorn/data/db/state");
6
+ const fileUpload = require("express-fileupload");
7
+ const { v4: uuidv4 } = require("uuid");
8
+ const { create } = require("@saltcorn/data/models/file");
9
+ var contentDisposition = require("content-disposition");
10
+
11
+ function createS3Client() {
12
+ return new aws.S3({
13
+ secretAccessKey: getState().getConfig("storage_s3_access_secret"),
14
+ accessKeyId: getState().getConfig("storage_s3_access_key"),
15
+ region: getState().getConfig("storage_s3_region"),
16
+ endpoint: getState().getConfig("storage_s3_endpoint"),
17
+ });
18
+ }
19
+
20
+ module.exports = {
21
+ /**
22
+ * Selector for file upload handler middleware. It will dispatch the
23
+ * file upload handler to the engine specified in the configuration.
24
+ *
25
+ * @param {*} req
26
+ * @param {*} res
27
+ * @param {*} next
28
+ */
29
+ middlewareSelect: async function (req, res, next) {
30
+ const useS3 = getState().getConfig("storage_s3_enabled");
31
+ if (useS3 === true) {
32
+ // Create S3 object
33
+
34
+ // Create multer function
35
+ const s3upload = multer({
36
+ storage: multerS3({
37
+ s3: createS3Client(),
38
+ bucket: getState().getConfig("storage_s3_bucket"),
39
+ metadata: function (req, file, cb) {
40
+ cb(null, { fieldName: file.fieldname });
41
+ },
42
+ key: function (req, file, cb) {
43
+ cb(null, "tmp/" + Date.now().toString() + uuidv4());
44
+ },
45
+ }),
46
+ }).any();
47
+
48
+ s3upload(req, res, next);
49
+ } else {
50
+ // Use regular file upload
51
+ fileUpload({
52
+ useTempFiles: true,
53
+ createParentPath: true,
54
+ tempFileDir: "/tmp/",
55
+ })(req, res, next);
56
+ }
57
+ },
58
+
59
+ /**
60
+ * Transform the processed req.files into that is suitable with
61
+ * Saltcorn File interface. It must be run after the middlewareSelect
62
+ *
63
+ * @param {*} req
64
+ * @param {*} res
65
+ * @param {*} next
66
+ */
67
+ middlewareTransform: async function (req, res, next) {
68
+ // If nothing to process or S3 is not enabled
69
+ const useS3 = getState().getConfig("storage_s3_enabled");
70
+ if (!req.files || !useS3) {
71
+ next();
72
+ return;
73
+ }
74
+
75
+ // Create S3 object
76
+ var s3 = createS3Client();
77
+ const bucket = getState().getConfig("storage_s3_bucket");
78
+
79
+ let newFileObject = {};
80
+ for (const file of req.files) {
81
+ file.mv = (newpath) => {
82
+ return new Promise((resolve, reject) => {
83
+ s3.copyObject(
84
+ {
85
+ Bucket: bucket,
86
+ CopySource: bucket + "/" + file.key,
87
+ Key: newpath,
88
+ },
89
+ function (err, data) {
90
+ if (err) reject(err);
91
+ else {
92
+ // Then delete
93
+ s3.deleteObject(
94
+ {
95
+ Bucket: bucket,
96
+ Key: file.key,
97
+ },
98
+ (err, data) => {
99
+ if (err) reject(err);
100
+ else resolve(data);
101
+ }
102
+ );
103
+ }
104
+ }
105
+ );
106
+ });
107
+ };
108
+ file.s3object = true;
109
+ file.name = file.originalname;
110
+ newFileObject[file.fieldname] = file;
111
+ }
112
+ req.files = newFileObject;
113
+ next();
114
+ },
115
+
116
+ /**
117
+ * Selector to serve object based on S3 state
118
+ *
119
+ * @param {*} file
120
+ * @param {*} res
121
+ * @param {*} download
122
+ */
123
+ serveObject: function (file, res, download) {
124
+ if (file.s3_store) {
125
+ var s3 = createS3Client();
126
+ const bucket = getState().getConfig("storage_s3_bucket");
127
+
128
+ var params = {
129
+ Bucket: bucket,
130
+ Key: file.location,
131
+ };
132
+
133
+ // Forward the object
134
+ s3.getObject(params)
135
+ .on("httpHeaders", function (statusCode, headers) {
136
+ if (!!download)
137
+ res.set("Content-Disposition", contentDisposition(file.filename));
138
+ res.set("Content-Length", headers["content-length"]);
139
+ this.response.httpResponse.createUnbufferedStream().pipe(res);
140
+ })
141
+ .send();
142
+ } else {
143
+ // Use legacy file download
144
+ res.download(file.location, file.filename);
145
+ }
146
+ },
147
+
148
+ unlinkObject: function (file) {
149
+ if (file.s3_store) {
150
+ var s3 = createS3Client();
151
+ return new Promise((resolve, reject) => {
152
+ s3.deleteObject(
153
+ {
154
+ Bucket: getState().getConfig("storage_s3_bucket"),
155
+ Key: file.location,
156
+ },
157
+ (err, data) => {
158
+ if (err) reject(err);
159
+ else resolve(data);
160
+ }
161
+ );
162
+ });
163
+ } else {
164
+ return fs.unlink(file.location);
165
+ }
166
+ },
167
+ };
@@ -268,8 +268,10 @@ describe("menu editor", () => {
268
268
  await request(app)
269
269
  .post("/menu")
270
270
  .set("Cookie", loginCookie)
271
- .send("menu=" + encodeURIComponent(JSON.stringify(menu_json)))
272
- .expect(toRedirect("/menu"));
271
+ .send(menu_json)
272
+ .set("Content-Type", "application/json")
273
+ .set("Accept", "application/json")
274
+ .expect(toSucceed);
273
275
  });
274
276
  it("show new menu", async () => {
275
277
  const app = await getApp({ disableCsrf: true });
package/wrapper.js CHANGED
@@ -16,7 +16,10 @@ const getFlashes = (req) =>
16
16
  .filter((a) => a.msg && a.msg.length && a.msg.length > 0);
17
17
 
18
18
  const get_extra_menu = (role, state, req) => {
19
- const cfg = getState().getConfig("menu_items", []);
19
+ let cfg = getState().getConfig("unrolled_menu_items", []);
20
+ if (!cfg || cfg.length === 0) {
21
+ cfg = getState().getConfig("menu_items", []);
22
+ }
20
23
  const locale = req.getLocale();
21
24
  const __ = (s) => state.i18n.__({ phrase: s, locale }) || s;
22
25
  const transform = (items) =>
@@ -27,6 +30,7 @@ const get_extra_menu = (role, state, req) => {
27
30
  icon: item.icon,
28
31
  location: item.location,
29
32
  style: item.style || "",
33
+ type: item.type,
30
34
  link:
31
35
  item.type === "Link"
32
36
  ? item.url