@saltcorn/server 1.6.0-beta.2 → 1.6.0-beta.4

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 (724) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/app.js +4 -1
  3. package/auth/admin.js +108 -22
  4. package/auth/routes.js +68 -1
  5. package/auth/testhelp.js +9 -19
  6. package/docs/assets/hierarchy.js +1 -1
  7. package/docs/classes/_saltcorn_admin-models.models_snapshot.Snapshot.html +2 -2
  8. package/docs/classes/_saltcorn_common-code.relations_relation.Relation.html +3 -3
  9. package/docs/classes/_saltcorn_common-code.relations_relations_finder.RelationsFinder.html +5 -5
  10. package/docs/classes/_saltcorn_data.diagram_cy_raster.CytoscapeRaster.html +4 -4
  11. package/docs/classes/_saltcorn_data.diagram_nodes_dummy_node.DummyNode.html +4 -4
  12. package/docs/classes/_saltcorn_data.diagram_nodes_node.Node.html +4 -4
  13. package/docs/classes/_saltcorn_data.diagram_nodes_page_node.PageNode.html +4 -4
  14. package/docs/classes/_saltcorn_data.diagram_nodes_table_node.TableNode.html +4 -4
  15. package/docs/classes/_saltcorn_data.diagram_nodes_trigger_node.TriggerNode.html +4 -4
  16. package/docs/classes/_saltcorn_data.diagram_nodes_view_node.ViewNode.html +4 -4
  17. package/docs/classes/_saltcorn_data.mobile-mocks_node_async_hooks.AsyncLocalStorage.html +2 -2
  18. package/docs/classes/_saltcorn_data.models_crash.Crash.html +2 -2
  19. package/docs/classes/_saltcorn_data.models_eventlog.EventLog.html +2 -2
  20. package/docs/classes/_saltcorn_data.models_field.Field.html +9 -9
  21. package/docs/classes/_saltcorn_data.models_fieldrepeat.FieldRepeat.html +2 -2
  22. package/docs/classes/_saltcorn_data.models_file.File.html +21 -21
  23. package/docs/classes/_saltcorn_data.models_form.Form.html +2 -2
  24. package/docs/classes/_saltcorn_data.models_internal_mail_queue.MailQueue.html +4 -4
  25. package/docs/classes/_saltcorn_data.models_internal_push_message_helper.PushMessageHelper.html +7 -7
  26. package/docs/classes/_saltcorn_data.models_library.Library.html +2 -2
  27. package/docs/classes/_saltcorn_data.models_model.Model.html +2 -2
  28. package/docs/classes/_saltcorn_data.models_model_instance.ModelInstance.html +2 -2
  29. package/docs/classes/_saltcorn_data.models_notification.Notification.html +2 -2
  30. package/docs/classes/_saltcorn_data.models_page.Page.html +11 -11
  31. package/docs/classes/_saltcorn_data.models_page_group.PageGroup.html +16 -16
  32. package/docs/classes/_saltcorn_data.models_page_group_member.PageGroupMember.html +8 -8
  33. package/docs/classes/_saltcorn_data.models_plugin.Plugin.html +10 -10
  34. package/docs/classes/_saltcorn_data.models_role.Role.html +2 -2
  35. package/docs/classes/_saltcorn_data.models_table.Table.html +65 -65
  36. package/docs/classes/_saltcorn_data.models_table_constraints.TableConstraint.html +2 -2
  37. package/docs/classes/_saltcorn_data.models_tag.Tag.html +2 -2
  38. package/docs/classes/_saltcorn_data.models_tag_entry.TagEntry.html +2 -2
  39. package/docs/classes/_saltcorn_data.models_trigger.Trigger.html +19 -19
  40. package/docs/classes/_saltcorn_data.models_user.User.html +32 -32
  41. package/docs/classes/_saltcorn_data.models_view.View.html +15 -15
  42. package/docs/classes/_saltcorn_data.models_workflow.Workflow.html +2 -2
  43. package/docs/classes/_saltcorn_data.models_workflow_run.WorkflowRun.html +2 -2
  44. package/docs/classes/_saltcorn_data.models_workflow_step.WorkflowStep.html +2 -2
  45. package/docs/classes/_saltcorn_data.models_workflow_trace.MetaData.html +2 -2
  46. package/docs/classes/_saltcorn_data.models_workflow_trace.WorkflowTrace.html +2 -2
  47. package/docs/classes/_saltcorn_mobile-builder.mobile-builder.MobileBuilder.html +2 -2
  48. package/docs/classes/_saltcorn_mobile-builder.utils_capacitor-helper.CapacitorHelper.html +2 -2
  49. package/docs/enums/_saltcorn_common-code.relations_relation_types.RelationType.html +2 -2
  50. package/docs/enums/_saltcorn_common-code.relations_relation_types.ViewDisplayType.html +2 -2
  51. package/docs/functions/_saltcorn_admin-models.models_config-check.runConfigurationCheck.html +1 -1
  52. package/docs/functions/_saltcorn_common-code.relations_relation_helpers.buildRelationPath.html +1 -1
  53. package/docs/functions/_saltcorn_common-code.relations_relation_helpers.buildTableCaches.html +1 -1
  54. package/docs/functions/_saltcorn_common-code.relations_relation_helpers.parseLegacyRelation.html +1 -1
  55. package/docs/functions/_saltcorn_common-code.relations_relation_helpers.parseRelationPath.html +1 -1
  56. package/docs/functions/_saltcorn_common-code.tests_test_data.fixturesData.html +1 -1
  57. package/docs/functions/_saltcorn_common-code.tests_test_data.withAnotherUserField.html +1 -1
  58. package/docs/functions/_saltcorn_common-code.tests_test_data.withKeyFromLayerThree.html +1 -1
  59. package/docs/functions/_saltcorn_common-code.tests_test_data.withKeyFromLayerTwo.html +1 -1
  60. package/docs/functions/_saltcorn_common-code.tests_test_data.withMultipleInbounds.html +1 -1
  61. package/docs/functions/_saltcorn_common-code.tests_test_data.withSecondTopicField.html +1 -1
  62. package/docs/functions/_saltcorn_common-code.tests_test_data.withSimplePostTopicrelation.html +1 -1
  63. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.action_link.html +1 -1
  64. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.action_url.html +1 -1
  65. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.fill_presets.html +1 -1
  66. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.getForm.html +1 -1
  67. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.get_view_link_query.html +1 -1
  68. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.get_viewable_fields.html +1 -1
  69. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.get_viewable_fields_from_layout.html +1 -1
  70. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.make_link.html +1 -1
  71. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.objToQueryString.html +1 -1
  72. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.parse_view_select.html +1 -1
  73. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.setDateLocales.html +1 -1
  74. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.splitUniques.html +1 -1
  75. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.standardBlockDispatch.html +1 -1
  76. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.standardLayoutRowVisitor.html +1 -1
  77. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.transformForm.html +1 -1
  78. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.updateViewSelect.html +1 -1
  79. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.view_linker.html +1 -1
  80. package/docs/functions/_saltcorn_data.db_connect_mobile.getConnectObject.html +1 -1
  81. package/docs/functions/_saltcorn_data.db_reset_schema.reset.html +1 -1
  82. package/docs/functions/_saltcorn_data.diagram_cy_generate_utils.generateCyCode.html +1 -1
  83. package/docs/functions/_saltcorn_data.diagram_cy_generate_utils.genereateCyCfg.html +1 -1
  84. package/docs/functions/_saltcorn_data.diagram_node_extract_utils.buildObjectTrees.html +1 -1
  85. package/docs/functions/_saltcorn_data.diagram_node_extract_utils.extractFromColumns.html +1 -1
  86. package/docs/functions/_saltcorn_data.diagram_node_extract_utils.extractFromLayout.html +1 -1
  87. package/docs/functions/_saltcorn_data.diagram_node_extract_utils.extractViewToCreate.html +1 -1
  88. package/docs/functions/_saltcorn_data.migrate.create_blank_migration.html +1 -1
  89. package/docs/functions/_saltcorn_data.migrate.getMigrationsInDB.html +1 -1
  90. package/docs/functions/_saltcorn_data.migrate.migrate.html +1 -1
  91. package/docs/functions/_saltcorn_data.migrations_202102091312.js.html +1 -1
  92. package/docs/functions/_saltcorn_data.migrations_202210051058.js.html +1 -1
  93. package/docs/functions/_saltcorn_data.migrations_202210101540.js.html +1 -1
  94. package/docs/functions/_saltcorn_data.migrations_202304281224.js.html +1 -1
  95. package/docs/functions/_saltcorn_data.migrations_202307211459.js.html +1 -1
  96. package/docs/functions/_saltcorn_data.migrations_202502131103.js.html +1 -1
  97. package/docs/functions/_saltcorn_data.migrations_202508011455.js.html +1 -1
  98. package/docs/functions/_saltcorn_data.migrations_202510152058.js.html +1 -1
  99. package/docs/functions/_saltcorn_data.migrations_202603101553.sql_pg.html +1 -1
  100. package/docs/functions/_saltcorn_data.mobile-mocks_node_child_process.execSync.html +1 -1
  101. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs.createReadStream.html +1 -1
  102. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs.readdirSync.html +1 -1
  103. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs.writeFileSync.html +1 -1
  104. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.mkdir.html +1 -1
  105. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.readFile.html +1 -1
  106. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.readdir.html +1 -1
  107. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.stat.html +1 -1
  108. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.unlink.html +1 -1
  109. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.writeFile.html +1 -1
  110. package/docs/functions/_saltcorn_data.mobile-mocks_node_latest-version.latestVersion.html +1 -1
  111. package/docs/functions/_saltcorn_data.mobile-mocks_node_v8.deserialize.html +1 -1
  112. package/docs/functions/_saltcorn_data.mobile-mocks_node_v8.serialize.html +1 -1
  113. package/docs/functions/_saltcorn_data.mobile-mocks_npm_env-paths.envPaths.html +1 -1
  114. package/docs/functions/_saltcorn_data.model-helper.get_predictor.html +1 -1
  115. package/docs/functions/_saltcorn_data.model-helper.run_jupyter_model.html +1 -1
  116. package/docs/functions/_saltcorn_data.model-helper.shorten_trackback.html +1 -1
  117. package/docs/functions/_saltcorn_data.model-helper.write_csv.html +1 -1
  118. package/docs/functions/_saltcorn_data.models_internal_async_json_stream.async_json_stream.html +1 -1
  119. package/docs/functions/_saltcorn_data.models_internal_query.aggregation_query_fields.html +1 -1
  120. package/docs/functions/_saltcorn_data.models_internal_query.getAggAndField.html +1 -1
  121. package/docs/functions/_saltcorn_data.models_internal_query.joinfield_renamer.html +1 -1
  122. package/docs/functions/_saltcorn_data.models_internal_query.process_aggregations.html +1 -1
  123. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.buildKeyFromRelative.html +1 -1
  124. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.copyObject.html +1 -1
  125. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.deleteObject.html +1 -1
  126. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.downloadBuffer.html +1 -1
  127. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.getPublicFileUrl.html +1 -1
  128. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.getResolvedBucket.html +1 -1
  129. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.getS3Client.html +1 -1
  130. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.getServeUrl.html +1 -1
  131. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.getSignedFileUrl.html +1 -1
  132. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.headObject.html +1 -1
  133. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.isS3Enabled.html +1 -1
  134. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.listS3Folder.html +1 -1
  135. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.publicUrlToRelativePath.html +1 -1
  136. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.relativeKeyToPath.html +1 -1
  137. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.setObjectMetadata.html +1 -1
  138. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.uploadBuffer.html +1 -1
  139. package/docs/functions/_saltcorn_data.models_internal_table_helper.boolExamples.html +1 -1
  140. package/docs/functions/_saltcorn_data.models_internal_table_helper.colorExamples.html +1 -1
  141. package/docs/functions/_saltcorn_data.models_internal_table_helper.floatExamples.html +1 -1
  142. package/docs/functions/_saltcorn_data.models_internal_table_helper.get_formula_examples.html +1 -1
  143. package/docs/functions/_saltcorn_data.models_internal_table_helper.intExamples.html +1 -1
  144. package/docs/functions/_saltcorn_data.models_internal_table_helper.stringExamples.html +1 -1
  145. package/docs/functions/_saltcorn_data.plugin-helper.build_schema_data.html +1 -1
  146. package/docs/functions/_saltcorn_data.plugin-helper.calcfldViewConfig.html +1 -1
  147. package/docs/functions/_saltcorn_data.plugin-helper.calcfldViewOptions.html +1 -1
  148. package/docs/functions/_saltcorn_data.plugin-helper.calcrelViewOptions.html +1 -1
  149. package/docs/functions/_saltcorn_data.plugin-helper.displayType.html +1 -1
  150. package/docs/functions/_saltcorn_data.plugin-helper.field_picker_fields.html +1 -1
  151. package/docs/functions/_saltcorn_data.plugin-helper.generate_joined_query.html +1 -1
  152. package/docs/functions/_saltcorn_data.plugin-helper.getActionConfigFields.html +1 -1
  153. package/docs/functions/_saltcorn_data.plugin-helper.get_child_views.html +1 -1
  154. package/docs/functions/_saltcorn_data.plugin-helper.get_inbound_relation_opts.html +1 -1
  155. package/docs/functions/_saltcorn_data.plugin-helper.get_inbound_self_relation_opts.html +1 -1
  156. package/docs/functions/_saltcorn_data.plugin-helper.get_link_view_opts.html +1 -1
  157. package/docs/functions/_saltcorn_data.plugin-helper.get_many_to_many_relation_opts.html +1 -1
  158. package/docs/functions/_saltcorn_data.plugin-helper.get_parent_views.html +1 -1
  159. package/docs/functions/_saltcorn_data.plugin-helper.initial_config_all_fields.html +1 -1
  160. package/docs/functions/_saltcorn_data.plugin-helper.json_list_to_external_table.html +1 -1
  161. package/docs/functions/_saltcorn_data.plugin-helper.link_view.html +1 -1
  162. package/docs/functions/_saltcorn_data.plugin-helper.pathToState.html +1 -1
  163. package/docs/functions/_saltcorn_data.plugin-helper.picked_fields_to_query.html +1 -1
  164. package/docs/functions/_saltcorn_data.plugin-helper.readState.html +1 -1
  165. package/docs/functions/_saltcorn_data.plugin-helper.readStateStrict.html +1 -1
  166. package/docs/functions/_saltcorn_data.plugin-helper.runCollabEvents.html +1 -1
  167. package/docs/functions/_saltcorn_data.plugin-helper.run_action_column.html +1 -1
  168. package/docs/functions/_saltcorn_data.plugin-helper.stateFieldsToQuery.html +1 -1
  169. package/docs/functions/_saltcorn_data.plugin-helper.stateFieldsToWhere.html +1 -1
  170. package/docs/functions/_saltcorn_data.plugin-helper.stateToQueryString.html +1 -1
  171. package/docs/functions/_saltcorn_data.plugin-helper.strictParseInt.html +1 -1
  172. package/docs/functions/_saltcorn_data.plugin-testing.auto_test_plugin.html +1 -1
  173. package/docs/functions/_saltcorn_data.plugin-testing.check_view_columns.html +1 -1
  174. package/docs/functions/_saltcorn_data.plugin-testing.generate_attributes.html +1 -1
  175. package/docs/functions/_saltcorn_data.standard-menu.create_standard_menu.html +1 -1
  176. package/docs/functions/_saltcorn_data.tests_assertions.assertIsErrorMsg.html +1 -1
  177. package/docs/functions/_saltcorn_data.tests_assertions.assertIsErrorsMsg.html +1 -1
  178. package/docs/functions/_saltcorn_data.tests_assertions.assertIsRow.html +1 -1
  179. package/docs/functions/_saltcorn_data.tests_assertions.assertIsSet.html +1 -1
  180. package/docs/functions/_saltcorn_data.tests_assertions.assertIsType.html +1 -1
  181. package/docs/functions/_saltcorn_data.tests_assertions.assertsIsSuccessMessage.html +1 -1
  182. package/docs/functions/_saltcorn_data.tests_assertions.assertsObjectIsUser.html +1 -1
  183. package/docs/functions/_saltcorn_data.tests_common_helpers.createAnotherUserField.html +1 -1
  184. package/docs/functions/_saltcorn_data.tests_common_helpers.createKeyFromLevelTwo.html +1 -1
  185. package/docs/functions/_saltcorn_data.tests_common_helpers.createLevelThreeInbound.html +1 -1
  186. package/docs/functions/_saltcorn_data.tests_common_helpers.createMultipleInbounds.html +1 -1
  187. package/docs/functions/_saltcorn_data.tests_common_helpers.createSecondTopicField.html +1 -1
  188. package/docs/functions/_saltcorn_data.tests_common_helpers.prepareEmployeeDepartment.html +1 -1
  189. package/docs/functions/_saltcorn_data.tests_common_helpers.prepareSimpleTopicPostRelation.html +1 -1
  190. package/docs/functions/_saltcorn_data.tests_remote_query_helper.deleteViewFromServer.html +1 -1
  191. package/docs/functions/_saltcorn_data.tests_remote_query_helper.prepareQueryEnviroment.html +1 -1
  192. package/docs/functions/_saltcorn_data.tests_remote_query_helper.sendViewToServer.html +1 -1
  193. package/docs/functions/_saltcorn_data.translate.hasLLM.html +1 -1
  194. package/docs/functions/_saltcorn_data.translate.translate.html +1 -1
  195. package/docs/functions/_saltcorn_db-common.internal.ftsFieldsSqlExpr.html +1 -1
  196. package/docs/functions/_saltcorn_db-common.internal.mkSelectOptions.html +1 -1
  197. package/docs/functions/_saltcorn_db-common.internal.mkWhere.html +1 -1
  198. package/docs/functions/_saltcorn_db-common.internal.orderByIsObject.html +1 -1
  199. package/docs/functions/_saltcorn_db-common.internal.orderByIsOperator.html +1 -1
  200. package/docs/functions/_saltcorn_db-common.internal.prefixFieldsInWhere.html +1 -1
  201. package/docs/functions/_saltcorn_db-common.internal.sqlBinOp.html +1 -1
  202. package/docs/functions/_saltcorn_db-common.internal.sqlFun.html +1 -1
  203. package/docs/functions/_saltcorn_db-common.internal.sqlsanitize.html +1 -1
  204. package/docs/functions/_saltcorn_db-common.internal.sqlsanitizeAllowDots.html +1 -1
  205. package/docs/functions/_saltcorn_db-common.internal.subSelectWhere.html +1 -1
  206. package/docs/functions/_saltcorn_db-common.multi-tenant.enable_multi_tenant.html +1 -1
  207. package/docs/functions/_saltcorn_db-common.multi-tenant.getRequestContext.html +1 -1
  208. package/docs/functions/_saltcorn_db-common.multi-tenant.getTenantSchema.html +1 -1
  209. package/docs/functions/_saltcorn_db-common.multi-tenant.init.html +1 -1
  210. package/docs/functions/_saltcorn_db-common.multi-tenant.is_it_multi_tenant.html +1 -1
  211. package/docs/functions/_saltcorn_db-common.multi-tenant.runWithTenant.html +1 -1
  212. package/docs/functions/_saltcorn_db-common.sqlite-commons.buildInsertBulkSql.html +1 -1
  213. package/docs/functions/_saltcorn_db-common.sqlite-commons.buildInsertSql.html +1 -1
  214. package/docs/functions/_saltcorn_db-common.sqlite-commons.commitAndBeginNewTransaction.html +1 -1
  215. package/docs/functions/_saltcorn_db-common.sqlite-commons.doCount.html +1 -1
  216. package/docs/functions/_saltcorn_db-common.sqlite-commons.doDeleteWhere.html +1 -1
  217. package/docs/functions/_saltcorn_db-common.sqlite-commons.doListScTables.html +1 -1
  218. package/docs/functions/_saltcorn_db-common.sqlite-commons.doListTables.html +1 -1
  219. package/docs/functions/_saltcorn_db-common.sqlite-commons.doListUserDefinedTables.html +1 -1
  220. package/docs/functions/_saltcorn_db-common.sqlite-commons.do_add_index.html +1 -1
  221. package/docs/functions/_saltcorn_db-common.sqlite-commons.do_drop_index.html +1 -1
  222. package/docs/functions/_saltcorn_db-common.sqlite-commons.mkVal.html +1 -1
  223. package/docs/functions/_saltcorn_db-common.sqlite-commons.openOrUseTransaction.html +1 -1
  224. package/docs/functions/_saltcorn_db-common.sqlite-commons.reprAsJson.html +1 -1
  225. package/docs/functions/_saltcorn_db-common.sqlite-commons.slugify.html +1 -1
  226. package/docs/functions/_saltcorn_db-common.sqlite-commons.tryCatchInTransaction.html +1 -1
  227. package/docs/functions/_saltcorn_db-common.sqlite-commons.whenTransactionisFree.html +1 -1
  228. package/docs/functions/_saltcorn_db-common.sqlite-commons.withTransaction.html +1 -1
  229. package/docs/functions/_saltcorn_markup.mktag.mkTag.html +1 -1
  230. package/docs/functions/_saltcorn_markup.tabs.tabs.html +1 -1
  231. package/docs/functions/_saltcorn_markup.workflow.renderWorkflow.html +1 -1
  232. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.androidFeatures.html +1 -1
  233. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.androidPermissions.html +1 -1
  234. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.buildTablesFile.html +1 -1
  235. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.copyPrepopulatedDb.html +1 -1
  236. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.copyServerFiles.html +1 -1
  237. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.copyShareExtFiles.html +1 -1
  238. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.copySiteLogo.html +1 -1
  239. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.copyTranslationFiles.html +1 -1
  240. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.createSqliteDb.html +1 -1
  241. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.extractDomain.html +1 -1
  242. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.generateAndroidVersionCode.html +1 -1
  243. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.hasAuthMethod.html +1 -1
  244. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyAndroidManifest.html +1 -1
  245. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyAppDelegate.html +1 -1
  246. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyConfigXml.html +1 -1
  247. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyGradleConfig.html +1 -1
  248. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyInfoPlist.html +1 -1
  249. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyShareViewController.html +1 -1
  250. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyXcodeProjectFile.html +1 -1
  251. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepAppIcon.html +1 -1
  252. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepareAppIcon.html +1 -1
  253. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepareBuildDir.html +1 -1
  254. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepareExportOptionsPlist.html +1 -1
  255. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepareSplashIcon.html +1 -1
  256. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepareSplashPage.html +1 -1
  257. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.runAddEntitlementsScript.html +1 -1
  258. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writeCapacitorConfig.html +1 -1
  259. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writeCfgFile.html +1 -1
  260. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writeDataExtractionRules.html +1 -1
  261. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writeEntitlementsPlist.html +1 -1
  262. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writeNetworkSecurityConfig.html +1 -1
  263. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writePodfile.html +1 -1
  264. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writePrivacyInfo.html +1 -1
  265. package/docs/functions/_saltcorn_mobile-builder.utils_package-bundle-utils.bundleMobileAppCode.html +1 -1
  266. package/docs/functions/_saltcorn_mobile-builder.utils_package-bundle-utils.bundlePackagesAndPlugins.html +1 -1
  267. package/docs/functions/_saltcorn_mobile-builder.utils_package-bundle-utils.copyOptionalSource.html +1 -1
  268. package/docs/functions/_saltcorn_mobile-builder.utils_package-bundle-utils.copyPluginMobileAppDirs.html +1 -1
  269. package/docs/functions/_saltcorn_mobile-builder.utils_package-bundle-utils.copyPublicDirs.html +1 -1
  270. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.add_index.html +1 -1
  271. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.add_unique_constraint.html +1 -1
  272. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.count.html +1 -1
  273. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.deleteWhere.html +1 -1
  274. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.drop_index.html +1 -1
  275. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.drop_reset_schema.html +1 -1
  276. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.drop_unique_constraint.html +1 -1
  277. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.init.html +1 -1
  278. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.insert.html +1 -1
  279. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.insertRows.html +1 -1
  280. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.listScTables.html +1 -1
  281. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.listTables.html +1 -1
  282. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.listUserDefinedTables.html +1 -1
  283. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.query.html +1 -1
  284. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.select.html +1 -1
  285. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.selectMaybeOne.html +1 -1
  286. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.selectOne.html +1 -1
  287. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.setConnectionObject.html +1 -1
  288. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.tableExists.html +1 -1
  289. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.time.html +1 -1
  290. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.update.html +1 -1
  291. package/docs/functions/_saltcorn_sqlite.sqlite.add_index.html +1 -1
  292. package/docs/functions/_saltcorn_sqlite.sqlite.add_unique_constraint.html +1 -1
  293. package/docs/functions/_saltcorn_sqlite.sqlite.begin.html +1 -1
  294. package/docs/functions/_saltcorn_sqlite.sqlite.changeConnection.html +1 -1
  295. package/docs/functions/_saltcorn_sqlite.sqlite.close.html +1 -1
  296. package/docs/functions/_saltcorn_sqlite.sqlite.commit.html +1 -1
  297. package/docs/functions/_saltcorn_sqlite.sqlite.count.html +1 -1
  298. package/docs/functions/_saltcorn_sqlite.sqlite.deleteWhere.html +1 -1
  299. package/docs/functions/_saltcorn_sqlite.sqlite.dropTable.html +1 -1
  300. package/docs/functions/_saltcorn_sqlite.sqlite.dropTables.html +1 -1
  301. package/docs/functions/_saltcorn_sqlite.sqlite.drop_index.html +1 -1
  302. package/docs/functions/_saltcorn_sqlite.sqlite.drop_reset_schema.html +1 -1
  303. package/docs/functions/_saltcorn_sqlite.sqlite.drop_unique_constraint.html +1 -1
  304. package/docs/functions/_saltcorn_sqlite.sqlite.getVersion.html +1 -1
  305. package/docs/functions/_saltcorn_sqlite.sqlite.get_db_filepath.html +1 -1
  306. package/docs/functions/_saltcorn_sqlite.sqlite.get_sql_logging.html +1 -1
  307. package/docs/functions/_saltcorn_sqlite.sqlite.init.html +1 -1
  308. package/docs/functions/_saltcorn_sqlite.sqlite.insert.html +1 -1
  309. package/docs/functions/_saltcorn_sqlite.sqlite.listScTables.html +1 -1
  310. package/docs/functions/_saltcorn_sqlite.sqlite.listTables.html +1 -1
  311. package/docs/functions/_saltcorn_sqlite.sqlite.listUserDefinedTables.html +1 -1
  312. package/docs/functions/_saltcorn_sqlite.sqlite.query.html +1 -1
  313. package/docs/functions/_saltcorn_sqlite.sqlite.rollback.html +1 -1
  314. package/docs/functions/_saltcorn_sqlite.sqlite.select.html +1 -1
  315. package/docs/functions/_saltcorn_sqlite.sqlite.selectMaybeOne.html +1 -1
  316. package/docs/functions/_saltcorn_sqlite.sqlite.selectOne.html +1 -1
  317. package/docs/functions/_saltcorn_sqlite.sqlite.set_sql_logging.html +1 -1
  318. package/docs/functions/_saltcorn_sqlite.sqlite.sql_log.html +1 -1
  319. package/docs/functions/_saltcorn_sqlite.sqlite.update.html +1 -1
  320. package/docs/functions/_saltcorn_sqlite.sqlite.updateWhere.html +1 -1
  321. package/docs/functions/_saltcorn_types.base_types.instanceOWithHtmlFile.html +1 -1
  322. package/docs/functions/_saltcorn_types.base_types.instanceOfFieldViewEdit.html +1 -1
  323. package/docs/functions/_saltcorn_types.base_types.instanceOfFieldViewShow.html +1 -1
  324. package/docs/functions/_saltcorn_types.base_types.instanceOfPack.html +1 -1
  325. package/docs/functions/_saltcorn_types.common_types.instanceOfErrorMsg.html +1 -1
  326. package/docs/functions/_saltcorn_types.common_types.instanceOfSuccessMsg.html +1 -1
  327. package/docs/functions/_saltcorn_types.common_types.instanceOfType.html +1 -1
  328. package/docs/functions/_saltcorn_types.model-abstracts_abstract_field.instanceOfField.html +1 -1
  329. package/docs/functions/_saltcorn_types.model-abstracts_abstract_page.instanceOfPage.html +1 -1
  330. package/docs/functions/_saltcorn_types.model-abstracts_abstract_plugin.instanceOfPlugin.html +1 -1
  331. package/docs/functions/_saltcorn_types.model-abstracts_abstract_table.instanceOfTable.html +1 -1
  332. package/docs/functions/_saltcorn_types.model-abstracts_abstract_view.instanceOfView.html +1 -1
  333. package/docs/hierarchy.html +1 -1
  334. package/docs/interfaces/_saltcorn_db-common.dbtypes.UserLike.html +2 -2
  335. package/docs/interfaces/_saltcorn_markup.types.TagExports.html +2 -2
  336. package/docs/interfaces/_saltcorn_mobile-builder.utils_common-build-utils.ScCapacitorConfig.html +2 -2
  337. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_field.AbstractField.html +2 -2
  338. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_field.AbstractFieldRepeat.html +2 -2
  339. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_form.AbstractForm.html +2 -2
  340. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_page.AbstractPage.html +2 -2
  341. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_page_group.AbstractPageGroup.html +2 -2
  342. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_page_group_member.AbstractPageGroupMember.html +2 -2
  343. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_plugin.AbstractPlugin.html +2 -2
  344. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_role.AbstractRole.html +2 -2
  345. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_table.AbstractTable.html +2 -2
  346. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_tag.AbstractTag.html +2 -2
  347. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_tag_entry.AbstractTagEntry.html +2 -2
  348. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_trigger.AbstractTrigger.html +2 -2
  349. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_user.AbstractUser.html +2 -2
  350. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_user.ForUserRequest.html +2 -2
  351. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_view.AbstractView.html +2 -2
  352. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_workflow.AbstractWorkflow.html +2 -2
  353. package/docs/types/_saltcorn_data.diagram_node_extract_utils.ExtractOpts.html +2 -2
  354. package/docs/types/_saltcorn_data.diagram_node_extract_utils.ExtractResult.html +2 -2
  355. package/docs/types/_saltcorn_data.diagram_nodes_node.NodeType.html +1 -1
  356. package/docs/types/_saltcorn_data.models_config.ConfigTypes.html +1 -1
  357. package/docs/types/_saltcorn_data.models_config.SingleConfig.html +1 -1
  358. package/docs/types/_saltcorn_data.models_eventlog.EventLogCfg.html +2 -2
  359. package/docs/types/_saltcorn_data.models_file.FileCfg.html +2 -2
  360. package/docs/types/_saltcorn_data.models_form.AdditionalButton.html +1 -1
  361. package/docs/types/_saltcorn_data.models_form.FormCfg.html +2 -2
  362. package/docs/types/_saltcorn_data.models_internal_push_message_helper.MobileSubscription.html +2 -2
  363. package/docs/types/_saltcorn_data.models_internal_push_message_helper.WebPushSubscription.html +2 -2
  364. package/docs/types/_saltcorn_data.models_internal_s3_helpers.S3HeadResult.html +1 -1
  365. package/docs/types/_saltcorn_data.models_internal_s3_helpers.S3ListResult.html +2 -2
  366. package/docs/types/_saltcorn_data.models_page_group.ScreenInfoParams.html +2 -2
  367. package/docs/types/_saltcorn_data.models_table.ChildRelations.html +2 -2
  368. package/docs/types/_saltcorn_data.models_table.ParentRelations.html +2 -2
  369. package/docs/types/_saltcorn_data.models_table.RelationData.html +2 -2
  370. package/docs/types/_saltcorn_data.models_tag_entry.TagEntryCfg.html +1 -1
  371. package/docs/types/_saltcorn_data.models_view.FindViewsPred.html +1 -1
  372. package/docs/types/_saltcorn_db-common.dbtypes.AggregationOptions.html +2 -2
  373. package/docs/types/_saltcorn_db-common.dbtypes.CoordOpts.html +2 -2
  374. package/docs/types/_saltcorn_db-common.dbtypes.DatabaseClient.html +2 -2
  375. package/docs/types/_saltcorn_db-common.dbtypes.JoinField.html +2 -2
  376. package/docs/types/_saltcorn_db-common.dbtypes.JoinFields.html +1 -1
  377. package/docs/types/_saltcorn_db-common.dbtypes.JoinOptions.html +1 -1
  378. package/docs/types/_saltcorn_db-common.dbtypes.JsonPath.html +1 -1
  379. package/docs/types/_saltcorn_db-common.dbtypes.JsonPathElem.html +1 -1
  380. package/docs/types/_saltcorn_db-common.dbtypes.Operator.html +1 -1
  381. package/docs/types/_saltcorn_db-common.dbtypes.PartialSome.html +1 -1
  382. package/docs/types/_saltcorn_db-common.dbtypes.PrimaryKeyValue.html +1 -1
  383. package/docs/types/_saltcorn_db-common.dbtypes.Row.html +1 -1
  384. package/docs/types/_saltcorn_db-common.dbtypes.SelectOptions.html +2 -2
  385. package/docs/types/_saltcorn_db-common.dbtypes.StrongRow.html +1 -1
  386. package/docs/types/_saltcorn_db-common.dbtypes.SubselectOptions.html +2 -2
  387. package/docs/types/_saltcorn_db-common.dbtypes.Value.html +1 -1
  388. package/docs/types/_saltcorn_db-common.dbtypes.Where.html +2 -2
  389. package/docs/types/_saltcorn_db-common.sqlite-commons.SqlAndValues.html +2 -2
  390. package/docs/types/_saltcorn_db-common.types.DbExportsType.html +2 -2
  391. package/docs/types/_saltcorn_db-common.types.GenObj.html +1 -1
  392. package/docs/types/_saltcorn_markup.emergency_layout.WrapParams.html +2 -2
  393. package/docs/types/_saltcorn_markup.helpers.CheckBoxGroupOpts.html +2 -2
  394. package/docs/types/_saltcorn_markup.helpers.PaginationOpts.html +2 -2
  395. package/docs/types/_saltcorn_markup.helpers.RadioGroupOpts.html +2 -2
  396. package/docs/types/_saltcorn_markup.helpers.SearchBarOpts.html +2 -2
  397. package/docs/types/_saltcorn_markup.layout.RenderOpts-1.html +2 -2
  398. package/docs/types/_saltcorn_markup.layout.RenderOpts.html +2 -2
  399. package/docs/types/_saltcorn_markup.mjml-layout.RenderOpts.html +2 -2
  400. package/docs/types/_saltcorn_markup.table.HeadersParams.html +2 -2
  401. package/docs/types/_saltcorn_markup.table.OptsParams.html +2 -2
  402. package/docs/types/_saltcorn_markup.types.AttributeVal.html +1 -1
  403. package/docs/types/_saltcorn_markup.types.Attributes.html +2 -2
  404. package/docs/types/_saltcorn_markup.types.ClassVal.html +1 -1
  405. package/docs/types/_saltcorn_markup.types.Element.html +1 -1
  406. package/docs/types/_saltcorn_markup.types.Falsy.html +1 -1
  407. package/docs/types/_saltcorn_markup.types.StyleVal.html +1 -1
  408. package/docs/types/_saltcorn_markup.types.TagFunction.html +1 -1
  409. package/docs/types/_saltcorn_mobile-builder.mobile-builder.IosCfg.html +2 -2
  410. package/docs/types/_saltcorn_mobile-builder.utils_capacitor-helper.CapacitorCfg.html +2 -2
  411. package/docs/types/_saltcorn_types.base_types.Action.html +3 -3
  412. package/docs/types/_saltcorn_types.base_types.AuthenticationMethod.html +2 -2
  413. package/docs/types/_saltcorn_types.base_types.CalcJoinfield.html +2 -2
  414. package/docs/types/_saltcorn_types.base_types.CapacitorPlugin.html +2 -2
  415. package/docs/types/_saltcorn_types.base_types.CodePagePack.html +2 -2
  416. package/docs/types/_saltcorn_types.base_types.Column.html +2 -2
  417. package/docs/types/_saltcorn_types.base_types.ConnectObjType.html +2 -2
  418. package/docs/types/_saltcorn_types.base_types.ConnectedObjects.html +2 -2
  419. package/docs/types/_saltcorn_types.base_types.CopilotSkill.html +2 -2
  420. package/docs/types/_saltcorn_types.base_types.ErrorObj.html +2 -2
  421. package/docs/types/_saltcorn_types.base_types.FieldLike.html +1 -1
  422. package/docs/types/_saltcorn_types.base_types.FieldView.html +1 -1
  423. package/docs/types/_saltcorn_types.base_types.Header.html +2 -2
  424. package/docs/types/_saltcorn_types.base_types.JoinFieldOption.html +2 -2
  425. package/docs/types/_saltcorn_types.base_types.Layout.html +1 -1
  426. package/docs/types/_saltcorn_types.base_types.MenuItem.html +2 -2
  427. package/docs/types/_saltcorn_types.base_types.MobileConfig.html +2 -2
  428. package/docs/types/_saltcorn_types.base_types.ModelPattern.html +6 -6
  429. package/docs/types/_saltcorn_types.base_types.Pack.html +2 -2
  430. package/docs/types/_saltcorn_types.base_types.Plugin.html +1 -1
  431. package/docs/types/_saltcorn_types.base_types.PluginFunction.html +2 -2
  432. package/docs/types/_saltcorn_types.base_types.PluginLayout.html +2 -2
  433. package/docs/types/_saltcorn_types.base_types.PluginRoute.html +2 -2
  434. package/docs/types/_saltcorn_types.base_types.PluginSourceType.html +1 -1
  435. package/docs/types/_saltcorn_types.base_types.PluginType.html +2 -2
  436. package/docs/types/_saltcorn_types.base_types.PluginWrap.html +1 -1
  437. package/docs/types/_saltcorn_types.base_types.PluginWrapArg.html +2 -2
  438. package/docs/types/_saltcorn_types.base_types.RelationOption.html +2 -2
  439. package/docs/types/_saltcorn_types.base_types.Req.html +2 -2
  440. package/docs/types/_saltcorn_types.base_types.Res.html +2 -2
  441. package/docs/types/_saltcorn_types.base_types.ResultType.html +2 -2
  442. package/docs/types/_saltcorn_types.base_types.RouteAction.html +1 -1
  443. package/docs/types/_saltcorn_types.base_types.RunExtra.html +1 -1
  444. package/docs/types/_saltcorn_types.base_types.SlugStepType.html +2 -2
  445. package/docs/types/_saltcorn_types.base_types.StepResType.html +1 -1
  446. package/docs/types/_saltcorn_types.base_types.SubField.html +2 -2
  447. package/docs/types/_saltcorn_types.base_types.TableProvider.html +2 -2
  448. package/docs/types/_saltcorn_types.base_types.TableQuery.html +2 -2
  449. package/docs/types/_saltcorn_types.base_types.Tablely.html +1 -1
  450. package/docs/types/_saltcorn_types.base_types.ViewTemplate.html +2 -2
  451. package/docs/types/_saltcorn_types.common_types.ErrorMessage.html +2 -2
  452. package/docs/types/_saltcorn_types.common_types.GenObj.html +1 -1
  453. package/docs/types/_saltcorn_types.common_types.ReqRes.html +2 -2
  454. package/docs/types/_saltcorn_types.common_types.ResultMessage.html +1 -1
  455. package/docs/types/_saltcorn_types.common_types.SuccessMessage.html +2 -2
  456. package/docs/types/_saltcorn_types.common_types.Type.html +2 -2
  457. package/docs/types/_saltcorn_types.model-abstracts_abstract_event_log.EventLogPack.html +2 -2
  458. package/docs/types/_saltcorn_types.model-abstracts_abstract_field.FieldCfg.html +2 -2
  459. package/docs/types/_saltcorn_types.model-abstracts_abstract_field.InputType.html +1 -1
  460. package/docs/types/_saltcorn_types.model-abstracts_abstract_form.AdditionalButton.html +2 -2
  461. package/docs/types/_saltcorn_types.model-abstracts_abstract_library.LibraryCfg.html +2 -2
  462. package/docs/types/_saltcorn_types.model-abstracts_abstract_library.LibraryPack.html +1 -1
  463. package/docs/types/_saltcorn_types.model-abstracts_abstract_model.ModelCfg.html +2 -2
  464. package/docs/types/_saltcorn_types.model-abstracts_abstract_model.ModelPack.html +1 -1
  465. package/docs/types/_saltcorn_types.model-abstracts_abstract_model_instance.ModelInstanceCfg.html +2 -2
  466. package/docs/types/_saltcorn_types.model-abstracts_abstract_model_instance.ModelInstancePack.html +1 -1
  467. package/docs/types/_saltcorn_types.model-abstracts_abstract_page.PageCfg.html +2 -2
  468. package/docs/types/_saltcorn_types.model-abstracts_abstract_page.PagePack.html +1 -1
  469. package/docs/types/_saltcorn_types.model-abstracts_abstract_page_group.PageGroupCfg.html +2 -2
  470. package/docs/types/_saltcorn_types.model-abstracts_abstract_page_group.PageGroupPack.html +1 -1
  471. package/docs/types/_saltcorn_types.model-abstracts_abstract_page_group_member.PageGroupMemberCfg.html +2 -2
  472. package/docs/types/_saltcorn_types.model-abstracts_abstract_page_group_member.PageGroupMemberPack.html +1 -1
  473. package/docs/types/_saltcorn_types.model-abstracts_abstract_plugin.PluginCfg.html +2 -2
  474. package/docs/types/_saltcorn_types.model-abstracts_abstract_plugin.PluginPack.html +1 -1
  475. package/docs/types/_saltcorn_types.model-abstracts_abstract_role.RoleCfg.html +1 -1
  476. package/docs/types/_saltcorn_types.model-abstracts_abstract_role.RolePack.html +1 -1
  477. package/docs/types/_saltcorn_types.model-abstracts_abstract_table.TableCfg.html +2 -2
  478. package/docs/types/_saltcorn_types.model-abstracts_abstract_table.TablePack.html +1 -1
  479. package/docs/types/_saltcorn_types.model-abstracts_abstract_tag.TagPack.html +2 -2
  480. package/docs/types/_saltcorn_types.model-abstracts_abstract_tag_entry.TagEntryPack.html +2 -2
  481. package/docs/types/_saltcorn_types.model-abstracts_abstract_trigger.TriggerCfg.html +2 -2
  482. package/docs/types/_saltcorn_types.model-abstracts_abstract_trigger.TriggerPack.html +1 -1
  483. package/docs/types/_saltcorn_types.model-abstracts_abstract_view.ViewCfg.html +2 -2
  484. package/docs/types/_saltcorn_types.model-abstracts_abstract_view.ViewPack.html +1 -1
  485. package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow.ConfigWorkflowStep.html +1 -1
  486. package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow.RunResult.html +2 -2
  487. package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow_run.WorkflowRunCfg.html +2 -2
  488. package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow_step.WorkflowStepCfg.html +2 -2
  489. package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow_step.WorkflowStepPack.html +1 -1
  490. package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow_trace.WorkflowTraceCfg.html +2 -2
  491. package/docs/variables/_saltcorn_admin-models..backup.create_backup.html +1 -1
  492. package/docs/variables/_saltcorn_admin-models..backup.create_csv_from_rows.html +1 -1
  493. package/docs/variables/_saltcorn_admin-models..backup.restore.html +1 -1
  494. package/docs/variables/_saltcorn_admin-models..pack.add_to_menu.html +1 -1
  495. package/docs/variables/_saltcorn_admin-models..pack.can_install_pack.html +1 -1
  496. package/docs/variables/_saltcorn_admin-models..pack.fetch_available_packs.html +1 -1
  497. package/docs/variables/_saltcorn_admin-models..pack.fetch_pack_by_name.html +1 -1
  498. package/docs/variables/_saltcorn_admin-models..pack.install_pack.html +1 -1
  499. package/docs/variables/_saltcorn_admin-models..pack.library_pack.html +1 -1
  500. package/docs/variables/_saltcorn_admin-models..pack.model_instance_pack.html +1 -1
  501. package/docs/variables/_saltcorn_admin-models..pack.model_pack.html +1 -1
  502. package/docs/variables/_saltcorn_admin-models..pack.page_group_pack.html +1 -1
  503. package/docs/variables/_saltcorn_admin-models..pack.page_pack.html +1 -1
  504. package/docs/variables/_saltcorn_admin-models..pack.plugin_pack.html +1 -1
  505. package/docs/variables/_saltcorn_admin-models..pack.role_pack.html +1 -1
  506. package/docs/variables/_saltcorn_admin-models..pack.table_pack.html +1 -1
  507. package/docs/variables/_saltcorn_admin-models..pack.trigger_pack.html +1 -1
  508. package/docs/variables/_saltcorn_admin-models..pack.uninstall_pack.html +1 -1
  509. package/docs/variables/_saltcorn_admin-models..pack.view_pack.html +1 -1
  510. package/docs/variables/_saltcorn_admin-models..tenant.copy_tenant_template.html +1 -1
  511. package/docs/variables/_saltcorn_admin-models..tenant.create_tenant.html +1 -1
  512. package/docs/variables/_saltcorn_admin-models..tenant.deleteTenant.html +1 -1
  513. package/docs/variables/_saltcorn_admin-models..tenant.domain_sanitize.html +1 -1
  514. package/docs/variables/_saltcorn_admin-models..tenant.eachTenant.html +1 -1
  515. package/docs/variables/_saltcorn_admin-models..tenant.getAllTenantRows.html +1 -1
  516. package/docs/variables/_saltcorn_admin-models..tenant.getAllTenants.html +1 -1
  517. package/docs/variables/_saltcorn_admin-models..tenant.insertTenant.html +1 -1
  518. package/docs/variables/_saltcorn_admin-models..tenant.switchToTenant.html +1 -1
  519. package/docs/variables/_saltcorn_admin-models.models_backup.backup.html +1 -1
  520. package/docs/variables/_saltcorn_admin-models.pack.pack.html +1 -1
  521. package/docs/variables/_saltcorn_admin-models.tenant.tenant.html +1 -1
  522. package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedFive.html +1 -1
  523. package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedFour.html +1 -1
  524. package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedOne.html +1 -1
  525. package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedSix.html +1 -1
  526. package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedThree.html +1 -1
  527. package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedTwo.html +1 -1
  528. package/docs/variables/_saltcorn_data..migrations.html +1 -1
  529. package/docs/variables/_saltcorn_data..plugin_helper.run_action_column.html +1 -1
  530. package/docs/variables/_saltcorn_data..utils.NotAuthorized.html +1 -1
  531. package/docs/variables/_saltcorn_data..utils.isPushEnabled.html +1 -1
  532. package/docs/variables/_saltcorn_data..utils.sleep.html +1 -1
  533. package/docs/variables/_saltcorn_data.base-plugin_actions.actions.html +1 -1
  534. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.fieldviews.html +1 -1
  535. package/docs/variables/_saltcorn_data.base-plugin_fileview.fileviews.html +1 -1
  536. package/docs/variables/_saltcorn_data.base-plugin_index.index.html +1 -1
  537. package/docs/variables/_saltcorn_data.base-plugin_types.types.html +1 -1
  538. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_edit.edit.html +1 -1
  539. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_feed.feed.html +1 -1
  540. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_filter.filter.html +1 -1
  541. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_list.list.html +1 -1
  542. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_listshowlist.listshowlist.html +1 -1
  543. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_room.room-1.html +1 -1
  544. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_room.room.html +1 -1
  545. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_show.show.html +1 -1
  546. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.edit_build_in_actions.html +1 -1
  547. package/docs/variables/_saltcorn_data.contract.contract.html +1 -1
  548. package/docs/variables/_saltcorn_data.db_connect.connect.html +1 -1
  549. package/docs/variables/_saltcorn_data.db_fa5-icons.fa5Icons.html +1 -1
  550. package/docs/variables/_saltcorn_data.db_fixtures.fixtures.html +1 -1
  551. package/docs/variables/_saltcorn_data.db_index.dbExports.html +1 -1
  552. package/docs/variables/_saltcorn_data.db_state.state.html +1 -1
  553. package/docs/variables/_saltcorn_data.migrations_202005141503.sql.html +1 -1
  554. package/docs/variables/_saltcorn_data.migrations_202005241712.sql.html +1 -1
  555. package/docs/variables/_saltcorn_data.migrations_202005251037.sql.html +1 -1
  556. package/docs/variables/_saltcorn_data.migrations_202005282134.sql.html +1 -1
  557. package/docs/variables/_saltcorn_data.migrations_202006022156.sql.html +1 -1
  558. package/docs/variables/_saltcorn_data.migrations_202006051507.sql.html +1 -1
  559. package/docs/variables/_saltcorn_data.migrations_202006240906.sql.html +1 -1
  560. package/docs/variables/_saltcorn_data.migrations_202007091707.sql.html +1 -1
  561. package/docs/variables/_saltcorn_data.migrations_202007202144.sql.html +1 -1
  562. package/docs/variables/_saltcorn_data.migrations_202008031500.sql.html +1 -1
  563. package/docs/variables/_saltcorn_data.migrations_202008051415.sql.html +1 -1
  564. package/docs/variables/_saltcorn_data.migrations_202008121149.sql_pg.html +1 -1
  565. package/docs/variables/_saltcorn_data.migrations_202008121149.sql_sqlite.html +1 -1
  566. package/docs/variables/_saltcorn_data.migrations_202009112140.sql_pg.html +1 -1
  567. package/docs/variables/_saltcorn_data.migrations_202009112140.sql_sqlite.html +1 -1
  568. package/docs/variables/_saltcorn_data.migrations_202009181655.sql.html +1 -1
  569. package/docs/variables/_saltcorn_data.migrations_202009221105.sql.html +1 -1
  570. package/docs/variables/_saltcorn_data.migrations_202009231331.sql.html +1 -1
  571. package/docs/variables/_saltcorn_data.migrations_202009301531.sql.html +1 -1
  572. package/docs/variables/_saltcorn_data.migrations_202010231444.sql.html +1 -1
  573. package/docs/variables/_saltcorn_data.migrations_202010251412.sql.html +1 -1
  574. package/docs/variables/_saltcorn_data.migrations_202011021749.sql.html +1 -1
  575. package/docs/variables/_saltcorn_data.migrations_202011051353.sql.html +1 -1
  576. package/docs/variables/_saltcorn_data.migrations_202011111127.sql.html +1 -1
  577. package/docs/variables/_saltcorn_data.migrations_202012011203.sql.html +1 -1
  578. package/docs/variables/_saltcorn_data.migrations_202012100841.sql.html +1 -1
  579. package/docs/variables/_saltcorn_data.migrations_202012281835.sql.html +1 -1
  580. package/docs/variables/_saltcorn_data.migrations_202101061051.sql.html +1 -1
  581. package/docs/variables/_saltcorn_data.migrations_202101141128.sql.html +1 -1
  582. package/docs/variables/_saltcorn_data.migrations_202102091312.sql.html +1 -1
  583. package/docs/variables/_saltcorn_data.migrations_202102101624.sql.html +1 -1
  584. package/docs/variables/_saltcorn_data.migrations_202102172148.sql.html +1 -1
  585. package/docs/variables/_saltcorn_data.migrations_202102261650.sql.html +1 -1
  586. package/docs/variables/_saltcorn_data.migrations_202106102347.sql.html +1 -1
  587. package/docs/variables/_saltcorn_data.migrations_202106112120.sql.html +1 -1
  588. package/docs/variables/_saltcorn_data.migrations_202106120012.sql.html +1 -1
  589. package/docs/variables/_saltcorn_data.migrations_202106120220.sql.html +1 -1
  590. package/docs/variables/_saltcorn_data.migrations_202106121701.sql.html +1 -1
  591. package/docs/variables/_saltcorn_data.migrations_202106121703.sql_pg.html +1 -1
  592. package/docs/variables/_saltcorn_data.migrations_202106121703.sql_sqlite.html +1 -1
  593. package/docs/variables/_saltcorn_data.migrations_202106251126.sql.html +1 -1
  594. package/docs/variables/_saltcorn_data.migrations_202107281619.sql.html +1 -1
  595. package/docs/variables/_saltcorn_data.migrations_202107302158.sql_pg.html +1 -1
  596. package/docs/variables/_saltcorn_data.migrations_202107302158.sql_sqlite.html +1 -1
  597. package/docs/variables/_saltcorn_data.migrations_202108022257.sql.html +1 -1
  598. package/docs/variables/_saltcorn_data.migrations_202109201624.sql.html +1 -1
  599. package/docs/variables/_saltcorn_data.migrations_202109301031.sql_pg.html +1 -1
  600. package/docs/variables/_saltcorn_data.migrations_202109301031.sql_sqlite.html +1 -1
  601. package/docs/variables/_saltcorn_data.migrations_202111290253.sql_pg.html +1 -1
  602. package/docs/variables/_saltcorn_data.migrations_202111290253.sql_sqlite.html +1 -1
  603. package/docs/variables/_saltcorn_data.migrations_202112282254.sql_pg.html +1 -1
  604. package/docs/variables/_saltcorn_data.migrations_202112282254.sql_sqlite.html +1 -1
  605. package/docs/variables/_saltcorn_data.migrations_202207022002.sql.html +1 -1
  606. package/docs/variables/_saltcorn_data.migrations_202207252150.sql_pg.html +1 -1
  607. package/docs/variables/_saltcorn_data.migrations_202207252150.sql_sqlite.html +1 -1
  608. package/docs/variables/_saltcorn_data.migrations_202207261221.sql.html +1 -1
  609. package/docs/variables/_saltcorn_data.migrations_202208101144.sql_pg.html +1 -1
  610. package/docs/variables/_saltcorn_data.migrations_202208101144.sql_sqlite.html +1 -1
  611. package/docs/variables/_saltcorn_data.migrations_202211040031.sql.html +1 -1
  612. package/docs/variables/_saltcorn_data.migrations_202212112152.sql_pg.html +1 -1
  613. package/docs/variables/_saltcorn_data.migrations_202212112152.sql_sqlite.html +1 -1
  614. package/docs/variables/_saltcorn_data.migrations_202301130917.sql.html +1 -1
  615. package/docs/variables/_saltcorn_data.migrations_202303201126.sql_pg.html +1 -1
  616. package/docs/variables/_saltcorn_data.migrations_202303201126.sql_sqlite.html +1 -1
  617. package/docs/variables/_saltcorn_data.migrations_202303221944.sql_pg.html +1 -1
  618. package/docs/variables/_saltcorn_data.migrations_202303221944.sql_sqlite.html +1 -1
  619. package/docs/variables/_saltcorn_data.migrations_202304281224.sql.html +1 -1
  620. package/docs/variables/_saltcorn_data.migrations_202305031518.sql_pg.html +1 -1
  621. package/docs/variables/_saltcorn_data.migrations_202305031518.sql_sqlite.html +1 -1
  622. package/docs/variables/_saltcorn_data.migrations_202308211648.sql.html +1 -1
  623. package/docs/variables/_saltcorn_data.migrations_202311011755.sql_pg.html +1 -1
  624. package/docs/variables/_saltcorn_data.migrations_202311011755.sql_sqlite.html +1 -1
  625. package/docs/variables/_saltcorn_data.migrations_202311231356.sql.html +1 -1
  626. package/docs/variables/_saltcorn_data.migrations_202402071125.sql.html +1 -1
  627. package/docs/variables/_saltcorn_data.migrations_202406260915.sql.html +1 -1
  628. package/docs/variables/_saltcorn_data.migrations_202412051957.sql_pg.html +1 -1
  629. package/docs/variables/_saltcorn_data.migrations_202412051957.sql_sqlite.html +1 -1
  630. package/docs/variables/_saltcorn_data.migrations_202412111526.sql_pg.html +1 -1
  631. package/docs/variables/_saltcorn_data.migrations_202412111526.sql_sqlite.html +1 -1
  632. package/docs/variables/_saltcorn_data.migrations_202501081226.sql_pg.html +1 -1
  633. package/docs/variables/_saltcorn_data.migrations_202501081226.sql_sqlite.html +1 -1
  634. package/docs/variables/_saltcorn_data.migrations_202501201239.sql_sqlite.html +1 -1
  635. package/docs/variables/_saltcorn_data.migrations_202501262157.sql.html +1 -1
  636. package/docs/variables/_saltcorn_data.migrations_202503071353.sql_pg.html +1 -1
  637. package/docs/variables/_saltcorn_data.migrations_202506050958.sql.html +1 -1
  638. package/docs/variables/_saltcorn_data.migrations_202510110312.sql_pg.html +1 -1
  639. package/docs/variables/_saltcorn_data.migrations_202510110312.sql_sqlite.html +1 -1
  640. package/docs/variables/_saltcorn_data.migrations_202511081024.sql.html +1 -1
  641. package/docs/variables/_saltcorn_data.mobile-mocks_saltcorn_html-pdf-node.htmlPdfNode.html +1 -1
  642. package/docs/variables/_saltcorn_data.models_config.configExports.html +1 -1
  643. package/docs/variables/_saltcorn_data.models_discovery.discovery.html +1 -1
  644. package/docs/variables/_saltcorn_data.models_email.email.html +1 -1
  645. package/docs/variables/_saltcorn_data.models_expression.expression.html +1 -1
  646. package/docs/variables/_saltcorn_data.models_index.config.available_languages.html +1 -1
  647. package/docs/variables/_saltcorn_data.models_index.config.check_email_mask.html +1 -1
  648. package/docs/variables/_saltcorn_data.models_index.config.configTypes.html +1 -1
  649. package/docs/variables/_saltcorn_data.models_index.config.deleteConfig.html +1 -1
  650. package/docs/variables/_saltcorn_data.models_index.config.getAllConfig.html +1 -1
  651. package/docs/variables/_saltcorn_data.models_index.config.getConfig.html +1 -1
  652. package/docs/variables/_saltcorn_data.models_index.config.get_base_url.html +1 -1
  653. package/docs/variables/_saltcorn_data.models_index.config.get_latest_npm_version.html +1 -1
  654. package/docs/variables/_saltcorn_data.models_index.config.remove_from_menu.html +1 -1
  655. package/docs/variables/_saltcorn_data.models_index.config.save_menu_items.html +1 -1
  656. package/docs/variables/_saltcorn_data.models_index.config.setConfig.html +1 -1
  657. package/docs/variables/_saltcorn_data.models_index.discovery.discover_tables.html +1 -1
  658. package/docs/variables/_saltcorn_data.models_index.discovery.discoverable_tables.html +1 -1
  659. package/docs/variables/_saltcorn_data.models_index.discovery.findType.html +1 -1
  660. package/docs/variables/_saltcorn_data.models_index.discovery.get_existing_views.html +1 -1
  661. package/docs/variables/_saltcorn_data.models_index.discovery.implement_discovery.html +1 -1
  662. package/docs/variables/_saltcorn_data.models_index.email.getMailTransport.html +1 -1
  663. package/docs/variables/_saltcorn_data.models_index.email.send_verification_email.html +1 -1
  664. package/docs/variables/_saltcorn_data.models_index.email.viewToEmailHtml.html +1 -1
  665. package/docs/variables/_saltcorn_data.models_index.expression.apply_calculated_fields.html +1 -1
  666. package/docs/variables/_saltcorn_data.models_index.expression.apply_calculated_fields_stored.html +1 -1
  667. package/docs/variables/_saltcorn_data.models_index.expression.eval_expression.html +1 -1
  668. package/docs/variables/_saltcorn_data.models_index.expression.expressionValidator.html +1 -1
  669. package/docs/variables/_saltcorn_data.models_index.expression.get_async_expression_function.html +1 -1
  670. package/docs/variables/_saltcorn_data.models_index.expression.get_expression_function.html +1 -1
  671. package/docs/variables/_saltcorn_data.models_index.expression.jsexprToWhere.html +1 -1
  672. package/docs/variables/_saltcorn_data.models_index.expression.recalculate_for_stored.html +1 -1
  673. package/docs/variables/_saltcorn_data.models_index.expression.transform_for_async.html +1 -1
  674. package/docs/variables/_saltcorn_data.models_index.layout.eachView.html +1 -1
  675. package/docs/variables/_saltcorn_data.models_index.layout.getStringsForI18n.html +1 -1
  676. package/docs/variables/_saltcorn_data.models_index.layout.getViews.html +1 -1
  677. package/docs/variables/_saltcorn_data.models_index.layout.translateLayout.html +1 -1
  678. package/docs/variables/_saltcorn_data.models_index.layout.traverse.html +1 -1
  679. package/docs/variables/_saltcorn_data.models_index.layout.traverseSync.html +1 -1
  680. package/docs/variables/_saltcorn_data.models_index.random.all_views.html +1 -1
  681. package/docs/variables/_saltcorn_data.models_index.random.fill_table_row.html +1 -1
  682. package/docs/variables/_saltcorn_data.models_index.random.initial_view.html +1 -1
  683. package/docs/variables/_saltcorn_data.models_index.random.random_table.html +1 -1
  684. package/docs/variables/_saltcorn_data.models_index.scheduler.runScheduler.html +1 -1
  685. package/docs/variables/_saltcorn_data.models_layout.layout.html +1 -1
  686. package/docs/variables/_saltcorn_data.models_random.random.html +1 -1
  687. package/docs/variables/_saltcorn_data.models_scheduler.scheduler.html +1 -1
  688. package/docs/variables/_saltcorn_data.plugin-helper.add_free_variables_to_joinfields.html +1 -1
  689. package/docs/variables/_saltcorn_data.tests_mocks.mocks.html +1 -1
  690. package/docs/variables/_saltcorn_data.tests_remote_query_helper.renderEditInEditConfig.html +1 -1
  691. package/docs/variables/_saltcorn_data.utils.utils.html +1 -1
  692. package/docs/variables/_saltcorn_data.web-mobile-commons.webMobileCommons.html +1 -1
  693. package/docs/variables/_saltcorn_db-common.internal.dbCommonModulePath.html +1 -1
  694. package/docs/variables/_saltcorn_db-common.multi-tenant.tenantNamespace.html +1 -1
  695. package/docs/variables/_saltcorn_db-common.tenants.tenants.html +1 -1
  696. package/docs/variables/_saltcorn_markup..export_.html +1 -1
  697. package/docs/variables/_saltcorn_markup.builder.builder.html +1 -1
  698. package/docs/variables/_saltcorn_markup.emergency_layout.EmergencyLayoutExports.html +1 -1
  699. package/docs/variables/_saltcorn_markup.form.form.html +1 -1
  700. package/docs/variables/_saltcorn_markup.helpers.HelpersExports.html +1 -1
  701. package/docs/variables/_saltcorn_markup.layout.LayoutExports-1.html +1 -1
  702. package/docs/variables/_saltcorn_markup.layout.LayoutExports.html +1 -1
  703. package/docs/variables/_saltcorn_markup.layout_utils.layoutUtils.html +1 -1
  704. package/docs/variables/_saltcorn_markup.mjml-layout.LayoutExports.html +1 -1
  705. package/docs/variables/_saltcorn_markup.mjml-tags.tagsExports.html +1 -1
  706. package/docs/variables/_saltcorn_markup.table.TableExports.html +1 -1
  707. package/docs/variables/_saltcorn_markup.tags.tagsExports.html +1 -1
  708. package/docs/variables/_saltcorn_types..generators.generateBool.html +1 -1
  709. package/docs/variables/_saltcorn_types..generators.generateString.html +1 -1
  710. package/docs/variables/_saltcorn_types..generators.num_between.html +1 -1
  711. package/docs/variables/_saltcorn_types..generators.oneOf.html +1 -1
  712. package/docs/variables/_saltcorn_types.generators.generators.html +1 -1
  713. package/locales/en.json +4 -1
  714. package/markup/admin.js +14 -9
  715. package/package.json +12 -12
  716. package/routes/admin.js +1 -0
  717. package/routes/api.js +54 -22
  718. package/routes/eventlog.js +47 -0
  719. package/routes/files.js +18 -0
  720. package/routes/sync.js +24 -8
  721. package/routes/viewedit.js +2 -2
  722. package/tests/api.test.js +124 -2
  723. package/tests/files.test.js +4 -7
  724. package/tests/sync.test.js +58 -0
@@ -1 +1 @@
1
- <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>num_between | Documentation</title><meta name="description" content="Documentation for Documentation"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">Documentation</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/_saltcorn_types.html">@saltcorn/types</a></li><li><a href="../modules/_saltcorn_types..html"></a></li><li><a href="../modules/_saltcorn_types..generators.html">generators</a></li><li><a href="" aria-current="page">num_between</a></li></ul><h1>Variable num_between</h1></div><div class="tsd-signature"><span class="tsd-kind-variable">num_between</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">lo</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">hi</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">number</span></div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">lo</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">hi</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">lo</span>: <span class="tsd-signature-type">number</span></span></li><li><span><span class="tsd-kind-parameter">hi</span>: <span class="tsd-signature-type">number</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4></li></ul></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/71e4c3386d2a36c4fd4b1e7e1629847e4cac8b6a/packages/saltcorn-types/index.ts#L17">index.ts:17</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">Documentation</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>num_between | Documentation</title><meta name="description" content="Documentation for Documentation"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">Documentation</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/_saltcorn_types.html">@saltcorn/types</a></li><li><a href="../modules/_saltcorn_types..html"></a></li><li><a href="../modules/_saltcorn_types..generators.html">generators</a></li><li><a href="" aria-current="page">num_between</a></li></ul><h1>Variable num_between</h1></div><div class="tsd-signature"><span class="tsd-kind-variable">num_between</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">lo</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">hi</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">number</span></div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">lo</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">hi</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">lo</span>: <span class="tsd-signature-type">number</span></span></li><li><span><span class="tsd-kind-parameter">hi</span>: <span class="tsd-signature-type">number</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">number</span></h4></li></ul></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/0c345fa38baf7cd795e7b88842c1d38db875e89f/packages/saltcorn-types/index.ts#L17">index.ts:17</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">Documentation</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>oneOf | Documentation</title><meta name="description" content="Documentation for Documentation"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">Documentation</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/_saltcorn_types.html">@saltcorn/types</a></li><li><a href="../modules/_saltcorn_types..html"></a></li><li><a href="../modules/_saltcorn_types..generators.html">generators</a></li><li><a href="" aria-current="page">oneOf</a></li></ul><h1>Variable oneOf</h1></div><div class="tsd-signature"><span class="tsd-kind-variable">oneOf</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vs</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">any</span></div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vs</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">vs</span>: <span class="tsd-signature-type">any</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4></li></ul></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/71e4c3386d2a36c4fd4b1e7e1629847e4cac8b6a/packages/saltcorn-types/index.ts#L17">index.ts:17</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">Documentation</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>oneOf | Documentation</title><meta name="description" content="Documentation for Documentation"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">Documentation</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/_saltcorn_types.html">@saltcorn/types</a></li><li><a href="../modules/_saltcorn_types..html"></a></li><li><a href="../modules/_saltcorn_types..generators.html">generators</a></li><li><a href="" aria-current="page">oneOf</a></li></ul><h1>Variable oneOf</h1></div><div class="tsd-signature"><span class="tsd-kind-variable">oneOf</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vs</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">any</span></div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter-signature"><ul class="tsd-signatures"><li class="tsd-signature" id="__type"><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vs</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></li><li class="tsd-description"><div class="tsd-parameters"><h4 class="tsd-parameters-title">Parameters</h4><ul class="tsd-parameter-list"><li><span><span class="tsd-kind-parameter">vs</span>: <span class="tsd-signature-type">any</span></span></li></ul></div><h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4></li></ul></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/0c345fa38baf7cd795e7b88842c1d38db875e89f/packages/saltcorn-types/index.ts#L17">index.ts:17</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">Documentation</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>generators | Documentation</title><meta name="description" content="Documentation for Documentation"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">Documentation</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/_saltcorn_types.html">@saltcorn/types</a></li><li><a href="../modules/_saltcorn_types.generators.html">generators</a></li><li><a href="" aria-current="page">generators</a></li></ul><h1>Variable generators</h1></div><div class="tsd-signature"><span class="tsd-kind-variable">generators</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-kind-property">generateBool</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">generateString</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">minLength</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">excludes</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">num_between</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">lo</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">hi</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">oneOf</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vs</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5 id="generatebool"><span class="tsd-kind-property">generateBool</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">boolean</span></h5></li><li class="tsd-parameter"><h5 id="generatestring"><span class="tsd-kind-property">generateString</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">minLength</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">excludes</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">string</span></h5></li><li class="tsd-parameter"><h5 id="num_between"><span class="tsd-kind-property">num_between</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">lo</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">hi</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">number</span></h5></li><li class="tsd-parameter"><h5 id="oneof"><span class="tsd-kind-property">oneOf</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vs</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">any</span></h5></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/71e4c3386d2a36c4fd4b1e7e1629847e4cac8b6a/packages/saltcorn-types/generators.ts#L30">generators.ts:30</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">Documentation</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
1
+ <!DOCTYPE html><html class="default" lang="en" data-base="../"><head><meta charset="utf-8"/><meta http-equiv="x-ua-compatible" content="IE=edge"/><title>generators | Documentation</title><meta name="description" content="Documentation for Documentation"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="stylesheet" href="../assets/style.css"/><link rel="stylesheet" href="../assets/highlight.css"/><link rel="stylesheet" href="../assets/custom.css"/><script defer src="../assets/main.js"></script><script async src="../assets/icons.js" id="tsd-icons-script"></script><script async src="../assets/search.js" id="tsd-search-script"></script><script async src="../assets/navigation.js" id="tsd-nav-script"></script><script async src="../assets/hierarchy.js" id="tsd-hierarchy-script"></script></head><body><script>document.documentElement.dataset.theme = localStorage.getItem("tsd-theme") || "os";document.body.style.display="none";setTimeout(() => window.app?app.showPage():document.body.style.removeProperty("display"),500)</script><header class="tsd-page-toolbar"><div class="tsd-toolbar-contents container"><a href="../index.html" class="title">Documentation</a><div id="tsd-toolbar-links"></div><button id="tsd-search-trigger" class="tsd-widget" aria-label="Search"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-search"></use></svg></button><dialog id="tsd-search" aria-label="Search"><input role="combobox" id="tsd-search-input" aria-controls="tsd-search-results" aria-autocomplete="list" aria-expanded="true" autocapitalize="off" autocomplete="off" placeholder="Search the docs" maxLength="100"/><ul role="listbox" id="tsd-search-results"></ul><div id="tsd-search-status" aria-live="polite" aria-atomic="true"><div>Preparing search index...</div></div></dialog><a href="#" class="tsd-widget menu" id="tsd-toolbar-menu-trigger" data-toggle="menu" aria-label="Menu"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-menu"></use></svg></a></div></header><div class="container container-main"><div class="col-content"><div class="tsd-page-title"><ul class="tsd-breadcrumb" aria-label="Breadcrumb"><li><a href="../modules/_saltcorn_types.html">@saltcorn/types</a></li><li><a href="../modules/_saltcorn_types.generators.html">generators</a></li><li><a href="" aria-current="page">generators</a></li></ul><h1>Variable generators</h1></div><div class="tsd-signature"><span class="tsd-kind-variable">generators</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">{</span><br/>    <span class="tsd-kind-property">generateBool</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">generateString</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">minLength</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">excludes</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">num_between</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">lo</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">hi</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">;</span><br/>    <span class="tsd-kind-property">oneOf</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vs</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">;</span><br/><span class="tsd-signature-symbol">}</span></div><div class="tsd-type-declaration"><h4>Type Declaration</h4><ul class="tsd-parameters"><li class="tsd-parameter"><h5 id="generatebool"><span class="tsd-kind-property">generateBool</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">()</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">boolean</span></h5></li><li class="tsd-parameter"><h5 id="generatestring"><span class="tsd-kind-property">generateString</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">minLength</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">excludes</span><span class="tsd-signature-symbol">?:</span> <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">string</span></h5></li><li class="tsd-parameter"><h5 id="num_between"><span class="tsd-kind-property">num_between</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">lo</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">,</span> <span class="tsd-kind-parameter">hi</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">number</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">number</span></h5></li><li class="tsd-parameter"><h5 id="oneof"><span class="tsd-kind-property">oneOf</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-symbol">(</span><span class="tsd-kind-parameter">vs</span><span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span> <span class="tsd-signature-symbol">=&gt;</span> <span class="tsd-signature-type">any</span></h5></li></ul></div><aside class="tsd-sources"><ul><li>Defined in <a href="https://github.com/saltcorn/saltcorn/blob/0c345fa38baf7cd795e7b88842c1d38db875e89f/packages/saltcorn-types/generators.ts#L30">generators.ts:30</a></li></ul></aside></div><div class="col-sidebar"><div class="page-menu"><div class="tsd-navigation settings"><details class="tsd-accordion"><summary class="tsd-accordion-summary"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" aria-hidden="true"><use href="../assets/icons.svg#icon-chevronDown"></use></svg><h3>Settings</h3></summary><div class="tsd-accordion-details"><div class="tsd-filter-visibility"><span class="settings-label">Member Visibility</span><ul id="tsd-filter-options"><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-protected" name="protected"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Protected</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-inherited" name="inherited" checked/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>Inherited</span></label></li><li class="tsd-filter-item"><label class="tsd-filter-input"><input type="checkbox" id="tsd-filter-external" name="external"/><svg width="32" height="32" viewBox="0 0 32 32" aria-hidden="true"><rect class="tsd-checkbox-background" width="30" height="30" x="1" y="1" rx="6" fill="none"></rect><path class="tsd-checkbox-checkmark" d="M8.35422 16.8214L13.2143 21.75L24.6458 10.25" stroke="none" stroke-width="3.5" stroke-linejoin="round" fill="none"></path></svg><span>External</span></label></li></ul></div><div class="tsd-theme-toggle"><label class="settings-label" for="tsd-theme">Theme</label><select id="tsd-theme"><option value="os">OS</option><option value="light">Light</option><option value="dark">Dark</option></select></div></div></details></div></div><div class="site-menu"><nav class="tsd-navigation"><a href="../modules.html">Documentation</a><ul class="tsd-small-nested-navigation" id="tsd-nav-container"><li>Loading...</li></ul></nav></div></div></div><footer><p class="tsd-generator">Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p></footer><div class="overlay"></div></body></html>
package/locales/en.json CHANGED
@@ -2052,5 +2052,8 @@
2052
2052
  "Field names are limited to 63 characters": "Field names are limited to 63 characters",
2053
2053
  "Welcome to %s!": "Welcome to %s!",
2054
2054
  "Admin dashboard": "Admin dashboard",
2055
- "All entities list": "All entities list"
2055
+ "All entities list": "All entities list",
2056
+ "Warning: any user given development permission can potentially introduce malicious code into the application.": "Warning: any user given development permission can potentially introduce malicious code into the application.",
2057
+ "Edit users": "Edit users",
2058
+ "Minimum role to access the user editing interface": "Minimum role to access the user editing interface"
2056
2059
  }
package/markup/admin.js CHANGED
@@ -319,18 +319,23 @@ const send_infoarch_page = (args) => {
319
319
  */
320
320
  const send_users_page = (args) => {
321
321
  const isRoot = db.getTenantSchema() === db.connectObj.default_schema;
322
+ const role = args.req?.user.role_id || 100;
323
+ const isUserAdmin = role === 1;
324
+
322
325
  return send_settings_page({
323
326
  main_section: "Users and security",
324
327
  main_section_href: "/useradmin",
325
- sub_sections: [
326
- { text: "Users", href: "/useradmin" },
327
- { text: "Roles", href: "/roleadmin" },
328
- { text: "Login and Signup", href: "/useradmin/settings" },
329
- { text: "Table access", href: "/useradmin/table-access" },
330
- ...(isRoot ? [{ text: "SSL", href: "/useradmin/ssl" }] : []),
331
- { text: "HTTP", href: "/useradmin/http" },
332
- { text: "Permissions", href: "/useradmin/permissions" },
333
- ],
328
+ sub_sections: isUserAdmin
329
+ ? [
330
+ { text: "Users", href: "/useradmin" },
331
+ { text: "Roles", href: "/roleadmin" },
332
+ { text: "Login and Signup", href: "/useradmin/settings" },
333
+ { text: "Table access", href: "/useradmin/table-access" },
334
+ ...(isRoot ? [{ text: "SSL", href: "/useradmin/ssl" }] : []),
335
+ { text: "HTTP", href: "/useradmin/http" },
336
+ { text: "Permissions", href: "/useradmin/permissions" },
337
+ ]
338
+ : [{ text: "Users", href: "/useradmin" }],
334
339
  ...args,
335
340
  });
336
341
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@saltcorn/server",
3
- "version": "1.6.0-beta.2",
3
+ "version": "1.6.0-beta.4",
4
4
  "description": "Server app for Saltcorn, open-source no-code platform",
5
5
  "homepage": "https://saltcorn.com",
6
6
  "main": "index.js",
@@ -9,15 +9,15 @@
9
9
  "@aws-sdk/client-s3": "^3.735.0",
10
10
  "@aws-sdk/s3-request-presigner": "^3.940.0",
11
11
  "@dr.pogodin/csurf": "1.15.0",
12
- "@saltcorn/admin-models": "1.6.0-beta.2",
13
- "@saltcorn/base-plugin": "1.6.0-beta.2",
14
- "@saltcorn/builder": "1.6.0-beta.2",
15
- "@saltcorn/workflow-editor": "1.6.0-beta.2",
16
- "@saltcorn/data": "1.6.0-beta.2",
17
- "@saltcorn/filemanager": "1.6.0-beta.2",
18
- "@saltcorn/markup": "1.6.0-beta.2",
19
- "@saltcorn/plugins-loader": "1.6.0-beta.2",
20
- "@saltcorn/sbadmin2": "1.6.0-beta.2",
12
+ "@saltcorn/admin-models": "1.6.0-beta.4",
13
+ "@saltcorn/base-plugin": "1.6.0-beta.4",
14
+ "@saltcorn/builder": "1.6.0-beta.4",
15
+ "@saltcorn/workflow-editor": "1.6.0-beta.4",
16
+ "@saltcorn/data": "1.6.0-beta.4",
17
+ "@saltcorn/filemanager": "1.6.0-beta.4",
18
+ "@saltcorn/markup": "1.6.0-beta.4",
19
+ "@saltcorn/plugins-loader": "1.6.0-beta.4",
20
+ "@saltcorn/sbadmin2": "1.6.0-beta.4",
21
21
  "@socket.io/cluster-adapter": "^0.2.1",
22
22
  "@socket.io/sticky": "^1.0.1",
23
23
  "adm-zip": "0.5.16",
@@ -70,9 +70,9 @@
70
70
  "uuid": "^11.0.5",
71
71
  "fs-extra": "^11.3.0",
72
72
  "env-paths": "^2.2.1",
73
- "@saltcorn/db-common": "1.6.0-beta.2",
73
+ "@saltcorn/db-common": "1.6.0-beta.4",
74
74
  "web-push": "^3.6.7",
75
- "@saltcorn/types": "1.6.0-beta.2",
75
+ "@saltcorn/types": "1.6.0-beta.4",
76
76
  "dayjs": "^1.11.13"
77
77
  },
78
78
  "optionalDependencies": {
package/routes/admin.js CHANGED
@@ -489,6 +489,7 @@ router.get(
489
489
  "min_role_edit_search",
490
490
  "min_role_edit_menu",
491
491
  "min_role_edit_files",
492
+ "min_role_edit_users",
492
493
  ]),
493
494
  error_catcher(async (req, res) => {
494
495
  const { topic } = req.params;
package/routes/api.js CHANGED
@@ -68,13 +68,13 @@ const limitFields = (fields) => (r) => {
68
68
  };
69
69
 
70
70
  /**
71
- * Check that user has right to read table data (only read in terms of CRUD)
71
+ * Check that user potentially has right to read table data (only read in terms of CRUD). In case of ownership fields/formula, further checks are needed.
72
72
  * @param {object} req httprequest
73
73
  * @param {object} user - user based on access token
74
74
  * @param {Table} table
75
75
  * @returns {boolean}
76
76
  */
77
- function accessAllowedRead(req, user, table, allow_ownership) {
77
+ function potentiallyAccessAllowedRead(req, user, table, allow_ownership) {
78
78
  const role =
79
79
  req.user && req.user.id
80
80
  ? req.user.role_id
@@ -91,13 +91,13 @@ function accessAllowedRead(req, user, table, allow_ownership) {
91
91
  }
92
92
 
93
93
  /**
94
- * Check that user has right to write table data (create, update, delete in terms of CRUD)
94
+ * Check that user potentially has right to write table data (create, update, delete in terms of CRUD). In case of ownership fields/formula, further checks are needed.
95
95
  * @param {object} req httprequest
96
96
  * @param {object} user user based on access token
97
97
  * @param {Table} table
98
98
  * @returns {boolean}
99
99
  */
100
- function accessAllowedWrite(req, user, table) {
100
+ function potentiallyAccessAllowedWrite(req, user, table) {
101
101
  const role =
102
102
  req.user && req.user.id
103
103
  ? req.user.role_id
@@ -326,7 +326,8 @@ router.get(
326
326
  "api-bearer",
327
327
  { session: false },
328
328
  async function (err, user, info) {
329
- if (accessAllowedRead(req, user, table)) {
329
+ if (potentiallyAccessAllowedRead(req, user, table)) {
330
+ const myReq = { user: user || req.user, __: req.__ };
330
331
  const field = table.getFields().find((f) => f.name === fieldName);
331
332
  if (!field) {
332
333
  res.status(404).json({ error: req.__("Not found") });
@@ -337,9 +338,9 @@ router.get(
337
338
  field.is_fkey ||
338
339
  (field.type.name === "String" && field.attributes?.options)
339
340
  ) {
340
- dvs = await field.distinct_values();
341
+ dvs = await field.distinct_values(myReq);
341
342
  } else {
342
- dvs = await table.distinctValues(fieldName);
343
+ dvs = await table.distinctValues(fieldName, {}, user || req.user);
343
344
  }
344
345
  res.json({ success: dvs });
345
346
  } else {
@@ -442,7 +443,7 @@ router.get(
442
443
  ["api-bearer", "jwt"],
443
444
  { session: false },
444
445
  async function (err, user, info) {
445
- if (accessAllowedRead(req, user, table, true)) {
446
+ if (potentiallyAccessAllowedRead(req, user, table, true)) {
446
447
  let rows;
447
448
  if (versioncount === "on") {
448
449
  const joinOpts = {
@@ -544,7 +545,7 @@ router.get("/:tableName/count", async (req, res, next) => {
544
545
  ["api-bearer", "jwt"],
545
546
  { session: false },
546
547
  async function (err, user, info) {
547
- if (accessAllowedRead(req, user, table)) {
548
+ if (potentiallyAccessAllowedRead(req, user, table)) {
548
549
  const tbl_fields = table.getFields();
549
550
  readState(req_query, tbl_fields, req);
550
551
  const qstate = stateFieldsToWhere({
@@ -568,8 +569,10 @@ router.get("/:tableName/count", async (req, res, next) => {
568
569
  * Emit Event using POST
569
570
  * This is used from the mobile app to send an event to the server.
570
571
  *
571
- * The user comes the JWT token and actions,
572
- * listening for the event, have to check on their own if the user is allowed to run it.
572
+ * Authenticated users may only emit events listed in the
573
+ * `mobile_emit_allowed_events` config.
574
+ * Public users (role_id=100, no id) may only emit events listed in the
575
+ * `mobile_emit_public_events` config (default: empty — disabled).
573
576
  */
574
577
  router.post(
575
578
  "/emit-event/:eventname",
@@ -578,15 +581,44 @@ router.post(
578
581
  "jwt",
579
582
  { session: false },
580
583
  async function (err, user, info) {
581
- if (user) {
582
- const { eventname } = req.params;
583
- const { channel, payload } = req.body;
584
- Trigger.emitEvent(eventname, channel, user, payload);
585
- res.json({ success: true });
586
- } else {
584
+ if (!user) {
587
585
  getState().log(3, `API POST emit-event not authorized`);
588
- res.status(401).json({ error: req.__("Not authorized") });
586
+ return res.status(401).json({ error: req.__("Not authorized") });
587
+ }
588
+ const { eventname } = req.params;
589
+ const { channel, payload } = req.body;
590
+ const state = getState();
591
+ if (!user.id) {
592
+ // public user — only allowed if explicitly configured
593
+ const publicAllowed = state.getConfig(
594
+ "mobile_emit_public_events",
595
+ []
596
+ );
597
+ if (!publicAllowed.includes(eventname)) {
598
+ state.log(3, `API POST emit-event not authorized for public user`);
599
+ return res.status(401).json({ error: req.__("Not authorized") });
600
+ }
601
+ } else {
602
+ // authenticated user — ReceiveMobileShareData always allowed, rest requires config
603
+ const configAllowed = state.getConfig(
604
+ "mobile_emit_allowed_events",
605
+ []
606
+ );
607
+ if (
608
+ eventname !== "ReceiveMobileShareData" &&
609
+ !configAllowed.includes(eventname)
610
+ ) {
611
+ state.log(
612
+ 3,
613
+ `API POST emit-event: event type '${eventname}' not allowed`
614
+ );
615
+ return res
616
+ .status(403)
617
+ .json({ error: req.__("Event type not allowed") });
618
+ }
589
619
  }
620
+ Trigger.emitEvent(eventname, channel, user, payload);
621
+ res.json({ success: true });
590
622
  }
591
623
  )(req, res, next);
592
624
  })
@@ -700,7 +732,7 @@ router.post(
700
732
  "api-bearer",
701
733
  { session: false },
702
734
  async function (err, user, info) {
703
- if (accessAllowedWrite(req, user, table)) {
735
+ if (potentiallyAccessAllowedWrite(req, user, table)) {
704
736
  const { _versions, ...row } = req.body || {};
705
737
  const fields = table.getFields();
706
738
  readState(row, fields, req);
@@ -754,7 +786,7 @@ router.post(
754
786
  "api-bearer",
755
787
  { session: false },
756
788
  async function (err, user, info) {
757
- if (accessAllowedWrite(req, user, table)) {
789
+ if (potentiallyAccessAllowedWrite(req, user, table)) {
758
790
  try {
759
791
  await db.withTransaction(async () => {
760
792
  if (id === "undefined") {
@@ -807,7 +839,7 @@ router.post(
807
839
  ["api-bearer", "jwt"],
808
840
  { session: false },
809
841
  async function (err, user, info) {
810
- if (accessAllowedWrite(req, user, table)) {
842
+ if (potentiallyAccessAllowedWrite(req, user, table)) {
811
843
  const { _versions, ...row } = req.body || {};
812
844
  const fields = table.getFields();
813
845
  readState(row, fields, req);
@@ -862,7 +894,7 @@ router.delete(
862
894
  "api-bearer",
863
895
  { session: false },
864
896
  async function (err, user, info) {
865
- if (accessAllowedWrite(req, user, table)) {
897
+ if (potentiallyAccessAllowedWrite(req, user, table)) {
866
898
  try {
867
899
  //await db.withTransaction(async () => {
868
900
  if (id === "undefined") {
@@ -151,6 +151,30 @@ const logSettingsForm = async (req) => {
151
151
  showIf: { [w]: true },
152
152
  });
153
153
  }
154
+ fields.push(
155
+ {
156
+ input_type: "section_header",
157
+ label: req.__("Mobile app event permissions"),
158
+ },
159
+ {
160
+ name: "mobile_emit_allowed_events",
161
+ label: req.__("Authenticated user allowed events"),
162
+ type: "String",
163
+ sublabel: req.__(
164
+ "Comma-separated additional event names that authenticated mobile app users may emit. " +
165
+ "ReceiveMobileShareData is always allowed."
166
+ ),
167
+ },
168
+ {
169
+ name: "mobile_emit_public_events",
170
+ label: req.__("Public user allowed events"),
171
+ type: "String",
172
+ sublabel: req.__(
173
+ "Comma-separated event names that unauthenticated (public) mobile app users may emit. " +
174
+ "Empty means public users cannot emit any events."
175
+ ),
176
+ }
177
+ );
154
178
  return new Form({
155
179
  action: "/eventlog/settings",
156
180
  noSubmitButton: true,
@@ -188,6 +212,13 @@ router.get(
188
212
  let cfgk = `delete_${k}_workflows_days`;
189
213
  form.values[cfgk] = getState().getConfig(cfgk);
190
214
  });
215
+ for (const k of [
216
+ "mobile_emit_allowed_events",
217
+ "mobile_emit_public_events",
218
+ ]) {
219
+ const arr = getState().getConfig(k, []);
220
+ form.values[k] = Array.isArray(arr) ? arr.join(", ") : arr;
221
+ }
191
222
 
192
223
  send_events_page({
193
224
  res,
@@ -407,6 +438,22 @@ router.post(
407
438
  }
408
439
  }
409
440
 
441
+ for (const k of [
442
+ "mobile_emit_allowed_events",
443
+ "mobile_emit_public_events",
444
+ ]) {
445
+ const raw = form.values[k];
446
+ await getState().setConfig(
447
+ k,
448
+ raw
449
+ ? raw
450
+ .split(",")
451
+ .map((s) => s.trim())
452
+ .filter(Boolean)
453
+ : []
454
+ );
455
+ delete form.values[k];
456
+ }
410
457
  await getState().setConfig("event_log_settings", form.values);
411
458
 
412
459
  if (!req.xhr) res.redirect(`/eventlog/settings`);
package/routes/files.js CHANGED
@@ -8,6 +8,7 @@
8
8
  const Router = require("express-promise-router");
9
9
  const File = require("@saltcorn/data/models/file");
10
10
  const User = require("@saltcorn/data/models/user");
11
+ const View = require("@saltcorn/data/models/view");
11
12
  const Form = require("@saltcorn/data/models/form");
12
13
  const { getState } = require("@saltcorn/data/db/state");
13
14
  const s3storage = require("../s3storage");
@@ -120,6 +121,21 @@ router.get(
120
121
  error_catcher(async (req, res) => {
121
122
  const role = req.user?.role_id ? req.user.role_id : 100;
122
123
  const userId = req.user?.id;
124
+ const min_role_edit_files = getState().getConfig("min_role_edit_files", 1);
125
+ if (role > min_role_edit_files) {
126
+ // check if there is a use_picker set
127
+ let role_needed = min_role_edit_files;
128
+
129
+ const all_views = await View.find({}, { cached: true });
130
+ for (const view of all_views)
131
+ if (JSON.stringify(view.configuration).includes('"use_picker":true'))
132
+ role_needed = Math.max(role_needed, view.min_role);
133
+
134
+ if (role > role_needed) {
135
+ res.json({ error: "Not authorized" });
136
+ return;
137
+ }
138
+ }
123
139
  const { dir, no_subdirs, file_exts } = req.query;
124
140
  const noSubdirs = no_subdirs === "true";
125
141
  const safeDir = File.normalise(dir || "/");
@@ -878,6 +894,7 @@ const editableExtensions = [
878
894
  */
879
895
  router.get(
880
896
  "/edit/*serve_path",
897
+ isAdminOrHasConfigMinRole("min_role_edit_files"),
881
898
  error_catcher(async (req, res) => {
882
899
  const role = req.user && req.user.id ? req.user.role_id : 100;
883
900
  const user_id = req.user && req.user.id;
@@ -984,6 +1001,7 @@ router.get(
984
1001
  */
985
1002
  router.post(
986
1003
  "/edit/*serve_path",
1004
+ isAdminOrHasConfigMinRole("min_role_edit_files"),
987
1005
  error_catcher(async (req, res) => {
988
1006
  const role = req.user && req.user.id ? req.user.role_id : 100;
989
1007
  const user_id = req.user && req.user.id;