@saltcorn/server 1.1.4-beta.7 → 1.1.4-beta.9

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 (386) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/auth/resetpw.js +1 -1
  3. package/auth/roleadmin.js +1 -4
  4. package/auth/routes.js +33 -1
  5. package/docs/classes/_saltcorn_common_code.Relation.html +8 -8
  6. package/docs/classes/_saltcorn_common_code.RelationsFinder.html +5 -5
  7. package/docs/classes/_saltcorn_data.models.Crash-1.html +18 -18
  8. package/docs/classes/_saltcorn_data.models.EventLog-1.html +19 -19
  9. package/docs/classes/_saltcorn_data.models.Field.html +71 -71
  10. package/docs/classes/_saltcorn_data.models.FieldRepeat-1.html +17 -17
  11. package/docs/classes/_saltcorn_data.models.File-1.html +48 -48
  12. package/docs/classes/_saltcorn_data.models.Form-1.html +38 -38
  13. package/docs/classes/_saltcorn_data.models.Library.html +13 -13
  14. package/docs/classes/_saltcorn_data.models.Page.html +24 -24
  15. package/docs/classes/_saltcorn_data.models.PageGroup-1.html +25 -25
  16. package/docs/classes/_saltcorn_data.models.Plugin.html +25 -25
  17. package/docs/classes/_saltcorn_data.models.Role.html +9 -9
  18. package/docs/classes/_saltcorn_data.models.Table-1.html +92 -92
  19. package/docs/classes/_saltcorn_data.models.TableConstraint-1.html +14 -14
  20. package/docs/classes/_saltcorn_data.models.Trigger.html +36 -36
  21. package/docs/classes/_saltcorn_data.models.User-1.html +48 -48
  22. package/docs/classes/_saltcorn_data.models.View-1.html +52 -52
  23. package/docs/classes/_saltcorn_data.models.Workflow-1.html +17 -17
  24. package/docs/classes/_saltcorn_data.models.WorkflowRun.html +35 -35
  25. package/docs/classes/_saltcorn_data.models.WorkflowStep.html +25 -25
  26. package/docs/classes/_saltcorn_data.models.WorkflowTrace.html +18 -18
  27. package/docs/classes/_saltcorn_mobile_builder.MobileBuilder.html +36 -36
  28. package/docs/enums/_saltcorn_common_code.RelationType.html +7 -7
  29. package/docs/enums/_saltcorn_common_code.ViewDisplayType.html +4 -4
  30. package/docs/functions/_saltcorn_admin_models.backup.create_backup.html +1 -1
  31. package/docs/functions/_saltcorn_admin_models.backup.create_csv_from_rows.html +1 -1
  32. package/docs/functions/_saltcorn_admin_models.backup.restore.html +1 -1
  33. package/docs/functions/_saltcorn_admin_models.pack.add_to_menu.html +1 -1
  34. package/docs/functions/_saltcorn_admin_models.pack.can_install_pack.html +1 -1
  35. package/docs/functions/_saltcorn_admin_models.pack.fetch_available_packs.html +1 -1
  36. package/docs/functions/_saltcorn_admin_models.pack.fetch_pack_by_name.html +1 -1
  37. package/docs/functions/_saltcorn_admin_models.pack.install_pack.html +1 -1
  38. package/docs/functions/_saltcorn_admin_models.pack.library_pack.html +1 -1
  39. package/docs/functions/_saltcorn_admin_models.pack.model_instance_pack.html +1 -1
  40. package/docs/functions/_saltcorn_admin_models.pack.model_pack.html +1 -1
  41. package/docs/functions/_saltcorn_admin_models.pack.page_group_pack.html +1 -1
  42. package/docs/functions/_saltcorn_admin_models.pack.page_pack.html +1 -1
  43. package/docs/functions/_saltcorn_admin_models.pack.plugin_pack.html +1 -1
  44. package/docs/functions/_saltcorn_admin_models.pack.role_pack.html +1 -1
  45. package/docs/functions/_saltcorn_admin_models.pack.table_pack.html +1 -1
  46. package/docs/functions/_saltcorn_admin_models.pack.trigger_pack.html +1 -1
  47. package/docs/functions/_saltcorn_admin_models.pack.uninstall_pack.html +1 -1
  48. package/docs/functions/_saltcorn_admin_models.pack.view_pack.html +1 -1
  49. package/docs/functions/_saltcorn_admin_models.tenant.copy_tenant_template.html +1 -1
  50. package/docs/functions/_saltcorn_admin_models.tenant.create_tenant.html +1 -1
  51. package/docs/functions/_saltcorn_admin_models.tenant.deleteTenant.html +1 -1
  52. package/docs/functions/_saltcorn_admin_models.tenant.domain_sanitize.html +1 -1
  53. package/docs/functions/_saltcorn_admin_models.tenant.eachTenant.html +1 -1
  54. package/docs/functions/_saltcorn_admin_models.tenant.getAllTenantRows.html +1 -1
  55. package/docs/functions/_saltcorn_admin_models.tenant.getAllTenants.html +1 -1
  56. package/docs/functions/_saltcorn_admin_models.tenant.insertTenant.html +1 -1
  57. package/docs/functions/_saltcorn_admin_models.tenant.switchToTenant.html +1 -1
  58. package/docs/functions/_saltcorn_common_code.buildTableCaches.html +1 -1
  59. package/docs/functions/_saltcorn_common_code.parseLegacyRelation.html +1 -1
  60. package/docs/functions/_saltcorn_common_code.parseRelationPath.html +1 -1
  61. package/docs/functions/_saltcorn_data.models.config.check_email_mask.html +1 -1
  62. package/docs/functions/_saltcorn_data.models.config.deleteConfig.html +1 -1
  63. package/docs/functions/_saltcorn_data.models.config.getAllConfig.html +1 -1
  64. package/docs/functions/_saltcorn_data.models.config.getConfig.html +1 -1
  65. package/docs/functions/_saltcorn_data.models.config.get_base_url.html +1 -1
  66. package/docs/functions/_saltcorn_data.models.config.get_latest_npm_version.html +1 -1
  67. package/docs/functions/_saltcorn_data.models.config.remove_from_menu.html +1 -1
  68. package/docs/functions/_saltcorn_data.models.config.save_menu_items.html +1 -1
  69. package/docs/functions/_saltcorn_data.models.config.setConfig.html +1 -1
  70. package/docs/functions/_saltcorn_data.models.discovery.discover_tables.html +1 -1
  71. package/docs/functions/_saltcorn_data.models.discovery.discoverable_tables.html +1 -1
  72. package/docs/functions/_saltcorn_data.models.discovery.findType.html +1 -1
  73. package/docs/functions/_saltcorn_data.models.discovery.get_existing_views.html +1 -1
  74. package/docs/functions/_saltcorn_data.models.discovery.implement_discovery.html +1 -1
  75. package/docs/functions/_saltcorn_data.models.email.getMailTransport.html +3 -3
  76. package/docs/functions/_saltcorn_data.models.email.send_verification_email.html +1 -1
  77. package/docs/functions/_saltcorn_data.models.email.viewToEmailHtml.html +1 -1
  78. package/docs/functions/_saltcorn_data.models.expression.apply_calculated_fields.html +1 -1
  79. package/docs/functions/_saltcorn_data.models.expression.apply_calculated_fields_stored.html +1 -1
  80. package/docs/functions/_saltcorn_data.models.expression.eval_expression.html +1 -1
  81. package/docs/functions/_saltcorn_data.models.expression.expressionValidator.html +1 -1
  82. package/docs/functions/_saltcorn_data.models.expression.get_async_expression_function.html +1 -1
  83. package/docs/functions/_saltcorn_data.models.expression.get_expression_function.html +1 -1
  84. package/docs/functions/_saltcorn_data.models.expression.jsexprToWhere.html +1 -1
  85. package/docs/functions/_saltcorn_data.models.expression.recalculate_for_stored.html +1 -1
  86. package/docs/functions/_saltcorn_data.models.expression.transform_for_async.html +1 -1
  87. package/docs/functions/_saltcorn_data.models.layout.eachView.html +1 -1
  88. package/docs/functions/_saltcorn_data.models.layout.getStringsForI18n.html +1 -1
  89. package/docs/functions/_saltcorn_data.models.layout.getViews.html +1 -1
  90. package/docs/functions/_saltcorn_data.models.layout.translateLayout.html +1 -1
  91. package/docs/functions/_saltcorn_data.models.layout.traverse.html +1 -1
  92. package/docs/functions/_saltcorn_data.models.layout.traverseSync.html +1 -1
  93. package/docs/functions/_saltcorn_data.models.random.all_views.html +1 -1
  94. package/docs/functions/_saltcorn_data.models.random.fill_table_row.html +1 -1
  95. package/docs/functions/_saltcorn_data.models.random.initial_view.html +1 -1
  96. package/docs/functions/_saltcorn_data.models.random.random_table.html +1 -1
  97. package/docs/functions/_saltcorn_db_common.buildInsertBulkSql.html +1 -1
  98. package/docs/functions/_saltcorn_db_common.buildInsertSql.html +1 -1
  99. package/docs/functions/_saltcorn_db_common.doCount.html +1 -1
  100. package/docs/functions/_saltcorn_db_common.doDeleteWhere.html +1 -1
  101. package/docs/functions/_saltcorn_db_common.doListScTables.html +1 -1
  102. package/docs/functions/_saltcorn_db_common.doListTables.html +1 -1
  103. package/docs/functions/_saltcorn_db_common.doListUserDefinedTables.html +1 -1
  104. package/docs/functions/_saltcorn_db_common.do_add_index.html +1 -1
  105. package/docs/functions/_saltcorn_db_common.do_drop_index.html +1 -1
  106. package/docs/functions/_saltcorn_db_common.ftsFieldsSqlExpr.html +1 -1
  107. package/docs/functions/_saltcorn_db_common.mkSelectOptions.html +1 -1
  108. package/docs/functions/_saltcorn_db_common.mkVal.html +1 -1
  109. package/docs/functions/_saltcorn_db_common.mkWhere.html +1 -1
  110. package/docs/functions/_saltcorn_db_common.multi_tenant.enable_multi_tenant.html +1 -1
  111. package/docs/functions/_saltcorn_db_common.multi_tenant.getRequestContext.html +1 -1
  112. package/docs/functions/_saltcorn_db_common.multi_tenant.getTenantSchema.html +1 -1
  113. package/docs/functions/_saltcorn_db_common.multi_tenant.init.html +1 -1
  114. package/docs/functions/_saltcorn_db_common.multi_tenant.is_it_multi_tenant.html +1 -1
  115. package/docs/functions/_saltcorn_db_common.multi_tenant.runWithTenant.html +1 -1
  116. package/docs/functions/_saltcorn_db_common.orderByIsObject.html +1 -1
  117. package/docs/functions/_saltcorn_db_common.orderByIsOperator.html +1 -1
  118. package/docs/functions/_saltcorn_db_common.prefixFieldsInWhere.html +1 -1
  119. package/docs/functions/_saltcorn_db_common.reprAsJson.html +1 -1
  120. package/docs/functions/_saltcorn_db_common.sqlBinOp.html +1 -1
  121. package/docs/functions/_saltcorn_db_common.sqlFun.html +1 -1
  122. package/docs/functions/_saltcorn_db_common.sqlsanitize.html +1 -1
  123. package/docs/functions/_saltcorn_db_common.sqlsanitizeAllowDots.html +1 -1
  124. package/docs/functions/_saltcorn_db_common.subSelectWhere.html +1 -1
  125. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.androidFeatures.html +1 -1
  126. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.androidPermissions.html +1 -1
  127. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.buildTablesFile.html +1 -1
  128. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.copyPrepopulatedDb.html +1 -1
  129. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.copyServerFiles.html +1 -1
  130. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.copyShareExtFiles.html +1 -1
  131. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.copySiteLogo.html +1 -1
  132. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.copyTranslationFiles.html +1 -1
  133. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.createSqliteDb.html +1 -1
  134. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.decodeProvisioningProfile.html +1 -1
  135. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.extractDomain.html +1 -1
  136. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.generateAndroidVersionCode.html +1 -1
  137. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.modifyAndroidManifest.html +1 -1
  138. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.modifyConfigXml.html +1 -1
  139. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.modifyGradleConfig.html +1 -1
  140. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.modifyInfoPlist.html +1 -1
  141. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.modifyXcodeProjectFile.html +1 -1
  142. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepAppIcon.html +1 -1
  143. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepareAppIcon.html +1 -1
  144. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepareBuildDir.html +1 -1
  145. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepareExportOptionsPlist.html +1 -1
  146. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepareSplashIcon.html +1 -1
  147. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.prepareSplashPage.html +1 -1
  148. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writeCapacitorConfig.html +1 -1
  149. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writeCfgFile.html +1 -1
  150. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writeDataExtractionRules.html +1 -1
  151. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writeNetworkSecurityConfig.html +1 -1
  152. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writePodfile.html +1 -1
  153. package/docs/functions/_saltcorn_mobile_builder.common_build_utils.writePrivacyInfo.html +1 -1
  154. package/docs/functions/_saltcorn_mobile_builder.package_bundle_utils.bundleMobileAppCode.html +1 -1
  155. package/docs/functions/_saltcorn_mobile_builder.package_bundle_utils.bundlePackagesAndPlugins.html +1 -1
  156. package/docs/functions/_saltcorn_mobile_builder.package_bundle_utils.copyMobileAppDirs.html +1 -1
  157. package/docs/functions/_saltcorn_mobile_builder.package_bundle_utils.copyPublicDirs.html +1 -1
  158. package/docs/functions/_saltcorn_sqlite.add_index.html +1 -1
  159. package/docs/functions/_saltcorn_sqlite.add_unique_constraint.html +1 -1
  160. package/docs/functions/_saltcorn_sqlite.begin.html +1 -1
  161. package/docs/functions/_saltcorn_sqlite.changeConnection.html +1 -1
  162. package/docs/functions/_saltcorn_sqlite.close.html +1 -1
  163. package/docs/functions/_saltcorn_sqlite.commit.html +1 -1
  164. package/docs/functions/_saltcorn_sqlite.count.html +1 -1
  165. package/docs/functions/_saltcorn_sqlite.deleteWhere.html +1 -1
  166. package/docs/functions/_saltcorn_sqlite.dropTable.html +1 -1
  167. package/docs/functions/_saltcorn_sqlite.dropTables.html +1 -1
  168. package/docs/functions/_saltcorn_sqlite.drop_index.html +1 -1
  169. package/docs/functions/_saltcorn_sqlite.drop_reset_schema.html +1 -1
  170. package/docs/functions/_saltcorn_sqlite.drop_unique_constraint.html +1 -1
  171. package/docs/functions/_saltcorn_sqlite.getVersion.html +1 -1
  172. package/docs/functions/_saltcorn_sqlite.get_db_filepath.html +1 -1
  173. package/docs/functions/_saltcorn_sqlite.get_sql_logging.html +1 -1
  174. package/docs/functions/_saltcorn_sqlite.init.html +1 -1
  175. package/docs/functions/_saltcorn_sqlite.insert.html +1 -1
  176. package/docs/functions/_saltcorn_sqlite.listScTables.html +1 -1
  177. package/docs/functions/_saltcorn_sqlite.listTables.html +1 -1
  178. package/docs/functions/_saltcorn_sqlite.listUserDefinedTables.html +1 -1
  179. package/docs/functions/_saltcorn_sqlite.query.html +1 -1
  180. package/docs/functions/_saltcorn_sqlite.rollback.html +1 -1
  181. package/docs/functions/_saltcorn_sqlite.select.html +1 -1
  182. package/docs/functions/_saltcorn_sqlite.selectMaybeOne.html +1 -1
  183. package/docs/functions/_saltcorn_sqlite.selectOne.html +1 -1
  184. package/docs/functions/_saltcorn_sqlite.set_sql_logging.html +1 -1
  185. package/docs/functions/_saltcorn_sqlite.slugify.html +1 -1
  186. package/docs/functions/_saltcorn_sqlite.sql_log.html +1 -1
  187. package/docs/functions/_saltcorn_sqlite.tryCatchInTransaction.html +1 -1
  188. package/docs/functions/_saltcorn_sqlite.update.html +1 -1
  189. package/docs/functions/_saltcorn_sqlite.updateWhere.html +1 -1
  190. package/docs/functions/_saltcorn_sqlite.withTransaction.html +1 -1
  191. package/docs/functions/_saltcorn_sqlite_mobile.add_index.html +1 -1
  192. package/docs/functions/_saltcorn_sqlite_mobile.add_unique_constraint.html +1 -1
  193. package/docs/functions/_saltcorn_sqlite_mobile.count.html +1 -1
  194. package/docs/functions/_saltcorn_sqlite_mobile.deleteWhere.html +1 -1
  195. package/docs/functions/_saltcorn_sqlite_mobile.drop_index.html +1 -1
  196. package/docs/functions/_saltcorn_sqlite_mobile.drop_reset_schema.html +1 -1
  197. package/docs/functions/_saltcorn_sqlite_mobile.drop_unique_constraint.html +1 -1
  198. package/docs/functions/_saltcorn_sqlite_mobile.init.html +1 -1
  199. package/docs/functions/_saltcorn_sqlite_mobile.insert.html +1 -1
  200. package/docs/functions/_saltcorn_sqlite_mobile.insertRows.html +1 -1
  201. package/docs/functions/_saltcorn_sqlite_mobile.listScTables.html +1 -1
  202. package/docs/functions/_saltcorn_sqlite_mobile.listTables.html +1 -1
  203. package/docs/functions/_saltcorn_sqlite_mobile.listUserDefinedTables.html +1 -1
  204. package/docs/functions/_saltcorn_sqlite_mobile.query.html +1 -1
  205. package/docs/functions/_saltcorn_sqlite_mobile.select.html +1 -1
  206. package/docs/functions/_saltcorn_sqlite_mobile.selectMaybeOne.html +1 -1
  207. package/docs/functions/_saltcorn_sqlite_mobile.selectOne.html +1 -1
  208. package/docs/functions/_saltcorn_sqlite_mobile.setConnectionObject.html +1 -1
  209. package/docs/functions/_saltcorn_sqlite_mobile.tableExists.html +1 -1
  210. package/docs/functions/_saltcorn_sqlite_mobile.time.html +1 -1
  211. package/docs/functions/_saltcorn_sqlite_mobile.update.html +1 -1
  212. package/docs/functions/_saltcorn_types.ModelAbstracts.abstract_field.instanceOfField.html +1 -1
  213. package/docs/functions/_saltcorn_types.ModelAbstracts.abstract_page.instanceOfPage.html +1 -1
  214. package/docs/functions/_saltcorn_types.ModelAbstracts.abstract_view.instanceOfView.html +1 -1
  215. package/docs/functions/_saltcorn_types.Types.base_types.instanceOWithHtmlFile.html +1 -1
  216. package/docs/functions/_saltcorn_types.Types.common_types.instanceOfErrorMsg.html +1 -1
  217. package/docs/functions/_saltcorn_types.Types.common_types.instanceOfSuccessMsg.html +1 -1
  218. package/docs/functions/_saltcorn_types.Types.common_types.instanceOfType.html +1 -1
  219. package/docs/functions/_saltcorn_types.generators.generateBool.html +1 -1
  220. package/docs/functions/_saltcorn_types.generators.generateString.html +1 -1
  221. package/docs/functions/_saltcorn_types.generators.num_between.html +1 -1
  222. package/docs/functions/_saltcorn_types.generators.oneOf.html +1 -1
  223. package/docs/interfaces/_saltcorn_mobile_builder.common_build_utils.ScCapacitorConfig.html +10 -10
  224. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_field.AbstractField.html +14 -14
  225. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_field.AbstractFieldRepeat.html +3 -3
  226. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_form.AbstractForm.html +26 -26
  227. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_page.AbstractPage.html +7 -7
  228. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_role.AbstractRole.html +3 -3
  229. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_table.AbstractTable.html +7 -7
  230. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_trigger.AbstractTrigger.html +16 -16
  231. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_view.AbstractView.html +10 -10
  232. package/docs/interfaces/_saltcorn_types.ModelAbstracts.abstract_workflow.AbstractWorkflow.html +13 -13
  233. package/docs/modules/_saltcorn_admin_models.backup.html +1 -1
  234. package/docs/modules/_saltcorn_admin_models.html +1 -1
  235. package/docs/modules/_saltcorn_admin_models.pack.html +1 -1
  236. package/docs/modules/_saltcorn_admin_models.tenant.html +1 -1
  237. package/docs/modules/_saltcorn_common_code.html +1 -1
  238. package/docs/modules/_saltcorn_data.html +3 -3
  239. package/docs/modules/_saltcorn_data.models.Crash.html +2 -2
  240. package/docs/modules/_saltcorn_data.models.EventLog.html +2 -2
  241. package/docs/modules/_saltcorn_data.models.FieldRepeat.html +2 -2
  242. package/docs/modules/_saltcorn_data.models.File.html +2 -2
  243. package/docs/modules/_saltcorn_data.models.Form.html +2 -2
  244. package/docs/modules/_saltcorn_data.models.PageGroup.html +2 -2
  245. package/docs/modules/_saltcorn_data.models.Table.html +2 -2
  246. package/docs/modules/_saltcorn_data.models.TableConstraint.html +2 -2
  247. package/docs/modules/_saltcorn_data.models.User.html +2 -2
  248. package/docs/modules/_saltcorn_data.models.View.html +2 -2
  249. package/docs/modules/_saltcorn_data.models.Workflow.html +2 -2
  250. package/docs/modules/_saltcorn_data.models.config.html +1 -1
  251. package/docs/modules/_saltcorn_data.models.discovery.html +1 -1
  252. package/docs/modules/_saltcorn_data.models.email.html +1 -1
  253. package/docs/modules/_saltcorn_data.models.expression.html +1 -1
  254. package/docs/modules/_saltcorn_data.models.html +1 -1
  255. package/docs/modules/_saltcorn_data.models.layout.html +1 -1
  256. package/docs/modules/_saltcorn_data.models.random.html +1 -1
  257. package/docs/modules/_saltcorn_data.models.scheduler.html +1 -1
  258. package/docs/modules/_saltcorn_data.plugin_helper.html +1 -1
  259. package/docs/modules/_saltcorn_data.utils.html +1 -1
  260. package/docs/modules/_saltcorn_db_common.html +2 -2
  261. package/docs/modules/_saltcorn_db_common.multi_tenant.html +1 -1
  262. package/docs/modules/_saltcorn_markup.html +2 -2
  263. package/docs/modules/_saltcorn_mobile_builder.common_build_utils.html +1 -1
  264. package/docs/modules/_saltcorn_mobile_builder.html +1 -1
  265. package/docs/modules/_saltcorn_mobile_builder.package_bundle_utils.html +1 -1
  266. package/docs/modules/_saltcorn_sqlite.html +1 -1
  267. package/docs/modules/_saltcorn_sqlite_mobile.html +1 -1
  268. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_field.html +1 -1
  269. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_form.html +1 -1
  270. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_library.html +1 -1
  271. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_page.html +1 -1
  272. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_plugin.html +1 -1
  273. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_role.html +1 -1
  274. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_table.html +1 -1
  275. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_trigger.html +1 -1
  276. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_view.html +1 -1
  277. package/docs/modules/_saltcorn_types.ModelAbstracts.abstract_workflow.html +1 -1
  278. package/docs/modules/_saltcorn_types.ModelAbstracts.html +1 -1
  279. package/docs/modules/_saltcorn_types.Types.base_types.html +1 -1
  280. package/docs/modules/_saltcorn_types.Types.common_types.html +1 -1
  281. package/docs/modules/_saltcorn_types.Types.html +1 -1
  282. package/docs/modules/_saltcorn_types.generators.html +1 -1
  283. package/docs/modules/_saltcorn_types.html +1 -1
  284. package/docs/types/_saltcorn_data.models.Crash.CrashCfg.html +1 -1
  285. package/docs/types/_saltcorn_data.models.EventLog.EventLogCfg.html +1 -1
  286. package/docs/types/_saltcorn_data.models.FieldRepeat.FieldRepeatCfg.html +1 -1
  287. package/docs/types/_saltcorn_data.models.File.FileCfg.html +1 -1
  288. package/docs/types/_saltcorn_data.models.Form.AdditionalButton.html +1 -1
  289. package/docs/types/_saltcorn_data.models.Form.FormCfg.html +1 -1
  290. package/docs/types/_saltcorn_data.models.PageGroup.ScreenInfoParams.html +1 -1
  291. package/docs/types/_saltcorn_data.models.Table.ChildRelations.html +1 -1
  292. package/docs/types/_saltcorn_data.models.Table.ParentRelations.html +1 -1
  293. package/docs/types/_saltcorn_data.models.Table.RelationData.html +1 -1
  294. package/docs/types/_saltcorn_data.models.TableConstraint.TableConstraintCfg.html +1 -1
  295. package/docs/types/_saltcorn_data.models.User.UserCfg.html +1 -1
  296. package/docs/types/_saltcorn_data.models.View.FindViewsPred.html +1 -1
  297. package/docs/types/_saltcorn_data.models.Workflow.WorkflowCfg.html +1 -1
  298. package/docs/types/_saltcorn_db_common.AggregationOptions.html +1 -1
  299. package/docs/types/_saltcorn_db_common.CoordOpts.html +1 -1
  300. package/docs/types/_saltcorn_db_common.DatabaseClient.html +1 -1
  301. package/docs/types/_saltcorn_db_common.JoinField.html +1 -1
  302. package/docs/types/_saltcorn_db_common.JoinFields.html +1 -1
  303. package/docs/types/_saltcorn_db_common.JoinOptions.html +1 -1
  304. package/docs/types/_saltcorn_db_common.JsonPath.html +1 -1
  305. package/docs/types/_saltcorn_db_common.JsonPathElem.html +1 -1
  306. package/docs/types/_saltcorn_db_common.Operator.html +1 -1
  307. package/docs/types/_saltcorn_db_common.PrimaryKeyValue.html +1 -1
  308. package/docs/types/_saltcorn_db_common.Row.html +1 -1
  309. package/docs/types/_saltcorn_db_common.SelectOptions.html +1 -1
  310. package/docs/types/_saltcorn_db_common.SqlAndValues.html +1 -1
  311. package/docs/types/_saltcorn_db_common.SubselectOptions.html +1 -1
  312. package/docs/types/_saltcorn_db_common.Value.html +1 -1
  313. package/docs/types/_saltcorn_db_common.Where.html +1 -1
  314. package/docs/types/_saltcorn_mobile_builder.IosCfg.html +1 -1
  315. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_field.FieldCfg.html +1 -1
  316. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_field.InputType.html +1 -1
  317. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_form.AdditionalButton.html +1 -1
  318. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_library.LibraryCfg.html +1 -1
  319. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_library.LibraryPack.html +1 -1
  320. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_page.PageCfg.html +1 -1
  321. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_page.PagePack.html +1 -1
  322. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_plugin.PluginCfg.html +1 -1
  323. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_plugin.PluginPack.html +1 -1
  324. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_role.RoleCfg.html +1 -1
  325. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_role.RolePack.html +1 -1
  326. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_table.TableCfg.html +1 -1
  327. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_table.TablePack.html +1 -1
  328. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_trigger.TriggerCfg.html +1 -1
  329. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_trigger.TriggerPack.html +1 -1
  330. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_view.ViewCfg.html +1 -1
  331. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_view.ViewPack.html +1 -1
  332. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_workflow.ConfigWorkflowStep.html +1 -1
  333. package/docs/types/_saltcorn_types.ModelAbstracts.abstract_workflow.RunResult.html +1 -1
  334. package/docs/types/_saltcorn_types.Types.base_types.Action.html +1 -1
  335. package/docs/types/_saltcorn_types.Types.base_types.AuthenticationMethod.html +1 -1
  336. package/docs/types/_saltcorn_types.Types.base_types.CapacitorPlugin.html +1 -1
  337. package/docs/types/_saltcorn_types.Types.base_types.CodePagePack.html +1 -1
  338. package/docs/types/_saltcorn_types.Types.base_types.Column.html +1 -1
  339. package/docs/types/_saltcorn_types.Types.base_types.ConnectedObjects.html +1 -1
  340. package/docs/types/_saltcorn_types.Types.base_types.CopilotSkill.html +1 -1
  341. package/docs/types/_saltcorn_types.Types.base_types.FieldLike.html +1 -1
  342. package/docs/types/_saltcorn_types.Types.base_types.FieldView.html +1 -1
  343. package/docs/types/_saltcorn_types.Types.base_types.Header.html +1 -1
  344. package/docs/types/_saltcorn_types.Types.base_types.JoinFieldOption.html +1 -1
  345. package/docs/types/_saltcorn_types.Types.base_types.Layout.html +1 -1
  346. package/docs/types/_saltcorn_types.Types.base_types.MobileConfig.html +1 -1
  347. package/docs/types/_saltcorn_types.Types.base_types.ModelPattern.html +1 -1
  348. package/docs/types/_saltcorn_types.Types.base_types.Pack.html +1 -1
  349. package/docs/types/_saltcorn_types.Types.base_types.Plugin.html +1 -1
  350. package/docs/types/_saltcorn_types.Types.base_types.PluginFunction.html +1 -1
  351. package/docs/types/_saltcorn_types.Types.base_types.PluginLayout.html +1 -1
  352. package/docs/types/_saltcorn_types.Types.base_types.PluginRoute.html +1 -1
  353. package/docs/types/_saltcorn_types.Types.base_types.PluginSourceType.html +1 -1
  354. package/docs/types/_saltcorn_types.Types.base_types.PluginType.html +1 -1
  355. package/docs/types/_saltcorn_types.Types.base_types.PluginWrap.html +1 -1
  356. package/docs/types/_saltcorn_types.Types.base_types.PluginWrapArg.html +1 -1
  357. package/docs/types/_saltcorn_types.Types.base_types.RelationOption.html +1 -1
  358. package/docs/types/_saltcorn_types.Types.base_types.Req.html +1 -1
  359. package/docs/types/_saltcorn_types.Types.base_types.Res.html +1 -1
  360. package/docs/types/_saltcorn_types.Types.base_types.RouteAction.html +1 -1
  361. package/docs/types/_saltcorn_types.Types.base_types.RunExtra.html +1 -1
  362. package/docs/types/_saltcorn_types.Types.base_types.TableProvider.html +5 -5
  363. package/docs/types/_saltcorn_types.Types.base_types.TableQuery.html +1 -1
  364. package/docs/types/_saltcorn_types.Types.base_types.Tablely.html +1 -1
  365. package/docs/types/_saltcorn_types.Types.base_types.ViewTemplate.html +1 -1
  366. package/docs/types/_saltcorn_types.Types.common_types.ErrorMessage.html +1 -1
  367. package/docs/types/_saltcorn_types.Types.common_types.GenObj.html +1 -1
  368. package/docs/types/_saltcorn_types.Types.common_types.ReqRes.html +1 -1
  369. package/docs/types/_saltcorn_types.Types.common_types.ResultMessage.html +1 -1
  370. package/docs/types/_saltcorn_types.Types.common_types.SuccessMessage.html +1 -1
  371. package/docs/types/_saltcorn_types.Types.common_types.Type.html +1 -1
  372. package/docs/variables/_saltcorn_data.db.html +1 -1
  373. package/docs/variables/_saltcorn_data.migrations.html +1 -1
  374. package/docs/variables/_saltcorn_data.models.config.available_languages.html +1 -1
  375. package/docs/variables/_saltcorn_data.models.config.configTypes.html +1 -1
  376. package/docs/variables/_saltcorn_data.models.scheduler.runScheduler.html +1 -1
  377. package/docs/variables/_saltcorn_data.plugin_helper.run_action_column.html +1 -1
  378. package/docs/variables/_saltcorn_data.utils.NotAuthorized.html +1 -1
  379. package/docs/variables/_saltcorn_data.utils.sleep.html +1 -1
  380. package/docs/variables/_saltcorn_db_common.multi_tenant.tenantNamespace.html +1 -1
  381. package/package.json +9 -9
  382. package/routes/actions.js +8 -2
  383. package/routes/admin.js +106 -32
  384. package/routes/api.js +10 -4
  385. package/routes/common_lists.js +4 -1
  386. package/routes/tables.js +4 -1
package/routes/admin.js CHANGED
@@ -97,7 +97,10 @@ const {
97
97
  const packagejson = require("../package.json");
98
98
  const Form = require("@saltcorn/data/models/form");
99
99
  const { get_latest_npm_version } = require("@saltcorn/data/models/config");
100
- const { getMailTransport } = require("@saltcorn/data/models/email");
100
+ const {
101
+ getMailTransport,
102
+ getOauth2Client,
103
+ } = require("@saltcorn/data/models/email");
101
104
  const {
102
105
  getBaseDomain,
103
106
  hostname_matches_baseurl,
@@ -216,8 +219,22 @@ admin_config_route({
216
219
  flash: "Email settings updated",
217
220
  field_names: [
218
221
  "smtp_host",
219
- "smtp_username",
220
- "smtp_password",
222
+ "smtp_auth_method",
223
+ { name: "smtp_username", showIf: { smtp_auth_method: "password" } },
224
+ { name: "smtp_password", showIf: { smtp_auth_method: "password" } },
225
+ {
226
+ name: "smtp_api_option",
227
+ showIf: {
228
+ smtp_host: "outlook.office365.com",
229
+ smtp_auth_method: "oauth2",
230
+ },
231
+ },
232
+ { name: "smtp_authorize_url", showIf: { smtp_auth_method: "oauth2" } },
233
+ { name: "smtp_token_url", showIf: { smtp_auth_method: "oauth2" } },
234
+ { name: "smtp_redirect_uri", showIf: { smtp_auth_method: "oauth2" } },
235
+ { name: "smtp_client_id", showIf: { smtp_auth_method: "oauth2" } },
236
+ { name: "smtp_client_secret", showIf: { smtp_auth_method: "oauth2" } },
237
+ { name: "smtp_outh_scopes", showIf: { smtp_auth_method: "oauth2" } },
221
238
  "smtp_port",
222
239
  "smtp_secure",
223
240
  "smtp_allow_self_signed",
@@ -243,6 +260,40 @@ admin_config_route({
243
260
  },
244
261
  req.__("Send test email")
245
262
  ),
263
+ a(
264
+ {
265
+ id: "authenticate_oauth",
266
+ href: "/admin/authorize-mail-oauth",
267
+ class: "btn btn-primary ms-2",
268
+ onclick: "spin_action_link(this)",
269
+ },
270
+ req.__("Authorize")
271
+ ),
272
+ script(`
273
+ function authMethodChange(method) {
274
+ const btn = document.getElementById("authenticate_oauth");
275
+ if (method === "oauth2") {
276
+ btn.classList.remove("d-none");
277
+ btn.classList.add("d-inline");
278
+ // get
279
+ }
280
+ else {
281
+ btn.classList.add("d-none");
282
+ btn.classList.remove("d-inline");
283
+ }
284
+
285
+ }
286
+ ${domReady(`
287
+ const authMethod = document.getElementById('inputsmtp_auth_method');
288
+ if (authMethod) {
289
+ const authMethodValue = authMethod.value;
290
+ authMethodChange(authMethodValue);
291
+ authMethod.addEventListener('change', (e) => {
292
+ const authMethod = e.target.value;
293
+ authMethodChange(authMethod);
294
+ });
295
+ }`)}
296
+ `),
246
297
  ],
247
298
  },
248
299
  });
@@ -266,7 +317,7 @@ router.get(
266
317
  html: req.__("Hello from Saltcorn"),
267
318
  };
268
319
  try {
269
- const sendres = await getMailTransport().sendMail(email);
320
+ const sendres = await (await getMailTransport()).sendMail(email);
270
321
  getState().log(6, sendres);
271
322
  req.flash(
272
323
  "success",
@@ -281,6 +332,27 @@ router.get(
281
332
  })
282
333
  );
283
334
 
335
+ /**
336
+ * do the redirect to the oauth2 provider
337
+ */
338
+ router.get(
339
+ "/authorize-mail-oauth",
340
+ isAdmin,
341
+ error_catcher(async (req, res) => {
342
+ const client = getOauth2Client();
343
+ const smtpRedirectUri = getState().getConfig("smtp_redirect_uri");
344
+ const scopes = getState().getConfig("smtp_outh_scopes");
345
+ const scopeArray = scopes.split(" ").map((s) => s.trim());
346
+
347
+ // Mail.Send SMTP.Send profile openid email https://outlook.office365.com/IMAP.AccessAsUser.All
348
+ const authorizeUrl = client.authorizeURL({
349
+ redirect_uri: smtpRedirectUri,
350
+ scope: scopeArray,
351
+ });
352
+ res.redirect(authorizeUrl);
353
+ })
354
+ );
355
+
284
356
  /**
285
357
  * @name get/send-test-email
286
358
  * @function
@@ -438,8 +510,9 @@ router.get(
438
510
  {
439
511
  btnClass: "btn-outline-primary",
440
512
  klass: "backupadminbtn",
441
- //TODO not sure how to tell when backup done
442
- onClick: "spin_action_link($('.backupadminbtn'));setTimeout(()=> reset_spinners($('.backupadminbtn')), 3000)"
513
+ //TODO not sure how to tell when backup done
514
+ onClick:
515
+ "spin_action_link($('.backupadminbtn'));setTimeout(()=> reset_spinners($('.backupadminbtn')), 3000)",
443
516
  }
444
517
  )
445
518
  ),
@@ -773,12 +846,12 @@ router.post(
773
846
  is_relative_url("/" + req.query.on_done_redirect)
774
847
  ? `/${req.query.on_done_redirect}`
775
848
  : type == "codepage"
776
- ? `/admin/edit-codepage/${name}`
777
- : type === "trigger"
778
- ? `/actions`
779
- : /^[a-z]+$/g.test(type)
780
- ? `/${type}edit`
781
- : "/"
849
+ ? `/admin/edit-codepage/${name}`
850
+ : type === "trigger"
851
+ ? `/actions`
852
+ : /^[a-z]+$/g.test(type)
853
+ ? `/${type}edit`
854
+ : "/"
782
855
  );
783
856
  })
784
857
  );
@@ -1279,20 +1352,20 @@ router.get(
1279
1352
  }
1280
1353
  )
1281
1354
  : isRoot && is_latest
1282
- ? span(
1283
- { class: "badge bg-primary ms-2" },
1284
- req.__("Latest")
1285
- ) +
1286
- post_btn(
1287
- "/admin/check-for-upgrade",
1288
- req.__("Check updates"),
1289
- req.csrfToken(),
1290
- {
1291
- btnClass: "btn-primary btn-sm px-1 py-0",
1292
- formClass: "d-inline",
1293
- }
1294
- )
1295
- : "",
1355
+ ? span(
1356
+ { class: "badge bg-primary ms-2" },
1357
+ req.__("Latest")
1358
+ ) +
1359
+ post_btn(
1360
+ "/admin/check-for-upgrade",
1361
+ req.__("Check updates"),
1362
+ req.csrfToken(),
1363
+ {
1364
+ btnClass: "btn-primary btn-sm px-1 py-0",
1365
+ formClass: "d-inline",
1366
+ }
1367
+ )
1368
+ : "",
1296
1369
  isRoot &&
1297
1370
  !git_commit &&
1298
1371
  a(
@@ -2061,8 +2134,9 @@ router.get(
2061
2134
  const filename = `${moment(start).format("YYYYMMDDHHmm")}.html`;
2062
2135
  await File.new_folder("configuration_checks");
2063
2136
  const go = async () => {
2064
- const { passes, errors, pass, warnings } =
2065
- await runConfigurationCheck(req);
2137
+ const { passes, errors, pass, warnings } = await runConfigurationCheck(
2138
+ req
2139
+ );
2066
2140
  const end = new Date();
2067
2141
  const secs = Math.round((end.getTime() - start.getTime()) / 1000);
2068
2142
 
@@ -3339,8 +3413,8 @@ router.get(
3339
3413
  mode === "prepare"
3340
3414
  ? "_prepare_step"
3341
3415
  : mode === "finish"
3342
- ? "_finish_step"
3343
- : "";
3416
+ ? "_finish_step"
3417
+ : "";
3344
3418
  res.json({
3345
3419
  finished: await checkFiles(out_dir_name, [
3346
3420
  `logs${stepDesc}.txt`,
@@ -3415,8 +3489,8 @@ router.get(
3415
3489
  mode === "prepare"
3416
3490
  ? "_prepare_step"
3417
3491
  : mode === "finish"
3418
- ? "_finish_step"
3419
- : "";
3492
+ ? "_finish_step"
3493
+ : "";
3420
3494
  const resultMsg = files.find(
3421
3495
  (file) => file.filename === `logs${stepDesc}.txt`
3422
3496
  )
package/routes/api.js CHANGED
@@ -426,10 +426,16 @@ router.get(
426
426
  }
427
427
  }
428
428
  if (tabulator_pagination_format) {
429
- res.json({
430
- last_page: Math.ceil((await table.countRows()) / +tabulator_size),
431
- data: rows.map(limitFields(fields)),
432
- });
429
+ const count = await table.countRows();
430
+ if (count === null)
431
+ res.json({
432
+ data: rows.map(limitFields(fields)),
433
+ });
434
+ else
435
+ res.json({
436
+ last_page: Math.ceil(count / +tabulator_size),
437
+ data: rows.map(limitFields(fields)),
438
+ });
433
439
  } else res.json({ success: rows.map(limitFields(fields)) });
434
440
  } else {
435
441
  getState().log(3, `API get ${table.name} not authorized`);
@@ -737,7 +737,10 @@ const getTriggerList = async (
737
737
  key: (r) =>
738
738
  link(
739
739
  `/actions/testrun/${r.id}${on_done_redirect_str}`,
740
- req.__("Test run")
740
+ req.__("Test run"),
741
+ {
742
+ onclick: `press_store_button(this)`,
743
+ }
741
744
  ),
742
745
  },
743
746
  {
package/routes/tables.js CHANGED
@@ -1018,7 +1018,8 @@ router.get(
1018
1018
  // Table Data card
1019
1019
  const dataCard = div(
1020
1020
  { class: "d-flex text-center" },
1021
- div({ class: "mx-auto" }, h4(`${nrows}`), req.__("Rows")),
1021
+ nrows !== null &&
1022
+ div({ class: "mx-auto" }, h4(`${nrows}`), req.__("Rows")),
1022
1023
  div(
1023
1024
  { class: "mx-auto" },
1024
1025
  a(
@@ -1246,6 +1247,7 @@ router.post(
1246
1247
  res.redirect(`/table/new`);
1247
1248
  } else if (rest.provider_name && rest.provider_name !== "-") {
1248
1249
  const table = await Table.create(name, rest);
1250
+ await getState().refresh_tables();
1249
1251
  res.redirect(`/table/provider-cfg/${table.id}`);
1250
1252
  } else {
1251
1253
  delete rest.provider_name;
@@ -2362,6 +2364,7 @@ const get_provider_workflow = (table, req) => {
2362
2364
  workflow.onDone = async (ctx) => {
2363
2365
  const { table_id, ...configuration } = await oldOnDone(ctx);
2364
2366
  await table.update({ provider_cfg: configuration });
2367
+ await getState().refresh_tables();
2365
2368
 
2366
2369
  return {
2367
2370
  redirect: `/table/${table.id}`,