@saltcorn/server 1.5.0-beta.13 → 1.5.0-beta.15

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 (919) hide show
  1. package/docs/assets/hierarchy.js +1 -1
  2. package/docs/assets/navigation.js +1 -1
  3. package/docs/assets/search.js +1 -1
  4. package/docs/classes/_saltcorn_admin-models.models_snapshot.Snapshot.html +2 -2
  5. package/docs/classes/_saltcorn_common-code.relations_relation.Relation.html +3 -3
  6. package/docs/classes/_saltcorn_common-code.relations_relations_finder.RelationsFinder.html +5 -5
  7. package/docs/classes/_saltcorn_data.diagram_cy_raster.CytoscapeRaster.html +4 -4
  8. package/docs/classes/_saltcorn_data.diagram_nodes_dummy_node.DummyNode.html +4 -4
  9. package/docs/classes/_saltcorn_data.diagram_nodes_node.Node.html +4 -4
  10. package/docs/classes/_saltcorn_data.diagram_nodes_page_node.PageNode.html +4 -4
  11. package/docs/classes/_saltcorn_data.diagram_nodes_table_node.TableNode.html +4 -4
  12. package/docs/classes/_saltcorn_data.diagram_nodes_trigger_node.TriggerNode.html +4 -4
  13. package/docs/classes/_saltcorn_data.diagram_nodes_view_node.ViewNode.html +4 -4
  14. package/docs/classes/_saltcorn_data.mobile-mocks_node_async_hooks.AsyncLocalStorage.html +2 -2
  15. package/docs/classes/_saltcorn_data.models_crash.Crash.html +2 -2
  16. package/docs/classes/_saltcorn_data.models_eventlog.EventLog.html +2 -2
  17. package/docs/classes/_saltcorn_data.models_field.Field.html +9 -9
  18. package/docs/classes/_saltcorn_data.models_fieldrepeat.FieldRepeat.html +2 -2
  19. package/docs/classes/_saltcorn_data.models_file.File.html +21 -21
  20. package/docs/classes/_saltcorn_data.models_form.Form.html +2 -2
  21. package/docs/classes/_saltcorn_data.models_internal_mail_queue.MailQueue.html +4 -4
  22. package/docs/classes/_saltcorn_data.models_internal_push_message_helper.PushMessageHelper.html +21 -11
  23. package/docs/classes/_saltcorn_data.models_library.Library.html +2 -2
  24. package/docs/classes/_saltcorn_data.models_model.Model.html +2 -2
  25. package/docs/classes/_saltcorn_data.models_model_instance.ModelInstance.html +2 -2
  26. package/docs/classes/_saltcorn_data.models_notification.Notification.html +2 -2
  27. package/docs/classes/_saltcorn_data.models_page.Page.html +11 -11
  28. package/docs/classes/_saltcorn_data.models_page_group.PageGroup.html +16 -16
  29. package/docs/classes/_saltcorn_data.models_page_group_member.PageGroupMember.html +8 -8
  30. package/docs/classes/_saltcorn_data.models_plugin.Plugin.html +9 -9
  31. package/docs/classes/_saltcorn_data.models_role.Role.html +2 -2
  32. package/docs/classes/_saltcorn_data.models_table.Table.html +65 -65
  33. package/docs/classes/_saltcorn_data.models_table_constraints.TableConstraint.html +2 -2
  34. package/docs/classes/_saltcorn_data.models_tag.Tag.html +2 -2
  35. package/docs/classes/_saltcorn_data.models_tag_entry.TagEntry.html +2 -2
  36. package/docs/classes/_saltcorn_data.models_trigger.Trigger.html +19 -19
  37. package/docs/classes/_saltcorn_data.models_user.User.html +32 -32
  38. package/docs/classes/_saltcorn_data.models_view.View.html +15 -15
  39. package/docs/classes/_saltcorn_data.models_workflow.Workflow.html +2 -2
  40. package/docs/classes/_saltcorn_data.models_workflow_run.WorkflowRun.html +2 -2
  41. package/docs/classes/_saltcorn_data.models_workflow_step.WorkflowStep.html +2 -2
  42. package/docs/classes/_saltcorn_data.models_workflow_trace.MetaData.html +2 -2
  43. package/docs/classes/_saltcorn_data.models_workflow_trace.WorkflowTrace.html +2 -2
  44. package/docs/classes/_saltcorn_mobile-builder.mobile-builder.MobileBuilder.html +4 -2
  45. package/docs/classes/_saltcorn_mobile-builder.utils_capacitor-helper.CapacitorHelper.html +2 -2
  46. package/docs/enums/_saltcorn_common-code.relations_relation_types.RelationType.html +2 -2
  47. package/docs/enums/_saltcorn_common-code.relations_relation_types.ViewDisplayType.html +2 -2
  48. package/docs/functions/_saltcorn_admin-models.models_config-check.runConfigurationCheck.html +1 -1
  49. package/docs/functions/_saltcorn_common-code.relations_relation_helpers.buildRelationPath.html +1 -1
  50. package/docs/functions/_saltcorn_common-code.relations_relation_helpers.buildTableCaches.html +1 -1
  51. package/docs/functions/_saltcorn_common-code.relations_relation_helpers.parseLegacyRelation.html +1 -1
  52. package/docs/functions/_saltcorn_common-code.relations_relation_helpers.parseRelationPath.html +1 -1
  53. package/docs/functions/_saltcorn_common-code.tests_test_data.fixturesData.html +1 -1
  54. package/docs/functions/_saltcorn_common-code.tests_test_data.withAnotherUserField.html +1 -1
  55. package/docs/functions/_saltcorn_common-code.tests_test_data.withKeyFromLayerThree.html +1 -1
  56. package/docs/functions/_saltcorn_common-code.tests_test_data.withKeyFromLayerTwo.html +1 -1
  57. package/docs/functions/_saltcorn_common-code.tests_test_data.withMultipleInbounds.html +1 -1
  58. package/docs/functions/_saltcorn_common-code.tests_test_data.withSecondTopicField.html +1 -1
  59. package/docs/functions/_saltcorn_common-code.tests_test_data.withSimplePostTopicrelation.html +1 -1
  60. package/docs/functions/_saltcorn_data.base-plugin_fieldviews.radio_select.run.html +1 -1
  61. package/docs/functions/_saltcorn_data.base-plugin_fieldviews.search_or_create.configFields.html +1 -1
  62. package/docs/functions/_saltcorn_data.base-plugin_fieldviews.search_or_create.run.html +1 -1
  63. package/docs/functions/_saltcorn_data.base-plugin_fieldviews.select.run.html +1 -1
  64. package/docs/functions/_saltcorn_data.base-plugin_fieldviews.select_from_table.fill_options.html +1 -1
  65. package/docs/functions/_saltcorn_data.base-plugin_fieldviews.select_from_table.run.html +1 -1
  66. package/docs/functions/_saltcorn_data.base-plugin_types.bool.contract.html +1 -1
  67. package/docs/functions/_saltcorn_data.base-plugin_types.bool.fieldviews.TrueFalse.run.html +1 -1
  68. package/docs/functions/_saltcorn_data.base-plugin_types.bool.fieldviews.checkboxes.run.html +1 -1
  69. package/docs/functions/_saltcorn_data.base-plugin_types.bool.fieldviews.edit.run.html +1 -1
  70. package/docs/functions/_saltcorn_data.base-plugin_types.bool.fieldviews.show.run.html +1 -1
  71. package/docs/functions/_saltcorn_data.base-plugin_types.bool.fieldviews.tristate.run.html +1 -1
  72. package/docs/functions/_saltcorn_data.base-plugin_types.bool.listAs.html +1 -1
  73. package/docs/functions/_saltcorn_data.base-plugin_types.bool.read.html +1 -1
  74. package/docs/functions/_saltcorn_data.base-plugin_types.bool.readFromDB.html +1 -1
  75. package/docs/functions/_saltcorn_data.base-plugin_types.bool.readFromFormRecord.html +1 -1
  76. package/docs/functions/_saltcorn_data.base-plugin_types.bool.validate.html +1 -1
  77. package/docs/functions/_saltcorn_data.base-plugin_types.color.contract.html +1 -1
  78. package/docs/functions/_saltcorn_data.base-plugin_types.color.fieldviews.edit.run.html +1 -1
  79. package/docs/functions/_saltcorn_data.base-plugin_types.color.fieldviews.show.run.html +1 -1
  80. package/docs/functions/_saltcorn_data.base-plugin_types.color.read.html +1 -1
  81. package/docs/functions/_saltcorn_data.base-plugin_types.color.validate.html +1 -1
  82. package/docs/functions/_saltcorn_data.base-plugin_types.date.contract.html +1 -1
  83. package/docs/functions/_saltcorn_data.base-plugin_types.date.equals.html +1 -1
  84. package/docs/functions/_saltcorn_data.base-plugin_types.date.fieldviews.edit.run.html +1 -1
  85. package/docs/functions/_saltcorn_data.base-plugin_types.date.fieldviews.editDay.run.html +1 -1
  86. package/docs/functions/_saltcorn_data.base-plugin_types.date.fieldviews.format.run.html +1 -1
  87. package/docs/functions/_saltcorn_data.base-plugin_types.date.fieldviews.relative.run.html +1 -1
  88. package/docs/functions/_saltcorn_data.base-plugin_types.date.fieldviews.show.run.html +1 -1
  89. package/docs/functions/_saltcorn_data.base-plugin_types.date.fieldviews.showDay.run.html +1 -1
  90. package/docs/functions/_saltcorn_data.base-plugin_types.date.fieldviews.yearsAgo.run.html +1 -1
  91. package/docs/functions/_saltcorn_data.base-plugin_types.date.presets.Now.html +1 -1
  92. package/docs/functions/_saltcorn_data.base-plugin_types.date.read.html +1 -1
  93. package/docs/functions/_saltcorn_data.base-plugin_types.date.validate.html +1 -1
  94. package/docs/functions/_saltcorn_data.base-plugin_types.float.contract.html +1 -1
  95. package/docs/functions/_saltcorn_data.base-plugin_types.float.equals.html +1 -1
  96. package/docs/functions/_saltcorn_data.base-plugin_types.float.fieldviews.edit.run.html +1 -1
  97. package/docs/functions/_saltcorn_data.base-plugin_types.float.fieldviews.show.run.html +1 -1
  98. package/docs/functions/_saltcorn_data.base-plugin_types.float.read.html +1 -1
  99. package/docs/functions/_saltcorn_data.base-plugin_types.float.validate.html +1 -1
  100. package/docs/functions/_saltcorn_data.base-plugin_types.int.contract.html +1 -1
  101. package/docs/functions/_saltcorn_data.base-plugin_types.int.read.html +1 -1
  102. package/docs/functions/_saltcorn_data.base-plugin_types.int.validate.html +1 -1
  103. package/docs/functions/_saltcorn_data.base-plugin_types.int.validate_attributes.html +1 -1
  104. package/docs/functions/_saltcorn_data.base-plugin_types.string.attributes.html +1 -1
  105. package/docs/functions/_saltcorn_data.base-plugin_types.string.contract.html +1 -1
  106. package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.as_header.run.html +1 -1
  107. package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.as_link.run.html +1 -1
  108. package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.as_text.run.html +1 -1
  109. package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.edit.configFields.html +1 -1
  110. package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.edit.run.html +1 -1
  111. package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.img_from_url.run.html +1 -1
  112. package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.password.run.html +1 -1
  113. package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.radio_group.run.html +1 -1
  114. package/docs/functions/_saltcorn_data.base-plugin_types.string.fieldviews.textarea.run.html +1 -1
  115. package/docs/functions/_saltcorn_data.base-plugin_types.string.presets.IP.html +1 -1
  116. package/docs/functions/_saltcorn_data.base-plugin_types.string.presets.SessionID.html +1 -1
  117. package/docs/functions/_saltcorn_data.base-plugin_types.string.read.html +1 -1
  118. package/docs/functions/_saltcorn_data.base-plugin_types.string.validate.html +1 -1
  119. package/docs/functions/_saltcorn_data.base-plugin_types.string.validate_attributes.html +1 -1
  120. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.action_link.html +1 -1
  121. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.action_url.html +1 -1
  122. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.fill_presets.html +1 -1
  123. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.getForm.html +1 -1
  124. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.get_view_link_query.html +1 -1
  125. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.get_viewable_fields.html +1 -1
  126. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.get_viewable_fields_from_layout.html +1 -1
  127. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.make_link.html +1 -1
  128. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.objToQueryString.html +1 -1
  129. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.parse_view_select.html +1 -1
  130. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.splitUniques.html +1 -1
  131. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.standardBlockDispatch.html +1 -1
  132. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.standardLayoutRowVisitor.html +1 -1
  133. package/docs/functions/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.view_linker.html +1 -1
  134. package/docs/functions/_saltcorn_data.db_connect_mobile.getConnectObject.html +1 -1
  135. package/docs/functions/_saltcorn_data.db_reset_schema.reset.html +1 -1
  136. package/docs/functions/_saltcorn_data.diagram_cy_generate_utils.generateCyCode.html +1 -1
  137. package/docs/functions/_saltcorn_data.diagram_cy_generate_utils.genereateCyCfg.html +1 -1
  138. package/docs/functions/_saltcorn_data.diagram_node_extract_utils.buildObjectTrees.html +1 -1
  139. package/docs/functions/_saltcorn_data.diagram_node_extract_utils.extractFromColumns.html +1 -1
  140. package/docs/functions/_saltcorn_data.diagram_node_extract_utils.extractFromLayout.html +1 -1
  141. package/docs/functions/_saltcorn_data.diagram_node_extract_utils.extractViewToCreate.html +1 -1
  142. package/docs/functions/_saltcorn_data.migrate.create_blank_migration.html +1 -1
  143. package/docs/functions/_saltcorn_data.migrate.getMigrationsInDB.html +1 -1
  144. package/docs/functions/_saltcorn_data.migrate.migrate.html +1 -1
  145. package/docs/functions/_saltcorn_data.migrations_202102091312.js.html +1 -1
  146. package/docs/functions/_saltcorn_data.migrations_202210051058.js.html +1 -1
  147. package/docs/functions/_saltcorn_data.migrations_202210101540.js.html +1 -1
  148. package/docs/functions/_saltcorn_data.migrations_202304281224.js.html +1 -1
  149. package/docs/functions/_saltcorn_data.migrations_202307211459.js.html +1 -1
  150. package/docs/functions/_saltcorn_data.migrations_202502131103.js.html +1 -1
  151. package/docs/functions/_saltcorn_data.migrations_202508011455.js.html +1 -1
  152. package/docs/functions/_saltcorn_data.migrations_202510152058.js.html +1 -1
  153. package/docs/functions/_saltcorn_data.mobile-mocks_node_child_process.execSync.html +1 -1
  154. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs.createReadStream.html +1 -1
  155. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs.readdirSync.html +1 -1
  156. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs.writeFileSync.html +1 -1
  157. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.mkdir.html +1 -1
  158. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.readFile.html +1 -1
  159. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.stat.html +1 -1
  160. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.unlink.html +1 -1
  161. package/docs/functions/_saltcorn_data.mobile-mocks_node_fs_promises.writeFile.html +1 -1
  162. package/docs/functions/_saltcorn_data.mobile-mocks_node_latest-version.latestVersion.html +1 -1
  163. package/docs/functions/_saltcorn_data.mobile-mocks_node_v8.deserialize.html +1 -1
  164. package/docs/functions/_saltcorn_data.mobile-mocks_node_v8.serialize.html +1 -1
  165. package/docs/functions/_saltcorn_data.mobile-mocks_npm_env-paths.envPaths.html +1 -1
  166. package/docs/functions/_saltcorn_data.model-helper.get_predictor.html +1 -1
  167. package/docs/functions/_saltcorn_data.model-helper.run_jupyter_model.html +1 -1
  168. package/docs/functions/_saltcorn_data.model-helper.shorten_trackback.html +1 -1
  169. package/docs/functions/_saltcorn_data.model-helper.write_csv.html +1 -1
  170. package/docs/functions/_saltcorn_data.models_internal_async_json_stream.async_json_stream.html +1 -1
  171. package/docs/functions/_saltcorn_data.models_internal_query.aggregation_query_fields.html +1 -1
  172. package/docs/functions/_saltcorn_data.models_internal_query.getAggAndField.html +1 -1
  173. package/docs/functions/_saltcorn_data.models_internal_query.joinfield_renamer.html +1 -1
  174. package/docs/functions/_saltcorn_data.models_internal_query.process_aggregations.html +1 -1
  175. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.buildKeyFromRelative.html +1 -1
  176. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.copyObject.html +1 -1
  177. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.deleteObject.html +1 -1
  178. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.downloadBuffer.html +1 -1
  179. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.getPublicFileUrl.html +1 -1
  180. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.getResolvedBucket.html +1 -1
  181. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.getS3Client.html +1 -1
  182. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.getServeUrl.html +1 -1
  183. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.getSignedFileUrl.html +1 -1
  184. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.headObject.html +1 -1
  185. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.isS3Enabled.html +1 -1
  186. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.listS3Folder.html +1 -1
  187. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.publicUrlToRelativePath.html +1 -1
  188. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.relativeKeyToPath.html +1 -1
  189. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.setObjectMetadata.html +1 -1
  190. package/docs/functions/_saltcorn_data.models_internal_s3_helpers.uploadBuffer.html +1 -1
  191. package/docs/functions/_saltcorn_data.models_internal_table_helper.boolExamples.html +1 -1
  192. package/docs/functions/_saltcorn_data.models_internal_table_helper.colorExamples.html +1 -1
  193. package/docs/functions/_saltcorn_data.models_internal_table_helper.floatExamples.html +1 -1
  194. package/docs/functions/_saltcorn_data.models_internal_table_helper.get_formula_examples.html +1 -1
  195. package/docs/functions/_saltcorn_data.models_internal_table_helper.intExamples.html +1 -1
  196. package/docs/functions/_saltcorn_data.models_internal_table_helper.stringExamples.html +1 -1
  197. package/docs/functions/_saltcorn_data.plugin-helper.build_schema_data.html +1 -1
  198. package/docs/functions/_saltcorn_data.plugin-helper.calcfldViewConfig.html +1 -1
  199. package/docs/functions/_saltcorn_data.plugin-helper.calcfldViewOptions.html +1 -1
  200. package/docs/functions/_saltcorn_data.plugin-helper.calcrelViewOptions.html +1 -1
  201. package/docs/functions/_saltcorn_data.plugin-helper.displayType.html +1 -1
  202. package/docs/functions/_saltcorn_data.plugin-helper.field_picker_fields.html +1 -1
  203. package/docs/functions/_saltcorn_data.plugin-helper.generate_joined_query.html +1 -1
  204. package/docs/functions/_saltcorn_data.plugin-helper.getActionConfigFields.html +1 -1
  205. package/docs/functions/_saltcorn_data.plugin-helper.get_child_views.html +1 -1
  206. package/docs/functions/_saltcorn_data.plugin-helper.get_inbound_relation_opts.html +1 -1
  207. package/docs/functions/_saltcorn_data.plugin-helper.get_inbound_self_relation_opts.html +1 -1
  208. package/docs/functions/_saltcorn_data.plugin-helper.get_link_view_opts.html +1 -1
  209. package/docs/functions/_saltcorn_data.plugin-helper.get_many_to_many_relation_opts.html +1 -1
  210. package/docs/functions/_saltcorn_data.plugin-helper.get_parent_views.html +1 -1
  211. package/docs/functions/_saltcorn_data.plugin-helper.initial_config_all_fields.html +1 -1
  212. package/docs/functions/_saltcorn_data.plugin-helper.json_list_to_external_table.html +1 -1
  213. package/docs/functions/_saltcorn_data.plugin-helper.link_view.html +1 -1
  214. package/docs/functions/_saltcorn_data.plugin-helper.pathToState.html +1 -1
  215. package/docs/functions/_saltcorn_data.plugin-helper.picked_fields_to_query.html +1 -1
  216. package/docs/functions/_saltcorn_data.plugin-helper.readState.html +1 -1
  217. package/docs/functions/_saltcorn_data.plugin-helper.readStateStrict.html +1 -1
  218. package/docs/functions/_saltcorn_data.plugin-helper.runCollabEvents.html +1 -1
  219. package/docs/functions/_saltcorn_data.plugin-helper.run_action_column.html +1 -1
  220. package/docs/functions/_saltcorn_data.plugin-helper.stateFieldsToQuery.html +1 -1
  221. package/docs/functions/_saltcorn_data.plugin-helper.stateFieldsToWhere.html +1 -1
  222. package/docs/functions/_saltcorn_data.plugin-helper.stateToQueryString.html +1 -1
  223. package/docs/functions/_saltcorn_data.plugin-helper.strictParseInt.html +1 -1
  224. package/docs/functions/_saltcorn_data.plugin-testing.auto_test_plugin.html +1 -1
  225. package/docs/functions/_saltcorn_data.plugin-testing.check_view_columns.html +1 -1
  226. package/docs/functions/_saltcorn_data.plugin-testing.generate_attributes.html +1 -1
  227. package/docs/functions/_saltcorn_data.standard-menu.create_standard_menu.html +1 -1
  228. package/docs/functions/_saltcorn_data.tests_assertions.assertIsErrorMsg.html +1 -1
  229. package/docs/functions/_saltcorn_data.tests_assertions.assertIsErrorsMsg.html +1 -1
  230. package/docs/functions/_saltcorn_data.tests_assertions.assertIsRow.html +1 -1
  231. package/docs/functions/_saltcorn_data.tests_assertions.assertIsSet.html +1 -1
  232. package/docs/functions/_saltcorn_data.tests_assertions.assertIsType.html +1 -1
  233. package/docs/functions/_saltcorn_data.tests_assertions.assertsIsSuccessMessage.html +1 -1
  234. package/docs/functions/_saltcorn_data.tests_assertions.assertsObjectIsUser.html +1 -1
  235. package/docs/functions/_saltcorn_data.tests_common_helpers.createAnotherUserField.html +1 -1
  236. package/docs/functions/_saltcorn_data.tests_common_helpers.createKeyFromLevelTwo.html +1 -1
  237. package/docs/functions/_saltcorn_data.tests_common_helpers.createLevelThreeInbound.html +1 -1
  238. package/docs/functions/_saltcorn_data.tests_common_helpers.createMultipleInbounds.html +1 -1
  239. package/docs/functions/_saltcorn_data.tests_common_helpers.createSecondTopicField.html +1 -1
  240. package/docs/functions/_saltcorn_data.tests_common_helpers.prepareEmployeeDepartment.html +1 -1
  241. package/docs/functions/_saltcorn_data.tests_common_helpers.prepareSimpleTopicPostRelation.html +1 -1
  242. package/docs/functions/_saltcorn_data.tests_remote_query_helper.deleteViewFromServer.html +1 -1
  243. package/docs/functions/_saltcorn_data.tests_remote_query_helper.prepareQueryEnviroment.html +1 -1
  244. package/docs/functions/_saltcorn_data.tests_remote_query_helper.sendViewToServer.html +1 -1
  245. package/docs/functions/_saltcorn_data.translate.hasLLM.html +1 -1
  246. package/docs/functions/_saltcorn_data.translate.translate.html +1 -1
  247. package/docs/functions/_saltcorn_db-common.internal.ftsFieldsSqlExpr.html +1 -1
  248. package/docs/functions/_saltcorn_db-common.internal.mkSelectOptions.html +1 -1
  249. package/docs/functions/_saltcorn_db-common.internal.mkWhere.html +1 -1
  250. package/docs/functions/_saltcorn_db-common.internal.orderByIsObject.html +1 -1
  251. package/docs/functions/_saltcorn_db-common.internal.orderByIsOperator.html +1 -1
  252. package/docs/functions/_saltcorn_db-common.internal.prefixFieldsInWhere.html +1 -1
  253. package/docs/functions/_saltcorn_db-common.internal.sqlBinOp.html +1 -1
  254. package/docs/functions/_saltcorn_db-common.internal.sqlFun.html +1 -1
  255. package/docs/functions/_saltcorn_db-common.internal.sqlsanitize.html +1 -1
  256. package/docs/functions/_saltcorn_db-common.internal.sqlsanitizeAllowDots.html +1 -1
  257. package/docs/functions/_saltcorn_db-common.internal.subSelectWhere.html +1 -1
  258. package/docs/functions/_saltcorn_db-common.multi-tenant.enable_multi_tenant.html +1 -1
  259. package/docs/functions/_saltcorn_db-common.multi-tenant.getRequestContext.html +1 -1
  260. package/docs/functions/_saltcorn_db-common.multi-tenant.getTenantSchema.html +1 -1
  261. package/docs/functions/_saltcorn_db-common.multi-tenant.init.html +1 -1
  262. package/docs/functions/_saltcorn_db-common.multi-tenant.is_it_multi_tenant.html +1 -1
  263. package/docs/functions/_saltcorn_db-common.multi-tenant.runWithTenant.html +1 -1
  264. package/docs/functions/_saltcorn_db-common.sqlite-commons.buildInsertBulkSql.html +1 -1
  265. package/docs/functions/_saltcorn_db-common.sqlite-commons.buildInsertSql.html +1 -1
  266. package/docs/functions/_saltcorn_db-common.sqlite-commons.commitAndBeginNewTransaction.html +1 -1
  267. package/docs/functions/_saltcorn_db-common.sqlite-commons.doCount.html +1 -1
  268. package/docs/functions/_saltcorn_db-common.sqlite-commons.doDeleteWhere.html +1 -1
  269. package/docs/functions/_saltcorn_db-common.sqlite-commons.doListScTables.html +1 -1
  270. package/docs/functions/_saltcorn_db-common.sqlite-commons.doListTables.html +1 -1
  271. package/docs/functions/_saltcorn_db-common.sqlite-commons.doListUserDefinedTables.html +1 -1
  272. package/docs/functions/_saltcorn_db-common.sqlite-commons.do_add_index.html +1 -1
  273. package/docs/functions/_saltcorn_db-common.sqlite-commons.do_drop_index.html +1 -1
  274. package/docs/functions/_saltcorn_db-common.sqlite-commons.mkVal.html +1 -1
  275. package/docs/functions/_saltcorn_db-common.sqlite-commons.openOrUseTransaction.html +1 -1
  276. package/docs/functions/_saltcorn_db-common.sqlite-commons.reprAsJson.html +1 -1
  277. package/docs/functions/_saltcorn_db-common.sqlite-commons.slugify.html +1 -1
  278. package/docs/functions/_saltcorn_db-common.sqlite-commons.tryCatchInTransaction.html +1 -1
  279. package/docs/functions/_saltcorn_db-common.sqlite-commons.whenTransactionisFree.html +1 -1
  280. package/docs/functions/_saltcorn_db-common.sqlite-commons.withTransaction.html +1 -1
  281. package/docs/functions/_saltcorn_markup.mktag.mkTag.html +1 -1
  282. package/docs/functions/_saltcorn_markup.tabs.tabs.html +1 -1
  283. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.androidFeatures.html +1 -1
  284. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.androidPermissions.html +1 -1
  285. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.buildTablesFile.html +1 -1
  286. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.copyPrepopulatedDb.html +1 -1
  287. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.copyServerFiles.html +1 -1
  288. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.copyShareExtFiles.html +1 -1
  289. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.copySiteLogo.html +1 -1
  290. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.copyTranslationFiles.html +1 -1
  291. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.createSqliteDb.html +1 -1
  292. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.decodeProvisioningProfile.html +1 -1
  293. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.extractDomain.html +1 -1
  294. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.generateAndroidVersionCode.html +1 -1
  295. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.hasAuthMethod.html +1 -1
  296. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyAndroidManifest.html +1 -1
  297. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyConfigXml.html +1 -1
  298. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyGradleConfig.html +1 -1
  299. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyInfoPlist.html +1 -1
  300. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.modifyXcodeProjectFile.html +1 -1
  301. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepAppIcon.html +1 -1
  302. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepareAppIcon.html +1 -1
  303. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepareBuildDir.html +2 -2
  304. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepareExportOptionsPlist.html +1 -1
  305. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepareSplashIcon.html +1 -1
  306. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.prepareSplashPage.html +1 -1
  307. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writeCapacitorConfig.html +1 -1
  308. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writeCfgFile.html +1 -1
  309. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writeDataExtractionRules.html +1 -1
  310. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writeNetworkSecurityConfig.html +1 -1
  311. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writePodfile.html +1 -1
  312. package/docs/functions/_saltcorn_mobile-builder.utils_common-build-utils.writePrivacyInfo.html +1 -1
  313. package/docs/functions/_saltcorn_mobile-builder.utils_package-bundle-utils.bundleMobileAppCode.html +1 -1
  314. package/docs/functions/_saltcorn_mobile-builder.utils_package-bundle-utils.bundlePackagesAndPlugins.html +1 -1
  315. package/docs/functions/_saltcorn_mobile-builder.utils_package-bundle-utils.copyOptionalSource.html +1 -0
  316. package/docs/functions/_saltcorn_mobile-builder.utils_package-bundle-utils.copyPluginMobileAppDirs.html +4 -0
  317. package/docs/functions/_saltcorn_mobile-builder.utils_package-bundle-utils.copyPublicDirs.html +1 -1
  318. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.add_index.html +1 -1
  319. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.add_unique_constraint.html +1 -1
  320. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.count.html +1 -1
  321. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.deleteWhere.html +1 -1
  322. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.drop_index.html +1 -1
  323. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.drop_reset_schema.html +1 -1
  324. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.drop_unique_constraint.html +1 -1
  325. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.init.html +1 -1
  326. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.insert.html +1 -1
  327. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.insertRows.html +1 -1
  328. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.listScTables.html +1 -1
  329. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.listTables.html +1 -1
  330. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.listUserDefinedTables.html +1 -1
  331. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.query.html +1 -1
  332. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.select.html +1 -1
  333. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.selectMaybeOne.html +1 -1
  334. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.selectOne.html +1 -1
  335. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.setConnectionObject.html +1 -1
  336. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.tableExists.html +1 -1
  337. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.time.html +1 -1
  338. package/docs/functions/_saltcorn_sqlite-mobile.sqlite_capacitor.update.html +1 -1
  339. package/docs/functions/_saltcorn_sqlite.sqlite.add_index.html +1 -1
  340. package/docs/functions/_saltcorn_sqlite.sqlite.add_unique_constraint.html +1 -1
  341. package/docs/functions/_saltcorn_sqlite.sqlite.begin.html +1 -1
  342. package/docs/functions/_saltcorn_sqlite.sqlite.changeConnection.html +1 -1
  343. package/docs/functions/_saltcorn_sqlite.sqlite.close.html +1 -1
  344. package/docs/functions/_saltcorn_sqlite.sqlite.commit.html +1 -1
  345. package/docs/functions/_saltcorn_sqlite.sqlite.count.html +1 -1
  346. package/docs/functions/_saltcorn_sqlite.sqlite.deleteWhere.html +1 -1
  347. package/docs/functions/_saltcorn_sqlite.sqlite.dropTable.html +1 -1
  348. package/docs/functions/_saltcorn_sqlite.sqlite.dropTables.html +1 -1
  349. package/docs/functions/_saltcorn_sqlite.sqlite.drop_index.html +1 -1
  350. package/docs/functions/_saltcorn_sqlite.sqlite.drop_reset_schema.html +1 -1
  351. package/docs/functions/_saltcorn_sqlite.sqlite.drop_unique_constraint.html +1 -1
  352. package/docs/functions/_saltcorn_sqlite.sqlite.getVersion.html +1 -1
  353. package/docs/functions/_saltcorn_sqlite.sqlite.get_db_filepath.html +1 -1
  354. package/docs/functions/_saltcorn_sqlite.sqlite.get_sql_logging.html +1 -1
  355. package/docs/functions/_saltcorn_sqlite.sqlite.init.html +1 -1
  356. package/docs/functions/_saltcorn_sqlite.sqlite.insert.html +1 -1
  357. package/docs/functions/_saltcorn_sqlite.sqlite.listScTables.html +1 -1
  358. package/docs/functions/_saltcorn_sqlite.sqlite.listTables.html +1 -1
  359. package/docs/functions/_saltcorn_sqlite.sqlite.listUserDefinedTables.html +1 -1
  360. package/docs/functions/_saltcorn_sqlite.sqlite.query.html +1 -1
  361. package/docs/functions/_saltcorn_sqlite.sqlite.rollback.html +1 -1
  362. package/docs/functions/_saltcorn_sqlite.sqlite.select.html +1 -1
  363. package/docs/functions/_saltcorn_sqlite.sqlite.selectMaybeOne.html +1 -1
  364. package/docs/functions/_saltcorn_sqlite.sqlite.selectOne.html +1 -1
  365. package/docs/functions/_saltcorn_sqlite.sqlite.set_sql_logging.html +1 -1
  366. package/docs/functions/_saltcorn_sqlite.sqlite.sql_log.html +1 -1
  367. package/docs/functions/_saltcorn_sqlite.sqlite.update.html +1 -1
  368. package/docs/functions/_saltcorn_sqlite.sqlite.updateWhere.html +1 -1
  369. package/docs/functions/_saltcorn_types.base_types.instanceOWithHtmlFile.html +1 -1
  370. package/docs/functions/_saltcorn_types.common_types.instanceOfErrorMsg.html +1 -1
  371. package/docs/functions/_saltcorn_types.common_types.instanceOfSuccessMsg.html +1 -1
  372. package/docs/functions/_saltcorn_types.common_types.instanceOfType.html +1 -1
  373. package/docs/functions/_saltcorn_types.model-abstracts_abstract_field.instanceOfField.html +1 -1
  374. package/docs/functions/_saltcorn_types.model-abstracts_abstract_page.instanceOfPage.html +1 -1
  375. package/docs/functions/_saltcorn_types.model-abstracts_abstract_view.instanceOfView.html +1 -1
  376. package/docs/hierarchy.html +1 -1
  377. package/docs/interfaces/_saltcorn_db-common.dbtypes.UserLike.html +2 -2
  378. package/docs/interfaces/_saltcorn_markup.types.TagExports.html +3 -2
  379. package/docs/interfaces/_saltcorn_mobile-builder.utils_common-build-utils.ScCapacitorConfig.html +2 -2
  380. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_field.AbstractField.html +2 -2
  381. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_field.AbstractFieldRepeat.html +2 -2
  382. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_form.AbstractForm.html +2 -2
  383. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_page.AbstractPage.html +2 -2
  384. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_page_group.AbstractPageGroup.html +2 -2
  385. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_page_group_member.AbstractPageGroupMember.html +2 -2
  386. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_role.AbstractRole.html +2 -2
  387. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_table.AbstractTable.html +2 -2
  388. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_tag.AbstractTag.html +2 -2
  389. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_tag_entry.AbstractTagEntry.html +2 -2
  390. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_trigger.AbstractTrigger.html +2 -2
  391. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_user.AbstractUser.html +2 -2
  392. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_user.ForUserRequest.html +2 -2
  393. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_view.AbstractView.html +2 -2
  394. package/docs/interfaces/_saltcorn_types.model-abstracts_abstract_workflow.AbstractWorkflow.html +2 -2
  395. package/docs/modules/_saltcorn_data.html +1 -1
  396. package/docs/modules/_saltcorn_data.mobile-mocks_npm_dockerode.html +1 -0
  397. package/docs/modules/_saltcorn_data.tests_table_sync_info.test.html +1 -0
  398. package/docs/modules/_saltcorn_mobile-builder.utils_package-bundle-utils.html +1 -1
  399. package/docs/types/_saltcorn_data.diagram_node_extract_utils.ExtractOpts.html +2 -2
  400. package/docs/types/_saltcorn_data.diagram_node_extract_utils.ExtractResult.html +2 -2
  401. package/docs/types/_saltcorn_data.diagram_nodes_node.NodeType.html +1 -1
  402. package/docs/types/_saltcorn_data.models_config.ConfigTypes.html +1 -1
  403. package/docs/types/_saltcorn_data.models_config.SingleConfig.html +1 -1
  404. package/docs/types/_saltcorn_data.models_eventlog.EventLogCfg.html +2 -2
  405. package/docs/types/_saltcorn_data.models_file.FileCfg.html +2 -2
  406. package/docs/types/_saltcorn_data.models_form.AdditionalButton.html +1 -1
  407. package/docs/types/_saltcorn_data.models_form.FormCfg.html +2 -2
  408. package/docs/types/_saltcorn_data.models_internal_push_message_helper.FcmSubscription.html +3 -2
  409. package/docs/types/_saltcorn_data.models_internal_push_message_helper.Subscription.html +1 -1
  410. package/docs/types/_saltcorn_data.models_internal_push_message_helper.WebPushSubscription.html +2 -2
  411. package/docs/types/_saltcorn_data.models_internal_s3_helpers.S3HeadResult.html +1 -1
  412. package/docs/types/_saltcorn_data.models_internal_s3_helpers.S3ListResult.html +2 -2
  413. package/docs/types/_saltcorn_data.models_page_group.ScreenInfoParams.html +2 -2
  414. package/docs/types/_saltcorn_data.models_table.ChildRelations.html +2 -2
  415. package/docs/types/_saltcorn_data.models_table.ParentRelations.html +2 -2
  416. package/docs/types/_saltcorn_data.models_table.RelationData.html +2 -2
  417. package/docs/types/_saltcorn_data.models_tag_entry.TagEntryCfg.html +1 -1
  418. package/docs/types/_saltcorn_data.models_view.FindViewsPred.html +1 -1
  419. package/docs/types/_saltcorn_db-common.dbtypes.AggregationOptions.html +2 -2
  420. package/docs/types/_saltcorn_db-common.dbtypes.CoordOpts.html +2 -2
  421. package/docs/types/_saltcorn_db-common.dbtypes.DatabaseClient.html +2 -2
  422. package/docs/types/_saltcorn_db-common.dbtypes.JoinField.html +2 -2
  423. package/docs/types/_saltcorn_db-common.dbtypes.JoinFields.html +1 -1
  424. package/docs/types/_saltcorn_db-common.dbtypes.JoinOptions.html +1 -1
  425. package/docs/types/_saltcorn_db-common.dbtypes.JsonPath.html +1 -1
  426. package/docs/types/_saltcorn_db-common.dbtypes.JsonPathElem.html +1 -1
  427. package/docs/types/_saltcorn_db-common.dbtypes.Operator.html +1 -1
  428. package/docs/types/_saltcorn_db-common.dbtypes.PartialSome.html +1 -1
  429. package/docs/types/_saltcorn_db-common.dbtypes.PrimaryKeyValue.html +1 -1
  430. package/docs/types/_saltcorn_db-common.dbtypes.Row.html +1 -1
  431. package/docs/types/_saltcorn_db-common.dbtypes.SelectOptions.html +2 -2
  432. package/docs/types/_saltcorn_db-common.dbtypes.StrongRow.html +1 -1
  433. package/docs/types/_saltcorn_db-common.dbtypes.SubselectOptions.html +2 -2
  434. package/docs/types/_saltcorn_db-common.dbtypes.Value.html +1 -1
  435. package/docs/types/_saltcorn_db-common.dbtypes.Where.html +2 -2
  436. package/docs/types/_saltcorn_db-common.sqlite-commons.SqlAndValues.html +2 -2
  437. package/docs/types/_saltcorn_db-common.types.DbExportsType.html +2 -2
  438. package/docs/types/_saltcorn_db-common.types.GenObj.html +1 -1
  439. package/docs/types/_saltcorn_markup.emergency_layout.WrapParams.html +2 -2
  440. package/docs/types/_saltcorn_markup.helpers.CheckBoxGroupOpts.html +2 -2
  441. package/docs/types/_saltcorn_markup.helpers.PaginationOpts.html +2 -2
  442. package/docs/types/_saltcorn_markup.helpers.RadioGroupOpts.html +2 -2
  443. package/docs/types/_saltcorn_markup.helpers.SearchBarOpts.html +2 -2
  444. package/docs/types/_saltcorn_markup.layout.RenderOpts-1.html +2 -2
  445. package/docs/types/_saltcorn_markup.layout.RenderOpts.html +2 -2
  446. package/docs/types/_saltcorn_markup.mjml-layout.RenderOpts.html +2 -2
  447. package/docs/types/_saltcorn_markup.table.HeadersParams.html +2 -2
  448. package/docs/types/_saltcorn_markup.table.OptsParams.html +2 -2
  449. package/docs/types/_saltcorn_markup.types.AttributeVal.html +1 -1
  450. package/docs/types/_saltcorn_markup.types.Attributes.html +2 -2
  451. package/docs/types/_saltcorn_markup.types.ClassVal.html +1 -1
  452. package/docs/types/_saltcorn_markup.types.Element.html +1 -1
  453. package/docs/types/_saltcorn_markup.types.Falsy.html +1 -1
  454. package/docs/types/_saltcorn_markup.types.StyleVal.html +1 -1
  455. package/docs/types/_saltcorn_markup.types.TagFunction.html +1 -1
  456. package/docs/types/_saltcorn_mobile-builder.mobile-builder.IosCfg.html +2 -2
  457. package/docs/types/_saltcorn_mobile-builder.utils_capacitor-helper.CapacitorCfg.html +2 -2
  458. package/docs/types/_saltcorn_types.base_types.Action.html +3 -3
  459. package/docs/types/_saltcorn_types.base_types.AuthenticationMethod.html +2 -2
  460. package/docs/types/_saltcorn_types.base_types.CalcJoinfield.html +2 -2
  461. package/docs/types/_saltcorn_types.base_types.CapacitorPlugin.html +2 -2
  462. package/docs/types/_saltcorn_types.base_types.CodePagePack.html +2 -2
  463. package/docs/types/_saltcorn_types.base_types.Column.html +2 -2
  464. package/docs/types/_saltcorn_types.base_types.ConnectObjType.html +2 -2
  465. package/docs/types/_saltcorn_types.base_types.ConnectedObjects.html +2 -2
  466. package/docs/types/_saltcorn_types.base_types.CopilotSkill.html +2 -2
  467. package/docs/types/_saltcorn_types.base_types.ErrorObj.html +2 -2
  468. package/docs/types/_saltcorn_types.base_types.FieldLike.html +1 -1
  469. package/docs/types/_saltcorn_types.base_types.FieldView.html +1 -1
  470. package/docs/types/_saltcorn_types.base_types.Header.html +2 -2
  471. package/docs/types/_saltcorn_types.base_types.JoinFieldOption.html +2 -2
  472. package/docs/types/_saltcorn_types.base_types.Layout.html +1 -1
  473. package/docs/types/_saltcorn_types.base_types.MobileConfig.html +5 -2
  474. package/docs/types/_saltcorn_types.base_types.ModelPattern.html +6 -6
  475. package/docs/types/_saltcorn_types.base_types.Pack.html +2 -2
  476. package/docs/types/_saltcorn_types.base_types.Plugin.html +1 -1
  477. package/docs/types/_saltcorn_types.base_types.PluginFunction.html +2 -2
  478. package/docs/types/_saltcorn_types.base_types.PluginLayout.html +2 -2
  479. package/docs/types/_saltcorn_types.base_types.PluginRoute.html +2 -2
  480. package/docs/types/_saltcorn_types.base_types.PluginSourceType.html +1 -1
  481. package/docs/types/_saltcorn_types.base_types.PluginType.html +2 -2
  482. package/docs/types/_saltcorn_types.base_types.PluginWrap.html +1 -1
  483. package/docs/types/_saltcorn_types.base_types.PluginWrapArg.html +2 -2
  484. package/docs/types/_saltcorn_types.base_types.RelationOption.html +2 -2
  485. package/docs/types/_saltcorn_types.base_types.Req.html +2 -2
  486. package/docs/types/_saltcorn_types.base_types.Res.html +2 -2
  487. package/docs/types/_saltcorn_types.base_types.ResultType.html +2 -2
  488. package/docs/types/_saltcorn_types.base_types.RouteAction.html +1 -1
  489. package/docs/types/_saltcorn_types.base_types.RunExtra.html +1 -1
  490. package/docs/types/_saltcorn_types.base_types.SlugStepType.html +2 -2
  491. package/docs/types/_saltcorn_types.base_types.StepResType.html +1 -1
  492. package/docs/types/_saltcorn_types.base_types.SubField.html +2 -2
  493. package/docs/types/_saltcorn_types.base_types.TableProvider.html +2 -2
  494. package/docs/types/_saltcorn_types.base_types.TableQuery.html +2 -2
  495. package/docs/types/_saltcorn_types.base_types.Tablely.html +1 -1
  496. package/docs/types/_saltcorn_types.base_types.ViewTemplate.html +2 -2
  497. package/docs/types/_saltcorn_types.common_types.ErrorMessage.html +2 -2
  498. package/docs/types/_saltcorn_types.common_types.GenObj.html +1 -1
  499. package/docs/types/_saltcorn_types.common_types.ReqRes.html +2 -2
  500. package/docs/types/_saltcorn_types.common_types.ResultMessage.html +1 -1
  501. package/docs/types/_saltcorn_types.common_types.SuccessMessage.html +2 -2
  502. package/docs/types/_saltcorn_types.common_types.Type.html +2 -2
  503. package/docs/types/_saltcorn_types.model-abstracts_abstract_event_log.EventLogPack.html +2 -2
  504. package/docs/types/_saltcorn_types.model-abstracts_abstract_field.FieldCfg.html +2 -2
  505. package/docs/types/_saltcorn_types.model-abstracts_abstract_field.InputType.html +1 -1
  506. package/docs/types/_saltcorn_types.model-abstracts_abstract_form.AdditionalButton.html +2 -2
  507. package/docs/types/_saltcorn_types.model-abstracts_abstract_library.LibraryCfg.html +2 -2
  508. package/docs/types/_saltcorn_types.model-abstracts_abstract_library.LibraryPack.html +1 -1
  509. package/docs/types/_saltcorn_types.model-abstracts_abstract_model.ModelCfg.html +2 -2
  510. package/docs/types/_saltcorn_types.model-abstracts_abstract_model.ModelPack.html +1 -1
  511. package/docs/types/_saltcorn_types.model-abstracts_abstract_model_instance.ModelInstanceCfg.html +2 -2
  512. package/docs/types/_saltcorn_types.model-abstracts_abstract_model_instance.ModelInstancePack.html +1 -1
  513. package/docs/types/_saltcorn_types.model-abstracts_abstract_page.PageCfg.html +2 -2
  514. package/docs/types/_saltcorn_types.model-abstracts_abstract_page.PagePack.html +1 -1
  515. package/docs/types/_saltcorn_types.model-abstracts_abstract_page_group.PageGroupCfg.html +2 -2
  516. package/docs/types/_saltcorn_types.model-abstracts_abstract_page_group.PageGroupPack.html +1 -1
  517. package/docs/types/_saltcorn_types.model-abstracts_abstract_page_group_member.PageGroupMemberCfg.html +2 -2
  518. package/docs/types/_saltcorn_types.model-abstracts_abstract_page_group_member.PageGroupMemberPack.html +1 -1
  519. package/docs/types/_saltcorn_types.model-abstracts_abstract_plugin.PluginCfg.html +2 -2
  520. package/docs/types/_saltcorn_types.model-abstracts_abstract_plugin.PluginPack.html +1 -1
  521. package/docs/types/_saltcorn_types.model-abstracts_abstract_role.RoleCfg.html +1 -1
  522. package/docs/types/_saltcorn_types.model-abstracts_abstract_role.RolePack.html +1 -1
  523. package/docs/types/_saltcorn_types.model-abstracts_abstract_table.TableCfg.html +2 -2
  524. package/docs/types/_saltcorn_types.model-abstracts_abstract_table.TablePack.html +1 -1
  525. package/docs/types/_saltcorn_types.model-abstracts_abstract_tag.TagPack.html +2 -2
  526. package/docs/types/_saltcorn_types.model-abstracts_abstract_tag_entry.TagEntryPack.html +2 -2
  527. package/docs/types/_saltcorn_types.model-abstracts_abstract_trigger.TriggerCfg.html +2 -2
  528. package/docs/types/_saltcorn_types.model-abstracts_abstract_trigger.TriggerPack.html +1 -1
  529. package/docs/types/_saltcorn_types.model-abstracts_abstract_view.ViewCfg.html +2 -2
  530. package/docs/types/_saltcorn_types.model-abstracts_abstract_view.ViewPack.html +1 -1
  531. package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow.ConfigWorkflowStep.html +1 -1
  532. package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow.RunResult.html +2 -2
  533. package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow_run.WorkflowRunCfg.html +2 -2
  534. package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow_step.WorkflowStepCfg.html +2 -2
  535. package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow_step.WorkflowStepPack.html +1 -1
  536. package/docs/types/_saltcorn_types.model-abstracts_abstract_workflow_trace.WorkflowTraceCfg.html +2 -2
  537. package/docs/variables/_saltcorn_admin-models..backup.create_backup.html +1 -1
  538. package/docs/variables/_saltcorn_admin-models..backup.create_csv_from_rows.html +1 -1
  539. package/docs/variables/_saltcorn_admin-models..backup.restore.html +1 -1
  540. package/docs/variables/_saltcorn_admin-models..pack.add_to_menu.html +1 -1
  541. package/docs/variables/_saltcorn_admin-models..pack.can_install_pack.html +1 -1
  542. package/docs/variables/_saltcorn_admin-models..pack.fetch_available_packs.html +1 -1
  543. package/docs/variables/_saltcorn_admin-models..pack.fetch_pack_by_name.html +1 -1
  544. package/docs/variables/_saltcorn_admin-models..pack.install_pack.html +1 -1
  545. package/docs/variables/_saltcorn_admin-models..pack.library_pack.html +1 -1
  546. package/docs/variables/_saltcorn_admin-models..pack.model_instance_pack.html +1 -1
  547. package/docs/variables/_saltcorn_admin-models..pack.model_pack.html +1 -1
  548. package/docs/variables/_saltcorn_admin-models..pack.page_group_pack.html +1 -1
  549. package/docs/variables/_saltcorn_admin-models..pack.page_pack.html +1 -1
  550. package/docs/variables/_saltcorn_admin-models..pack.plugin_pack.html +1 -1
  551. package/docs/variables/_saltcorn_admin-models..pack.role_pack.html +1 -1
  552. package/docs/variables/_saltcorn_admin-models..pack.table_pack.html +1 -1
  553. package/docs/variables/_saltcorn_admin-models..pack.trigger_pack.html +1 -1
  554. package/docs/variables/_saltcorn_admin-models..pack.uninstall_pack.html +1 -1
  555. package/docs/variables/_saltcorn_admin-models..pack.view_pack.html +1 -1
  556. package/docs/variables/_saltcorn_admin-models..tenant.copy_tenant_template.html +1 -1
  557. package/docs/variables/_saltcorn_admin-models..tenant.create_tenant.html +1 -1
  558. package/docs/variables/_saltcorn_admin-models..tenant.deleteTenant.html +1 -1
  559. package/docs/variables/_saltcorn_admin-models..tenant.domain_sanitize.html +1 -1
  560. package/docs/variables/_saltcorn_admin-models..tenant.eachTenant.html +1 -1
  561. package/docs/variables/_saltcorn_admin-models..tenant.getAllTenantRows.html +1 -1
  562. package/docs/variables/_saltcorn_admin-models..tenant.getAllTenants.html +1 -1
  563. package/docs/variables/_saltcorn_admin-models..tenant.insertTenant.html +1 -1
  564. package/docs/variables/_saltcorn_admin-models..tenant.switchToTenant.html +1 -1
  565. package/docs/variables/_saltcorn_admin-models.models_backup.backup.html +1 -1
  566. package/docs/variables/_saltcorn_admin-models.pack.pack.html +1 -1
  567. package/docs/variables/_saltcorn_admin-models.tenant.tenant.html +1 -1
  568. package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedFive.html +1 -1
  569. package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedFour.html +1 -1
  570. package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedOne.html +1 -1
  571. package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedSix.html +1 -1
  572. package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedThree.html +1 -1
  573. package/docs/variables/_saltcorn_common-code.tests_expected_relations.expectedTwo.html +1 -1
  574. package/docs/variables/_saltcorn_data..migrations.html +1 -1
  575. package/docs/variables/_saltcorn_data..plugin_helper.run_action_column.html +1 -1
  576. package/docs/variables/_saltcorn_data..utils.NotAuthorized.html +1 -1
  577. package/docs/variables/_saltcorn_data..utils.isPushEnabled.html +1 -1
  578. package/docs/variables/_saltcorn_data..utils.sleep.html +1 -1
  579. package/docs/variables/_saltcorn_data.base-plugin_actions.actions.html +1 -1
  580. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.radio_select.description.html +1 -1
  581. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.radio_select.isEdit.html +1 -1
  582. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.radio_select.type.html +1 -1
  583. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.search_join_field.html +1 -1
  584. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.search_or_create.blockDisplay.html +1 -1
  585. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.search_or_create.description.html +1 -1
  586. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.search_or_create.isEdit.html +1 -1
  587. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.search_or_create.type.html +1 -1
  588. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select.blockDisplay.html +1 -1
  589. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select.configFields.html +1 -1
  590. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select.description.html +1 -1
  591. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select.isEdit.html +1 -1
  592. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select.type.html +1 -1
  593. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select_by_code.html +1 -1
  594. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select_by_view.html +1 -1
  595. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select_from_table.blockDisplay.html +1 -1
  596. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select_from_table.configFields.html +1 -1
  597. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select_from_table.description.html +1 -1
  598. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select_from_table.isEdit.html +1 -1
  599. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.select_from_table.type.html +1 -1
  600. package/docs/variables/_saltcorn_data.base-plugin_fieldviews.two_level_select.html +1 -1
  601. package/docs/variables/_saltcorn_data.base-plugin_fileview.fileview.html +1 -1
  602. package/docs/variables/_saltcorn_data.base-plugin_index.index.html +1 -1
  603. package/docs/variables/_saltcorn_data.base-plugin_types.bool.attributes.html +1 -1
  604. package/docs/variables/_saltcorn_data.base-plugin_types.bool.description.html +1 -1
  605. package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.TrueFalse.description.html +1 -1
  606. package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.TrueFalse.isEdit.html +1 -1
  607. package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.checkboxes.description.html +1 -1
  608. package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.checkboxes.isEdit.html +1 -1
  609. package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.edit.configFields.html +1 -1
  610. package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.edit.description.html +1 -1
  611. package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.edit.isEdit.html +1 -1
  612. package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.show.description.html +1 -1
  613. package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.show.isEdit.html +1 -1
  614. package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.show_with_html.html +1 -1
  615. package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.switch.html +1 -1
  616. package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.tristate.configFields.html +1 -1
  617. package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.tristate.description.html +1 -1
  618. package/docs/variables/_saltcorn_data.base-plugin_types.bool.fieldviews.tristate.isEdit.html +1 -1
  619. package/docs/variables/_saltcorn_data.base-plugin_types.bool.js_type.html +1 -1
  620. package/docs/variables/_saltcorn_data.base-plugin_types.bool.name.html +1 -1
  621. package/docs/variables/_saltcorn_data.base-plugin_types.bool.sql_name.html +1 -1
  622. package/docs/variables/_saltcorn_data.base-plugin_types.color.attributes.html +1 -1
  623. package/docs/variables/_saltcorn_data.base-plugin_types.color.description.html +1 -1
  624. package/docs/variables/_saltcorn_data.base-plugin_types.color.fieldviews.edit.blockDisplay.html +1 -1
  625. package/docs/variables/_saltcorn_data.base-plugin_types.color.fieldviews.edit.description.html +1 -1
  626. package/docs/variables/_saltcorn_data.base-plugin_types.color.fieldviews.edit.isEdit.html +1 -1
  627. package/docs/variables/_saltcorn_data.base-plugin_types.color.fieldviews.show.description.html +1 -1
  628. package/docs/variables/_saltcorn_data.base-plugin_types.color.fieldviews.show.isEdit.html +1 -1
  629. package/docs/variables/_saltcorn_data.base-plugin_types.color.fieldviews.show_with_html.html +1 -1
  630. package/docs/variables/_saltcorn_data.base-plugin_types.color.js_type.html +1 -1
  631. package/docs/variables/_saltcorn_data.base-plugin_types.color.name.html +1 -1
  632. package/docs/variables/_saltcorn_data.base-plugin_types.color.sql_name.html +1 -1
  633. package/docs/variables/_saltcorn_data.base-plugin_types.date.attributes.html +1 -1
  634. package/docs/variables/_saltcorn_data.base-plugin_types.date.description.html +1 -1
  635. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.edit.blockDisplay.html +1 -1
  636. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.edit.configFields.html +1 -1
  637. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.edit.description.html +1 -1
  638. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.edit.isEdit.html +1 -1
  639. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.editDay.blockDisplay.html +1 -1
  640. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.editDay.configFields.html +1 -1
  641. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.editDay.description.html +1 -1
  642. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.editDay.isEdit.html +1 -1
  643. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.format.configFields.html +1 -1
  644. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.format.description.html +1 -1
  645. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.format.isEdit.html +1 -1
  646. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.relative.description.html +1 -1
  647. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.relative.isEdit.html +1 -1
  648. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.show.description.html +1 -1
  649. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.show.isEdit.html +1 -1
  650. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.showDay.description.html +1 -1
  651. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.showDay.isEdit.html +1 -1
  652. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.show_with_html.html +1 -1
  653. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.yearsAgo.description.html +1 -1
  654. package/docs/variables/_saltcorn_data.base-plugin_types.date.fieldviews.yearsAgo.isEdit.html +1 -1
  655. package/docs/variables/_saltcorn_data.base-plugin_types.date.js_type.html +1 -1
  656. package/docs/variables/_saltcorn_data.base-plugin_types.date.name.html +1 -1
  657. package/docs/variables/_saltcorn_data.base-plugin_types.date.sql_name.html +1 -1
  658. package/docs/variables/_saltcorn_data.base-plugin_types.float.attributes.html +1 -1
  659. package/docs/variables/_saltcorn_data.base-plugin_types.float.description.html +1 -1
  660. package/docs/variables/_saltcorn_data.base-plugin_types.float.distance_operators.html +1 -1
  661. package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.above_input.html +1 -1
  662. package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.below_input.html +1 -1
  663. package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.edit.blockDisplay.html +1 -1
  664. package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.edit.configFields.html +1 -1
  665. package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.edit.description.html +1 -1
  666. package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.edit.isEdit.html +1 -1
  667. package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.heat_cell.html +1 -1
  668. package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.number_slider.html +1 -1
  669. package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.progress_bar.html +1 -1
  670. package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.range_interval.html +1 -1
  671. package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.show.description.html +1 -1
  672. package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.show.isEdit.html +1 -1
  673. package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.show_with_html.html +1 -1
  674. package/docs/variables/_saltcorn_data.base-plugin_types.float.fieldviews.to_locale_string.html +1 -1
  675. package/docs/variables/_saltcorn_data.base-plugin_types.float.js_type.html +1 -1
  676. package/docs/variables/_saltcorn_data.base-plugin_types.float.name.html +1 -1
  677. package/docs/variables/_saltcorn_data.base-plugin_types.float.sql_name.html +1 -1
  678. package/docs/variables/_saltcorn_data.base-plugin_types.int.attributes.html +1 -1
  679. package/docs/variables/_saltcorn_data.base-plugin_types.int.description.html +1 -1
  680. package/docs/variables/_saltcorn_data.base-plugin_types.int.distance_operators.near.html +1 -1
  681. package/docs/variables/_saltcorn_data.base-plugin_types.int.fieldviews.html +2 -2
  682. package/docs/variables/_saltcorn_data.base-plugin_types.int.js_type.html +1 -1
  683. package/docs/variables/_saltcorn_data.base-plugin_types.int.name.html +1 -1
  684. package/docs/variables/_saltcorn_data.base-plugin_types.int.primaryKey.html +1 -1
  685. package/docs/variables/_saltcorn_data.base-plugin_types.int.sql_name.html +1 -1
  686. package/docs/variables/_saltcorn_data.base-plugin_types.string.description.html +1 -1
  687. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.as_header.description.html +1 -1
  688. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.as_header.isEdit.html +1 -1
  689. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.as_link.configFields.html +1 -1
  690. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.as_link.description.html +1 -1
  691. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.as_link.isEdit.html +1 -1
  692. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.as_text.description.html +1 -1
  693. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.as_text.isEdit.html +1 -1
  694. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.checkbox_group.html +1 -1
  695. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.code.html +1 -1
  696. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.code_editor.html +1 -1
  697. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.edit.blockDisplay.html +1 -1
  698. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.edit.description.html +1 -1
  699. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.edit.isEdit.html +1 -1
  700. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.ellipsize.html +1 -1
  701. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.fill_formula_btn.html +1 -1
  702. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.img_from_url.description.html +1 -1
  703. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.img_from_url.isEdit.html +1 -1
  704. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.make_unique.html +1 -1
  705. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.monospace_block.html +1 -1
  706. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.password.blockDisplay.html +1 -1
  707. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.password.configFields.html +1 -1
  708. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.password.description.html +1 -1
  709. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.password.isEdit.html +1 -1
  710. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.preFormatted.html +1 -1
  711. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.radio_group.configFields.html +1 -1
  712. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.radio_group.description.html +1 -1
  713. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.radio_group.isEdit.html +1 -1
  714. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.select_by_code.html +1 -1
  715. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.show_with_html.html +1 -1
  716. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.textarea.blockDisplay.html +1 -1
  717. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.textarea.configFields.html +1 -1
  718. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.textarea.description.html +1 -1
  719. package/docs/variables/_saltcorn_data.base-plugin_types.string.fieldviews.textarea.isEdit.html +1 -1
  720. package/docs/variables/_saltcorn_data.base-plugin_types.string.js_type.html +1 -1
  721. package/docs/variables/_saltcorn_data.base-plugin_types.string.name.html +1 -1
  722. package/docs/variables/_saltcorn_data.base-plugin_types.string.sql_name.html +1 -1
  723. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_edit.edit.html +1 -1
  724. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_feed.feed.html +1 -1
  725. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_filter.filter.html +1 -1
  726. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_list.list.html +1 -1
  727. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_listshowlist.listshowlist.html +1 -1
  728. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_room.room-1.html +1 -1
  729. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_room.room.html +1 -1
  730. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_show.show.html +1 -1
  731. package/docs/variables/_saltcorn_data.base-plugin_viewtemplates_viewable_fields.edit_build_in_actions.html +1 -1
  732. package/docs/variables/_saltcorn_data.contract.fieldlike.html +1 -1
  733. package/docs/variables/_saltcorn_data.contract.is_column.html +1 -1
  734. package/docs/variables/_saltcorn_data.contract.is_header.html +1 -1
  735. package/docs/variables/_saltcorn_data.contract.is_pack.html +1 -1
  736. package/docs/variables/_saltcorn_data.contract.is_plugin.html +1 -1
  737. package/docs/variables/_saltcorn_data.contract.is_plugin_layout.html +1 -1
  738. package/docs/variables/_saltcorn_data.contract.is_plugin_type.html +1 -1
  739. package/docs/variables/_saltcorn_data.contract.is_plugin_wrap.html +1 -1
  740. package/docs/variables/_saltcorn_data.contract.is_plugin_wrap_arg.html +1 -1
  741. package/docs/variables/_saltcorn_data.contract.is_table_query.html +1 -1
  742. package/docs/variables/_saltcorn_data.contract.is_tablely.html +1 -1
  743. package/docs/variables/_saltcorn_data.contract.is_viewtemplate.html +1 -1
  744. package/docs/variables/_saltcorn_data.db_connect.connect.html +1 -1
  745. package/docs/variables/_saltcorn_data.db_fa5-icons.fa5Icons.html +1 -1
  746. package/docs/variables/_saltcorn_data.db_fixtures.fixtures.html +1 -1
  747. package/docs/variables/_saltcorn_data.db_index.dbExports.html +1 -1
  748. package/docs/variables/_saltcorn_data.db_state.state.html +1 -1
  749. package/docs/variables/_saltcorn_data.migrations_202005141503.sql.html +1 -1
  750. package/docs/variables/_saltcorn_data.migrations_202005241712.sql.html +1 -1
  751. package/docs/variables/_saltcorn_data.migrations_202005251037.sql.html +1 -1
  752. package/docs/variables/_saltcorn_data.migrations_202005282134.sql.html +1 -1
  753. package/docs/variables/_saltcorn_data.migrations_202006022156.sql.html +1 -1
  754. package/docs/variables/_saltcorn_data.migrations_202006051507.sql.html +1 -1
  755. package/docs/variables/_saltcorn_data.migrations_202006240906.sql.html +1 -1
  756. package/docs/variables/_saltcorn_data.migrations_202007091707.sql.html +1 -1
  757. package/docs/variables/_saltcorn_data.migrations_202007202144.sql.html +1 -1
  758. package/docs/variables/_saltcorn_data.migrations_202008031500.sql.html +1 -1
  759. package/docs/variables/_saltcorn_data.migrations_202008051415.sql.html +1 -1
  760. package/docs/variables/_saltcorn_data.migrations_202008121149.sql_pg.html +1 -1
  761. package/docs/variables/_saltcorn_data.migrations_202008121149.sql_sqlite.html +1 -1
  762. package/docs/variables/_saltcorn_data.migrations_202009112140.sql_pg.html +1 -1
  763. package/docs/variables/_saltcorn_data.migrations_202009112140.sql_sqlite.html +1 -1
  764. package/docs/variables/_saltcorn_data.migrations_202009181655.sql.html +1 -1
  765. package/docs/variables/_saltcorn_data.migrations_202009221105.sql.html +1 -1
  766. package/docs/variables/_saltcorn_data.migrations_202009231331.sql.html +1 -1
  767. package/docs/variables/_saltcorn_data.migrations_202009301531.sql.html +1 -1
  768. package/docs/variables/_saltcorn_data.migrations_202010231444.sql.html +1 -1
  769. package/docs/variables/_saltcorn_data.migrations_202010251412.sql.html +1 -1
  770. package/docs/variables/_saltcorn_data.migrations_202011021749.sql.html +1 -1
  771. package/docs/variables/_saltcorn_data.migrations_202011051353.sql.html +1 -1
  772. package/docs/variables/_saltcorn_data.migrations_202011111127.sql.html +1 -1
  773. package/docs/variables/_saltcorn_data.migrations_202012011203.sql.html +1 -1
  774. package/docs/variables/_saltcorn_data.migrations_202012100841.sql.html +1 -1
  775. package/docs/variables/_saltcorn_data.migrations_202012281835.sql.html +1 -1
  776. package/docs/variables/_saltcorn_data.migrations_202101061051.sql.html +1 -1
  777. package/docs/variables/_saltcorn_data.migrations_202101141128.sql.html +1 -1
  778. package/docs/variables/_saltcorn_data.migrations_202102091312.sql.html +1 -1
  779. package/docs/variables/_saltcorn_data.migrations_202102101624.sql.html +1 -1
  780. package/docs/variables/_saltcorn_data.migrations_202102172148.sql.html +1 -1
  781. package/docs/variables/_saltcorn_data.migrations_202102261650.sql.html +1 -1
  782. package/docs/variables/_saltcorn_data.migrations_202106102347.sql.html +1 -1
  783. package/docs/variables/_saltcorn_data.migrations_202106112120.sql.html +1 -1
  784. package/docs/variables/_saltcorn_data.migrations_202106120012.sql.html +1 -1
  785. package/docs/variables/_saltcorn_data.migrations_202106120220.sql.html +1 -1
  786. package/docs/variables/_saltcorn_data.migrations_202106121701.sql.html +1 -1
  787. package/docs/variables/_saltcorn_data.migrations_202106121703.sql_pg.html +1 -1
  788. package/docs/variables/_saltcorn_data.migrations_202106121703.sql_sqlite.html +1 -1
  789. package/docs/variables/_saltcorn_data.migrations_202106251126.sql.html +1 -1
  790. package/docs/variables/_saltcorn_data.migrations_202107281619.sql.html +1 -1
  791. package/docs/variables/_saltcorn_data.migrations_202107302158.sql_pg.html +1 -1
  792. package/docs/variables/_saltcorn_data.migrations_202107302158.sql_sqlite.html +1 -1
  793. package/docs/variables/_saltcorn_data.migrations_202108022257.sql.html +1 -1
  794. package/docs/variables/_saltcorn_data.migrations_202109201624.sql.html +1 -1
  795. package/docs/variables/_saltcorn_data.migrations_202109301031.sql_pg.html +1 -1
  796. package/docs/variables/_saltcorn_data.migrations_202109301031.sql_sqlite.html +1 -1
  797. package/docs/variables/_saltcorn_data.migrations_202111290253.sql_pg.html +1 -1
  798. package/docs/variables/_saltcorn_data.migrations_202111290253.sql_sqlite.html +1 -1
  799. package/docs/variables/_saltcorn_data.migrations_202112282254.sql_pg.html +1 -1
  800. package/docs/variables/_saltcorn_data.migrations_202112282254.sql_sqlite.html +1 -1
  801. package/docs/variables/_saltcorn_data.migrations_202207022002.sql.html +1 -1
  802. package/docs/variables/_saltcorn_data.migrations_202207252150.sql_pg.html +1 -1
  803. package/docs/variables/_saltcorn_data.migrations_202207252150.sql_sqlite.html +1 -1
  804. package/docs/variables/_saltcorn_data.migrations_202207261221.sql.html +1 -1
  805. package/docs/variables/_saltcorn_data.migrations_202208101144.sql_pg.html +1 -1
  806. package/docs/variables/_saltcorn_data.migrations_202208101144.sql_sqlite.html +1 -1
  807. package/docs/variables/_saltcorn_data.migrations_202211040031.sql.html +1 -1
  808. package/docs/variables/_saltcorn_data.migrations_202212112152.sql_pg.html +1 -1
  809. package/docs/variables/_saltcorn_data.migrations_202212112152.sql_sqlite.html +1 -1
  810. package/docs/variables/_saltcorn_data.migrations_202301130917.sql.html +1 -1
  811. package/docs/variables/_saltcorn_data.migrations_202303201126.sql_pg.html +1 -1
  812. package/docs/variables/_saltcorn_data.migrations_202303201126.sql_sqlite.html +1 -1
  813. package/docs/variables/_saltcorn_data.migrations_202303221944.sql_pg.html +1 -1
  814. package/docs/variables/_saltcorn_data.migrations_202303221944.sql_sqlite.html +1 -1
  815. package/docs/variables/_saltcorn_data.migrations_202304281224.sql.html +1 -1
  816. package/docs/variables/_saltcorn_data.migrations_202305031518.sql_pg.html +1 -1
  817. package/docs/variables/_saltcorn_data.migrations_202305031518.sql_sqlite.html +1 -1
  818. package/docs/variables/_saltcorn_data.migrations_202308211648.sql.html +1 -1
  819. package/docs/variables/_saltcorn_data.migrations_202311011755.sql_pg.html +1 -1
  820. package/docs/variables/_saltcorn_data.migrations_202311011755.sql_sqlite.html +1 -1
  821. package/docs/variables/_saltcorn_data.migrations_202311231356.sql.html +1 -1
  822. package/docs/variables/_saltcorn_data.migrations_202402071125.sql.html +1 -1
  823. package/docs/variables/_saltcorn_data.migrations_202406260915.sql.html +1 -1
  824. package/docs/variables/_saltcorn_data.migrations_202412051957.sql_pg.html +1 -1
  825. package/docs/variables/_saltcorn_data.migrations_202412051957.sql_sqlite.html +1 -1
  826. package/docs/variables/_saltcorn_data.migrations_202412111526.sql_pg.html +1 -1
  827. package/docs/variables/_saltcorn_data.migrations_202412111526.sql_sqlite.html +1 -1
  828. package/docs/variables/_saltcorn_data.migrations_202501081226.sql_pg.html +1 -1
  829. package/docs/variables/_saltcorn_data.migrations_202501081226.sql_sqlite.html +1 -1
  830. package/docs/variables/_saltcorn_data.migrations_202501201239.sql_sqlite.html +1 -1
  831. package/docs/variables/_saltcorn_data.migrations_202501262157.sql.html +1 -1
  832. package/docs/variables/_saltcorn_data.migrations_202503071353.sql_pg.html +1 -1
  833. package/docs/variables/_saltcorn_data.migrations_202506050958.sql.html +1 -1
  834. package/docs/variables/_saltcorn_data.migrations_202510110312.sql_pg.html +1 -1
  835. package/docs/variables/_saltcorn_data.migrations_202510110312.sql_sqlite.html +1 -1
  836. package/docs/variables/_saltcorn_data.migrations_202511081024.sql.html +1 -1
  837. package/docs/variables/_saltcorn_data.mobile-mocks_saltcorn_html-pdf-node.htmlPdfNode.html +1 -1
  838. package/docs/variables/_saltcorn_data.models_config.configExports.html +1 -1
  839. package/docs/variables/_saltcorn_data.models_discovery.discovery.html +1 -1
  840. package/docs/variables/_saltcorn_data.models_email.email.html +1 -1
  841. package/docs/variables/_saltcorn_data.models_expression.expression.html +1 -1
  842. package/docs/variables/_saltcorn_data.models_index.config.available_languages.html +1 -1
  843. package/docs/variables/_saltcorn_data.models_index.config.check_email_mask.html +1 -1
  844. package/docs/variables/_saltcorn_data.models_index.config.configTypes.html +1 -1
  845. package/docs/variables/_saltcorn_data.models_index.config.deleteConfig.html +1 -1
  846. package/docs/variables/_saltcorn_data.models_index.config.getAllConfig.html +1 -1
  847. package/docs/variables/_saltcorn_data.models_index.config.getConfig.html +1 -1
  848. package/docs/variables/_saltcorn_data.models_index.config.get_base_url.html +1 -1
  849. package/docs/variables/_saltcorn_data.models_index.config.get_latest_npm_version.html +1 -1
  850. package/docs/variables/_saltcorn_data.models_index.config.remove_from_menu.html +1 -1
  851. package/docs/variables/_saltcorn_data.models_index.config.save_menu_items.html +1 -1
  852. package/docs/variables/_saltcorn_data.models_index.config.setConfig.html +1 -1
  853. package/docs/variables/_saltcorn_data.models_index.discovery.discover_tables.html +1 -1
  854. package/docs/variables/_saltcorn_data.models_index.discovery.discoverable_tables.html +1 -1
  855. package/docs/variables/_saltcorn_data.models_index.discovery.findType.html +1 -1
  856. package/docs/variables/_saltcorn_data.models_index.discovery.get_existing_views.html +1 -1
  857. package/docs/variables/_saltcorn_data.models_index.discovery.implement_discovery.html +1 -1
  858. package/docs/variables/_saltcorn_data.models_index.email.getMailTransport.html +1 -1
  859. package/docs/variables/_saltcorn_data.models_index.email.send_verification_email.html +1 -1
  860. package/docs/variables/_saltcorn_data.models_index.email.viewToEmailHtml.html +1 -1
  861. package/docs/variables/_saltcorn_data.models_index.expression.apply_calculated_fields.html +1 -1
  862. package/docs/variables/_saltcorn_data.models_index.expression.apply_calculated_fields_stored.html +1 -1
  863. package/docs/variables/_saltcorn_data.models_index.expression.eval_expression.html +1 -1
  864. package/docs/variables/_saltcorn_data.models_index.expression.expressionValidator.html +1 -1
  865. package/docs/variables/_saltcorn_data.models_index.expression.get_async_expression_function.html +1 -1
  866. package/docs/variables/_saltcorn_data.models_index.expression.get_expression_function.html +1 -1
  867. package/docs/variables/_saltcorn_data.models_index.expression.jsexprToWhere.html +1 -1
  868. package/docs/variables/_saltcorn_data.models_index.expression.recalculate_for_stored.html +1 -1
  869. package/docs/variables/_saltcorn_data.models_index.expression.transform_for_async.html +1 -1
  870. package/docs/variables/_saltcorn_data.models_index.layout.eachView.html +1 -1
  871. package/docs/variables/_saltcorn_data.models_index.layout.getStringsForI18n.html +1 -1
  872. package/docs/variables/_saltcorn_data.models_index.layout.getViews.html +1 -1
  873. package/docs/variables/_saltcorn_data.models_index.layout.translateLayout.html +1 -1
  874. package/docs/variables/_saltcorn_data.models_index.layout.traverse.html +1 -1
  875. package/docs/variables/_saltcorn_data.models_index.layout.traverseSync.html +1 -1
  876. package/docs/variables/_saltcorn_data.models_index.random.all_views.html +1 -1
  877. package/docs/variables/_saltcorn_data.models_index.random.fill_table_row.html +1 -1
  878. package/docs/variables/_saltcorn_data.models_index.random.initial_view.html +1 -1
  879. package/docs/variables/_saltcorn_data.models_index.random.random_table.html +1 -1
  880. package/docs/variables/_saltcorn_data.models_index.scheduler.runScheduler.html +1 -1
  881. package/docs/variables/_saltcorn_data.models_layout.layout.html +1 -1
  882. package/docs/variables/_saltcorn_data.models_random.random.html +1 -1
  883. package/docs/variables/_saltcorn_data.models_scheduler.scheduler.html +1 -1
  884. package/docs/variables/_saltcorn_data.plugin-helper.add_free_variables_to_joinfields.html +1 -1
  885. package/docs/variables/_saltcorn_data.tests_mocks.mocks.html +1 -1
  886. package/docs/variables/_saltcorn_data.tests_remote_query_helper.renderEditInEditConfig.html +1 -1
  887. package/docs/variables/_saltcorn_data.utils.utils.html +3 -3
  888. package/docs/variables/_saltcorn_data.web-mobile-commons.webMobileCommons.html +1 -1
  889. package/docs/variables/_saltcorn_db-common.internal.dbCommonModulePath.html +1 -1
  890. package/docs/variables/_saltcorn_db-common.multi-tenant.tenantNamespace.html +1 -1
  891. package/docs/variables/_saltcorn_db-common.tenants.tenants.html +1 -1
  892. package/docs/variables/_saltcorn_markup..export_.html +1 -1
  893. package/docs/variables/_saltcorn_markup.builder.builder.html +1 -1
  894. package/docs/variables/_saltcorn_markup.emergency_layout.EmergencyLayoutExports.html +1 -1
  895. package/docs/variables/_saltcorn_markup.form.form.html +1 -1
  896. package/docs/variables/_saltcorn_markup.helpers.HelpersExports.html +1 -1
  897. package/docs/variables/_saltcorn_markup.layout.LayoutExports-1.html +1 -1
  898. package/docs/variables/_saltcorn_markup.layout.LayoutExports.html +1 -1
  899. package/docs/variables/_saltcorn_markup.layout_utils.layoutUtils.html +1 -1
  900. package/docs/variables/_saltcorn_markup.mjml-layout.LayoutExports.html +1 -1
  901. package/docs/variables/_saltcorn_markup.mjml-tags.tagsExports.html +1 -1
  902. package/docs/variables/_saltcorn_markup.table.TableExports.html +1 -1
  903. package/docs/variables/_saltcorn_markup.tags.tagsExports.html +1 -1
  904. package/docs/variables/_saltcorn_types..generators.generateBool.html +1 -1
  905. package/docs/variables/_saltcorn_types..generators.generateString.html +1 -1
  906. package/docs/variables/_saltcorn_types..generators.num_between.html +1 -1
  907. package/docs/variables/_saltcorn_types..generators.oneOf.html +1 -1
  908. package/docs/variables/_saltcorn_types.generators.generators.html +1 -1
  909. package/help/Firebase Configurations.tmd +35 -0
  910. package/package.json +9 -10
  911. package/public/saltcorn-common.js +3 -0
  912. package/routes/admin.js +445 -241
  913. package/routes/notifications.js +81 -45
  914. package/routes/sync.js +117 -20
  915. package/s3storage.js +21 -8
  916. package/tests/page_group.test.js +0 -1
  917. package/tests/sync.test.js +353 -171
  918. package/help/Firebase JSON key.tmd +0 -20
  919. package/help/Google Services File.tmd +0 -30
package/routes/admin.js CHANGED
@@ -118,11 +118,11 @@ const {
118
118
  getFetchProxyOptions,
119
119
  sleep,
120
120
  dataModulePath,
121
+ imageAvailable,
121
122
  } = require("@saltcorn/data/utils");
122
123
  const stream = require("stream");
123
124
  const Crash = require("@saltcorn/data/models/crash");
124
125
  const { get_help_markup } = require("../help/index.js");
125
- const Docker = require("dockerode");
126
126
  const npmFetch = require("npm-registry-fetch");
127
127
  const Tag = require("@saltcorn/data/models/tag");
128
128
  const PluginInstaller = require("@saltcorn/plugins-loader/plugin_installer.js");
@@ -2338,32 +2338,6 @@ const buildDialogScript = (capacitorBuilderAvailable, isSbadmin2) =>
2338
2338
  `)}
2339
2339
  </script>`;
2340
2340
 
2341
- const imageAvailable = async (preferedVersion) => {
2342
- const docker = new Docker();
2343
- try {
2344
- const image = docker.getImage(
2345
- `saltcorn/capacitor-builder:${preferedVersion}`
2346
- );
2347
- await image.inspect();
2348
- return { installed: true, version: preferedVersion };
2349
- } catch (e) {
2350
- try {
2351
- const images = await docker.listImages({
2352
- filters: { reference: ["saltcorn/capacitor-builder:*"] },
2353
- });
2354
- const tags = images.flatMap((img) => img.RepoTags || []);
2355
- if (tags.length > 0)
2356
- return { installed: true, version: tags[0].split(":")[1] };
2357
- } catch (err) {
2358
- getState().log(
2359
- 5,
2360
- `Error checking for capacitor-builder image: ${err.message || err}`
2361
- );
2362
- }
2363
- return { installed: false };
2364
- }
2365
- };
2366
-
2367
2341
  const checkXcodebuild = () => {
2368
2342
  return new Promise((resolve) => {
2369
2343
  exec("xcodebuild -version", (error, stdout, stderr) => {
@@ -2404,9 +2378,22 @@ router.get(
2404
2378
  const images = (await File.find({ mime_super: "image" })).filter((image) =>
2405
2379
  image.filename?.endsWith(".png")
2406
2380
  );
2407
- const files = await File.find({ folder: "/" });
2408
- const keystoreFiles = await File.find({ folder: "keystore_files" });
2409
- const provisioningFiles = await File.find({ folder: "provisioning_files" });
2381
+ const pushCfgFiles = await File.find({
2382
+ folder: "/mobile-app-configurations",
2383
+ mime_super: "application",
2384
+ min_role_read: 100,
2385
+ });
2386
+ const allAppCfgFiles = await File.find({
2387
+ folder: "mobile-app-configurations",
2388
+ });
2389
+ const keystoreFiles = [
2390
+ ...(await File.find({ folder: "keystore_files" })),
2391
+ ...allAppCfgFiles,
2392
+ ];
2393
+ const provisioningFiles = [
2394
+ ...(await File.find({ folder: "provisioning_files" })),
2395
+ ...allAppCfgFiles,
2396
+ ];
2410
2397
  const withSyncInfo = await Table.find({ has_sync_info: true });
2411
2398
  const plugins = (await Plugin.find()).filter(
2412
2399
  (plugin) => ["base", "sbadmin2"].indexOf(plugin.name) < 0
@@ -2417,14 +2404,22 @@ router.get(
2417
2404
  const builderSettings =
2418
2405
  getState().getConfig("mobile_builder_settings") || {};
2419
2406
  const scVersion = getState().scVersion;
2420
- const dockerAvailable = await imageAvailable(scVersion);
2407
+ const dockerAvailable = await imageAvailable(
2408
+ "saltcorn/capacitor-builder",
2409
+ scVersion
2410
+ );
2421
2411
  const xcodeCheckRes = await checkXcodebuild();
2422
2412
  const xcodebuildAvailable = xcodeCheckRes.installed;
2423
2413
  const xcodebuildVersion = xcodeCheckRes.version;
2424
2414
  const layout = getState().getLayout(req.user);
2425
2415
  const isSbadmin2 = layout === getState().layouts.sbadmin2;
2426
- const pushEnabled = getState().getConfig("enable_push_notify", false);
2427
2416
  const isEntrypointByRole = builderSettings.entryPointByRole === "on";
2417
+
2418
+ const keyCfg = getState().getConfig("firebase_json_key");
2419
+ const fbJSONKey = keyCfg ? path.basename(keyCfg) : null;
2420
+ const servicesCfg = getState().getConfig("firebase_app_services");
2421
+ const fbAppServices = servicesCfg ? path.basename(servicesCfg) : null;
2422
+
2428
2423
  send_admin_page({
2429
2424
  res,
2430
2425
  req,
@@ -2722,7 +2717,7 @@ router.get(
2722
2717
  div(
2723
2718
  { class: "row pb-2" },
2724
2719
  div(
2725
- { class: "col-sm-8" },
2720
+ { class: "col-sm-10" },
2726
2721
  label(
2727
2722
  {
2728
2723
  for: "appFileInputId",
@@ -2744,7 +2739,7 @@ router.get(
2744
2739
  div(
2745
2740
  { class: "row pb-2" },
2746
2741
  div(
2747
- { class: "col-sm-8" },
2742
+ { class: "col-sm-10" },
2748
2743
  label(
2749
2744
  {
2750
2745
  for: "appIdInputId",
@@ -2766,7 +2761,7 @@ router.get(
2766
2761
  div(
2767
2762
  { class: "row pb-2" },
2768
2763
  div(
2769
- { class: "col-sm-8" },
2764
+ { class: "col-sm-10" },
2770
2765
  label(
2771
2766
  {
2772
2767
  for: "appVersionInputId",
@@ -2794,7 +2789,7 @@ router.get(
2794
2789
  div(
2795
2790
  { class: "row pb-2" },
2796
2791
  div(
2797
- { class: "col-sm-8" },
2792
+ { class: "col-sm-10" },
2798
2793
  label(
2799
2794
  {
2800
2795
  for: "serverURLInputId",
@@ -2816,7 +2811,7 @@ router.get(
2816
2811
  div(
2817
2812
  { class: "row pb-2" },
2818
2813
  div(
2819
- { class: "col-sm-8" },
2814
+ { class: "col-sm-10" },
2820
2815
  label(
2821
2816
  {
2822
2817
  for: "appIconInputId",
@@ -2849,7 +2844,7 @@ router.get(
2849
2844
  div(
2850
2845
  { class: "row pb-3" },
2851
2846
  div(
2852
- { class: "col-sm-8" },
2847
+ { class: "col-sm-10" },
2853
2848
  label(
2854
2849
  {
2855
2850
  for: "splashPageInputId",
@@ -2883,7 +2878,7 @@ router.get(
2883
2878
  div(
2884
2879
  { class: "row pb-2" },
2885
2880
  div(
2886
- { class: "col-sm-4" },
2881
+ { class: "col-sm-10" },
2887
2882
  input({
2888
2883
  type: "checkbox",
2889
2884
  id: "autoPublLoginId",
@@ -2894,9 +2889,15 @@ router.get(
2894
2889
  label(
2895
2890
  {
2896
2891
  for: "autoPublLoginId",
2897
- class: "form-label",
2892
+ class: "form-label fw-bold mb-0",
2898
2893
  },
2899
2894
  req.__("Auto public login")
2895
+ ),
2896
+ div(),
2897
+ i(
2898
+ req.__(
2899
+ "When enabled, you will be logged in as a public user without any login screen."
2900
+ )
2900
2901
  )
2901
2902
  )
2902
2903
  ),
@@ -2904,7 +2905,7 @@ router.get(
2904
2905
  div(
2905
2906
  { class: "row pb-2" },
2906
2907
  div(
2907
- { class: "col-sm-4" },
2908
+ { class: "col-sm-10" },
2908
2909
  input({
2909
2910
  type: "checkbox",
2910
2911
  id: "showContAsPublId",
@@ -2916,138 +2917,68 @@ router.get(
2916
2917
  label(
2917
2918
  {
2918
2919
  for: "showContAsPublId",
2919
- class: "form-label",
2920
+ class: "form-label fw-bold mb-0",
2920
2921
  },
2921
2922
  req.__("Show 'Continue as public user' link")
2923
+ ),
2924
+ div(),
2925
+ i(
2926
+ req.__(
2927
+ "When enabled, the login screen shows you a link to login as public user."
2928
+ )
2922
2929
  )
2923
2930
  )
2924
2931
  ),
2925
- // allow offline mode box
2932
+
2933
+ // build type
2926
2934
  div(
2927
- { class: "row pb-2" },
2935
+ { class: "row pb-3 pt-2" },
2928
2936
  div(
2929
- { class: "col-sm-4" },
2930
- input({
2931
- type: "checkbox",
2932
- id: "offlineModeBoxId",
2933
- class: "form-check-input me-2",
2934
- name: "allowOfflineMode",
2935
- onClick: "toggle_tbl_sync()",
2936
- checked: builderSettings.allowOfflineMode === "on",
2937
- }),
2937
+ { class: "col-sm-10" },
2938
2938
  label(
2939
2939
  {
2940
- for: "offlineModeBoxId",
2941
- class: "form-label",
2940
+ for: "splashPageInputId",
2941
+ class: "form-label fw-bold",
2942
2942
  },
2943
- req.__("Allow offline mode")
2944
- )
2945
- )
2946
- ),
2947
- // synched/unsynched tables
2948
- div(
2949
- {
2950
- id: "tblSyncSelectorId",
2951
- class: "row pb-3",
2952
- hidden: builderSettings.allowOfflineMode !== "on",
2953
- },
2954
- div(
2955
- label(
2956
- { class: "form-label fw-bold" },
2957
- req.__("Table Synchronization")
2958
- )
2959
- ),
2960
- div(
2961
- { class: "container" },
2943
+ req.__("Build type")
2944
+ ),
2945
+
2962
2946
  div(
2963
- { class: "row" },
2964
- div(
2965
- { class: "col-sm-4 text-center" },
2966
- req.__("unsynched")
2967
- ),
2968
- div({ class: "col-sm-1" }),
2969
- div(
2970
- { class: "col-sm-4 text-center" },
2971
- req.__("synched")
2947
+ { class: "form-check" },
2948
+ input({
2949
+ type: "radio",
2950
+ id: "debugBuildTypeId",
2951
+ class: "form-check-input me-2",
2952
+ name: "buildType",
2953
+ value: "debug",
2954
+ checked: builderSettings.buildType === "debug",
2955
+ }),
2956
+ label(
2957
+ {
2958
+ for: "debugBuildTypeId",
2959
+ class: "form-label",
2960
+ },
2961
+ req.__("debug")
2972
2962
  )
2973
2963
  ),
2974
2964
  div(
2975
- { class: "row" },
2976
- div(
2977
- { class: "col-sm-4" },
2978
- select(
2979
- {
2980
- id: "unsynched-tbls-select-id",
2981
- class: "form-control form-select",
2982
- multiple: true,
2983
- },
2984
- withSyncInfo
2985
- .filter(
2986
- (table) =>
2987
- !builderSettings.synchedTables ||
2988
- builderSettings.synchedTables.indexOf(
2989
- table.name
2990
- ) < 0
2991
- )
2992
- .map((table) =>
2993
- option({
2994
- id: `${table.name}_unsynched_opt`,
2995
- value: table.name,
2996
- label: table.name,
2997
- })
2998
- )
2999
- )
3000
- ),
3001
- div(
3002
- { class: "col-sm-1 d-flex justify-content-center" },
3003
- div(
3004
- div(
3005
- button(
3006
- {
3007
- id: "move-right-btn-id",
3008
- type: "button",
3009
- onClick: `move_to_synched()`,
3010
- class: "btn btn-light pt-1 mb-1",
3011
- },
3012
- i({ class: "fas fa-arrow-right" })
3013
- )
3014
- ),
3015
- div(
3016
- button(
3017
- {
3018
- id: "move-left-btn-id",
3019
- type: "button",
3020
- onClick: `move_to_unsynched()`,
3021
- class: "btn btn-light pt-1",
3022
- },
3023
- i({ class: "fas fa-arrow-left" })
3024
- )
3025
- )
3026
- )
3027
- ),
3028
- div(
3029
- { class: "col-sm-4" },
3030
- select(
3031
- {
3032
- id: "synched-tbls-select-id",
3033
- class: "form-control form-select",
3034
- multiple: true,
3035
- },
3036
- withSyncInfo
3037
- .filter(
3038
- (table) =>
3039
- builderSettings.synchedTables?.indexOf(
3040
- table.name
3041
- ) >= 0
3042
- )
3043
- .map((table) =>
3044
- option({
3045
- id: `${table.name}_synched_opt`,
3046
- value: table.name,
3047
- label: table.name,
3048
- })
3049
- )
3050
- )
2965
+ { class: "form-check" },
2966
+ input({
2967
+ type: "radio",
2968
+ id: "releaseBuildTypeId",
2969
+ class: "form-check-input me-2",
2970
+ name: "buildType",
2971
+ value: "release",
2972
+ checked:
2973
+ builderSettings.buildType === "release" ||
2974
+ !builderSettings.buildType,
2975
+ }),
2976
+ label(
2977
+ {
2978
+ for: "releaseBuildTypeId",
2979
+ class: "form-label",
2980
+ },
2981
+ req.__("release")
3051
2982
  )
3052
2983
  )
3053
2984
  )
@@ -3056,7 +2987,7 @@ router.get(
3056
2987
  div(
3057
2988
  {
3058
2989
  id: "pluginsSelectorId",
3059
- class: "row pb-2",
2990
+ class: "row pb-4",
3060
2991
  },
3061
2992
  div(
3062
2993
  label({ class: "form-label fw-bold" }, req.__("Plugins"))
@@ -3156,59 +3087,224 @@ router.get(
3156
3087
  )
3157
3088
  )
3158
3089
  ),
3159
- // build type
3090
+
3091
+ // allow offline mode box
3160
3092
  div(
3161
- { class: "row pb-3 pt-2" },
3093
+ { class: "row pb-2 mt-2" },
3162
3094
  div(
3163
- { class: "col-sm-8" },
3095
+ { class: "col-sm-10" },
3096
+ input({
3097
+ type: "checkbox",
3098
+ id: "offlineModeBoxId",
3099
+ class: "form-check-input me-2 mb-0 ",
3100
+ name: "allowOfflineMode",
3101
+ onClick: "toggle_tbl_sync()",
3102
+ checked: builderSettings.allowOfflineMode === "on",
3103
+ }),
3164
3104
  label(
3165
3105
  {
3166
- for: "splashPageInputId",
3167
- class: "form-label fw-bold",
3106
+ for: "offlineModeBoxId",
3107
+ class: "form-label fw-bold mb-0",
3168
3108
  },
3169
- req.__("Build type")
3109
+ req.__("Allow offline mode")
3170
3110
  ),
3111
+ div(),
3112
+ i(
3113
+ req.__(
3114
+ "Enable this to integrate offline/online Synchronization into your app."
3115
+ )
3116
+ )
3117
+ )
3118
+ ),
3119
+
3120
+ div(
3121
+ {
3122
+ id: "tblSyncSelectorId",
3123
+ class: "mb-3 mt-1",
3124
+ hidden: builderSettings.allowOfflineMode !== "on",
3125
+ },
3126
+ p({ class: "h3 ps-3" }, "Synchronization settings"),
3127
+ div(
3128
+ { class: "form-group border border-2 p-3 rounded" },
3171
3129
 
3172
3130
  div(
3173
- { class: "form-check" },
3174
- input({
3175
- type: "radio",
3176
- id: "debugBuildTypeId",
3177
- class: "form-check-input me-2",
3178
- name: "buildType",
3179
- value: "debug",
3180
- checked: builderSettings.buildType === "debug",
3181
- }),
3182
- label(
3131
+ div(
3183
3132
  {
3184
- for: "debugBuildTypeId",
3185
- class: "form-label",
3133
+ class: "row pb-3",
3186
3134
  },
3187
- req.__("debug")
3135
+ div(
3136
+ label(
3137
+ { class: "form-label fw-bold" },
3138
+ req.__("Tables to synchronize") +
3139
+ a(
3140
+ {
3141
+ href: "javascript:ajax_modal('/admin/help/Capacitor Builder?')",
3142
+ },
3143
+ i({ class: "fas fa-question-circle ps-1" })
3144
+ )
3145
+ )
3146
+ ),
3147
+ div(
3148
+ { class: "container" },
3149
+ div(
3150
+ { class: "row" },
3151
+ div(
3152
+ { class: "col-sm-4 text-center" },
3153
+ req.__("unsynched")
3154
+ ),
3155
+ div({ class: "col-sm-1" }),
3156
+ div(
3157
+ { class: "col-sm-4 text-center" },
3158
+ req.__("synched")
3159
+ )
3160
+ ),
3161
+ div(
3162
+ { class: "row" },
3163
+ div(
3164
+ { class: "col-sm-4" },
3165
+ select(
3166
+ {
3167
+ id: "unsynched-tbls-select-id",
3168
+ class: "form-control form-select",
3169
+ multiple: true,
3170
+ },
3171
+ withSyncInfo
3172
+ .filter(
3173
+ (table) =>
3174
+ !builderSettings.synchedTables ||
3175
+ builderSettings.synchedTables.indexOf(
3176
+ table.name
3177
+ ) < 0
3178
+ )
3179
+ .map((table) =>
3180
+ option({
3181
+ id: `${table.name}_unsynched_opt`,
3182
+ value: table.name,
3183
+ label: table.name,
3184
+ })
3185
+ )
3186
+ )
3187
+ ),
3188
+ div(
3189
+ {
3190
+ class:
3191
+ "col-sm-1 d-flex justify-content-center",
3192
+ },
3193
+ div(
3194
+ div(
3195
+ button(
3196
+ {
3197
+ id: "move-right-btn-id",
3198
+ type: "button",
3199
+ onClick: `move_to_synched()`,
3200
+ class: "btn btn-light pt-1 mb-1",
3201
+ },
3202
+ i({ class: "fas fa-arrow-right" })
3203
+ )
3204
+ ),
3205
+ div(
3206
+ button(
3207
+ {
3208
+ id: "move-left-btn-id",
3209
+ type: "button",
3210
+ onClick: `move_to_unsynched()`,
3211
+ class: "btn btn-light pt-1",
3212
+ },
3213
+ i({ class: "fas fa-arrow-left" })
3214
+ )
3215
+ )
3216
+ )
3217
+ ),
3218
+ div(
3219
+ { class: "col-sm-4" },
3220
+ select(
3221
+ {
3222
+ id: "synched-tbls-select-id",
3223
+ class: "form-control form-select",
3224
+ multiple: true,
3225
+ },
3226
+ withSyncInfo
3227
+ .filter(
3228
+ (table) =>
3229
+ builderSettings.synchedTables?.indexOf(
3230
+ table.name
3231
+ ) >= 0
3232
+ )
3233
+ .map((table) =>
3234
+ option({
3235
+ id: `${table.name}_synched_opt`,
3236
+ value: table.name,
3237
+ label: table.name,
3238
+ })
3239
+ )
3240
+ )
3241
+ )
3242
+ )
3243
+ )
3188
3244
  )
3189
3245
  ),
3246
+ // push sync
3190
3247
  div(
3191
- { class: "form-check" },
3192
- input({
3193
- type: "radio",
3194
- id: "releaseBuildTypeId",
3195
- class: "form-check-input me-2",
3196
- name: "buildType",
3197
- value: "release",
3198
- checked:
3199
- builderSettings.buildType === "release" ||
3200
- !builderSettings.buildType,
3201
- }),
3202
- label(
3203
- {
3204
- for: "releaseBuildTypeId",
3205
- class: "form-label",
3206
- },
3207
- req.__("release")
3248
+ { class: "row pb-2 my-2" },
3249
+ div(
3250
+ { class: "col-sm-10" },
3251
+ input({
3252
+ type: "checkbox",
3253
+ id: "pushSyncBoxId",
3254
+ class: "form-check-input me-2 mb-0 ",
3255
+ name: "pushSync",
3256
+ checked: builderSettings.pushSync === "on",
3257
+ }),
3258
+ label(
3259
+ {
3260
+ for: "pushSyncBoxId",
3261
+ class: "form-label fw-bold mb-0",
3262
+ },
3263
+ req.__("Push sync")
3264
+ ),
3265
+ div(),
3266
+ i(
3267
+ req.__(
3268
+ "Run Synchronizations when the server sends a push notification. " +
3269
+ "On Android, this requires a Firebase JSON key and a Google Services File (see below)."
3270
+ )
3271
+ )
3272
+ )
3273
+ ),
3274
+
3275
+ // periodic sync interval
3276
+ div(
3277
+ { class: "row pb-2 mt-2" },
3278
+ div(
3279
+ { class: "col-sm-10" },
3280
+ label(
3281
+ {
3282
+ for: "syncIntervalInputId",
3283
+ class: "form-label fw-bold mb-0 ",
3284
+ },
3285
+ req.__("Background Sync interval")
3286
+ ),
3287
+ input({
3288
+ type: "text",
3289
+ class: "form-control mb-0",
3290
+ name: "syncInterval",
3291
+ id: "syncIntervalInputId",
3292
+ value: builderSettings.syncInterval || "",
3293
+ }),
3294
+ div(),
3295
+ i(
3296
+ req.__(
3297
+ "Perdiodic interval (in minutes) to run synchronizations in the background. " +
3298
+ "This is just a min interval, depending on system conditions, the actual time may be longer."
3299
+ )
3300
+ )
3208
3301
  )
3209
3302
  )
3210
3303
  )
3211
3304
  ),
3305
+
3306
+ div({}, "&nbsp;"),
3307
+
3212
3308
  div(
3213
3309
  { class: "mt-3 mb-3" },
3214
3310
  p({ class: "h3 ps-3" }, "Android configuration"),
@@ -3218,8 +3314,8 @@ router.get(
3218
3314
  div(
3219
3315
  { class: "row pb-3 pt-2" },
3220
3316
  div(
3221
- label(
3222
- { class: "form-label fw-bold" },
3317
+ h5(
3318
+ { class: "form-label mb-3" },
3223
3319
  req.__("Capacitor builder") +
3224
3320
  a(
3225
3321
  {
@@ -3310,11 +3406,20 @@ router.get(
3310
3406
  )
3311
3407
  )
3312
3408
  ),
3409
+
3410
+ div(
3411
+ { class: "form-group row" },
3412
+ div(
3413
+ { class: "col-sm-12" },
3414
+ h5({ class: "" }, req.__("Release Signing"))
3415
+ )
3416
+ ),
3417
+
3313
3418
  // keystore file
3314
3419
  div(
3315
3420
  { class: "row pb-3" },
3316
3421
  div(
3317
- { class: "col-sm-8" },
3422
+ { class: "col-sm-10" },
3318
3423
  label(
3319
3424
  {
3320
3425
  for: "keystoreInputId",
@@ -3355,7 +3460,7 @@ router.get(
3355
3460
  div(
3356
3461
  { class: "row pb-2" },
3357
3462
  div(
3358
- { class: "col-sm-8" },
3463
+ { class: "col-sm-10" },
3359
3464
  label(
3360
3465
  {
3361
3466
  for: "keystoreAliasInputId",
@@ -3377,7 +3482,7 @@ router.get(
3377
3482
  div(
3378
3483
  { class: "row pb-2" },
3379
3484
  div(
3380
- { class: "col-sm-8" },
3485
+ { class: "col-sm-10" },
3381
3486
  label(
3382
3487
  {
3383
3488
  for: "keystorePasswordInputId",
@@ -3395,51 +3500,116 @@ router.get(
3395
3500
  })
3396
3501
  )
3397
3502
  ),
3503
+
3504
+ // Push Notifications section
3505
+ div(
3506
+ { class: "form-group row my-3" },
3507
+ div(
3508
+ { class: "col-sm-12 mt-2 fw-bold" },
3509
+ h5({ class: "" }, req.__("Push Notifications"))
3510
+ )
3511
+ ),
3512
+
3513
+ // firebase JSON key file
3514
+ div(
3515
+ { class: "row pb-3" },
3516
+ div(
3517
+ { class: "col-sm-10" },
3518
+ label(
3519
+ {
3520
+ for: "fireBaseJSONKeyInputId",
3521
+ class: "form-label fw-bold",
3522
+ },
3523
+ req.__("Firebase JSON Key"),
3524
+ a(
3525
+ {
3526
+ href: "javascript:ajax_modal('/admin/help/Firebase Configurations?')",
3527
+ },
3528
+ i({ class: "fas fa-question-circle ps-1" })
3529
+ )
3530
+ ),
3531
+ select(
3532
+ {
3533
+ class: "form-select",
3534
+ name: "firebaseJSONKey",
3535
+ id: "fireBaseJSONKeyInputId",
3536
+ },
3537
+ [
3538
+ option({ value: "" }, ""),
3539
+ ...pushCfgFiles.map((file) =>
3540
+ option(
3541
+ {
3542
+ value: file.path_to_serve,
3543
+ selected: fbJSONKey === file.filename,
3544
+ },
3545
+ file.filename
3546
+ )
3547
+ ),
3548
+ ].join("")
3549
+ ),
3550
+ div(),
3551
+ i(
3552
+ req.__(
3553
+ "This is a private key file for your Firebase project. " +
3554
+ "Your Saltcorn server uses it to send push notifications or push-based synchronizations to your Android mobile app. " +
3555
+ "Upload it to the '/mobile-app-configurations' directory (if it does not exist, create it). " +
3556
+ "You can configure it here or in the 'Notifications' Menu."
3557
+ )
3558
+ )
3559
+ )
3560
+ ),
3398
3561
  // google-services.json file
3399
- pushEnabled
3400
- ? div(
3401
- { class: "row pb-3" },
3402
- div(
3403
- { class: "col-sm-8" },
3404
- label(
3405
- {
3406
- for: "googleServicesInputId",
3407
- class: "form-label fw-bold",
3408
- },
3409
- req.__("Google Services File"),
3410
- a(
3562
+ div(
3563
+ { class: "row pb-3" },
3564
+ div(
3565
+ { class: "col-sm-10" },
3566
+ label(
3567
+ {
3568
+ for: "googleServicesInputId",
3569
+ class: "form-label fw-bold",
3570
+ },
3571
+ req.__("Google Services File"),
3572
+ a(
3573
+ {
3574
+ href: "javascript:ajax_modal('/admin/help/Firebase Configurations?')",
3575
+ },
3576
+ i({ class: "fas fa-question-circle ps-1" })
3577
+ )
3578
+ ),
3579
+ select(
3580
+ {
3581
+ class: "form-select",
3582
+ name: "googleServicesFile",
3583
+ id: "googleServicesInputId",
3584
+ },
3585
+ [
3586
+ option({ value: "" }, ""),
3587
+ ...pushCfgFiles.map((file) =>
3588
+ option(
3411
3589
  {
3412
- href: "javascript:ajax_modal('/admin/help/Google Services File?')",
3590
+ value: file.path_to_serve,
3591
+ selected: fbAppServices === file.filename,
3413
3592
  },
3414
- i({ class: "fas fa-question-circle ps-1" })
3593
+ file.filename
3415
3594
  )
3416
3595
  ),
3417
- select(
3418
- {
3419
- class: "form-select",
3420
- name: "googleServicesFile",
3421
- id: "googleServicesInputId",
3422
- },
3423
- [
3424
- option({ value: "" }, ""),
3425
- ...files.map((file) =>
3426
- option(
3427
- {
3428
- value: file.location,
3429
- selected:
3430
- builderSettings.googleServicesFile ===
3431
- file.location,
3432
- },
3433
- file.filename
3434
- )
3435
- ),
3436
- ].join("")
3437
- )
3596
+ ].join("")
3597
+ ),
3598
+ div(),
3599
+ i(
3600
+ req.__(
3601
+ "This is a configuration file specific to your mobile app. " +
3602
+ "It contains, among other things, your App ID, the Firebase project ID, and an API key. " +
3603
+ "The file gets bundled into the client and will be used to subscribe to push notifications or push-based synchronizations from the server. " +
3604
+ "Upload it to the '/mobile-app-configurations' directory (if it does not exist, create it). " +
3605
+ "You can configure it here or in the 'Notifications' Menu."
3438
3606
  )
3439
3607
  )
3440
- : ""
3608
+ )
3609
+ )
3441
3610
  )
3442
3611
  ),
3612
+ div({}, "&nbsp;"),
3443
3613
  div(
3444
3614
  { class: "mt-3" },
3445
3615
  p({ class: "h3 ps-3 mt-3" }, "iOS Configuration"),
@@ -3529,7 +3699,7 @@ router.get(
3529
3699
  div(
3530
3700
  { class: "row pb-3" },
3531
3701
  div(
3532
- { class: "col-sm-8" },
3702
+ { class: "col-sm-10" },
3533
3703
  label(
3534
3704
  {
3535
3705
  for: "provisioningProfileInputId",
@@ -3570,7 +3740,7 @@ router.get(
3570
3740
  div(
3571
3741
  { class: "row pb-3" },
3572
3742
  div(
3573
- { class: "col-sm-8" },
3743
+ { class: "col-sm-10" },
3574
3744
  label(
3575
3745
  {
3576
3746
  for: "shareProvisioningProfileInputId",
@@ -3871,6 +4041,8 @@ router.post(
3871
4041
  autoPublicLogin,
3872
4042
  showContinueAsPublicUser,
3873
4043
  allowOfflineMode,
4044
+ pushSync,
4045
+ syncInterval,
3874
4046
  synchedTables,
3875
4047
  includedPlugins,
3876
4048
  provisioningProfile,
@@ -3879,6 +4051,7 @@ router.post(
3879
4051
  keystoreFile,
3880
4052
  keystoreAlias,
3881
4053
  keystorePassword,
4054
+ firebaseJSONKey,
3882
4055
  googleServicesFile,
3883
4056
  } = req.body || {};
3884
4057
  const receiveShareTriggers = Trigger.find({
@@ -3956,6 +4129,18 @@ router.post(
3956
4129
  ),
3957
4130
  });
3958
4131
  }
4132
+ if (
4133
+ pushSync &&
4134
+ androidPlatform &&
4135
+ (!firebaseJSONKey || !googleServicesFile)
4136
+ ) {
4137
+ return res.json({
4138
+ error: req.__(
4139
+ "To use the push sync please provide a Firebase JSON Key and a Google Services File."
4140
+ ),
4141
+ });
4142
+ }
4143
+
3959
4144
  const outDirName = `build_${new Date().valueOf()}`;
3960
4145
  const buildDir = `${os.userInfo().homedir}/mobile_app_build`;
3961
4146
  const rootFolder = await File.rootFolder();
@@ -4001,6 +4186,8 @@ router.post(
4001
4186
  if (serverURL) spawnParams.push("-s", serverURL);
4002
4187
  if (splashPage) spawnParams.push("--splashPage", splashPage);
4003
4188
  if (allowOfflineMode) spawnParams.push("--allowOfflineMode");
4189
+ if (syncInterval) spawnParams.push("--syncInterval", syncInterval);
4190
+ if (pushSync) spawnParams.push("--pushSync");
4004
4191
  if (allowShareTo) spawnParams.push("--allowShareTo");
4005
4192
  if (autoPublicLogin) spawnParams.push("--autoPublicLogin");
4006
4193
  if (showContinueAsPublicUser)
@@ -4151,7 +4338,10 @@ router.get(
4151
4338
  isAdmin,
4152
4339
  error_catcher(async (req, res) => {
4153
4340
  const state = getState();
4154
- const { installed, version } = await imageAvailable(state.scVersion);
4341
+ const { installed, version } = await imageAvailable(
4342
+ "saltcorn/capacitor-builder",
4343
+ state.scVersion
4344
+ );
4155
4345
  res.json({ installed, version, sc_version: state.scVersion });
4156
4346
  })
4157
4347
  );
@@ -4179,6 +4369,11 @@ router.post(
4179
4369
  .map((plugin) => plugin.name);
4180
4370
  newCfg.excludedPlugins = excludedPlugins;
4181
4371
  await getState().setConfig("mobile_builder_settings", newCfg);
4372
+ await getState().setConfig("firebase_json_key", newCfg.firebaseJSONKey);
4373
+ await getState().setConfig(
4374
+ "firebase_app_services",
4375
+ newCfg.googleServicesFile
4376
+ );
4182
4377
  res.json({ success: true });
4183
4378
  } catch (e) {
4184
4379
  getState().log(1, `Unable to save mobile builder config: ${e.message}`);
@@ -4485,6 +4680,7 @@ admin_config_route({
4485
4680
  },
4486
4681
  });
4487
4682
 
4683
+ // get type declarations for monaco
4488
4684
  router.get(
4489
4685
  "/ts-declares",
4490
4686
  isAdmin,
@@ -4532,6 +4728,7 @@ function getConfig(key: string): any
4532
4728
  ];
4533
4729
  if (req.query.codepage) {
4534
4730
  ds.push("declare var globalThis: any");
4731
+ ds.push("function runAsync(f:AsyncFunction)");
4535
4732
  } else {
4536
4733
  ds.push(`
4537
4734
  declare const commitBeginNewTransactionAndRefreshCache: () => Promise<void>;
@@ -4539,6 +4736,7 @@ declare const EventLog : any
4539
4736
  declare const Notification : any
4540
4737
  declare const WorkflowRun : any
4541
4738
  async function run_js_code({code, row, table}:{ code: string, row?: Row, table?: Table})
4739
+ async function refreshSystemCache(entities?: "codepages" | "tables" | "views" | "triggers" | "pages" | "page_groups"|"config"|"npmpkgs"|"userlayouts"|"i18n"|"push_helper"|"ephemeral_config"|"plugins");
4542
4740
  `);
4543
4741
  }
4544
4742
  const scTypeToTsType = (type, field) => {
@@ -4659,6 +4857,7 @@ async function run_js_code({code, row, table}:{ code: string, row?: Row, table?:
4659
4857
  ds.push(`declare var ${nm}: AsyncFunction;`);
4660
4858
  else if (f.constructor?.name === "Function")
4661
4859
  ds.push(`declare var ${nm}: Function;`);
4860
+ else ds.push(`declare var ${nm}: ${typeof f};`);
4662
4861
  }
4663
4862
 
4664
4863
  if (!req.query.codepage) {
@@ -4955,12 +5154,17 @@ admin_config_route({
4955
5154
  name: "vapid_email",
4956
5155
  showIf: { enable_push_notify: true },
4957
5156
  },
4958
- { section_header: "Native Android" },
5157
+ { section_header: "Native Android Mobile App" },
4959
5158
  {
4960
5159
  name: "firebase_json_key",
4961
5160
  showIf: { enable_push_notify: true },
4962
5161
  help: { topic: "Firebas JSON key" },
4963
5162
  },
5163
+ {
5164
+ name: "firebase_app_services",
5165
+ showIf: { enable_push_notify: true },
5166
+ help: { topic: "Firebase App Services" },
5167
+ },
4964
5168
  ],
4965
5169
  response(form, req, res) {
4966
5170
  send_admin_page({