@saltcorn/data 0.6.1 → 0.6.2-beta.3

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 (555) hide show
  1. package/dist/base-plugin/actions.d.ts +141 -0
  2. package/dist/base-plugin/actions.d.ts.map +1 -0
  3. package/dist/base-plugin/actions.js +551 -0
  4. package/dist/base-plugin/actions.js.map +1 -0
  5. package/dist/base-plugin/base.test.d.ts +2 -0
  6. package/dist/base-plugin/base.test.d.ts.map +1 -0
  7. package/dist/base-plugin/base.test.js +15 -0
  8. package/dist/base-plugin/base.test.js.map +1 -0
  9. package/dist/base-plugin/fieldviews.d.ts +25 -0
  10. package/dist/base-plugin/fieldviews.d.ts.map +1 -0
  11. package/dist/base-plugin/fieldviews.js +159 -0
  12. package/dist/base-plugin/fieldviews.js.map +1 -0
  13. package/dist/base-plugin/fileviews.d.ts +52 -0
  14. package/dist/base-plugin/fileviews.d.ts.map +1 -0
  15. package/dist/base-plugin/fileviews.js +59 -0
  16. package/dist/base-plugin/fileviews.js.map +1 -0
  17. package/dist/base-plugin/index.d.ts +524 -0
  18. package/dist/base-plugin/index.d.ts.map +1 -0
  19. package/{base-plugin → dist/base-plugin}/index.js +22 -24
  20. package/dist/base-plugin/index.js.map +1 -0
  21. package/dist/base-plugin/types.d.ts +383 -0
  22. package/dist/base-plugin/types.d.ts.map +1 -0
  23. package/dist/base-plugin/types.js +1080 -0
  24. package/dist/base-plugin/types.js.map +1 -0
  25. package/dist/base-plugin/viewtemplates/edit.d.ts +116 -0
  26. package/dist/base-plugin/viewtemplates/edit.d.ts.map +1 -0
  27. package/dist/base-plugin/viewtemplates/edit.js +561 -0
  28. package/dist/base-plugin/viewtemplates/edit.js.map +1 -0
  29. package/dist/base-plugin/viewtemplates/feed.d.ts +73 -0
  30. package/dist/base-plugin/viewtemplates/feed.d.ts.map +1 -0
  31. package/dist/base-plugin/viewtemplates/feed.js +348 -0
  32. package/dist/base-plugin/viewtemplates/feed.js.map +1 -0
  33. package/dist/base-plugin/viewtemplates/filter.d.ts +46 -0
  34. package/dist/base-plugin/viewtemplates/filter.d.ts.map +1 -0
  35. package/dist/base-plugin/viewtemplates/filter.js +267 -0
  36. package/dist/base-plugin/viewtemplates/filter.js.map +1 -0
  37. package/dist/base-plugin/viewtemplates/list.d.ts +99 -0
  38. package/dist/base-plugin/viewtemplates/list.d.ts.map +1 -0
  39. package/dist/base-plugin/viewtemplates/list.js +471 -0
  40. package/dist/base-plugin/viewtemplates/list.js.map +1 -0
  41. package/dist/base-plugin/viewtemplates/listshowlist.d.ts +41 -0
  42. package/dist/base-plugin/viewtemplates/listshowlist.d.ts.map +1 -0
  43. package/dist/base-plugin/viewtemplates/listshowlist.js +248 -0
  44. package/dist/base-plugin/viewtemplates/listshowlist.js.map +1 -0
  45. package/dist/base-plugin/viewtemplates/room.d.ts +140 -0
  46. package/dist/base-plugin/viewtemplates/room.d.ts.map +1 -0
  47. package/dist/base-plugin/viewtemplates/room.js +469 -0
  48. package/dist/base-plugin/viewtemplates/room.js.map +1 -0
  49. package/dist/base-plugin/viewtemplates/show.d.ts +101 -0
  50. package/dist/base-plugin/viewtemplates/show.d.ts.map +1 -0
  51. package/dist/base-plugin/viewtemplates/show.js +562 -0
  52. package/dist/base-plugin/viewtemplates/show.js.map +1 -0
  53. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts +108 -0
  54. package/dist/base-plugin/viewtemplates/viewable_fields.d.ts.map +1 -0
  55. package/dist/base-plugin/viewtemplates/viewable_fields.js +563 -0
  56. package/dist/base-plugin/viewtemplates/viewable_fields.js.map +1 -0
  57. package/dist/contracts.d.ts +49 -0
  58. package/dist/contracts.d.ts.map +1 -0
  59. package/dist/contracts.js +212 -0
  60. package/dist/contracts.js.map +1 -0
  61. package/dist/coverage/lcov-report/block-navigation.d.ts +2 -0
  62. package/dist/coverage/lcov-report/block-navigation.d.ts.map +1 -0
  63. package/dist/coverage/lcov-report/block-navigation.js +66 -0
  64. package/dist/coverage/lcov-report/block-navigation.js.map +1 -0
  65. package/dist/coverage/lcov-report/prettify.d.ts +1 -0
  66. package/dist/coverage/lcov-report/prettify.d.ts.map +1 -0
  67. package/dist/coverage/lcov-report/prettify.js +478 -0
  68. package/dist/coverage/lcov-report/prettify.js.map +1 -0
  69. package/dist/coverage/lcov-report/sorter.d.ts +2 -0
  70. package/dist/coverage/lcov-report/sorter.d.ts.map +1 -0
  71. package/dist/coverage/lcov-report/sorter.js +141 -0
  72. package/dist/coverage/lcov-report/sorter.js.map +1 -0
  73. package/dist/db/connect.d.ts +40 -0
  74. package/dist/db/connect.d.ts.map +1 -0
  75. package/dist/db/connect.js +150 -0
  76. package/dist/db/connect.js.map +1 -0
  77. package/dist/db/db.test.d.ts +2 -0
  78. package/dist/db/db.test.d.ts.map +1 -0
  79. package/dist/db/db.test.js +28 -0
  80. package/dist/db/db.test.js.map +1 -0
  81. package/dist/db/fixtures.d.ts +8 -0
  82. package/dist/db/fixtures.d.ts.map +1 -0
  83. package/dist/db/fixtures.js +300 -0
  84. package/dist/db/fixtures.js.map +1 -0
  85. package/dist/db/index.d.ts +3 -0
  86. package/dist/db/index.d.ts.map +1 -0
  87. package/dist/db/index.js +41 -0
  88. package/dist/db/index.js.map +1 -0
  89. package/dist/db/reset_schema.d.ts +13 -0
  90. package/dist/db/reset_schema.d.ts.map +1 -0
  91. package/{db → dist/db}/reset_schema.js +45 -55
  92. package/dist/db/reset_schema.js.map +1 -0
  93. package/dist/db/state.d.ts +56 -0
  94. package/dist/db/state.d.ts.map +1 -0
  95. package/dist/db/state.js +608 -0
  96. package/dist/db/state.js.map +1 -0
  97. package/dist/index.d.ts +2 -0
  98. package/dist/index.d.ts.map +1 -0
  99. package/{index.js → dist/index.js} +2 -1
  100. package/dist/index.js.map +1 -0
  101. package/dist/migrate.d.ts +12 -0
  102. package/dist/migrate.d.ts.map +1 -0
  103. package/dist/migrate.js +94 -0
  104. package/dist/migrate.js.map +1 -0
  105. package/dist/migrations/202005141503.d.ts +2 -0
  106. package/dist/migrations/202005141503.d.ts.map +1 -0
  107. package/{migrations → dist/migrations}/202005141503.js +2 -1
  108. package/dist/migrations/202005141503.js.map +1 -0
  109. package/dist/migrations/202005241712.d.ts +2 -0
  110. package/dist/migrations/202005241712.d.ts.map +1 -0
  111. package/{migrations → dist/migrations}/202005241712.js +2 -1
  112. package/dist/migrations/202005241712.js.map +1 -0
  113. package/dist/migrations/202005251037.d.ts +2 -0
  114. package/dist/migrations/202005251037.d.ts.map +1 -0
  115. package/{migrations → dist/migrations}/202005251037.js +2 -1
  116. package/dist/migrations/202005251037.js.map +1 -0
  117. package/dist/migrations/202005282134.d.ts +2 -0
  118. package/dist/migrations/202005282134.d.ts.map +1 -0
  119. package/{migrations → dist/migrations}/202005282134.js +2 -1
  120. package/dist/migrations/202005282134.js.map +1 -0
  121. package/dist/migrations/202006022156.d.ts +2 -0
  122. package/dist/migrations/202006022156.d.ts.map +1 -0
  123. package/{migrations → dist/migrations}/202006022156.js +2 -1
  124. package/dist/migrations/202006022156.js.map +1 -0
  125. package/dist/migrations/202006051507.d.ts +2 -0
  126. package/dist/migrations/202006051507.d.ts.map +1 -0
  127. package/{migrations → dist/migrations}/202006051507.js +2 -1
  128. package/dist/migrations/202006051507.js.map +1 -0
  129. package/dist/migrations/202006240906.d.ts +2 -0
  130. package/dist/migrations/202006240906.d.ts.map +1 -0
  131. package/{migrations → dist/migrations}/202006240906.js +2 -1
  132. package/dist/migrations/202006240906.js.map +1 -0
  133. package/dist/migrations/202007091707.d.ts +2 -0
  134. package/dist/migrations/202007091707.d.ts.map +1 -0
  135. package/{migrations → dist/migrations}/202007091707.js +2 -1
  136. package/dist/migrations/202007091707.js.map +1 -0
  137. package/dist/migrations/202007202144.d.ts +2 -0
  138. package/dist/migrations/202007202144.d.ts.map +1 -0
  139. package/{migrations → dist/migrations}/202007202144.js +2 -1
  140. package/dist/migrations/202007202144.js.map +1 -0
  141. package/dist/migrations/202008031500.d.ts +2 -0
  142. package/dist/migrations/202008031500.d.ts.map +1 -0
  143. package/dist/migrations/202008031500.js +4 -0
  144. package/dist/migrations/202008031500.js.map +1 -0
  145. package/dist/migrations/202008051415.d.ts +2 -0
  146. package/dist/migrations/202008051415.d.ts.map +1 -0
  147. package/{migrations → dist/migrations}/202008051415.js +2 -1
  148. package/dist/migrations/202008051415.js.map +1 -0
  149. package/dist/migrations/202008121149.d.ts +3 -0
  150. package/dist/migrations/202008121149.d.ts.map +1 -0
  151. package/{migrations → dist/migrations}/202008121149.js +2 -2
  152. package/dist/migrations/202008121149.js.map +1 -0
  153. package/dist/migrations/202009112140.d.ts +3 -0
  154. package/dist/migrations/202009112140.d.ts.map +1 -0
  155. package/{migrations → dist/migrations}/202009112140.js +2 -2
  156. package/dist/migrations/202009112140.js.map +1 -0
  157. package/dist/migrations/202009181655.d.ts +2 -0
  158. package/dist/migrations/202009181655.d.ts.map +1 -0
  159. package/dist/migrations/202009181655.js +7 -0
  160. package/dist/migrations/202009181655.js.map +1 -0
  161. package/dist/migrations/202009221105.d.ts +2 -0
  162. package/dist/migrations/202009221105.d.ts.map +1 -0
  163. package/dist/migrations/202009221105.js +4 -0
  164. package/dist/migrations/202009221105.js.map +1 -0
  165. package/dist/migrations/202009231331.d.ts +2 -0
  166. package/dist/migrations/202009231331.d.ts.map +1 -0
  167. package/{migrations → dist/migrations}/202009231331.js +2 -1
  168. package/dist/migrations/202009231331.js.map +1 -0
  169. package/dist/migrations/202009301531.d.ts +2 -0
  170. package/dist/migrations/202009301531.d.ts.map +1 -0
  171. package/dist/migrations/202009301531.js +8 -0
  172. package/dist/migrations/202009301531.js.map +1 -0
  173. package/dist/migrations/202010231444.d.ts +2 -0
  174. package/dist/migrations/202010231444.d.ts.map +1 -0
  175. package/dist/migrations/202010231444.js +4 -0
  176. package/dist/migrations/202010231444.js.map +1 -0
  177. package/dist/migrations/202010251412.d.ts +2 -0
  178. package/dist/migrations/202010251412.d.ts.map +1 -0
  179. package/dist/migrations/202010251412.js +10 -0
  180. package/dist/migrations/202010251412.js.map +1 -0
  181. package/dist/migrations/202011021749.d.ts +2 -0
  182. package/dist/migrations/202011021749.d.ts.map +1 -0
  183. package/{migrations → dist/migrations}/202011021749.js +2 -1
  184. package/dist/migrations/202011021749.js.map +1 -0
  185. package/dist/migrations/202011051353.d.ts +2 -0
  186. package/dist/migrations/202011051353.d.ts.map +1 -0
  187. package/{migrations → dist/migrations}/202011051353.js +2 -1
  188. package/dist/migrations/202011051353.js.map +1 -0
  189. package/dist/migrations/202011111127.d.ts +2 -0
  190. package/dist/migrations/202011111127.d.ts.map +1 -0
  191. package/{migrations → dist/migrations}/202011111127.js +2 -1
  192. package/dist/migrations/202011111127.js.map +1 -0
  193. package/dist/migrations/202012011203.d.ts +2 -0
  194. package/dist/migrations/202012011203.d.ts.map +1 -0
  195. package/{migrations → dist/migrations}/202012011203.js +2 -1
  196. package/dist/migrations/202012011203.js.map +1 -0
  197. package/dist/migrations/202012100841.d.ts +2 -0
  198. package/dist/migrations/202012100841.d.ts.map +1 -0
  199. package/{migrations → dist/migrations}/202012100841.js +2 -1
  200. package/dist/migrations/202012100841.js.map +1 -0
  201. package/dist/migrations/202012281835.d.ts +2 -0
  202. package/dist/migrations/202012281835.d.ts.map +1 -0
  203. package/{migrations → dist/migrations}/202012281835.js +2 -1
  204. package/dist/migrations/202012281835.js.map +1 -0
  205. package/dist/migrations/202101061051.d.ts +2 -0
  206. package/dist/migrations/202101061051.d.ts.map +1 -0
  207. package/{migrations → dist/migrations}/202101061051.js +2 -1
  208. package/dist/migrations/202101061051.js.map +1 -0
  209. package/dist/migrations/202101141128.d.ts +2 -0
  210. package/dist/migrations/202101141128.d.ts.map +1 -0
  211. package/dist/migrations/202101141128.js +4 -0
  212. package/dist/migrations/202101141128.js.map +1 -0
  213. package/dist/migrations/202102091312.d.ts +3 -0
  214. package/dist/migrations/202102091312.d.ts.map +1 -0
  215. package/dist/migrations/202102091312.js +19 -0
  216. package/dist/migrations/202102091312.js.map +1 -0
  217. package/dist/migrations/202102101624.d.ts +2 -0
  218. package/dist/migrations/202102101624.d.ts.map +1 -0
  219. package/dist/migrations/202102101624.js +7 -0
  220. package/dist/migrations/202102101624.js.map +1 -0
  221. package/dist/migrations/202102172148.d.ts +2 -0
  222. package/dist/migrations/202102172148.d.ts.map +1 -0
  223. package/{migrations → dist/migrations}/202102172148.js +2 -2
  224. package/dist/migrations/202102172148.js.map +1 -0
  225. package/dist/migrations/202102261650.d.ts +2 -0
  226. package/dist/migrations/202102261650.d.ts.map +1 -0
  227. package/dist/migrations/202102261650.js +7 -0
  228. package/dist/migrations/202102261650.js.map +1 -0
  229. package/dist/migrations/202106102347.d.ts +2 -0
  230. package/dist/migrations/202106102347.d.ts.map +1 -0
  231. package/{migrations → dist/migrations}/202106102347.js +2 -3
  232. package/dist/migrations/202106102347.js.map +1 -0
  233. package/dist/migrations/202106112120.d.ts +2 -0
  234. package/dist/migrations/202106112120.d.ts.map +1 -0
  235. package/{migrations → dist/migrations}/202106112120.js +2 -3
  236. package/dist/migrations/202106112120.js.map +1 -0
  237. package/dist/migrations/202106120012.d.ts +2 -0
  238. package/dist/migrations/202106120012.d.ts.map +1 -0
  239. package/{migrations → dist/migrations}/202106120012.js +2 -3
  240. package/dist/migrations/202106120012.js.map +1 -0
  241. package/dist/migrations/202106120220.d.ts +2 -0
  242. package/dist/migrations/202106120220.d.ts.map +1 -0
  243. package/{migrations → dist/migrations}/202106120220.js +2 -4
  244. package/dist/migrations/202106120220.js.map +1 -0
  245. package/dist/migrations/202106121701.d.ts +2 -0
  246. package/dist/migrations/202106121701.d.ts.map +1 -0
  247. package/{migrations → dist/migrations}/202106121701.js +2 -3
  248. package/dist/migrations/202106121701.js.map +1 -0
  249. package/dist/migrations/202106121703.d.ts +3 -0
  250. package/dist/migrations/202106121703.d.ts.map +1 -0
  251. package/{migrations → dist/migrations}/202106121703.js +2 -3
  252. package/dist/migrations/202106121703.js.map +1 -0
  253. package/dist/migrations/202106251126.d.ts +2 -0
  254. package/dist/migrations/202106251126.d.ts.map +1 -0
  255. package/dist/migrations/202106251126.js +6 -0
  256. package/dist/migrations/202106251126.js.map +1 -0
  257. package/dist/migrations/202107281619.d.ts +2 -0
  258. package/dist/migrations/202107281619.d.ts.map +1 -0
  259. package/{migrations → dist/migrations}/202107281619.js +2 -1
  260. package/dist/migrations/202107281619.js.map +1 -0
  261. package/dist/migrations/202107302158.d.ts +3 -0
  262. package/dist/migrations/202107302158.d.ts.map +1 -0
  263. package/{migrations → dist/migrations}/202107302158.js +2 -3
  264. package/dist/migrations/202107302158.js.map +1 -0
  265. package/dist/migrations/202108022257.d.ts +2 -0
  266. package/dist/migrations/202108022257.d.ts.map +1 -0
  267. package/{migrations → dist/migrations}/202108022257.js +3 -4
  268. package/dist/migrations/202108022257.js.map +1 -0
  269. package/dist/migrations/202109201624.d.ts +2 -0
  270. package/dist/migrations/202109201624.d.ts.map +1 -0
  271. package/{migrations → dist/migrations}/202109201624.js +2 -1
  272. package/dist/migrations/202109201624.js.map +1 -0
  273. package/dist/migrations/202109301031.d.ts +3 -0
  274. package/dist/migrations/202109301031.d.ts.map +1 -0
  275. package/{migrations → dist/migrations}/202109301031.js +2 -2
  276. package/dist/migrations/202109301031.js.map +1 -0
  277. package/dist/migrations/202111290253.d.ts +3 -0
  278. package/dist/migrations/202111290253.d.ts.map +1 -0
  279. package/dist/migrations/202111290253.js +5 -0
  280. package/dist/migrations/202111290253.js.map +1 -0
  281. package/dist/models/backup.d.ts +22 -0
  282. package/dist/models/backup.d.ts.map +1 -0
  283. package/{models → dist/models}/backup.js +95 -192
  284. package/dist/models/backup.js.map +1 -0
  285. package/dist/models/config.d.ts +180 -0
  286. package/dist/models/config.d.ts.map +1 -0
  287. package/dist/models/config.js +758 -0
  288. package/dist/models/config.js.map +1 -0
  289. package/dist/models/crash.d.ts +74 -0
  290. package/dist/models/crash.d.ts.map +1 -0
  291. package/dist/models/crash.js +118 -0
  292. package/dist/models/crash.js.map +1 -0
  293. package/dist/models/discovery.d.ts +28 -0
  294. package/dist/models/discovery.d.ts.map +1 -0
  295. package/dist/models/discovery.js +163 -0
  296. package/dist/models/discovery.js.map +1 -0
  297. package/dist/models/email.d.ts +16 -0
  298. package/dist/models/email.d.ts.map +1 -0
  299. package/dist/models/email.js +90 -0
  300. package/dist/models/email.js.map +1 -0
  301. package/dist/models/eventlog.d.ts +77 -0
  302. package/dist/models/eventlog.d.ts.map +1 -0
  303. package/dist/models/eventlog.js +132 -0
  304. package/dist/models/eventlog.js.map +1 -0
  305. package/dist/models/expression.d.ts +54 -0
  306. package/dist/models/expression.d.ts.map +1 -0
  307. package/dist/models/expression.js +274 -0
  308. package/dist/models/expression.js.map +1 -0
  309. package/dist/models/field.d.ts +217 -0
  310. package/dist/models/field.d.ts.map +1 -0
  311. package/dist/models/field.js +619 -0
  312. package/dist/models/field.js.map +1 -0
  313. package/dist/models/fieldrepeat.d.ts +49 -0
  314. package/dist/models/fieldrepeat.d.ts.map +1 -0
  315. package/dist/models/fieldrepeat.js +88 -0
  316. package/dist/models/fieldrepeat.js.map +1 -0
  317. package/dist/models/file.d.ts +122 -0
  318. package/dist/models/file.d.ts.map +1 -0
  319. package/dist/models/file.js +224 -0
  320. package/dist/models/file.js.map +1 -0
  321. package/dist/models/form.d.ts +82 -0
  322. package/dist/models/form.d.ts.map +1 -0
  323. package/dist/models/form.js +163 -0
  324. package/dist/models/form.js.map +1 -0
  325. package/dist/models/index.d.ts +1 -0
  326. package/dist/models/index.d.ts.map +1 -0
  327. package/{models → dist/models}/index.js +42 -42
  328. package/dist/models/index.js.map +1 -0
  329. package/dist/models/layout.d.ts +34 -0
  330. package/dist/models/layout.d.ts.map +1 -0
  331. package/dist/models/layout.js +153 -0
  332. package/dist/models/layout.js.map +1 -0
  333. package/dist/models/library.d.ts +50 -0
  334. package/dist/models/library.d.ts.map +1 -0
  335. package/dist/models/library.js +129 -0
  336. package/dist/models/library.js.map +1 -0
  337. package/dist/models/pack.d.ts +89 -0
  338. package/dist/models/pack.d.ts.map +1 -0
  339. package/dist/models/pack.js +390 -0
  340. package/dist/models/pack.js.map +1 -0
  341. package/dist/models/page.d.ts +101 -0
  342. package/dist/models/page.d.ts.map +1 -0
  343. package/dist/models/page.js +223 -0
  344. package/dist/models/page.js.map +1 -0
  345. package/dist/models/plugin.d.ts +100 -0
  346. package/dist/models/plugin.d.ts.map +1 -0
  347. package/dist/models/plugin.js +204 -0
  348. package/dist/models/plugin.js.map +1 -0
  349. package/dist/models/random.d.ts +24 -0
  350. package/dist/models/random.d.ts.map +1 -0
  351. package/dist/models/random.js +186 -0
  352. package/dist/models/random.js.map +1 -0
  353. package/dist/models/role.d.ts +42 -0
  354. package/dist/models/role.d.ts.map +1 -0
  355. package/dist/models/role.js +64 -0
  356. package/dist/models/role.js.map +1 -0
  357. package/dist/models/scheduler.d.ts +18 -0
  358. package/dist/models/scheduler.d.ts.map +1 -0
  359. package/dist/models/scheduler.js +159 -0
  360. package/dist/models/scheduler.js.map +1 -0
  361. package/dist/models/table.d.ts +326 -0
  362. package/dist/models/table.d.ts.map +1 -0
  363. package/dist/models/table.js +1006 -0
  364. package/dist/models/table.js.map +1 -0
  365. package/dist/models/table_constraints.d.ts +69 -0
  366. package/dist/models/table_constraints.d.ts.map +1 -0
  367. package/dist/models/table_constraints.js +118 -0
  368. package/dist/models/table_constraints.js.map +1 -0
  369. package/dist/models/tenant.d.ts +55 -0
  370. package/dist/models/tenant.d.ts.map +1 -0
  371. package/{models → dist/models}/tenant.js +40 -63
  372. package/dist/models/tenant.js.map +1 -0
  373. package/dist/models/trigger.d.ts +133 -0
  374. package/dist/models/trigger.d.ts.map +1 -0
  375. package/dist/models/trigger.js +292 -0
  376. package/dist/models/trigger.js.map +1 -0
  377. package/dist/models/user.d.ts +235 -0
  378. package/dist/models/user.d.ts.map +1 -0
  379. package/dist/models/user.js +434 -0
  380. package/dist/models/user.js.map +1 -0
  381. package/dist/models/view.d.ts +204 -0
  382. package/dist/models/view.d.ts.map +1 -0
  383. package/dist/models/view.js +497 -0
  384. package/dist/models/view.js.map +1 -0
  385. package/dist/models/workflow.d.ts +48 -0
  386. package/dist/models/workflow.d.ts.map +1 -0
  387. package/dist/models/workflow.js +190 -0
  388. package/dist/models/workflow.js.map +1 -0
  389. package/dist/plugin-helper.d.ts +145 -0
  390. package/dist/plugin-helper.d.ts.map +1 -0
  391. package/dist/plugin-helper.js +1158 -0
  392. package/dist/plugin-helper.js.map +1 -0
  393. package/dist/plugin-testing.d.ts +3 -0
  394. package/dist/plugin-testing.d.ts.map +1 -0
  395. package/dist/plugin-testing.js +120 -0
  396. package/dist/plugin-testing.js.map +1 -0
  397. package/dist/tests/actions.test.d.ts +2 -0
  398. package/dist/tests/actions.test.d.ts.map +1 -0
  399. package/dist/tests/actions.test.js +205 -0
  400. package/dist/tests/actions.test.js.map +1 -0
  401. package/dist/tests/auxtest.test.d.ts +2 -0
  402. package/dist/tests/auxtest.test.d.ts.map +1 -0
  403. package/dist/tests/auxtest.test.js +48 -0
  404. package/dist/tests/auxtest.test.js.map +1 -0
  405. package/dist/tests/backup.test.d.ts +2 -0
  406. package/dist/tests/backup.test.d.ts.map +1 -0
  407. package/dist/tests/backup.test.js +88 -0
  408. package/dist/tests/backup.test.js.map +1 -0
  409. package/dist/tests/calc.test.d.ts +2 -0
  410. package/dist/tests/calc.test.d.ts.map +1 -0
  411. package/dist/tests/calc.test.js +231 -0
  412. package/dist/tests/calc.test.js.map +1 -0
  413. package/dist/tests/config.test.d.ts +2 -0
  414. package/dist/tests/config.test.d.ts.map +1 -0
  415. package/dist/tests/config.test.js +83 -0
  416. package/dist/tests/config.test.js.map +1 -0
  417. package/dist/tests/discover.test.d.ts +2 -0
  418. package/dist/tests/discover.test.d.ts.map +1 -0
  419. package/dist/tests/discover.test.js +106 -0
  420. package/dist/tests/discover.test.js.map +1 -0
  421. package/dist/tests/exact_views.test.d.ts +2 -0
  422. package/dist/tests/exact_views.test.d.ts.map +1 -0
  423. package/dist/tests/exact_views.test.js +511 -0
  424. package/dist/tests/exact_views.test.js.map +1 -0
  425. package/dist/tests/field.test.d.ts +2 -0
  426. package/dist/tests/field.test.d.ts.map +1 -0
  427. package/dist/tests/field.test.js +237 -0
  428. package/dist/tests/field.test.js.map +1 -0
  429. package/dist/tests/form.test.d.ts +2 -0
  430. package/dist/tests/form.test.d.ts.map +1 -0
  431. package/dist/tests/form.test.js +191 -0
  432. package/dist/tests/form.test.js.map +1 -0
  433. package/dist/tests/mocks.d.ts +111 -0
  434. package/dist/tests/mocks.d.ts.map +1 -0
  435. package/dist/tests/mocks.js +165 -0
  436. package/dist/tests/mocks.js.map +1 -0
  437. package/dist/tests/models.test.d.ts +2 -0
  438. package/dist/tests/models.test.d.ts.map +1 -0
  439. package/dist/tests/models.test.js +210 -0
  440. package/dist/tests/models.test.js.map +1 -0
  441. package/dist/tests/pack.test.d.ts +2 -0
  442. package/dist/tests/pack.test.d.ts.map +1 -0
  443. package/dist/tests/pack.test.js +331 -0
  444. package/dist/tests/pack.test.js.map +1 -0
  445. package/dist/tests/plugin.test.d.ts +2 -0
  446. package/dist/tests/plugin.test.d.ts.map +1 -0
  447. package/dist/tests/plugin.test.js +53 -0
  448. package/dist/tests/plugin.test.js.map +1 -0
  449. package/dist/tests/random.test.d.ts +2 -0
  450. package/dist/tests/random.test.d.ts.map +1 -0
  451. package/dist/tests/random.test.js +138 -0
  452. package/dist/tests/random.test.js.map +1 -0
  453. package/dist/tests/table.test.d.ts +2 -0
  454. package/dist/tests/table.test.d.ts.map +1 -0
  455. package/dist/tests/table.test.js +1048 -0
  456. package/dist/tests/table.test.js.map +1 -0
  457. package/dist/tests/tenant.test.d.ts +2 -0
  458. package/dist/tests/tenant.test.d.ts.map +1 -0
  459. package/dist/tests/tenant.test.js +45 -0
  460. package/dist/tests/tenant.test.js.map +1 -0
  461. package/dist/tests/user.test.d.ts +2 -0
  462. package/dist/tests/user.test.d.ts.map +1 -0
  463. package/dist/tests/user.test.js +190 -0
  464. package/dist/tests/user.test.js.map +1 -0
  465. package/dist/tests/view.test.d.ts +2 -0
  466. package/dist/tests/view.test.d.ts.map +1 -0
  467. package/dist/tests/view.test.js +238 -0
  468. package/dist/tests/view.test.js.map +1 -0
  469. package/dist/tests/workflow.test.d.ts +2 -0
  470. package/dist/tests/workflow.test.d.ts.map +1 -0
  471. package/dist/tests/workflow.test.js +115 -0
  472. package/dist/tests/workflow.test.js.map +1 -0
  473. package/dist/tsconfig.ref.tsbuildinfo +1 -0
  474. package/dist/utils.d.ts +26 -0
  475. package/dist/utils.d.ts.map +1 -0
  476. package/dist/utils.js +124 -0
  477. package/dist/utils.js.map +1 -0
  478. package/package.json +37 -8
  479. package/base-plugin/actions.js +0 -629
  480. package/base-plugin/base.test.js +0 -15
  481. package/base-plugin/fieldviews.js +0 -192
  482. package/base-plugin/fileviews.js +0 -65
  483. package/base-plugin/types.js +0 -1025
  484. package/base-plugin/viewtemplates/edit.js +0 -665
  485. package/base-plugin/viewtemplates/feed.js +0 -434
  486. package/base-plugin/viewtemplates/filter.js +0 -311
  487. package/base-plugin/viewtemplates/list.js +0 -575
  488. package/base-plugin/viewtemplates/listshowlist.js +0 -292
  489. package/base-plugin/viewtemplates/room.js +0 -650
  490. package/base-plugin/viewtemplates/show.js +0 -689
  491. package/base-plugin/viewtemplates/viewable_fields.js +0 -714
  492. package/contracts.js +0 -311
  493. package/db/connect.js +0 -151
  494. package/db/db.test.js +0 -33
  495. package/db/fixtures.js +0 -303
  496. package/db/index.js +0 -60
  497. package/db/state.js +0 -674
  498. package/migrate.js +0 -99
  499. package/migrations/202008031500.js +0 -4
  500. package/migrations/202009181655.js +0 -6
  501. package/migrations/202009221105.js +0 -4
  502. package/migrations/202009301531.js +0 -7
  503. package/migrations/202010231444.js +0 -4
  504. package/migrations/202010251412.js +0 -9
  505. package/migrations/202101141128.js +0 -4
  506. package/migrations/202102091312.js +0 -19
  507. package/migrations/202102101624.js +0 -5
  508. package/migrations/202102261650.js +0 -6
  509. package/migrations/202106251126.js +0 -5
  510. package/models/config.js +0 -680
  511. package/models/crash.js +0 -126
  512. package/models/discovery.js +0 -195
  513. package/models/email.js +0 -92
  514. package/models/eventlog.js +0 -146
  515. package/models/expression.js +0 -264
  516. package/models/field.js +0 -740
  517. package/models/fieldrepeat.js +0 -96
  518. package/models/file.js +0 -234
  519. package/models/form.js +0 -168
  520. package/models/layout.js +0 -146
  521. package/models/library.js +0 -135
  522. package/models/pack.js +0 -466
  523. package/models/page.js +0 -255
  524. package/models/plugin.js +0 -219
  525. package/models/random.js +0 -206
  526. package/models/role.js +0 -94
  527. package/models/scheduler.js +0 -163
  528. package/models/table.js +0 -1211
  529. package/models/table_constraints.js +0 -133
  530. package/models/trigger.js +0 -327
  531. package/models/user.js +0 -503
  532. package/models/view.js +0 -622
  533. package/models/workflow.js +0 -205
  534. package/plugin-helper.js +0 -1291
  535. package/plugin-testing.js +0 -124
  536. package/tests/actions.test.js +0 -232
  537. package/tests/auxtest.test.js +0 -52
  538. package/tests/backup.test.js +0 -92
  539. package/tests/calc.test.js +0 -221
  540. package/tests/config.test.js +0 -91
  541. package/tests/discover.test.js +0 -114
  542. package/tests/exact_views.test.js +0 -526
  543. package/tests/field.test.js +0 -253
  544. package/tests/form.test.js +0 -198
  545. package/tests/mocks.js +0 -173
  546. package/tests/models.test.js +0 -221
  547. package/tests/pack.test.js +0 -350
  548. package/tests/plugin.test.js +0 -59
  549. package/tests/random.test.js +0 -154
  550. package/tests/table.test.js +0 -1091
  551. package/tests/tenant.test.js +0 -56
  552. package/tests/user.test.js +0 -196
  553. package/tests/view.test.js +0 -251
  554. package/tests/workflow.test.js +0 -119
  555. package/utils.js +0 -137
package/models/page.js DELETED
@@ -1,255 +0,0 @@
1
- /**
2
- * Page Database Access Layer
3
- * @category saltcorn-data
4
- * @module models/page
5
- * @subcategory models
6
- */
7
- const db = require("../db");
8
- const { contract, is } = require("contractis");
9
- const View = require("./view");
10
- const Table = require("./table");
11
- const {
12
- eachView,
13
- traverseSync,
14
- getStringsForI18n,
15
- translateLayout,
16
- } = require("./layout");
17
- const { div } = require("@saltcorn/markup/tags");
18
- const { remove_from_menu } = require("./config");
19
- const {
20
- action_link,
21
- fill_presets,
22
- } = require("../base-plugin/viewtemplates/viewable_fields");
23
- const {
24
- InvalidConfiguration,
25
- satisfies,
26
- structuredClone,
27
- } = require("../utils");
28
-
29
- /**
30
- * Page Class
31
- * @category saltcorn-data
32
- */
33
- class Page {
34
- /**
35
- * @param {object} o
36
- */
37
- constructor(o) {
38
- this.name = o.name;
39
- this.title = o.title;
40
- this.description = o.description;
41
- this.min_role = +o.min_role;
42
- this.id = o.id;
43
- this.layout =
44
- typeof o.layout === "string" ? JSON.parse(o.layout) : o.layout;
45
- this.fixed_states =
46
- typeof o.fixed_states === "string"
47
- ? JSON.parse(o.fixed_states)
48
- : o.fixed_states || {};
49
- contract.class(this);
50
- }
51
-
52
- /**
53
- * Find pages in DB
54
- * @param where
55
- * @param selectopts
56
- * @returns {Promise<*>}
57
- */
58
- static async find(where, selectopts = { orderBy: "name", nocase: true }) {
59
- if (selectopts.cached) {
60
- const { getState } = require("../db/state");
61
- return getState().pages.map((t) => new Page(t));
62
- }
63
- const db_flds = await db.select("_sc_pages", where, selectopts);
64
- return db_flds.map((dbf) => new Page(dbf));
65
- }
66
-
67
- /**
68
- * Find one page
69
- * @param where
70
- * @returns {Promise<Page|*>}
71
- */
72
- static async findOne(where) {
73
- const { getState } = require("../db/state");
74
- const p = getState().pages.find(
75
- where.id
76
- ? (v) => v.id === +where.id
77
- : where.name
78
- ? (v) => v.name === where.name
79
- : satisfies(where)
80
- );
81
- return p
82
- ? new Page({
83
- ...p,
84
- layout: structuredClone(p.layout),
85
- fixed_states: structuredClone(p.fixed_states),
86
- })
87
- : p;
88
- }
89
-
90
- /**
91
- * Update page
92
- * @param id
93
- * @param row
94
- * @returns {Promise<void>}
95
- */
96
- static async update(id, row) {
97
- await db.update("_sc_pages", row, id);
98
- await require("../db/state").getState().refresh_pages();
99
- }
100
- getStringsForI18n() {
101
- return getStringsForI18n(this.layout);
102
- }
103
- /**
104
- * Create page
105
- * @param f
106
- * @returns {Promise<Page>}
107
- */
108
- static async create(f) {
109
- const page = new Page(f);
110
- const { id, ...rest } = page;
111
- const fid = await db.insert("_sc_pages", rest);
112
- page.id = fid;
113
- await require("../db/state").getState().refresh_pages();
114
-
115
- return page;
116
- }
117
-
118
- /**
119
- * Delete current page
120
- * @returns {Promise<void>}
121
- */
122
- async delete() {
123
- await db.deleteWhere("_sc_pages", { id: this.id });
124
- const root_page_for_roles = await this.is_root_page_for_roles();
125
- for (const role of root_page_for_roles) {
126
- const { getState } = require("../db/state");
127
- await getState().setConfig(role + "_home", "");
128
- }
129
- await remove_from_menu({ name: this.name, type: "Page" });
130
- await require("../db/state").getState().refresh_pages();
131
- }
132
-
133
- /**
134
- * Is root page for role
135
- * @returns {Promise<*>}
136
- */
137
- async is_root_page_for_roles() {
138
- const User = require("./user");
139
- const { getState } = require("../db/state");
140
-
141
- const roles = await User.get_roles();
142
- return roles
143
- .filter((r) => getState().getConfig(r.role + "_home", "") === this.name)
144
- .map((r) => r.role);
145
- }
146
-
147
- /**
148
- * get menu label for page
149
- * @type {string|undefined}
150
- */
151
- get menu_label() {
152
- const { getState } = require("../db/state");
153
- const menu_items = getState().getConfig("menu_items", []);
154
- const item = menu_items.find((mi) => mi.pagename === this.name);
155
- return item ? item.label : undefined;
156
- }
157
-
158
- /**
159
- * Clone page
160
- * @returns {Promise<Page>}
161
- */
162
- async clone() {
163
- const basename = this.name + " copy";
164
- let newname;
165
- for (let i = 0; i < 100; i++) {
166
- newname = i ? `${basename} (${i})` : basename;
167
- const existing = await Page.findOne({ name: newname });
168
- if (!existing) break;
169
- }
170
- const createObj = {
171
- ...this,
172
- name: newname,
173
- };
174
- delete createObj.id;
175
- return await Page.create(createObj);
176
- }
177
-
178
- /**
179
- * Run (Show) page
180
- * @param querystate
181
- * @param extraArgs
182
- * @returns {Promise<any>}
183
- */
184
- async run(querystate, extraArgs) {
185
- await eachView(this.layout, async (segment) => {
186
- const view = await View.findOne({ name: segment.view });
187
- if (!view) {
188
- throw new InvalidConfiguration(
189
- `Page ${this.name} configuration error in embedded view: ` +
190
- (segment.view
191
- ? `view "${segment.view}" not found`
192
- : "no view specified")
193
- );
194
- } else if (segment.state === "shared") {
195
- const mystate = view.combine_state_and_default_state(querystate);
196
- segment.contents = await view.run(mystate, extraArgs);
197
- } else {
198
- const table = Table.findOne({ id: view.table_id });
199
- const state = segment.configuration || this.fixed_states[segment.name];
200
- const filled = await fill_presets(table, extraArgs.req, state);
201
- const mystate = view.combine_state_and_default_state(filled || {});
202
- segment.contents = await view.run(mystate, extraArgs);
203
- }
204
- });
205
- const pagename = this.name;
206
- traverseSync(this.layout, {
207
- action(segment) {
208
- const url = `javascript:ajax_post_json('/page/${pagename}/action/${segment.rndid}')`;
209
- const html = action_link(url, extraArgs.req, segment);
210
- segment.type = "blank";
211
- segment.contents = html;
212
- },
213
- });
214
-
215
- translateLayout(this.layout, extraArgs.req.getLocale());
216
- return this.layout;
217
- }
218
- }
219
-
220
- /**
221
- * Page contract
222
- * @type {{variables: {min_role: ((function(*=): *)|*), layout: ((function(*=): *)|*), name: ((function(*=): *)|*), fixed_states: ((function(*=): *)|*), description: ((function(*=): *)|*), id: ((function(*=): *)|*), title: ((function(*=): *)|*)}, methods: {run: ((function(*=): *)|*), delete: ((function(*=): *)|*), is_root_page_for_roles: ((function(*=): *)|*), menu_label: ((function(*=): *)|*)}, static_methods: {find: ((function(*=): *)|*), findOne: ((function(*=): *)|*), create: ((function(*=): *)|*), update: ((function(*=): *)|*)}}}
223
- */
224
- Page.contract = {
225
- variables: {
226
- name: is.str,
227
- title: is.str,
228
- description: is.str,
229
- id: is.maybe(is.posint),
230
- min_role: is.posint,
231
- layout: is.obj(),
232
- fixed_states: is.obj(),
233
- },
234
- methods: {
235
- delete: is.fun([], is.promise(is.undefined)),
236
-
237
- menu_label: is.getter(is.maybe(is.str)),
238
- run: is.fun(
239
- [is.obj(), is.obj({ req: is.obj(), res: is.obj() })],
240
- is.promise(is.any)
241
- ),
242
- is_root_page_for_roles: is.fun([], is.promise(is.array(is.str))),
243
- },
244
- static_methods: {
245
- find: is.fun(
246
- [is.maybe(is.obj()), is.maybe(is.obj())],
247
- is.promise(is.array(is.class("Page")))
248
- ),
249
- create: is.fun(is.obj(), is.promise(is.class("Page"))),
250
- findOne: is.fun(is.obj(), is.promise(is.maybe(is.class("Page")))),
251
- update: is.fun([is.posint, is.obj()], is.promise(is.undefined)),
252
- },
253
- };
254
-
255
- module.exports = Page;
package/models/plugin.js DELETED
@@ -1,219 +0,0 @@
1
- /**
2
- * Plugin Database Access Layer
3
- * @category saltcorn-data
4
- * @module models/plugin
5
- * @subcategory models
6
- */
7
- const db = require("../db");
8
- const { contract, is } = require("contractis");
9
- const View = require("./view");
10
- const { is_stale } = require("./pack");
11
- const fetch = require("node-fetch");
12
- const { stringToJSON } = require("../utils");
13
-
14
- /**
15
- * Plugin Class
16
- * @category saltcorn-data
17
- */
18
- class Plugin {
19
- /**
20
- * Plugin constructor
21
- * @param {object} o
22
- */
23
- constructor(o) {
24
- this.id = o.id ? +o.id : o.id;
25
- this.name = o.name;
26
- this.source = o.source;
27
- this.location = o.location;
28
- this.version = o.version;
29
- this.description = o.description;
30
- this.documentation_link = o.documentation_link;
31
- this.has_theme = o.has_theme;
32
- this.has_auth = o.has_auth;
33
- this.deploy_private_key = o.deploy_private_key;
34
- this.configuration = stringToJSON(o.configuration);
35
- contract.class(this);
36
- }
37
-
38
- /**
39
- * Find one plugin
40
- * @param where - where object
41
- * @returns {Promise<Plugin|null|*>} return existing plugin or new plugin
42
- */
43
- static async findOne(where) {
44
- const p = await db.selectMaybeOne("_sc_plugins", where);
45
- return p ? new Plugin(p) : p;
46
- }
47
-
48
- /**
49
- * Find plugins
50
- * @param where - where object
51
- * @returns {Promise<*>} returns plugins list
52
- */
53
- static async find(where) {
54
- return (await db.select("_sc_plugins", where)).map((p) => new Plugin(p));
55
- }
56
-
57
- /**
58
- * Update or Insert plugin
59
- * @returns {Promise<void>}
60
- */
61
- async upsert() {
62
- const row = {
63
- name: this.name,
64
- source: this.source,
65
- location: this.location,
66
- version: this.version,
67
- configuration: this.configuration,
68
- deploy_private_key: this.deploy_private_key,
69
- };
70
- if (typeof this.id === "undefined") {
71
- // insert
72
- await db.insert("_sc_plugins", row);
73
- } else {
74
- await db.update("_sc_plugins", row, this.id);
75
- }
76
- }
77
-
78
- /**
79
- * Delete plugin
80
- * @returns {Promise<void>}
81
- */
82
- async delete() {
83
- await db.deleteWhere("_sc_plugins", { id: this.id });
84
- const { getState } = require("../db/state");
85
- await getState().remove_plugin(this.name);
86
- }
87
-
88
- /**
89
- * Upgrade plugin version
90
- * @param requirePlugin
91
- * @returns {Promise<void>}
92
- */
93
- async upgrade_version(requirePlugin) {
94
- if (this.source === "npm") {
95
- const old_version = this.version;
96
- this.version = "latest";
97
- const { version } = await requirePlugin(this, true);
98
- if (version && version !== old_version) {
99
- this.version = version;
100
- this.upsert();
101
- }
102
- } else {
103
- await requirePlugin(this, true);
104
- }
105
- }
106
-
107
- /**
108
- * List of views relay on this plugin
109
- * @returns {Promise<View[]>}
110
- */
111
- async dependant_views() {
112
- const views = await View.find({});
113
- const { getState } = require("../db/state");
114
- if (!getState().plugins[this.name]) return [];
115
- const myViewTemplates = getState().plugins[this.name].viewtemplates || [];
116
- const vt_names = Array.isArray(myViewTemplates)
117
- ? myViewTemplates.map((vt) => vt.name)
118
- : typeof myViewTemplates === "function"
119
- ? myViewTemplates(getState().plugin_cfgs[this.name]).map((vt) => vt.name)
120
- : Object.keys(myViewTemplates);
121
- return views
122
- .filter((v) => vt_names.includes(v.viewtemplate))
123
- .map((v) => v.name);
124
- }
125
-
126
- /**
127
- * List plugins availabe in store
128
- * @returns {Promise<*>}
129
- */
130
- static async store_plugins_available() {
131
- const { getState } = require("../db/state");
132
- const stored = getState().getConfig("available_plugins", false);
133
- const stored_at = getState().getConfig(
134
- "available_plugins_fetched_at",
135
- false
136
- );
137
- const isRoot = db.getTenantSchema() === db.connectObj.default_schema;
138
-
139
- if (!stored || !stored_at || is_stale(stored_at)) {
140
- try {
141
- const from_api = await Plugin.store_plugins_available_from_store();
142
- await getState().setConfig("available_plugins", from_api);
143
- await getState().setConfig("available_plugins_fetched_at", new Date());
144
- return from_api.filter((p) => isRoot || !p.has_auth);
145
- } catch (e) {
146
- console.error(e);
147
- if (stored)
148
- return stored
149
- .map((p) => new Plugin(p))
150
- .filter((p) => isRoot || !p.has_auth);
151
- else throw e;
152
- }
153
- } else
154
- return stored
155
- .map((p) => new Plugin(p))
156
- .filter((p) => isRoot || !p.has_auth);
157
- }
158
-
159
- /**
160
- *
161
- * @returns {Promise<*>}
162
- */
163
- static async store_plugins_available_from_store() {
164
- //console.log("fetch plugins");
165
- // TODO support of other store URLs
166
- const response = await fetch("http://store.saltcorn.com/api/extensions");
167
- const json = await response.json();
168
- return json.success.map((p) => new Plugin(p));
169
- }
170
-
171
- /**
172
- *
173
- * @param name
174
- * @returns {Promise<null|Plugin>}
175
- */
176
- static async store_by_name(name) {
177
- // TODO support of other store URLs
178
- const response = await fetch(
179
- "http://store.saltcorn.com/api/extensions?name=" +
180
- encodeURIComponent(name)
181
- );
182
- const json = await response.json();
183
- if (json.success.length == 1)
184
- return new Plugin({ version: "latest", ...json.success[0] });
185
- else return null;
186
- }
187
- }
188
-
189
- Plugin.contract = {
190
- variables: {
191
- id: is.maybe(is.posint),
192
- location: is.str,
193
- name: is.str,
194
- version: is.maybe(is.str),
195
- documentation_link: is.maybe(is.str),
196
- configuration: is.maybe(is.obj()),
197
- source: is.one_of(["npm", "github", "local", "git"]),
198
- },
199
- methods: {
200
- upsert: is.fun([], is.promise(is.eq(undefined))),
201
- delete: is.fun([], is.promise(is.eq(undefined))),
202
- dependant_views: is.fun([], is.promise(is.array(is.str))),
203
- },
204
- static_methods: {
205
- find: is.fun(is.maybe(is.obj()), is.promise(is.array(is.class("Plugin")))),
206
- findOne: is.fun(is.obj(), is.promise(is.maybe(is.class("Plugin")))),
207
- store_by_name: is.fun(is.str, is.promise(is.maybe(is.class("Plugin")))),
208
- store_plugins_available_from_store: is.fun(
209
- [],
210
- is.promise(is.array(is.class("Plugin")))
211
- ),
212
- store_plugins_available: is.fun(
213
- [],
214
- is.promise(is.array(is.class("Plugin")))
215
- ),
216
- },
217
- };
218
-
219
- module.exports = Plugin;
package/models/random.js DELETED
@@ -1,206 +0,0 @@
1
- /**
2
- * View Database Access Layer
3
- * @category saltcorn-data
4
- * @module models/random
5
- * @subcategory models
6
- */
7
- const View = require("./view");
8
- const Field = require("./field");
9
- const Table = require("./table");
10
- const { getState } = require("../db/state");
11
- const { generate_attributes } = require("../plugin-testing");
12
- const { initial_config_all_fields } = require("../plugin-helper");
13
- const { contract, is } = require("contractis");
14
- const db = require("../db");
15
-
16
- /**
17
- * @param {object} [opts = {}]
18
- * @returns {Promise<Table>}
19
- */
20
- const random_table = async (opts = {}) => {
21
- const name = is
22
- .and(
23
- is.sat((s) => db.sqlsanitize(s).length > 2),
24
- is.str
25
- )
26
- .generate();
27
- const table = await Table.create(name);
28
- if (Math.random() < 0.3 && !opts.force_int_pk && !db.isSQLite) {
29
- const [pk] = await table.getFields();
30
- await pk.update({ type: "UUID" });
31
- table.fields = null;
32
- }
33
- //fields
34
- const nfields = is.integer({ gte: 2, lte: 10 }).generate();
35
- const existing_field_names = ["id"];
36
- for (let index = 0; index < nfields; index++) {
37
- const field = await random_field(existing_field_names, table);
38
- existing_field_names.push(field.label);
39
-
40
- await Field.create(field);
41
- }
42
- //fill rows
43
- for (let index = 0; index < 20; index++) {
44
- await fill_table_row(table);
45
- }
46
- const fields = await table.getFields();
47
- const userFields = fields.filter((f) => f.reftable_name === "users");
48
- if (userFields.length > 0 && Math.random() > 0.5)
49
- await table.update({ ownership_field_id: userFields[0].id });
50
-
51
- return table;
52
- };
53
-
54
- /**
55
- * @param {Table} table
56
- * @returns {Promise<*>}
57
- */
58
- const fill_table_row = async (table) => {
59
- const fields = await table.getFields();
60
- const row = {};
61
- for (const f of fields) {
62
- if (!f.calculated && (f.required || is.bool.generate()) && !f.primary_key)
63
- row[f.name] = await f.generate();
64
- }
65
- //console.log(fields, row);
66
- await table.tryInsertRow(row);
67
- };
68
-
69
- /**
70
- * @param {string} type
71
- * @param {string[]} existing_fields
72
- * @throws {Error}
73
- * @returns {string}
74
- */
75
- const random_expression = (type, existing_fields) => {
76
- const numField = existing_fields.find((f) =>
77
- ["Integer", "Float"].includes(f.type)
78
- );
79
- switch (type) {
80
- case "Bool":
81
- if (numField) return `${numField.name}>0`;
82
- else return is.one_of(["true", "false"]).generate();
83
- case "Float":
84
- if (numField) return `${numField.name}+1.5`;
85
- else return "1.3";
86
- case "Integer":
87
- if (numField) return `${numField.name}+3`;
88
- else return "7";
89
- default:
90
- throw new Error("random_expression: unknown type " + type);
91
- }
92
- };
93
-
94
- /**
95
- * @param {string[]} existing_field_names
96
- * @param {Table} table
97
- * @returns {Promise<Field>}
98
- */
99
- const random_field = async (existing_field_names, table) => {
100
- const tables = await Table.find({});
101
- const tables_with_data = [];
102
- for (const t of tables) {
103
- const n = await t.countRows();
104
- if (n > 0) tables_with_data.push(t);
105
- }
106
- const fkey_opts = [
107
- ...tables_with_data.map((t) => `Key to ${t.name}`),
108
- "Key to users",
109
- "File",
110
- ];
111
- const type_options = getState().type_names.concat(fkey_opts || []);
112
- const label = is
113
- .and(
114
- is.sat(
115
- (s) =>
116
- s.length > 2 && !existing_field_names.includes(Field.labelToName(s))
117
- ),
118
- is.str
119
- )
120
- .generate();
121
-
122
- const type = is.one_of(type_options).generate();
123
-
124
- if (Math.random() < 0.2 && ["Integer", "Float", "Bool"].includes(type)) {
125
- const stored = Math.random() < 0.5;
126
- const existing_fields = await Field.find(
127
- {
128
- table_id: table.id,
129
- calculated: false,
130
- },
131
- {
132
- orderBy: "RANDOM()",
133
- }
134
- );
135
- const expression = random_expression(type, existing_fields);
136
- const f = new Field({ type, label, calculated: true, stored, expression });
137
- f.table_id = table.id;
138
- return f;
139
- }
140
-
141
- const f = new Field({ type, label });
142
- f.table_id = table.id;
143
- if (f.type.attributes)
144
- f.attributes = generate_attributes(
145
- f.type.attributes,
146
- f.type.validate_attributes,
147
- table.id
148
- );
149
- if (f.is_fkey) {
150
- if (f.reftable_name === "users") {
151
- f.attributes.summary_field = "email";
152
- } else if (f.reftable_name === "_sc_files") {
153
- f.attributes.summary_field = "email";
154
- } else {
155
- const reftable = await Table.findOne({ name: f.reftable_name });
156
- const reffields = (await reftable.getFields()).filter(
157
- (f) => !f.calculated || f.stored
158
- );
159
- if (reffields.length > 0) {
160
- const reff = is.one_of(reffields).generate();
161
- f.attributes.summary_field = reff.name;
162
- } else {
163
- f.attributes.summary_field = "id";
164
- }
165
- }
166
- }
167
- // unique?
168
- if (Math.random() < 0.25 && type !== "Bool") f.is_unique = true;
169
- // required?
170
- if (is.bool.generate()) f.required = true;
171
- return f;
172
- };
173
-
174
- /**
175
- * @param {Table} table
176
- * @param {string} viewtemplate
177
- * @returns {Promise<View>}
178
- */
179
- const initial_view = async (table, viewtemplate) => {
180
- const configuration = await initial_config_all_fields(
181
- viewtemplate === "Edit"
182
- )({ table_id: table.id });
183
- //console.log(configuration);
184
- const name = is.str.generate();
185
- const view = await View.create({
186
- name,
187
- configuration,
188
- viewtemplate,
189
- table_id: table.id,
190
- min_role: 10,
191
- });
192
- return view;
193
- };
194
-
195
- /**
196
- * @param {Table} table
197
- * @returns {Promise<object[]>}
198
- */
199
- const all_views = async (table) => {
200
- const list = await initial_view(table, "List");
201
- const edit = await initial_view(table, "Edit");
202
- const show = await initial_view(table, "Show");
203
- return { list, show, edit };
204
- };
205
-
206
- module.exports = { random_table, fill_table_row, initial_view, all_views };