@openforis/arena-core 2.3.33 → 2.3.35

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 (843) hide show
  1. package/dist/app/appInfo.js.map +1 -1
  2. package/dist/app/index.js.map +1 -1
  3. package/dist/auth/authGroup.js.map +1 -1
  4. package/dist/auth/authGroups.js.map +1 -1
  5. package/dist/auth/authorizer.js +45 -0
  6. package/dist/auth/authorizer.js.map +1 -1
  7. package/dist/auth/factory.js.map +1 -1
  8. package/dist/auth/index.js.map +1 -1
  9. package/dist/auth/permission.js.map +1 -1
  10. package/dist/auth/user.js.map +1 -1
  11. package/dist/auth/userAuth.js.map +1 -1
  12. package/dist/auth/userAuthTokenService.d.ts +28 -0
  13. package/dist/auth/userAuthTokenService.js.map +1 -1
  14. package/dist/auth/userGroup.js.map +1 -1
  15. package/dist/auth/userService.js.map +1 -1
  16. package/dist/auth/users.js +1 -0
  17. package/dist/auth/users.js.map +1 -1
  18. package/dist/category/categories.js.map +1 -1
  19. package/dist/category/category.js.map +1 -1
  20. package/dist/category/categoryImportSummary.js.map +1 -1
  21. package/dist/category/categoryItemGenerator.js.map +1 -1
  22. package/dist/category/categoryItems.js.map +1 -1
  23. package/dist/category/factory.js.map +1 -1
  24. package/dist/category/index.js.map +1 -1
  25. package/dist/category/item.js.map +1 -1
  26. package/dist/category/itemService.js.map +1 -1
  27. package/dist/category/level.js.map +1 -1
  28. package/dist/category/levelService.js.map +1 -1
  29. package/dist/category/service.js.map +1 -1
  30. package/dist/chain/chain.js.map +1 -1
  31. package/dist/chain/chainFactory.js.map +1 -1
  32. package/dist/chain/chainNodeDef.js.map +1 -1
  33. package/dist/chain/chainNodeDefAggregate.js.map +1 -1
  34. package/dist/chain/chainNodeDefFactory.js.map +1 -1
  35. package/dist/chain/chainNodeDefService.js.map +1 -1
  36. package/dist/chain/chainService.js.map +1 -1
  37. package/dist/chain/index.js.map +1 -1
  38. package/dist/common/Dictionary.js.map +1 -1
  39. package/dist/common/factory.js.map +1 -1
  40. package/dist/common/i18n.js.map +1 -1
  41. package/dist/common/index.js.map +1 -1
  42. package/dist/dataExport/ArenaExportInfo.js.map +1 -1
  43. package/dist/dataExport/ArenaExportInfoFactory.js.map +1 -1
  44. package/dist/dataExport/FlatDataExportModel.js +3 -3
  45. package/dist/dataExport/FlatDataExportModel.js.map +1 -1
  46. package/dist/dataExport/FlatDataExportOptions.js.map +1 -1
  47. package/dist/dataExport/FlatDataFiles.js.map +1 -1
  48. package/dist/dataExport/UniqueFileNamesGenerator.d.ts +23 -0
  49. package/dist/dataExport/UniqueFileNamesGenerator.js +26 -1
  50. package/dist/dataExport/UniqueFileNamesGenerator.js.map +1 -1
  51. package/dist/dataExport/index.js.map +1 -1
  52. package/dist/dataQuery/dataQuery.js.map +1 -1
  53. package/dist/dataQuery/dataQuerySummaries.js +3 -0
  54. package/dist/dataQuery/dataQuerySummaries.js.map +1 -1
  55. package/dist/dataQuery/index.js.map +1 -1
  56. package/dist/error/SystemError.js +1 -0
  57. package/dist/error/SystemError.js.map +1 -1
  58. package/dist/error/index.js.map +1 -1
  59. package/dist/esm/app/appInfo.js.map +1 -1
  60. package/dist/esm/app/index.js.map +1 -1
  61. package/dist/esm/auth/authGroup.js.map +1 -1
  62. package/dist/esm/auth/authGroups.js.map +1 -1
  63. package/dist/esm/auth/authorizer.js +45 -0
  64. package/dist/esm/auth/authorizer.js.map +1 -1
  65. package/dist/esm/auth/factory.js.map +1 -1
  66. package/dist/esm/auth/index.js.map +1 -1
  67. package/dist/esm/auth/permission.js.map +1 -1
  68. package/dist/esm/auth/user.js.map +1 -1
  69. package/dist/esm/auth/userAuth.js.map +1 -1
  70. package/dist/esm/auth/userAuthTokenService.js.map +1 -1
  71. package/dist/esm/auth/userGroup.js.map +1 -1
  72. package/dist/esm/auth/userService.js.map +1 -1
  73. package/dist/esm/auth/users.js +1 -0
  74. package/dist/esm/auth/users.js.map +1 -1
  75. package/dist/esm/category/categories.js.map +1 -1
  76. package/dist/esm/category/category.js.map +1 -1
  77. package/dist/esm/category/categoryImportSummary.js.map +1 -1
  78. package/dist/esm/category/categoryItemGenerator.js.map +1 -1
  79. package/dist/esm/category/categoryItems.js.map +1 -1
  80. package/dist/esm/category/factory.js.map +1 -1
  81. package/dist/esm/category/index.js.map +1 -1
  82. package/dist/esm/category/item.js.map +1 -1
  83. package/dist/esm/category/itemService.js.map +1 -1
  84. package/dist/esm/category/level.js.map +1 -1
  85. package/dist/esm/category/levelService.js.map +1 -1
  86. package/dist/esm/category/service.js.map +1 -1
  87. package/dist/esm/chain/chain.js.map +1 -1
  88. package/dist/esm/chain/chainFactory.js.map +1 -1
  89. package/dist/esm/chain/chainNodeDef.js.map +1 -1
  90. package/dist/esm/chain/chainNodeDefAggregate.js.map +1 -1
  91. package/dist/esm/chain/chainNodeDefFactory.js.map +1 -1
  92. package/dist/esm/chain/chainNodeDefService.js.map +1 -1
  93. package/dist/esm/chain/chainService.js.map +1 -1
  94. package/dist/esm/chain/index.js.map +1 -1
  95. package/dist/esm/common/Dictionary.js.map +1 -1
  96. package/dist/esm/common/factory.js.map +1 -1
  97. package/dist/esm/common/i18n.js.map +1 -1
  98. package/dist/esm/common/index.js.map +1 -1
  99. package/dist/esm/dataExport/ArenaExportInfo.js.map +1 -1
  100. package/dist/esm/dataExport/ArenaExportInfoFactory.js.map +1 -1
  101. package/dist/esm/dataExport/FlatDataExportModel.js +3 -3
  102. package/dist/esm/dataExport/FlatDataExportModel.js.map +1 -1
  103. package/dist/esm/dataExport/FlatDataExportOptions.js.map +1 -1
  104. package/dist/esm/dataExport/FlatDataFiles.js.map +1 -1
  105. package/dist/esm/dataExport/UniqueFileNamesGenerator.js +26 -1
  106. package/dist/esm/dataExport/UniqueFileNamesGenerator.js.map +1 -1
  107. package/dist/esm/dataExport/index.js.map +1 -1
  108. package/dist/esm/dataQuery/dataQuery.js.map +1 -1
  109. package/dist/esm/dataQuery/dataQuerySummaries.js +3 -0
  110. package/dist/esm/dataQuery/dataQuerySummaries.js.map +1 -1
  111. package/dist/esm/dataQuery/index.js.map +1 -1
  112. package/dist/esm/error/SystemError.js +1 -0
  113. package/dist/esm/error/SystemError.js.map +1 -1
  114. package/dist/esm/error/index.js.map +1 -1
  115. package/dist/esm/expression/context.js.map +1 -1
  116. package/dist/esm/expression/evaluator.js.map +1 -1
  117. package/dist/esm/expression/function.js.map +1 -1
  118. package/dist/esm/expression/index.js.map +1 -1
  119. package/dist/esm/expression/javascript/evaluator.js +4 -1
  120. package/dist/esm/expression/javascript/evaluator.js.map +1 -1
  121. package/dist/esm/expression/javascript/functionsDefault.js.map +1 -1
  122. package/dist/esm/expression/javascript/global.js.map +1 -1
  123. package/dist/esm/expression/javascript/node/array.js.map +1 -1
  124. package/dist/esm/expression/javascript/node/binary.js +23 -0
  125. package/dist/esm/expression/javascript/node/binary.js.map +1 -1
  126. package/dist/esm/expression/javascript/node/call.js +12 -0
  127. package/dist/esm/expression/javascript/node/call.js.map +1 -1
  128. package/dist/esm/expression/javascript/node/compound.js.map +1 -1
  129. package/dist/esm/expression/javascript/node/conditional.js.map +1 -1
  130. package/dist/esm/expression/javascript/node/identifier.js +7 -0
  131. package/dist/esm/expression/javascript/node/identifier.js.map +1 -1
  132. package/dist/esm/expression/javascript/node/literal.js.map +1 -1
  133. package/dist/esm/expression/javascript/node/member.js +5 -1
  134. package/dist/esm/expression/javascript/node/member.js.map +1 -1
  135. package/dist/esm/expression/javascript/node/sequence.js.map +1 -1
  136. package/dist/esm/expression/javascript/node/this.js.map +1 -1
  137. package/dist/esm/expression/javascript/node/unary.js +8 -0
  138. package/dist/esm/expression/javascript/node/unary.js.map +1 -1
  139. package/dist/esm/expression/javascript/parser/jsep.js +6 -2
  140. package/dist/esm/expression/javascript/parser/jsep.js.map +1 -1
  141. package/dist/esm/expression/javascript/parser/parser.js.map +1 -1
  142. package/dist/esm/expression/node.js.map +1 -1
  143. package/dist/esm/expression/parser.js.map +1 -1
  144. package/dist/esm/expression/variable.js.map +1 -1
  145. package/dist/esm/extraProp/extraProp.js.map +1 -1
  146. package/dist/esm/extraProp/extraProps.js.map +1 -1
  147. package/dist/esm/extraProp/extraPropsDataGenerator.js.map +1 -1
  148. package/dist/esm/extraProp/index.js.map +1 -1
  149. package/dist/esm/geo/index.js.map +1 -1
  150. package/dist/esm/geo/point.js.map +1 -1
  151. package/dist/esm/geo/pointFactory.js.map +1 -1
  152. package/dist/esm/geo/points/bearing.js +11 -0
  153. package/dist/esm/geo/points/bearing.js.map +1 -1
  154. package/dist/esm/geo/points/distance.js +9 -0
  155. package/dist/esm/geo/points/distance.js.map +1 -1
  156. package/dist/esm/geo/points/equals.js.map +1 -1
  157. package/dist/esm/geo/points/getSrs.js.map +1 -1
  158. package/dist/esm/geo/points/index.js.map +1 -1
  159. package/dist/esm/geo/points/isFilled.js.map +1 -1
  160. package/dist/esm/geo/points/isValid.js +1 -1
  161. package/dist/esm/geo/points/isValid.js.map +1 -1
  162. package/dist/esm/geo/points/parse.js +9 -0
  163. package/dist/esm/geo/points/parse.js.map +1 -1
  164. package/dist/esm/geo/points/pointAtDistance.js +10 -0
  165. package/dist/esm/geo/points/pointAtDistance.js.map +1 -1
  166. package/dist/esm/geo/points/toLatLong.js.map +1 -1
  167. package/dist/esm/geo/points/toString.js.map +1 -1
  168. package/dist/esm/geo/points/transform.js +12 -0
  169. package/dist/esm/geo/points/transform.js.map +1 -1
  170. package/dist/esm/index.js.map +1 -1
  171. package/dist/esm/job/JobBase.js +99 -0
  172. package/dist/esm/job/JobBase.js.map +1 -1
  173. package/dist/esm/job/index.js.map +1 -1
  174. package/dist/esm/job/job.js.map +1 -1
  175. package/dist/esm/job/jobContext.js.map +1 -1
  176. package/dist/esm/job/jobEvent.js.map +1 -1
  177. package/dist/esm/job/jobSerialized.js.map +1 -1
  178. package/dist/esm/job/status.js.map +1 -1
  179. package/dist/esm/language/index.js.map +1 -1
  180. package/dist/esm/language/labels.js.map +1 -1
  181. package/dist/esm/language/languageCode.js.map +1 -1
  182. package/dist/esm/language/languages.js.map +1 -1
  183. package/dist/esm/logger/index.js.map +1 -1
  184. package/dist/esm/logger/logger.js.map +1 -1
  185. package/dist/esm/message/index.js.map +1 -1
  186. package/dist/esm/message/message.js.map +1 -1
  187. package/dist/esm/message/messages.js +1 -0
  188. package/dist/esm/message/messages.js.map +1 -1
  189. package/dist/esm/node/factory.js.map +1 -1
  190. package/dist/esm/node/index.js.map +1 -1
  191. package/dist/esm/node/node.js.map +1 -1
  192. package/dist/esm/node/nodePointer.js.map +1 -1
  193. package/dist/esm/node/nodeValue/code.js.map +1 -1
  194. package/dist/esm/node/nodeValue/coordinate.js.map +1 -1
  195. package/dist/esm/node/nodeValue/file.js.map +1 -1
  196. package/dist/esm/node/nodeValue/index.js.map +1 -1
  197. package/dist/esm/node/nodeValue/nodeValueComposite.js.map +1 -1
  198. package/dist/esm/node/nodeValue/taxon.js.map +1 -1
  199. package/dist/esm/node/nodeValueFormatter.js +2 -0
  200. package/dist/esm/node/nodeValueFormatter.js.map +1 -1
  201. package/dist/esm/node/nodeValueProps.js.map +1 -1
  202. package/dist/esm/node/nodeValues.js +20 -0
  203. package/dist/esm/node/nodeValues.js.map +1 -1
  204. package/dist/esm/node/nodes.js +7 -0
  205. package/dist/esm/node/nodes.js.map +1 -1
  206. package/dist/esm/node/service.js.map +1 -1
  207. package/dist/esm/nodeDef/factory.js.map +1 -1
  208. package/dist/esm/nodeDef/index.js.map +1 -1
  209. package/dist/esm/nodeDef/nodeDef.js +1 -0
  210. package/dist/esm/nodeDef/nodeDef.js.map +1 -1
  211. package/dist/esm/nodeDef/nodeDefs.js +18 -0
  212. package/dist/esm/nodeDef/nodeDefs.js.map +1 -1
  213. package/dist/esm/nodeDef/service.js.map +1 -1
  214. package/dist/esm/nodeDef/types/boolean.js.map +1 -1
  215. package/dist/esm/nodeDef/types/code.js.map +1 -1
  216. package/dist/esm/nodeDef/types/coordinate.js.map +1 -1
  217. package/dist/esm/nodeDef/types/date.js.map +1 -1
  218. package/dist/esm/nodeDef/types/decimal.js.map +1 -1
  219. package/dist/esm/nodeDef/types/entity.js.map +1 -1
  220. package/dist/esm/nodeDef/types/file.js.map +1 -1
  221. package/dist/esm/nodeDef/types/formHeader.js.map +1 -1
  222. package/dist/esm/nodeDef/types/integer.js.map +1 -1
  223. package/dist/esm/nodeDef/types/taxon.js.map +1 -1
  224. package/dist/esm/nodeDef/types/text.js.map +1 -1
  225. package/dist/esm/nodeDef/types/time.js.map +1 -1
  226. package/dist/esm/nodeDefExpressionEvaluator/categoryItemProvider.js.map +1 -1
  227. package/dist/esm/nodeDefExpressionEvaluator/context.js.map +1 -1
  228. package/dist/esm/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
  229. package/dist/esm/nodeDefExpressionEvaluator/functions.js +8 -1
  230. package/dist/esm/nodeDefExpressionEvaluator/functions.js.map +1 -1
  231. package/dist/esm/nodeDefExpressionEvaluator/index.js.map +1 -1
  232. package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js +28 -0
  233. package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
  234. package/dist/esm/nodeDefExpressionEvaluator/node/member.js +15 -0
  235. package/dist/esm/nodeDefExpressionEvaluator/node/member.js.map +1 -1
  236. package/dist/esm/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js +3 -0
  237. package/dist/esm/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js.map +1 -1
  238. package/dist/esm/nodeDefExpressionEvaluator/node/thisEvaluator.js.map +1 -1
  239. package/dist/esm/nodeDefExpressionEvaluator/taxonProvider.js.map +1 -1
  240. package/dist/esm/nodeDefExpressionEvaluator/validator.js.map +1 -1
  241. package/dist/esm/record/_records/nodeDefSelfReferences.js +57 -0
  242. package/dist/esm/record/_records/nodeDefSelfReferences.js.map +1 -0
  243. package/dist/esm/record/_records/recordCompletion.js +14 -0
  244. package/dist/esm/record/_records/recordCompletion.js.map +1 -1
  245. package/dist/esm/record/_records/recordGetters.js +26 -5
  246. package/dist/esm/record/_records/recordGetters.js.map +1 -1
  247. package/dist/esm/record/_records/recordNodesIndexReader.js.map +1 -1
  248. package/dist/esm/record/_records/recordNodesIndexUpdater.js +17 -0
  249. package/dist/esm/record/_records/recordNodesIndexUpdater.js.map +1 -1
  250. package/dist/esm/record/_records/recordPagesValidation.js +45 -0
  251. package/dist/esm/record/_records/recordPagesValidation.js.map +1 -1
  252. package/dist/esm/record/_records/recordUpdateOptions.js.map +1 -1
  253. package/dist/esm/record/_records/recordUpdater.js +2 -0
  254. package/dist/esm/record/_records/recordUpdater.js.map +1 -1
  255. package/dist/esm/record/_records/recordUtils.js.map +1 -1
  256. package/dist/esm/record/factory.js.map +1 -1
  257. package/dist/esm/record/index.js.map +1 -1
  258. package/dist/esm/record/nodePointers.js.map +1 -1
  259. package/dist/esm/record/record.js.map +1 -1
  260. package/dist/esm/record/recordCloner.js +10 -1
  261. package/dist/esm/record/recordCloner.js.map +1 -1
  262. package/dist/esm/record/recordExpressionEvaluator/context.js.map +1 -1
  263. package/dist/esm/record/recordExpressionEvaluator/functions.js.map +1 -1
  264. package/dist/esm/record/recordExpressionEvaluator/index.js.map +1 -1
  265. package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js +14 -0
  266. package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
  267. package/dist/esm/record/recordExpressionEvaluator/node/identifier/index.js.map +1 -1
  268. package/dist/esm/record/recordExpressionEvaluator/node/identifier/nodesFinder.js +6 -0
  269. package/dist/esm/record/recordExpressionEvaluator/node/identifier/nodesFinder.js.map +1 -1
  270. package/dist/esm/record/recordExpressionEvaluator/node/thisEvaluator.js.map +1 -1
  271. package/dist/esm/record/recordExpressionEvaluator/nodeValueExtractor.js.map +1 -1
  272. package/dist/esm/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
  273. package/dist/esm/record/recordFixer.js +16 -0
  274. package/dist/esm/record/recordFixer.js.map +1 -1
  275. package/dist/esm/record/recordNodesUpdater/index.js.map +1 -1
  276. package/dist/esm/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js +6 -0
  277. package/dist/esm/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js.map +1 -1
  278. package/dist/esm/record/recordNodesUpdater/recordExpressionEvaluationContext.js.map +1 -1
  279. package/dist/esm/record/recordNodesUpdater/recordExpressionValueConverter.js +5 -0
  280. package/dist/esm/record/recordNodesUpdater/recordExpressionValueConverter.js.map +1 -1
  281. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js +20 -2
  282. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
  283. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js +2 -1
  284. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
  285. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js +13 -1
  286. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js.map +1 -1
  287. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js +9 -1
  288. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
  289. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js +17 -1
  290. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js.map +1 -1
  291. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEditableUpdater.js.map +1 -1
  292. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js +5 -1
  293. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js.map +1 -1
  294. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js +4 -2
  295. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js.map +1 -1
  296. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js +8 -3
  297. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js.map +1 -1
  298. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsUpdateParams.js.map +1 -1
  299. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsVisibleUpdater.js.map +1 -1
  300. package/dist/esm/record/recordNodesUpdater/recordNodesCreator.js +10 -5
  301. package/dist/esm/record/recordNodesUpdater/recordNodesCreator.js.map +1 -1
  302. package/dist/esm/record/recordNodesUpdater/recordNodesDeleter.js +7 -0
  303. package/dist/esm/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
  304. package/dist/esm/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js +2 -0
  305. package/dist/esm/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js.map +1 -1
  306. package/dist/esm/record/recordNodesUpdater/recordNodesUpdater.js +16 -2
  307. package/dist/esm/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
  308. package/dist/esm/record/recordNodesUpdater/recordUpdateResult.js +8 -0
  309. package/dist/esm/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
  310. package/dist/esm/record/recordPrettyPrinter.js.map +1 -1
  311. package/dist/esm/record/recordStep.js.map +1 -1
  312. package/dist/esm/record/recordUpdater.js +1 -0
  313. package/dist/esm/record/recordUpdater.js.map +1 -1
  314. package/dist/esm/record/recordValidations.js.map +1 -1
  315. package/dist/esm/record/recordValidator/attributeKeyValidator.js +3 -0
  316. package/dist/esm/record/recordValidator/attributeKeyValidator.js.map +1 -1
  317. package/dist/esm/record/recordValidator/attributeTypeValidator.js +3 -0
  318. package/dist/esm/record/recordValidator/attributeTypeValidator.js.map +1 -1
  319. package/dist/esm/record/recordValidator/attributeUniqueValidator.js +2 -0
  320. package/dist/esm/record/recordValidator/attributeUniqueValidator.js.map +1 -1
  321. package/dist/esm/record/recordValidator/attributeValidator.js +12 -1
  322. package/dist/esm/record/recordValidator/attributeValidator.js.map +1 -1
  323. package/dist/esm/record/recordValidator/countVaildator.js +5 -0
  324. package/dist/esm/record/recordValidator/countVaildator.js.map +1 -1
  325. package/dist/esm/record/recordValidator/index.js.map +1 -1
  326. package/dist/esm/record/recordValidator/recordValidator.js +3 -0
  327. package/dist/esm/record/recordValidator/recordValidator.js.map +1 -1
  328. package/dist/esm/record/records.js +3 -0
  329. package/dist/esm/record/records.js.map +1 -1
  330. package/dist/esm/record/service.js.map +1 -1
  331. package/dist/esm/registry/index.js.map +1 -1
  332. package/dist/esm/registry/serviceRegistry.js.map +1 -1
  333. package/dist/esm/registry/serviceType.js.map +1 -1
  334. package/dist/esm/srs/factory.js.map +1 -1
  335. package/dist/esm/srs/index.js.map +1 -1
  336. package/dist/esm/srs/srs.js.map +1 -1
  337. package/dist/esm/survey/factory.js +1 -0
  338. package/dist/esm/survey/factory.js.map +1 -1
  339. package/dist/esm/survey/index.js.map +1 -1
  340. package/dist/esm/survey/nodeDefsFixer.js +1 -0
  341. package/dist/esm/survey/nodeDefsFixer.js.map +1 -1
  342. package/dist/esm/survey/refData/factory.js.map +1 -1
  343. package/dist/esm/survey/refData/index.js.map +1 -1
  344. package/dist/esm/survey/refData/refData.js.map +1 -1
  345. package/dist/esm/survey/service.js.map +1 -1
  346. package/dist/esm/survey/survey.js.map +1 -1
  347. package/dist/esm/survey/surveyDocImageFactory.js.map +1 -1
  348. package/dist/esm/survey/surveyDocImages.js.map +1 -1
  349. package/dist/esm/survey/surveyFileFactory.js.map +1 -1
  350. package/dist/esm/survey/surveys/_nodeDefs/nodeDefsIndex.js +8 -0
  351. package/dist/esm/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
  352. package/dist/esm/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
  353. package/dist/esm/survey/surveys/dependencies.js +11 -2
  354. package/dist/esm/survey/surveys/dependencies.js.map +1 -1
  355. package/dist/esm/survey/surveys/index.js +6 -0
  356. package/dist/esm/survey/surveys/index.js.map +1 -1
  357. package/dist/esm/survey/surveys/nodeDefs.js +12 -0
  358. package/dist/esm/survey/surveys/nodeDefs.js.map +1 -1
  359. package/dist/esm/survey/surveys/refsData.js.map +1 -1
  360. package/dist/esm/survey/surveys/surveyGettersSecurity.js.map +1 -1
  361. package/dist/esm/survey/surveys/surveysGetters.js +3 -1
  362. package/dist/esm/survey/surveys/surveysGetters.js.map +1 -1
  363. package/dist/esm/survey/surveys/surveysUtils.js.map +1 -1
  364. package/dist/esm/taxonomy/factory.js.map +1 -1
  365. package/dist/esm/taxonomy/index.js.map +1 -1
  366. package/dist/esm/taxonomy/service.js.map +1 -1
  367. package/dist/esm/taxonomy/taxa.js.map +1 -1
  368. package/dist/esm/taxonomy/taxon.js.map +1 -1
  369. package/dist/esm/taxonomy/taxonGenerator.js.map +1 -1
  370. package/dist/esm/taxonomy/taxonService.js.map +1 -1
  371. package/dist/esm/taxonomy/taxonVernacularName.js.map +1 -1
  372. package/dist/esm/taxonomy/taxonomies.js.map +1 -1
  373. package/dist/esm/taxonomy/taxonomy.js.map +1 -1
  374. package/dist/esm/tests/builder/recordBuilder/attributeBuilder.js +2 -0
  375. package/dist/esm/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
  376. package/dist/esm/tests/builder/recordBuilder/entityBuilder.js.map +1 -1
  377. package/dist/esm/tests/builder/recordBuilder/index.js.map +1 -1
  378. package/dist/esm/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
  379. package/dist/esm/tests/builder/recordBuilder/recordBuilder.js.map +1 -1
  380. package/dist/esm/tests/builder/surveyBuilder/categoryBuilder.js.map +1 -1
  381. package/dist/esm/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
  382. package/dist/esm/tests/builder/surveyBuilder/index.js.map +1 -1
  383. package/dist/esm/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
  384. package/dist/esm/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
  385. package/dist/esm/tests/builder/surveyBuilder/nodeDefCodeBuilder.js.map +1 -1
  386. package/dist/esm/tests/builder/surveyBuilder/nodeDefEntityBuilder.js.map +1 -1
  387. package/dist/esm/tests/builder/surveyBuilder/nodeDefTaxonBuilder.js.map +1 -1
  388. package/dist/esm/tests/builder/surveyBuilder/surveyBuilder.js.map +1 -1
  389. package/dist/esm/tests/builder/surveyBuilder/taxonBuilder.js.map +1 -1
  390. package/dist/esm/tests/builder/surveyBuilder/taxonomyBuilder.js.map +1 -1
  391. package/dist/esm/utils/_objects/assoc.js.map +1 -1
  392. package/dist/esm/utils/_objects/assocPath.js +1 -0
  393. package/dist/esm/utils/_objects/assocPath.js.map +1 -1
  394. package/dist/esm/utils/_objects/camelize.js +9 -0
  395. package/dist/esm/utils/_objects/camelize.js.map +1 -1
  396. package/dist/esm/utils/_objects/deepMerge.js +10 -0
  397. package/dist/esm/utils/_objects/deepMerge.js.map +1 -1
  398. package/dist/esm/utils/_objects/deleteEmptyProps.js.map +1 -1
  399. package/dist/esm/utils/_objects/difference.js.map +1 -1
  400. package/dist/esm/utils/_objects/dissoc.js.map +1 -1
  401. package/dist/esm/utils/_objects/dissocPath.js +1 -0
  402. package/dist/esm/utils/_objects/dissocPath.js.map +1 -1
  403. package/dist/esm/utils/_objects/dissocPathIfEmpty.js.map +1 -1
  404. package/dist/esm/utils/_objects/fromPairs.js.map +1 -1
  405. package/dist/esm/utils/_objects/index.js.map +1 -1
  406. package/dist/esm/utils/_objects/isEmpty.js +8 -0
  407. package/dist/esm/utils/_objects/isEmpty.js.map +1 -1
  408. package/dist/esm/utils/_objects/isEqual.js.map +1 -1
  409. package/dist/esm/utils/_objects/isNil.js +6 -0
  410. package/dist/esm/utils/_objects/isNil.js.map +1 -1
  411. package/dist/esm/utils/_objects/isNotEmpty.js +6 -0
  412. package/dist/esm/utils/_objects/isNotEmpty.js.map +1 -1
  413. package/dist/esm/utils/_objects/parse.js +8 -0
  414. package/dist/esm/utils/_objects/parse.js.map +1 -1
  415. package/dist/esm/utils/_objects/path.js +7 -0
  416. package/dist/esm/utils/_objects/path.js.map +1 -1
  417. package/dist/esm/utils/_objects/propertyOf.js.map +1 -1
  418. package/dist/esm/utils/_objects/setInPath.js.map +1 -1
  419. package/dist/esm/utils/_objects/stringify.js +9 -0
  420. package/dist/esm/utils/_objects/stringify.js.map +1 -1
  421. package/dist/esm/utils/_objects/toPairs.js.map +1 -1
  422. package/dist/esm/utils/arrays.js.map +1 -1
  423. package/dist/esm/utils/dates.js +22 -0
  424. package/dist/esm/utils/dates.js.map +1 -1
  425. package/dist/esm/utils/fileNames.js.map +1 -1
  426. package/dist/esm/utils/fileProcessor.js +5 -1
  427. package/dist/esm/utils/fileProcessor.js.map +1 -1
  428. package/dist/esm/utils/index.js.map +1 -1
  429. package/dist/esm/utils/numbers.js +21 -0
  430. package/dist/esm/utils/numbers.js.map +1 -1
  431. package/dist/esm/utils/promises.js +15 -1
  432. package/dist/esm/utils/promises.js.map +1 -1
  433. package/dist/esm/utils/queue.js +9 -0
  434. package/dist/esm/utils/queue.js.map +1 -1
  435. package/dist/esm/utils/retryProcessor.js +5 -1
  436. package/dist/esm/utils/retryProcessor.js.map +1 -1
  437. package/dist/esm/utils/strings.js.map +1 -1
  438. package/dist/esm/utils/uuids.js.map +1 -1
  439. package/dist/esm/utils/versions.js +4 -0
  440. package/dist/esm/utils/versions.js.map +1 -1
  441. package/dist/esm/validation/factory.js.map +1 -1
  442. package/dist/esm/validation/fieldValidator.js.map +1 -1
  443. package/dist/esm/validation/fieldValidators/email.js +3 -0
  444. package/dist/esm/validation/fieldValidators/email.js.map +1 -1
  445. package/dist/esm/validation/fieldValidators/index.js.map +1 -1
  446. package/dist/esm/validation/fieldValidators/name.js +4 -0
  447. package/dist/esm/validation/fieldValidators/name.js.map +1 -1
  448. package/dist/esm/validation/fieldValidators/notKeyword.js.map +1 -1
  449. package/dist/esm/validation/fieldValidators/numeric.js.map +1 -1
  450. package/dist/esm/validation/fieldValidators/numericPositive.js.map +1 -1
  451. package/dist/esm/validation/fieldValidators/required.js.map +1 -1
  452. package/dist/esm/validation/index.js.map +1 -1
  453. package/dist/esm/validation/validation.js.map +1 -1
  454. package/dist/esm/validation/validationResults.js +1 -1
  455. package/dist/esm/validation/validationResults.js.map +1 -1
  456. package/dist/esm/validation/validations.js +17 -1
  457. package/dist/esm/validation/validations.js.map +1 -1
  458. package/dist/esm/validation/validator.js.map +1 -1
  459. package/dist/esm/validation/validatorErrorKeys.js.map +1 -1
  460. package/dist/expression/context.d.ts +6 -0
  461. package/dist/expression/context.js.map +1 -1
  462. package/dist/expression/evaluator.js.map +1 -1
  463. package/dist/expression/function.d.ts +13 -0
  464. package/dist/expression/function.js.map +1 -1
  465. package/dist/expression/index.js.map +1 -1
  466. package/dist/expression/javascript/evaluator.d.ts +1 -0
  467. package/dist/expression/javascript/evaluator.js +6 -2
  468. package/dist/expression/javascript/evaluator.js.map +1 -1
  469. package/dist/expression/javascript/functionsDefault.js.map +1 -1
  470. package/dist/expression/javascript/global.js.map +1 -1
  471. package/dist/expression/javascript/node/array.js.map +1 -1
  472. package/dist/expression/javascript/node/binary.js +23 -0
  473. package/dist/expression/javascript/node/binary.js.map +1 -1
  474. package/dist/expression/javascript/node/call.js +12 -0
  475. package/dist/expression/javascript/node/call.js.map +1 -1
  476. package/dist/expression/javascript/node/compound.js.map +1 -1
  477. package/dist/expression/javascript/node/conditional.js.map +1 -1
  478. package/dist/expression/javascript/node/identifier.d.ts +7 -0
  479. package/dist/expression/javascript/node/identifier.js +7 -0
  480. package/dist/expression/javascript/node/identifier.js.map +1 -1
  481. package/dist/expression/javascript/node/literal.js.map +1 -1
  482. package/dist/expression/javascript/node/member.js +5 -1
  483. package/dist/expression/javascript/node/member.js.map +1 -1
  484. package/dist/expression/javascript/node/sequence.js.map +1 -1
  485. package/dist/expression/javascript/node/this.js.map +1 -1
  486. package/dist/expression/javascript/node/unary.js +8 -0
  487. package/dist/expression/javascript/node/unary.js.map +1 -1
  488. package/dist/expression/javascript/parser/jsep.js +6 -2
  489. package/dist/expression/javascript/parser/jsep.js.map +1 -1
  490. package/dist/expression/javascript/parser/parser.js.map +1 -1
  491. package/dist/expression/node.js.map +1 -1
  492. package/dist/expression/parser.js.map +1 -1
  493. package/dist/expression/variable.js.map +1 -1
  494. package/dist/extraProp/extraProp.js.map +1 -1
  495. package/dist/extraProp/extraProps.js.map +1 -1
  496. package/dist/extraProp/extraPropsDataGenerator.js.map +1 -1
  497. package/dist/extraProp/index.js.map +1 -1
  498. package/dist/geo/index.js.map +1 -1
  499. package/dist/geo/point.js.map +1 -1
  500. package/dist/geo/pointFactory.js.map +1 -1
  501. package/dist/geo/points/bearing.d.ts +9 -0
  502. package/dist/geo/points/bearing.js +11 -0
  503. package/dist/geo/points/bearing.js.map +1 -1
  504. package/dist/geo/points/distance.d.ts +8 -0
  505. package/dist/geo/points/distance.js +9 -0
  506. package/dist/geo/points/distance.js.map +1 -1
  507. package/dist/geo/points/equals.js.map +1 -1
  508. package/dist/geo/points/getSrs.js.map +1 -1
  509. package/dist/geo/points/index.js.map +1 -1
  510. package/dist/geo/points/isFilled.js.map +1 -1
  511. package/dist/geo/points/isValid.js +1 -1
  512. package/dist/geo/points/isValid.js.map +1 -1
  513. package/dist/geo/points/parse.d.ts +9 -0
  514. package/dist/geo/points/parse.js +9 -0
  515. package/dist/geo/points/parse.js.map +1 -1
  516. package/dist/geo/points/pointAtDistance.d.ts +9 -0
  517. package/dist/geo/points/pointAtDistance.js +10 -0
  518. package/dist/geo/points/pointAtDistance.js.map +1 -1
  519. package/dist/geo/points/toLatLong.js.map +1 -1
  520. package/dist/geo/points/toString.js.map +1 -1
  521. package/dist/geo/points/transform.d.ts +8 -0
  522. package/dist/geo/points/transform.js +12 -0
  523. package/dist/geo/points/transform.js.map +1 -1
  524. package/dist/index.js.map +1 -1
  525. package/dist/job/JobBase.d.ts +81 -0
  526. package/dist/job/JobBase.js +99 -0
  527. package/dist/job/JobBase.js.map +1 -1
  528. package/dist/job/index.js.map +1 -1
  529. package/dist/job/job.d.ts +20 -0
  530. package/dist/job/job.js.map +1 -1
  531. package/dist/job/jobContext.js.map +1 -1
  532. package/dist/job/jobEvent.js.map +1 -1
  533. package/dist/job/jobSerialized.d.ts +3 -0
  534. package/dist/job/jobSerialized.js.map +1 -1
  535. package/dist/job/status.js.map +1 -1
  536. package/dist/language/index.js.map +1 -1
  537. package/dist/language/labels.js.map +1 -1
  538. package/dist/language/languageCode.js.map +1 -1
  539. package/dist/language/languages.js.map +1 -1
  540. package/dist/logger/index.js.map +1 -1
  541. package/dist/logger/logger.js.map +1 -1
  542. package/dist/message/index.js.map +1 -1
  543. package/dist/message/message.d.ts +3 -0
  544. package/dist/message/message.js.map +1 -1
  545. package/dist/message/messages.js +1 -0
  546. package/dist/message/messages.js.map +1 -1
  547. package/dist/node/factory.js.map +1 -1
  548. package/dist/node/index.js.map +1 -1
  549. package/dist/node/node.d.ts +38 -0
  550. package/dist/node/node.js.map +1 -1
  551. package/dist/node/nodePointer.js.map +1 -1
  552. package/dist/node/nodeValue/code.js.map +1 -1
  553. package/dist/node/nodeValue/coordinate.js.map +1 -1
  554. package/dist/node/nodeValue/file.js.map +1 -1
  555. package/dist/node/nodeValue/index.js.map +1 -1
  556. package/dist/node/nodeValue/nodeValueComposite.js.map +1 -1
  557. package/dist/node/nodeValue/taxon.js.map +1 -1
  558. package/dist/node/nodeValueFormatter.js +2 -0
  559. package/dist/node/nodeValueFormatter.js.map +1 -1
  560. package/dist/node/nodeValueProps.js.map +1 -1
  561. package/dist/node/nodeValues.d.ts +4 -0
  562. package/dist/node/nodeValues.js +20 -0
  563. package/dist/node/nodeValues.js.map +1 -1
  564. package/dist/node/nodes.js +7 -0
  565. package/dist/node/nodes.js.map +1 -1
  566. package/dist/node/service.js.map +1 -1
  567. package/dist/nodeDef/factory.js.map +1 -1
  568. package/dist/nodeDef/index.js.map +1 -1
  569. package/dist/nodeDef/nodeDef.js +1 -0
  570. package/dist/nodeDef/nodeDef.js.map +1 -1
  571. package/dist/nodeDef/nodeDefs.js +18 -0
  572. package/dist/nodeDef/nodeDefs.js.map +1 -1
  573. package/dist/nodeDef/service.js.map +1 -1
  574. package/dist/nodeDef/types/boolean.js.map +1 -1
  575. package/dist/nodeDef/types/code.js.map +1 -1
  576. package/dist/nodeDef/types/coordinate.js.map +1 -1
  577. package/dist/nodeDef/types/date.js.map +1 -1
  578. package/dist/nodeDef/types/decimal.js.map +1 -1
  579. package/dist/nodeDef/types/entity.d.ts +1 -0
  580. package/dist/nodeDef/types/entity.js.map +1 -1
  581. package/dist/nodeDef/types/file.js.map +1 -1
  582. package/dist/nodeDef/types/formHeader.js.map +1 -1
  583. package/dist/nodeDef/types/integer.js.map +1 -1
  584. package/dist/nodeDef/types/taxon.js.map +1 -1
  585. package/dist/nodeDef/types/text.js.map +1 -1
  586. package/dist/nodeDef/types/time.js.map +1 -1
  587. package/dist/nodeDefExpressionEvaluator/categoryItemProvider.js.map +1 -1
  588. package/dist/nodeDefExpressionEvaluator/context.d.ts +3 -0
  589. package/dist/nodeDefExpressionEvaluator/context.js.map +1 -1
  590. package/dist/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
  591. package/dist/nodeDefExpressionEvaluator/functions.js +8 -1
  592. package/dist/nodeDefExpressionEvaluator/functions.js.map +1 -1
  593. package/dist/nodeDefExpressionEvaluator/index.js.map +1 -1
  594. package/dist/nodeDefExpressionEvaluator/node/identifier.d.ts +14 -0
  595. package/dist/nodeDefExpressionEvaluator/node/identifier.js +28 -0
  596. package/dist/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
  597. package/dist/nodeDefExpressionEvaluator/node/member.js +15 -0
  598. package/dist/nodeDefExpressionEvaluator/node/member.js.map +1 -1
  599. package/dist/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js +3 -0
  600. package/dist/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.js.map +1 -1
  601. package/dist/nodeDefExpressionEvaluator/node/thisEvaluator.js.map +1 -1
  602. package/dist/nodeDefExpressionEvaluator/taxonProvider.js.map +1 -1
  603. package/dist/nodeDefExpressionEvaluator/validator.js.map +1 -1
  604. package/dist/record/_records/nodeDefSelfReferences.d.ts +8 -0
  605. package/dist/record/_records/nodeDefSelfReferences.js +60 -0
  606. package/dist/record/_records/nodeDefSelfReferences.js.map +1 -0
  607. package/dist/record/_records/recordCompletion.d.ts +12 -0
  608. package/dist/record/_records/recordCompletion.js +14 -0
  609. package/dist/record/_records/recordCompletion.js.map +1 -1
  610. package/dist/record/_records/recordGetters.d.ts +3 -0
  611. package/dist/record/_records/recordGetters.js +26 -5
  612. package/dist/record/_records/recordGetters.js.map +1 -1
  613. package/dist/record/_records/recordNodesIndexReader.js.map +1 -1
  614. package/dist/record/_records/recordNodesIndexUpdater.js +17 -0
  615. package/dist/record/_records/recordNodesIndexUpdater.js.map +1 -1
  616. package/dist/record/_records/recordPagesValidation.d.ts +39 -0
  617. package/dist/record/_records/recordPagesValidation.js +45 -0
  618. package/dist/record/_records/recordPagesValidation.js.map +1 -1
  619. package/dist/record/_records/recordUpdateOptions.js.map +1 -1
  620. package/dist/record/_records/recordUpdater.js +2 -0
  621. package/dist/record/_records/recordUpdater.js.map +1 -1
  622. package/dist/record/_records/recordUtils.js.map +1 -1
  623. package/dist/record/factory.js.map +1 -1
  624. package/dist/record/index.js.map +1 -1
  625. package/dist/record/nodePointers.js.map +1 -1
  626. package/dist/record/record.d.ts +12 -0
  627. package/dist/record/record.js.map +1 -1
  628. package/dist/record/recordCloner.js +10 -1
  629. package/dist/record/recordCloner.js.map +1 -1
  630. package/dist/record/recordExpressionEvaluator/context.js.map +1 -1
  631. package/dist/record/recordExpressionEvaluator/functions.js.map +1 -1
  632. package/dist/record/recordExpressionEvaluator/index.js.map +1 -1
  633. package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js +14 -0
  634. package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
  635. package/dist/record/recordExpressionEvaluator/node/identifier/index.js.map +1 -1
  636. package/dist/record/recordExpressionEvaluator/node/identifier/nodesFinder.js +6 -0
  637. package/dist/record/recordExpressionEvaluator/node/identifier/nodesFinder.js.map +1 -1
  638. package/dist/record/recordExpressionEvaluator/node/thisEvaluator.js.map +1 -1
  639. package/dist/record/recordExpressionEvaluator/nodeValueExtractor.js.map +1 -1
  640. package/dist/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
  641. package/dist/record/recordFixer.js +16 -0
  642. package/dist/record/recordFixer.js.map +1 -1
  643. package/dist/record/recordNodesUpdater/index.js.map +1 -1
  644. package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.d.ts +6 -0
  645. package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js +6 -0
  646. package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js.map +1 -1
  647. package/dist/record/recordNodesUpdater/recordExpressionEvaluationContext.js.map +1 -1
  648. package/dist/record/recordNodesUpdater/recordExpressionValueConverter.js +5 -0
  649. package/dist/record/recordNodesUpdater/recordExpressionValueConverter.js.map +1 -1
  650. package/dist/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js +20 -2
  651. package/dist/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
  652. package/dist/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js +2 -1
  653. package/dist/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
  654. package/dist/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js +13 -1
  655. package/dist/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js.map +1 -1
  656. package/dist/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js +9 -1
  657. package/dist/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
  658. package/dist/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js +17 -1
  659. package/dist/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js.map +1 -1
  660. package/dist/record/recordNodesUpdater/recordNodeDependentsEditableUpdater.js.map +1 -1
  661. package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js +5 -1
  662. package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js.map +1 -1
  663. package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js +4 -2
  664. package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js.map +1 -1
  665. package/dist/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js +8 -3
  666. package/dist/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js.map +1 -1
  667. package/dist/record/recordNodesUpdater/recordNodeDependentsUpdateParams.js.map +1 -1
  668. package/dist/record/recordNodesUpdater/recordNodeDependentsVisibleUpdater.js.map +1 -1
  669. package/dist/record/recordNodesUpdater/recordNodesCreator.js +10 -5
  670. package/dist/record/recordNodesUpdater/recordNodesCreator.js.map +1 -1
  671. package/dist/record/recordNodesUpdater/recordNodesDeleter.js +7 -0
  672. package/dist/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
  673. package/dist/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js +2 -0
  674. package/dist/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js.map +1 -1
  675. package/dist/record/recordNodesUpdater/recordNodesUpdater.js +16 -2
  676. package/dist/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
  677. package/dist/record/recordNodesUpdater/recordUpdateResult.d.ts +8 -0
  678. package/dist/record/recordNodesUpdater/recordUpdateResult.js +8 -0
  679. package/dist/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
  680. package/dist/record/recordPrettyPrinter.js.map +1 -1
  681. package/dist/record/recordStep.js.map +1 -1
  682. package/dist/record/recordUpdater.js +1 -0
  683. package/dist/record/recordUpdater.js.map +1 -1
  684. package/dist/record/recordValidations.js.map +1 -1
  685. package/dist/record/recordValidator/attributeKeyValidator.d.ts +4 -0
  686. package/dist/record/recordValidator/attributeKeyValidator.js +3 -0
  687. package/dist/record/recordValidator/attributeKeyValidator.js.map +1 -1
  688. package/dist/record/recordValidator/attributeTypeValidator.js +3 -0
  689. package/dist/record/recordValidator/attributeTypeValidator.js.map +1 -1
  690. package/dist/record/recordValidator/attributeUniqueValidator.js +2 -0
  691. package/dist/record/recordValidator/attributeUniqueValidator.js.map +1 -1
  692. package/dist/record/recordValidator/attributeValidator.js +12 -1
  693. package/dist/record/recordValidator/attributeValidator.js.map +1 -1
  694. package/dist/record/recordValidator/countVaildator.js +5 -0
  695. package/dist/record/recordValidator/countVaildator.js.map +1 -1
  696. package/dist/record/recordValidator/index.js.map +1 -1
  697. package/dist/record/recordValidator/recordValidator.js +3 -0
  698. package/dist/record/recordValidator/recordValidator.js.map +1 -1
  699. package/dist/record/records.js +3 -0
  700. package/dist/record/records.js.map +1 -1
  701. package/dist/record/service.js.map +1 -1
  702. package/dist/registry/index.js.map +1 -1
  703. package/dist/registry/serviceRegistry.js.map +1 -1
  704. package/dist/registry/serviceType.js.map +1 -1
  705. package/dist/srs/factory.js.map +1 -1
  706. package/dist/srs/index.js.map +1 -1
  707. package/dist/srs/srs.js.map +1 -1
  708. package/dist/survey/factory.js +1 -0
  709. package/dist/survey/factory.js.map +1 -1
  710. package/dist/survey/index.js.map +1 -1
  711. package/dist/survey/nodeDefsFixer.js +1 -0
  712. package/dist/survey/nodeDefsFixer.js.map +1 -1
  713. package/dist/survey/refData/factory.js.map +1 -1
  714. package/dist/survey/refData/index.js.map +1 -1
  715. package/dist/survey/refData/refData.d.ts +15 -0
  716. package/dist/survey/refData/refData.js.map +1 -1
  717. package/dist/survey/service.js.map +1 -1
  718. package/dist/survey/survey.d.ts +9 -0
  719. package/dist/survey/survey.js.map +1 -1
  720. package/dist/survey/surveyDocImageFactory.js.map +1 -1
  721. package/dist/survey/surveyDocImages.js.map +1 -1
  722. package/dist/survey/surveyFileFactory.js.map +1 -1
  723. package/dist/survey/surveys/_nodeDefs/nodeDefsIndex.js +8 -0
  724. package/dist/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
  725. package/dist/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
  726. package/dist/survey/surveys/dependencies.js +11 -2
  727. package/dist/survey/surveys/dependencies.js.map +1 -1
  728. package/dist/survey/surveys/index.js +6 -0
  729. package/dist/survey/surveys/index.js.map +1 -1
  730. package/dist/survey/surveys/nodeDefs.js +12 -0
  731. package/dist/survey/surveys/nodeDefs.js.map +1 -1
  732. package/dist/survey/surveys/refsData.js.map +1 -1
  733. package/dist/survey/surveys/surveyGettersSecurity.js.map +1 -1
  734. package/dist/survey/surveys/surveysGetters.js +3 -1
  735. package/dist/survey/surveys/surveysGetters.js.map +1 -1
  736. package/dist/survey/surveys/surveysUtils.js.map +1 -1
  737. package/dist/taxonomy/factory.js.map +1 -1
  738. package/dist/taxonomy/index.js.map +1 -1
  739. package/dist/taxonomy/service.js.map +1 -1
  740. package/dist/taxonomy/taxa.js.map +1 -1
  741. package/dist/taxonomy/taxon.js.map +1 -1
  742. package/dist/taxonomy/taxonGenerator.js.map +1 -1
  743. package/dist/taxonomy/taxonService.js.map +1 -1
  744. package/dist/taxonomy/taxonVernacularName.js.map +1 -1
  745. package/dist/taxonomy/taxonomies.js.map +1 -1
  746. package/dist/taxonomy/taxonomy.js.map +1 -1
  747. package/dist/tests/builder/recordBuilder/attributeBuilder.js +2 -0
  748. package/dist/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
  749. package/dist/tests/builder/recordBuilder/entityBuilder.js.map +1 -1
  750. package/dist/tests/builder/recordBuilder/index.js.map +1 -1
  751. package/dist/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
  752. package/dist/tests/builder/recordBuilder/recordBuilder.js.map +1 -1
  753. package/dist/tests/builder/surveyBuilder/categoryBuilder.js.map +1 -1
  754. package/dist/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
  755. package/dist/tests/builder/surveyBuilder/index.js.map +1 -1
  756. package/dist/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
  757. package/dist/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
  758. package/dist/tests/builder/surveyBuilder/nodeDefCodeBuilder.js.map +1 -1
  759. package/dist/tests/builder/surveyBuilder/nodeDefEntityBuilder.js.map +1 -1
  760. package/dist/tests/builder/surveyBuilder/nodeDefTaxonBuilder.js.map +1 -1
  761. package/dist/tests/builder/surveyBuilder/surveyBuilder.js.map +1 -1
  762. package/dist/tests/builder/surveyBuilder/taxonBuilder.js.map +1 -1
  763. package/dist/tests/builder/surveyBuilder/taxonomyBuilder.js.map +1 -1
  764. package/dist/utils/_objects/assoc.js.map +1 -1
  765. package/dist/utils/_objects/assocPath.js +1 -0
  766. package/dist/utils/_objects/assocPath.js.map +1 -1
  767. package/dist/utils/_objects/camelize.d.ts +9 -0
  768. package/dist/utils/_objects/camelize.js +9 -0
  769. package/dist/utils/_objects/camelize.js.map +1 -1
  770. package/dist/utils/_objects/deepMerge.d.ts +5 -0
  771. package/dist/utils/_objects/deepMerge.js +10 -0
  772. package/dist/utils/_objects/deepMerge.js.map +1 -1
  773. package/dist/utils/_objects/deleteEmptyProps.js.map +1 -1
  774. package/dist/utils/_objects/difference.js.map +1 -1
  775. package/dist/utils/_objects/dissoc.js.map +1 -1
  776. package/dist/utils/_objects/dissocPath.js +1 -0
  777. package/dist/utils/_objects/dissocPath.js.map +1 -1
  778. package/dist/utils/_objects/dissocPathIfEmpty.js.map +1 -1
  779. package/dist/utils/_objects/fromPairs.js.map +1 -1
  780. package/dist/utils/_objects/index.js.map +1 -1
  781. package/dist/utils/_objects/isEmpty.d.ts +6 -0
  782. package/dist/utils/_objects/isEmpty.js +8 -0
  783. package/dist/utils/_objects/isEmpty.js.map +1 -1
  784. package/dist/utils/_objects/isEqual.js.map +1 -1
  785. package/dist/utils/_objects/isNil.d.ts +6 -0
  786. package/dist/utils/_objects/isNil.js +6 -0
  787. package/dist/utils/_objects/isNil.js.map +1 -1
  788. package/dist/utils/_objects/isNotEmpty.d.ts +6 -0
  789. package/dist/utils/_objects/isNotEmpty.js +6 -0
  790. package/dist/utils/_objects/isNotEmpty.js.map +1 -1
  791. package/dist/utils/_objects/parse.d.ts +8 -0
  792. package/dist/utils/_objects/parse.js +8 -0
  793. package/dist/utils/_objects/parse.js.map +1 -1
  794. package/dist/utils/_objects/path.d.ts +6 -0
  795. package/dist/utils/_objects/path.js +7 -0
  796. package/dist/utils/_objects/path.js.map +1 -1
  797. package/dist/utils/_objects/propertyOf.js.map +1 -1
  798. package/dist/utils/_objects/setInPath.js.map +1 -1
  799. package/dist/utils/_objects/stringify.d.ts +9 -0
  800. package/dist/utils/_objects/stringify.js +9 -0
  801. package/dist/utils/_objects/stringify.js.map +1 -1
  802. package/dist/utils/_objects/toPairs.js.map +1 -1
  803. package/dist/utils/arrays.js.map +1 -1
  804. package/dist/utils/dates.d.ts +1 -1
  805. package/dist/utils/dates.js +22 -0
  806. package/dist/utils/dates.js.map +1 -1
  807. package/dist/utils/fileNames.js.map +1 -1
  808. package/dist/utils/fileProcessor.js +5 -1
  809. package/dist/utils/fileProcessor.js.map +1 -1
  810. package/dist/utils/index.js.map +1 -1
  811. package/dist/utils/numbers.js +21 -0
  812. package/dist/utils/numbers.js.map +1 -1
  813. package/dist/utils/promises.js +15 -1
  814. package/dist/utils/promises.js.map +1 -1
  815. package/dist/utils/queue.d.ts +7 -0
  816. package/dist/utils/queue.js +9 -0
  817. package/dist/utils/queue.js.map +1 -1
  818. package/dist/utils/retryProcessor.js +5 -1
  819. package/dist/utils/retryProcessor.js.map +1 -1
  820. package/dist/utils/strings.js.map +1 -1
  821. package/dist/utils/uuids.js.map +1 -1
  822. package/dist/utils/versions.js +4 -0
  823. package/dist/utils/versions.js.map +1 -1
  824. package/dist/validation/factory.js.map +1 -1
  825. package/dist/validation/fieldValidator.js.map +1 -1
  826. package/dist/validation/fieldValidators/email.js +3 -0
  827. package/dist/validation/fieldValidators/email.js.map +1 -1
  828. package/dist/validation/fieldValidators/index.js.map +1 -1
  829. package/dist/validation/fieldValidators/name.js +4 -0
  830. package/dist/validation/fieldValidators/name.js.map +1 -1
  831. package/dist/validation/fieldValidators/notKeyword.js.map +1 -1
  832. package/dist/validation/fieldValidators/numeric.js.map +1 -1
  833. package/dist/validation/fieldValidators/numericPositive.js.map +1 -1
  834. package/dist/validation/fieldValidators/required.js.map +1 -1
  835. package/dist/validation/index.js.map +1 -1
  836. package/dist/validation/validation.js.map +1 -1
  837. package/dist/validation/validationResults.js +1 -1
  838. package/dist/validation/validationResults.js.map +1 -1
  839. package/dist/validation/validations.js +17 -1
  840. package/dist/validation/validations.js.map +1 -1
  841. package/dist/validation/validator.js.map +1 -1
  842. package/dist/validation/validatorErrorKeys.js.map +1 -1
  843. package/package.json +6 -9
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/common/factory.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/common/factory.ts"],"names":[],"mappings":"","sourcesContent":["export interface Factory<T, P> {\n createInstance(params?: P): T\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/common/i18n.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/common/i18n.ts"],"names":[],"mappings":"","sourcesContent":["export interface I18n {\n t: (key: string, params?: Record<string, unknown>) => string\n exists: (key: string) => boolean\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;AAcA,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,6BAAW,CAAA;AACb,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;AAcA,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,6BAAW,CAAA;AACb,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB","sourcesContent":["export type { Dictionary } from './Dictionary'\nexport type { I18n } from './i18n'\n\nimport { Validation } from '../validation'\n\nexport interface ArenaObject<T> {\n readonly uuid: string\n props: T\n propsDraft?: T\n validation?: Validation\n}\n\nexport type { Factory } from './factory'\n\nexport enum TraverseMethod {\n bfs = 'bfs',\n dfs = 'dfs',\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type -- marker interface extended by every service\nexport interface ArenaService {}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ArenaExportInfo.js","sourceRoot":"","sources":["../../src/dataExport/ArenaExportInfo.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"ArenaExportInfo.js","sourceRoot":"","sources":["../../src/dataExport/ArenaExportInfo.ts"],"names":[],"mappings":"","sourcesContent":["import { AppInfo } from '../app'\n\nexport type SurveyExportInfo = {\n uuid: string\n name: string\n}\n\nexport type ArenaDataExportOptions = {\n backup?: boolean\n includeData?: boolean\n includeResultAttributes?: boolean\n includeActivityLog?: boolean\n}\n\nexport type ArenaExportInfo = {\n appInfo: AppInfo\n dateExported: string // ISO string\n exportedByUserUuid: string\n survey: SurveyExportInfo\n options?: ArenaDataExportOptions\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ArenaExportInfoFactory.js","sourceRoot":"","sources":["../../src/dataExport/ArenaExportInfoFactory.ts"],"names":[],"mappings":";;;AAWa,QAAA,sBAAsB,GAA2D;IAC5F,cAAc,EAAE,CAAC,MAAoC,EAAmB,EAAE,CAAC,iCACtE,MAAM,KACT,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IACtC;CACH,CAAA"}
1
+ {"version":3,"file":"ArenaExportInfoFactory.js","sourceRoot":"","sources":["../../src/dataExport/ArenaExportInfoFactory.ts"],"names":[],"mappings":";;;AAWa,QAAA,sBAAsB,GAA2D;IAC5F,cAAc,EAAE,CAAC,MAAoC,EAAmB,EAAE,CAAC,iCACtE,MAAM,KACT,YAAY,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,IACtC;CACH,CAAA","sourcesContent":["import { AppInfo } from '../app'\nimport { Factory } from '../common'\nimport { ArenaExportInfo, ArenaDataExportOptions, SurveyExportInfo } from './ArenaExportInfo'\n\nexport type ArenaExportInfoFactoryParams = {\n appInfo: AppInfo\n exportedByUserUuid: string\n survey: SurveyExportInfo\n options?: ArenaDataExportOptions\n}\n\nexport const ArenaExportInfoFactory: Factory<ArenaExportInfo, ArenaExportInfoFactoryParams> = {\n createInstance: (params: ArenaExportInfoFactoryParams): ArenaExportInfo => ({\n ...params,\n dateExported: new Date().toISOString(),\n }),\n}\n"]}
@@ -184,9 +184,9 @@ class FlatDataExportModel {
184
184
  nodeDef: nodeDefContext,
185
185
  visitor: (nodeDefAncestor) => {
186
186
  const ancestorAttributeDefs = includeAncestorAttributes
187
- ?
187
+ ? // include all ancestor attributes
188
188
  this.extractAncestorAttributeDefs(nodeDefAncestor)
189
- :
189
+ : // consider only ancestor key attributes
190
190
  survey_1.Surveys.getNodeDefKeys({ survey, cycle, nodeDef: nodeDefAncestor });
191
191
  const ancestorColumns = this._createColumnsFromAttributeDefs(ancestorAttributeDefs);
192
192
  ancestorsColumns.unshift(...ancestorColumns);
@@ -206,7 +206,7 @@ class FlatDataExportModel {
206
206
  predicate: includeMultipleAttributes ? nodeDef_1.NodeDefs.isAttribute : nodeDef_1.NodeDefs.isSingleAttribute,
207
207
  includeAnalysis,
208
208
  })
209
- : [nodeDefContext];
209
+ : [nodeDefContext]; // Multiple attribute
210
210
  result = result.filter((nodeDef) => (includeFileAttributeDefs || includeFiles || nodeDef_1.NodeDefs.getType(nodeDef) !== nodeDef_1.NodeDefType.file) &&
211
211
  (includeReadOnlyAttributes || !nodeDef_1.NodeDefs.isReadOnly(nodeDef) || nodeDef_1.NodeDefs.isKey(nodeDef)));
212
212
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"FlatDataExportModel.js","sourceRoot":"","sources":["../../src/dataExport/FlatDataExportModel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FlatDataExportModel.js","sourceRoot":"","sources":["../../src/dataExport/FlatDataExportModel.ts"],"names":[],"mappings":"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","sourcesContent":["import { CategoryItems } from '../category'\nimport { NodeValues } from '../node'\nimport { NodeDef, NodeDefCode, NodeDefs, NodeDefType } from '../nodeDef'\nimport { Survey, Surveys } from '../survey'\nimport { Strings } from '../utils'\nimport { FlatDataExportDefaultOptions, FlatDataExportOptions } from './FlatDataExportOptions'\n\nexport enum FlatDataExportColumnDataType {\n boolean = 'boolean',\n numeric = 'numeric',\n text = 'text',\n}\n\nexport const getExpandedCategoryItemColumnHeader = ({ nodeDef, code }: { nodeDef: NodeDef<any>; code: string }) =>\n `${NodeDefs.getName(nodeDef)}__${code}`\n\nconst getMainColumn = ({ nodeDef, dataType }: { nodeDef: any; dataType: string }) => ({\n header: NodeDefs.getName(nodeDef),\n nodeDef,\n dataType,\n})\n\ntype Column = {\n key?: boolean\n header: string\n nodeDef?: any\n dataType?: string\n valueProp?: string\n}\n\ntype ColumnsExtractor = ({\n survey,\n nodeDef,\n options,\n}: {\n nodeDef: NodeDef<any>\n survey: Survey\n options: FlatDataExportOptions\n}) => Column[]\n\nconst columnsExtractorByNodeDefType: Partial<Record<NodeDefType, ColumnsExtractor>> = {\n [NodeDefType.boolean]: ({ nodeDef }) => [getMainColumn({ nodeDef, dataType: FlatDataExportColumnDataType.boolean })],\n [NodeDefType.code]: ({ survey, nodeDef, options }) => {\n const nodeDefCode = nodeDef as NodeDefCode\n const { includeCategoryItemsLabels = false, expandCategoryItems = false } = options ?? {}\n const nodeDefName = NodeDefs.getName(nodeDef)\n const result = [\n {\n header: nodeDefName,\n nodeDef,\n dataType: FlatDataExportColumnDataType.text,\n valueProp: NodeValues.ValuePropsCode.code,\n },\n ]\n if (includeCategoryItemsLabels) {\n result.push({\n header: `${nodeDefName}_label`,\n nodeDef,\n dataType: FlatDataExportColumnDataType.text,\n valueProp: NodeValues.ValuePropsCode.label,\n })\n }\n if (expandCategoryItems) {\n const categoryUuid = NodeDefs.getCategoryUuid(nodeDefCode)!\n const levelIndex = Surveys.getNodeDefCategoryLevelIndex({ survey, nodeDef: nodeDefCode })\n const items = Surveys.getCategoryItemsInLevel({ survey, categoryUuid, levelIndex })\n items.forEach((item) => {\n result.push({\n header: getExpandedCategoryItemColumnHeader({ nodeDef, code: CategoryItems.getCode(item) }),\n nodeDef,\n dataType: FlatDataExportColumnDataType.boolean,\n valueProp: NodeValues.ValuePropsCode.code,\n })\n })\n }\n return result\n },\n [NodeDefType.coordinate]: ({ nodeDef }) => {\n const nodeDefName = NodeDefs.getName(nodeDef)\n return [\n {\n header: `${nodeDefName}_x`,\n nodeDef,\n dataType: FlatDataExportColumnDataType.numeric,\n valueProp: NodeValues.ValuePropsCoordinate.x,\n },\n {\n header: `${nodeDefName}_y`,\n nodeDef,\n dataType: FlatDataExportColumnDataType.numeric,\n valueProp: NodeValues.ValuePropsCoordinate.y,\n },\n {\n header: `${nodeDefName}_srs`,\n nodeDef,\n dataType: FlatDataExportColumnDataType.text,\n valueProp: NodeValues.ValuePropsCoordinate.srs,\n },\n ...NodeDefs.getCoordinateAdditionalFields(nodeDef).map((field) => ({\n header: `${nodeDefName}_${Strings.snakeCase(field)}`,\n nodeDef,\n dataType: FlatDataExportColumnDataType.numeric,\n valueProp: field,\n })),\n ]\n },\n [NodeDefType.date]: ({ nodeDef }) => [getMainColumn({ nodeDef, dataType: FlatDataExportColumnDataType.text })],\n [NodeDefType.decimal]: ({ nodeDef }) => [getMainColumn({ nodeDef, dataType: FlatDataExportColumnDataType.numeric })],\n [NodeDefType.file]: ({ nodeDef }) => {\n const nodeDefName = NodeDefs.getName(nodeDef)\n return [\n {\n header: `${nodeDefName}_file_uuid`,\n nodeDef,\n dataType: FlatDataExportColumnDataType.text,\n valueProp: NodeValues.ValuePropsFile.fileUuid,\n },\n {\n header: `${nodeDefName}_file_name`,\n nodeDef,\n dataType: FlatDataExportColumnDataType.text,\n valueProp: NodeValues.ValuePropsFile.fileName,\n },\n ]\n },\n [NodeDefType.integer]: ({ nodeDef }) => [getMainColumn({ nodeDef, dataType: FlatDataExportColumnDataType.numeric })],\n [NodeDefType.taxon]: ({ nodeDef, options }) => {\n const { includeTaxonScientificName = false } = options ?? {}\n const nodeDefName = NodeDefs.getName(nodeDef)\n return [\n {\n header: nodeDefName,\n nodeDef,\n dataType: FlatDataExportColumnDataType.text,\n valueProp: NodeValues.ValuePropsTaxon.code,\n },\n ...(includeTaxonScientificName\n ? [\n {\n header: `${nodeDefName}_scientific_name`,\n nodeDef,\n dataType: FlatDataExportColumnDataType.text,\n valueProp: NodeValues.ValuePropsTaxon.scientificName,\n },\n {\n header: `${nodeDefName}_vernacular_name`,\n nodeDef,\n dataType: FlatDataExportColumnDataType.text,\n valueProp: NodeValues.ValuePropsTaxon.vernacularName,\n },\n ]\n : []),\n ]\n },\n [NodeDefType.text]: ({ nodeDef }) => [getMainColumn({ nodeDef, dataType: FlatDataExportColumnDataType.text })],\n [NodeDefType.time]: ({ nodeDef }) => [getMainColumn({ nodeDef, dataType: FlatDataExportColumnDataType.text })],\n}\n\nconst RECORD_CYCLE_HEADER = 'record_cycle'\n\nexport class FlatDataExportModel {\n survey: Survey\n cycle: string\n nodeDefContext: NodeDef<any>\n options: FlatDataExportOptions\n columns: Column[]\n\n static readonly columnDataType: typeof FlatDataExportColumnDataType = FlatDataExportColumnDataType\n static readonly getExpandedCategoryItemColumnHeader: typeof getExpandedCategoryItemColumnHeader =\n getExpandedCategoryItemColumnHeader\n\n constructor({\n survey,\n cycle,\n nodeDefContext,\n options = FlatDataExportDefaultOptions,\n }: {\n survey: Survey\n cycle: string\n nodeDefContext: NodeDef<any>\n options?: FlatDataExportOptions\n }) {\n this.survey = survey\n this.cycle = cycle\n this.nodeDefContext = nodeDefContext\n this.options = { ...FlatDataExportDefaultOptions, ...options }\n this.columns = []\n\n this.init()\n }\n\n init() {\n this._initColumns()\n }\n\n _initColumns() {\n const { addCycle } = this.options\n\n const ancestorsColumns = this.extractAncestorsColumns()\n\n const contextNodeDefsColumns = this.extractContextNodeDefsColumns()\n\n this.columns = [\n ...(addCycle ? [{ header: RECORD_CYCLE_HEADER }] : []),\n ...ancestorsColumns,\n ...contextNodeDefsColumns,\n ]\n }\n\n _createColumnsFromAttributeDefs(attributeDefs: NodeDef<any>[]) {\n const { survey, options } = this\n const result = []\n for (const nodeDef of attributeDefs) {\n const columnsGetter = columnsExtractorByNodeDefType[NodeDefs.getType(nodeDef)]\n\n const columnsPerAttribute = columnsGetter ? columnsGetter({ survey, nodeDef, options }) : []\n\n if (NodeDefs.isKey(nodeDef)) {\n for (const col of columnsPerAttribute) {\n col.key = true\n }\n }\n result.push(...columnsPerAttribute)\n }\n return result\n }\n\n protected extractAncestorsColumns(): Column[] {\n const { survey, cycle, nodeDefContext, options } = this\n const { includeAncestorAttributes } = options\n\n const ancestorsColumns: Column[] = []\n\n Surveys.visitAncestorsAndSelfNodeDef({\n survey,\n nodeDef: nodeDefContext,\n visitor: (nodeDefAncestor) => {\n const ancestorAttributeDefs = includeAncestorAttributes\n ? // include all ancestor attributes\n this.extractAncestorAttributeDefs(nodeDefAncestor)\n : // consider only ancestor key attributes\n Surveys.getNodeDefKeys({ survey, cycle, nodeDef: nodeDefAncestor })\n const ancestorColumns = this._createColumnsFromAttributeDefs(ancestorAttributeDefs)\n ancestorsColumns.unshift(...ancestorColumns)\n },\n includeSelf: false,\n })\n\n return ancestorsColumns\n }\n\n extractAncestorAttributeDefs(nodeDefContext: NodeDef<any>): NodeDef<any>[] {\n const { cycle, options, survey } = this\n const {\n includeAnalysis,\n includeFileAttributeDefs,\n includeFiles,\n includeMultipleAttributes,\n includeReadOnlyAttributes,\n } = options\n\n let result = NodeDefs.isEntity(nodeDefContext)\n ? Surveys.getDescendantsInSingleEntities({\n survey,\n cycle,\n nodeDef: nodeDefContext,\n predicate: includeMultipleAttributes ? NodeDefs.isAttribute : NodeDefs.isSingleAttribute,\n includeAnalysis,\n })\n : [nodeDefContext] // Multiple attribute\n\n result = result.filter(\n (nodeDef) =>\n (includeFileAttributeDefs || includeFiles || NodeDefs.getType(nodeDef) !== NodeDefType.file) &&\n (includeReadOnlyAttributes || !NodeDefs.isReadOnly(nodeDef) || NodeDefs.isKey(nodeDef))\n )\n return result\n }\n\n protected extractContextNodeDefsColumns(): Column[] {\n const descendantDefs = this.extractAncestorAttributeDefs(this.nodeDefContext)\n return this._createColumnsFromAttributeDefs(descendantDefs)\n }\n\n get headers() {\n return this.columns.map((column) => column.header)\n }\n\n getColumnByHeader(header: string): Column | undefined {\n return this.columns.find((column) => column.header === header)\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FlatDataExportOptions.js","sourceRoot":"","sources":["../../src/dataExport/FlatDataExportOptions.ts"],"names":[],"mappings":";;;AAAA,IAAY,oBAgBX;AAhBD,WAAY,oBAAoB;IAC9B,6CAAqB,CAAA;IACrB,2DAAmC,CAAA;IACnC,+EAAuD,CAAA;IACvD,iFAAyD,CAAA;IACzD,mEAA2C,CAAA;IAC3C,uGAA+E,CAAA;IAC/E,iEAAyC,CAAA;IACzC,6EAAqD,CAAA;IACrD,qDAA6B,CAAA;IAC7B,qEAA6C,CAAA;IAC7C,+EAAuD,CAAA;IACvD,+EAAuD,CAAA;IACvD,iFAAyD,CAAA;IACzD,mEAA2C,CAAA;IAC3C,qDAA6B,CAAA;AAC/B,CAAC,EAhBW,oBAAoB,oCAApB,oBAAoB,QAgB/B;AAIY,QAAA,4BAA4B,GAA0B;IACjE,mBAAmB,EAAE,KAAK;IAC1B,qCAAqC,EAAE,KAAK;IAC5C,eAAe,EAAE,IAAI;IACrB,yBAAyB,EAAE,KAAK;IAChC,0BAA0B,EAAE,IAAI;IAChC,YAAY,EAAE,IAAI;IAClB,yBAAyB,EAAE,KAAK;IAChC,yBAAyB,EAAE,IAAI;IAC/B,0BAA0B,EAAE,IAAI;CACjC,CAAA"}
1
+ {"version":3,"file":"FlatDataExportOptions.js","sourceRoot":"","sources":["../../src/dataExport/FlatDataExportOptions.ts"],"names":[],"mappings":";;;AAAA,IAAY,oBAgBX;AAhBD,WAAY,oBAAoB;IAC9B,6CAAqB,CAAA;IACrB,2DAAmC,CAAA;IACnC,+EAAuD,CAAA;IACvD,iFAAyD,CAAA;IACzD,mEAA2C,CAAA;IAC3C,uGAA+E,CAAA;IAC/E,iEAAyC,CAAA;IACzC,6EAAqD,CAAA;IACrD,qDAA6B,CAAA;IAC7B,qEAA6C,CAAA;IAC7C,+EAAuD,CAAA;IACvD,+EAAuD,CAAA;IACvD,iFAAyD,CAAA;IACzD,mEAA2C,CAAA;IAC3C,qDAA6B,CAAA;AAC/B,CAAC,EAhBW,oBAAoB,oCAApB,oBAAoB,QAgB/B;AAIY,QAAA,4BAA4B,GAA0B;IACjE,mBAAmB,EAAE,KAAK;IAC1B,qCAAqC,EAAE,KAAK;IAC5C,eAAe,EAAE,IAAI;IACrB,yBAAyB,EAAE,KAAK;IAChC,0BAA0B,EAAE,IAAI;IAChC,YAAY,EAAE,IAAI;IAClB,yBAAyB,EAAE,KAAK;IAChC,yBAAyB,EAAE,IAAI;IAC/B,0BAA0B,EAAE,IAAI;CACjC,CAAA","sourcesContent":["export enum FlatDataExportOption {\n addCycle = 'addCycle',\n includeAnalysis = 'includeAnalysis',\n includeAncestorAttributes = 'includeAncestorAttributes',\n includeCategoryItemsLabels = 'includeCategoryItemsLabels',\n expandCategoryItems = 'expandCategoryItems',\n exportSingleEntitiesIntoSeparateFiles = 'exportSingleEntitiesIntoSeparateFiles',\n includeDateCreated = 'includeDateCreated',\n includeFileAttributeDefs = 'includeFileAttributeDefs',\n includeFiles = 'includeFiles',\n includeInternalUuids = 'includeInternalUuids',\n includeMultipleAttributes = 'includeMultipleAttributes',\n includeReadOnlyAttributes = 'includeReadOnlyAttributes',\n includeTaxonScientificName = 'includeTaxonScientificName',\n keepFileNamesUnique = 'keepFileNamesUnique',\n nullsToEmpty = 'nullsToEmpty',\n}\n\nexport type FlatDataExportOptions = Partial<Record<FlatDataExportOption, boolean>>\n\nexport const FlatDataExportDefaultOptions: FlatDataExportOptions = {\n expandCategoryItems: false,\n exportSingleEntitiesIntoSeparateFiles: false,\n includeAnalysis: true,\n includeAncestorAttributes: false,\n includeCategoryItemsLabels: true,\n includeFiles: true,\n includeMultipleAttributes: false,\n includeReadOnlyAttributes: true,\n includeTaxonScientificName: true,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FlatDataFiles.js","sourceRoot":"","sources":["../../src/dataExport/FlatDataFiles.ts"],"names":[],"mappings":";;;AAAA,wCAA8C;AAC9C,oCAAkC;AAElC,MAAM,0BAA0B,GAAG,OAAO,CAAA;AAE1C,MAAM,WAAW,GAAG,CAAC,EACnB,OAAO,EACP,KAAK,EACL,SAAS,GAAG,KAAK,GAKlB,EAAU,EAAE;IACX,MAAM,MAAM,GAAG,eAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1D,OAAO,GAAG,MAAM,IAAI,kBAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE,CAAA;AAC9D,CAAC,CAAA;AAEY,QAAA,aAAa,GAAG;IAC3B,0BAA0B;IAC1B,WAAW;CACZ,CAAA"}
1
+ {"version":3,"file":"FlatDataFiles.js","sourceRoot":"","sources":["../../src/dataExport/FlatDataFiles.ts"],"names":[],"mappings":";;;AAAA,wCAA8C;AAC9C,oCAAkC;AAElC,MAAM,0BAA0B,GAAG,OAAO,CAAA;AAE1C,MAAM,WAAW,GAAG,CAAC,EACnB,OAAO,EACP,KAAK,EACL,SAAS,GAAG,KAAK,GAKlB,EAAU,EAAE;IACX,MAAM,MAAM,GAAG,eAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAA;IAC1D,OAAO,GAAG,MAAM,IAAI,kBAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,SAAS,EAAE,CAAA;AAC9D,CAAC,CAAA;AAEY,QAAA,aAAa,GAAG;IAC3B,0BAA0B;IAC1B,WAAW;CACZ,CAAA","sourcesContent":["import { NodeDef, NodeDefs } from '../nodeDef'\nimport { Strings } from '../utils'\n\nconst attachedFilesSubfolderName = 'files'\n\nconst getFileName = ({\n nodeDef,\n index,\n extension = 'csv',\n}: {\n nodeDef: NodeDef<any>\n index: number\n extension: string\n}): string => {\n const prefix = Strings.padStart(2, '0')(String(index + 1))\n return `${prefix}_${NodeDefs.getName(nodeDef)}.${extension}`\n}\n\nexport const FlatDataFiles = {\n attachedFilesSubfolderName,\n getFileName,\n}\n"]}
@@ -3,7 +3,30 @@ export declare class UniqueFileNamesGenerator {
3
3
  private _fileNamesByKey;
4
4
  private _keysByFileName;
5
5
  constructor();
6
+ /**
7
+ * Generates a unique file name for the given key.
8
+ *
9
+ * If the key has been used before, the previously generated file name
10
+ * associated with that key is returned, regardless of the current
11
+ * {@link inputFileName} value.
12
+ *
13
+ * If the key has not been used before, the method either:
14
+ * - returns {@link inputFileName} if it has not been used for another key, or
15
+ * - generates the next available non-conflicting name by appending or
16
+ * incrementing a numeric index in parentheses.
17
+ *
18
+ * @param inputFileName The desired base file name, including extension.
19
+ * @param key A logical identifier whose associated file name should remain stable across calls.
20
+ * @returns The unique file name associated with the given key.
21
+ */
6
22
  generateUniqueFileName(inputFileName: string, key: string): string;
23
+ /**
24
+ * Generates a new file name by incrementing an existing numeric suffix
25
+ * of the form "name (n)" or appending " (1)" if no such suffix exists.
26
+ *
27
+ * @param inputFileName The original file name, including its extension.
28
+ * @returns The updated file name with an incremented or newly added numeric suffix.
29
+ */
7
30
  protected generateNextFileName(inputFileName: string): string;
8
31
  get fileNamesByKey(): Readonly<Dictionary<string>>;
9
32
  get keysByFileName(): Readonly<Dictionary<string>>;
@@ -2,30 +2,55 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.UniqueFileNamesGenerator = void 0;
4
4
  const utils_1 = require("../utils");
5
- const nameWithIndexRegEx = /^(.*) \((\d+)\)$/;
5
+ const nameWithIndexRegEx = /^(.*) \((\d+)\)$/; // file name like "example (1).txt"
6
6
  class UniqueFileNamesGenerator {
7
7
  constructor() {
8
8
  this._fileNamesByKey = {};
9
9
  this._keysByFileName = {};
10
10
  }
11
+ /**
12
+ * Generates a unique file name for the given key.
13
+ *
14
+ * If the key has been used before, the previously generated file name
15
+ * associated with that key is returned, regardless of the current
16
+ * {@link inputFileName} value.
17
+ *
18
+ * If the key has not been used before, the method either:
19
+ * - returns {@link inputFileName} if it has not been used for another key, or
20
+ * - generates the next available non-conflicting name by appending or
21
+ * incrementing a numeric index in parentheses.
22
+ *
23
+ * @param inputFileName The desired base file name, including extension.
24
+ * @param key A logical identifier whose associated file name should remain stable across calls.
25
+ * @returns The unique file name associated with the given key.
26
+ */
11
27
  generateUniqueFileName(inputFileName, key) {
12
28
  const existingFileName = this._fileNamesByKey[key];
13
29
  if (existingFileName) {
14
30
  return existingFileName;
15
31
  }
16
32
  if (!this._keysByFileName[inputFileName]) {
33
+ // file name not used yet
17
34
  this._keysByFileName[inputFileName] = key;
18
35
  this._fileNamesByKey[key] = inputFileName;
19
36
  return inputFileName;
20
37
  }
21
38
  let generatedFileName = this.generateNextFileName(inputFileName);
22
39
  while (this._keysByFileName[generatedFileName]) {
40
+ // file name already exists, generate the next one
23
41
  generatedFileName = this.generateNextFileName(generatedFileName);
24
42
  }
25
43
  this._keysByFileName[generatedFileName] = key;
26
44
  this._fileNamesByKey[key] = generatedFileName;
27
45
  return generatedFileName;
28
46
  }
47
+ /**
48
+ * Generates a new file name by incrementing an existing numeric suffix
49
+ * of the form "name (n)" or appending " (1)" if no such suffix exists.
50
+ *
51
+ * @param inputFileName The original file name, including its extension.
52
+ * @returns The updated file name with an incremented or newly added numeric suffix.
53
+ */
29
54
  generateNextFileName(inputFileName) {
30
55
  const name = utils_1.FileNames.getName(inputFileName);
31
56
  const extension = utils_1.FileNames.getExtension(inputFileName);
@@ -1 +1 @@
1
- {"version":3,"file":"UniqueFileNamesGenerator.js","sourceRoot":"","sources":["../../src/dataExport/UniqueFileNamesGenerator.ts"],"names":[],"mappings":";;;AACA,oCAAoC;AAEpC,MAAM,kBAAkB,GAAG,kBAAkB,CAAA;AAE7C,MAAa,wBAAwB;IAInC;QACE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;IAC3B,CAAC;IAkBD,sBAAsB,CAAC,aAAqB,EAAE,GAAW;QACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QAClD,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,gBAAgB,CAAA;QACzB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC;YAEzC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,GAAG,CAAA;YACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,aAAa,CAAA;YACzC,OAAO,aAAa,CAAA;QACtB,CAAC;QACD,IAAI,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAA;QAChE,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAE/C,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;QAClE,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAA;QAC7C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAA;QAC7C,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IASS,oBAAoB,CAAC,aAAqB;QAClD,MAAM,IAAI,GAAG,iBAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAC7C,MAAM,SAAS,GAAG,iBAAS,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;QACvD,IAAI,WAAW,CAAA;QACf,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAA;YAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACnC,WAAW,GAAG,GAAG,gBAAgB,KAAK,SAAS,GAAG,CAAA;QACpD,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,GAAG,IAAI,MAAM,CAAA;QAC7B,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,WAAW,CAAA;IAChE,CAAC;IAED,IAAI,cAAc;QAChB,yBAAY,IAAI,CAAC,eAAe,EAAE;IACpC,CAAC;IAED,IAAI,cAAc;QAChB,yBAAY,IAAI,CAAC,eAAe,EAAE;IACpC,CAAC;CACF;AA3ED,4DA2EC"}
1
+ {"version":3,"file":"UniqueFileNamesGenerator.js","sourceRoot":"","sources":["../../src/dataExport/UniqueFileNamesGenerator.ts"],"names":[],"mappings":";;;AACA,oCAAoC;AAEpC,MAAM,kBAAkB,GAAG,kBAAkB,CAAA,CAAC,mCAAmC;AAEjF,MAAa,wBAAwB;IAInC;QACE,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAA;IAC3B,CAAC;IAED;;;;;;;;;;;;;;;OAeG;IACH,sBAAsB,CAAC,aAAqB,EAAE,GAAW;QACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;QAClD,IAAI,gBAAgB,EAAE,CAAC;YACrB,OAAO,gBAAgB,CAAA;QACzB,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,yBAAyB;YACzB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,GAAG,CAAA;YACzC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,aAAa,CAAA;YACzC,OAAO,aAAa,CAAA;QACtB,CAAC;QACD,IAAI,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAAC,CAAA;QAChE,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,EAAE,CAAC;YAC/C,kDAAkD;YAClD,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,CAAA;QAClE,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAA;QAC7C,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,iBAAiB,CAAA;QAC7C,OAAO,iBAAiB,CAAA;IAC1B,CAAC;IAED;;;;;;OAMG;IACO,oBAAoB,CAAC,aAAqB;QAClD,MAAM,IAAI,GAAG,iBAAS,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;QAC7C,MAAM,SAAS,GAAG,iBAAS,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;QACvD,IAAI,WAAW,CAAA;QACf,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9C,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,CAAC,EAAE,gBAAgB,EAAE,KAAK,CAAC,GAAG,QAAQ,CAAA;YAC5C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACnC,WAAW,GAAG,GAAG,gBAAgB,KAAK,SAAS,GAAG,CAAA;QACpD,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,GAAG,IAAI,MAAM,CAAA;QAC7B,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,CAAC,GAAG,WAAW,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,WAAW,CAAA;IAChE,CAAC;IAED,IAAI,cAAc;QAChB,yBAAY,IAAI,CAAC,eAAe,EAAE;IACpC,CAAC;IAED,IAAI,cAAc;QAChB,yBAAY,IAAI,CAAC,eAAe,EAAE;IACpC,CAAC;CACF;AA3ED,4DA2EC","sourcesContent":["import { Dictionary } from '../common'\nimport { FileNames } from '../utils'\n\nconst nameWithIndexRegEx = /^(.*) \\((\\d+)\\)$/ // file name like \"example (1).txt\"\n\nexport class UniqueFileNamesGenerator {\n private _fileNamesByKey: Dictionary<string>\n private _keysByFileName: Dictionary<string>\n\n constructor() {\n this._fileNamesByKey = {}\n this._keysByFileName = {}\n }\n\n /**\n * Generates a unique file name for the given key.\n *\n * If the key has been used before, the previously generated file name\n * associated with that key is returned, regardless of the current\n * {@link inputFileName} value.\n *\n * If the key has not been used before, the method either:\n * - returns {@link inputFileName} if it has not been used for another key, or\n * - generates the next available non-conflicting name by appending or\n * incrementing a numeric index in parentheses.\n *\n * @param inputFileName The desired base file name, including extension.\n * @param key A logical identifier whose associated file name should remain stable across calls.\n * @returns The unique file name associated with the given key.\n */\n generateUniqueFileName(inputFileName: string, key: string): string {\n const existingFileName = this._fileNamesByKey[key]\n if (existingFileName) {\n return existingFileName\n }\n if (!this._keysByFileName[inputFileName]) {\n // file name not used yet\n this._keysByFileName[inputFileName] = key\n this._fileNamesByKey[key] = inputFileName\n return inputFileName\n }\n let generatedFileName = this.generateNextFileName(inputFileName)\n while (this._keysByFileName[generatedFileName]) {\n // file name already exists, generate the next one\n generatedFileName = this.generateNextFileName(generatedFileName)\n }\n this._keysByFileName[generatedFileName] = key\n this._fileNamesByKey[key] = generatedFileName\n return generatedFileName\n }\n\n /**\n * Generates a new file name by incrementing an existing numeric suffix\n * of the form \"name (n)\" or appending \" (1)\" if no such suffix exists.\n *\n * @param inputFileName The original file name, including its extension.\n * @returns The updated file name with an incremented or newly added numeric suffix.\n */\n protected generateNextFileName(inputFileName: string): string {\n const name = FileNames.getName(inputFileName)\n const extension = FileNames.getExtension(inputFileName)\n let nameUpdated\n const matchRes = nameWithIndexRegEx.exec(name)\n if (matchRes) {\n const [, nameWithoutIndex, index] = matchRes\n const nextIndex = Number(index) + 1\n nameUpdated = `${nameWithoutIndex} (${nextIndex})`\n } else {\n nameUpdated = `${name} (1)`\n }\n return extension ? `${nameUpdated}.${extension}` : nameUpdated\n }\n\n get fileNamesByKey(): Readonly<Dictionary<string>> {\n return { ...this._fileNamesByKey }\n }\n\n get keysByFileName(): Readonly<Dictionary<string>> {\n return { ...this._keysByFileName }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dataExport/index.ts"],"names":[],"mappings":";;;AACA,iEAA4F;AAAnF,6HAAA,oBAAoB,OAAA;AAAE,qIAAA,4BAA4B,OAAA;AAC3D,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,6DAA2D;AAAlD,0HAAA,mBAAmB,OAAA;AAC5B,6DAAoE;AAA3D,mIAAA,4BAA4B,OAAA;AAErC,mEAAiE;AAAxD,gIAAA,sBAAsB,OAAA;AAE/B,uEAAqE;AAA5D,oIAAA,wBAAwB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dataExport/index.ts"],"names":[],"mappings":";;;AACA,iEAA4F;AAAnF,6HAAA,oBAAoB,OAAA;AAAE,qIAAA,4BAA4B,OAAA;AAC3D,iDAA+C;AAAtC,8GAAA,aAAa,OAAA;AACtB,6DAA2D;AAAlD,0HAAA,mBAAmB,OAAA;AAC5B,6DAAoE;AAA3D,mIAAA,4BAA4B,OAAA;AAErC,mEAAiE;AAAxD,gIAAA,sBAAsB,OAAA;AAE/B,uEAAqE;AAA5D,oIAAA,wBAAwB,OAAA","sourcesContent":["export type { FlatDataExportOptions } from './FlatDataExportOptions'\nexport { FlatDataExportOption, FlatDataExportDefaultOptions } from './FlatDataExportOptions'\nexport { FlatDataFiles } from './FlatDataFiles'\nexport { FlatDataExportModel } from './FlatDataExportModel'\nexport { FlatDataExportColumnDataType } from './FlatDataExportModel'\nexport type { ArenaExportInfo } from './ArenaExportInfo'\nexport { ArenaExportInfoFactory } from './ArenaExportInfoFactory'\nexport type { ArenaExportInfoFactoryParams } from './ArenaExportInfoFactory'\nexport { UniqueFileNamesGenerator } from './UniqueFileNamesGenerator'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"dataQuery.js","sourceRoot":"","sources":["../../src/dataQuery/dataQuery.ts"],"names":[],"mappings":";;;AAEA,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,4BAAW,CAAA;IACX,wCAAuB,CAAA;AACzB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB"}
1
+ {"version":3,"file":"dataQuery.js","sourceRoot":"","sources":["../../src/dataQuery/dataQuery.ts"],"names":[],"mappings":";;;AAEA,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,4BAAW,CAAA;IACX,wCAAuB,CAAA;AACzB,CAAC,EAHW,aAAa,6BAAb,aAAa,QAGxB","sourcesContent":["import { Labels } from '../language'\n\nexport enum DataQueryMode {\n raw = 'raw',\n aggregate = 'aggregate',\n}\n\nexport interface DataQuery {\n mode: DataQueryMode\n filter?: string\n sort?: string\n entityDefUuid?: string\n attributeDefUuids?: string[]\n dimensions?: string[]\n measures?: string[]\n filterRecordUuids?: string[]\n}\n\nexport interface DataQuerySummaryProps {\n name?: string\n labels?: Labels\n descriptions?: Labels\n}\n\nexport interface DataQuerySummary {\n content?: DataQuery\n dateCreated?: string\n dateModified?: string\n id?: number\n props?: DataQuerySummaryProps\n uuid?: string\n}\n"]}
@@ -27,7 +27,9 @@ const assocLabels = (value) => (querySummary) => assocProp(PropKeys.labels, valu
27
27
  const assocDescriptions = (value) => (querySummary) => assocProp(PropKeys.descriptions, value)(querySummary);
28
28
  const assocContent = (content) => (querySummary) => utils_1.Objects.assoc({ obj: querySummary, prop: Keys.content, value: content });
29
29
  exports.DataQuerySummaries = {
30
+ // create
30
31
  create,
32
+ // read
31
33
  getUuid,
32
34
  getName,
33
35
  getContent,
@@ -35,6 +37,7 @@ exports.DataQuerySummaries = {
35
37
  getLabel,
36
38
  getDescriptions,
37
39
  getDescription,
40
+ // update
38
41
  assocName,
39
42
  assocLabels,
40
43
  assocDescriptions,
@@ -1 +1 @@
1
- {"version":3,"file":"dataQuerySummaries.js","sourceRoot":"","sources":["../../src/dataQuery/dataQuerySummaries.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataQuerySummaries.js","sourceRoot":"","sources":["../../src/dataQuery/dataQuerySummaries.ts"],"names":[],"mappings":"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","sourcesContent":["import { Labels, LanguageCode } from '../language'\nimport { Objects, UUIDs } from '../utils'\nimport { DataQuery, DataQuerySummary, DataQuerySummaryProps } from './dataQuery'\n\nconst PropKeys = {\n name: 'name',\n labels: 'labels',\n descriptions: 'descriptions',\n}\n\nconst Keys = {\n content: 'content',\n}\n\nconst create = (params: { props?: DataQuerySummaryProps; content?: DataQuery }): DataQuerySummary => {\n const { props, content } = params ?? {}\n return { uuid: UUIDs.v4(), content, props }\n}\n\nconst getUuid = (querySummary: DataQuerySummary): string => querySummary?.uuid ?? ''\n\nconst getName = (querySummary: DataQuerySummary): string => querySummary?.props?.name ?? ''\n\nconst getContent = (querySummary: DataQuerySummary): DataQuery | undefined => querySummary?.content\n\nconst getLabels = (querySummary: DataQuerySummary): Labels => querySummary?.props?.labels ?? {}\n\nconst getLabel =\n (lang: LanguageCode) =>\n (querySummary: DataQuerySummary): string =>\n getLabels(querySummary)[lang] ?? ''\n\nconst getDescriptions = (querySummary: DataQuerySummary): Labels => querySummary?.props?.descriptions ?? {}\n\nconst getDescription =\n (lang: LanguageCode) =>\n (querySummary: DataQuerySummary): string =>\n getDescriptions(querySummary)[lang] ?? ''\n\nconst assocProp =\n (prop: string, value: any) =>\n (obj: any): any =>\n Objects.assocPath({ obj, path: ['props', prop], value })\n\nconst assocName =\n (value: string) =>\n (querySummary: DataQuerySummary): DataQuerySummary =>\n assocProp(PropKeys.name, value)(querySummary)\n\nconst assocLabels =\n (value: Labels) =>\n (querySummary: DataQuerySummary): DataQuerySummary =>\n assocProp(PropKeys.labels, value)(querySummary)\n\nconst assocDescriptions =\n (value: Labels) =>\n (querySummary: DataQuerySummary): DataQuerySummary =>\n assocProp(PropKeys.descriptions, value)(querySummary)\n\nconst assocContent =\n (content: DataQuery) =>\n (querySummary: DataQuerySummary): DataQuerySummary =>\n Objects.assoc({ obj: querySummary, prop: Keys.content, value: content })\n\nexport const DataQuerySummaries = {\n // create\n create,\n // read\n getUuid,\n getName,\n getContent,\n getLabels,\n getLabel,\n getDescriptions,\n getDescription,\n // update\n assocName,\n assocLabels,\n assocDescriptions,\n assocContent,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dataQuery/index.ts"],"names":[],"mappings":";;;AACA,yCAA2C;AAAlC,0GAAA,aAAa,OAAA;AACtB,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dataQuery/index.ts"],"names":[],"mappings":";;;AACA,yCAA2C;AAAlC,0GAAA,aAAa,OAAA;AACtB,2DAAyD;AAAhD,wHAAA,kBAAkB,OAAA","sourcesContent":["export type { DataQuery, DataQuerySummary, DataQuerySummaryProps } from './dataQuery'\nexport { DataQueryMode } from './dataQuery'\nexport { DataQuerySummaries } from './dataQuerySummaries'\n"]}
@@ -7,6 +7,7 @@ class SystemError extends Error {
7
7
  this.name = 'SystemError';
8
8
  this._key = key;
9
9
  this._params = params !== null && params !== void 0 ? params : {};
10
+ // Maintains proper stack trace (only available on V8)
10
11
  if (Error.captureStackTrace) {
11
12
  Error.captureStackTrace(this, SystemError);
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SystemError.js","sourceRoot":"","sources":["../../src/error/SystemError.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAY,SAAQ,KAAK;IAIpC,YAAY,GAAW,EAAE,MAAwB;QAC/C,KAAK,CAAC,GAAG,CAAC,CAAA;QAEV,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;QAEzB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;QAG3B,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAC5B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;QAC3C,MAAM,cAAc,GAClB,WAAW,IAAI,WAAW,YAAY,WAAW,CAAC,CAAC,iCAAM,MAAM,KAAE,KAAK,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE,IAAG,CAAC,CAAC,MAAM,CAAA;QAC1G,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IACxC,CAAC;CACF;AAjCD,kCAiCC"}
1
+ {"version":3,"file":"SystemError.js","sourceRoot":"","sources":["../../src/error/SystemError.ts"],"names":[],"mappings":";;;AAEA,MAAa,WAAY,SAAQ,KAAK;IAIpC,YAAY,GAAW,EAAE,MAAwB;QAC/C,KAAK,CAAC,GAAG,CAAC,CAAA;QAEV,IAAI,CAAC,IAAI,GAAG,aAAa,CAAA;QAEzB,IAAI,CAAC,IAAI,GAAG,GAAG,CAAA;QACf,IAAI,CAAC,OAAO,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;QAE3B,sDAAsD;QACtD,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;YAC5B,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;QAC5B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAA;QAC3C,MAAM,cAAc,GAClB,WAAW,IAAI,WAAW,YAAY,WAAW,CAAC,CAAC,iCAAM,MAAM,KAAE,KAAK,EAAE,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAE,IAAG,CAAC,CAAC,MAAM,CAAA;QAC1G,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,cAAc,EAAE,CAAA;IACxC,CAAC;CACF;AAjCD,kCAiCC","sourcesContent":["import { Dictionary } from '../common'\n\nexport class SystemError extends Error {\n private readonly _key: string\n private readonly _params: Dictionary<any>\n\n constructor(key: string, params?: Dictionary<any>) {\n super(key)\n\n this.name = 'SystemError'\n\n this._key = key\n this._params = params ?? {}\n\n // Maintains proper stack trace (only available on V8)\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, SystemError)\n }\n }\n\n get key(): string {\n return this._key\n }\n\n get params(): Dictionary<any> {\n return this._params\n }\n\n toJSON() {\n const { key, params } = this\n const { error: nestedError } = params ?? {}\n const paramsAdjusted: Dictionary<any> =\n nestedError && nestedError instanceof SystemError ? { ...params, error: nestedError?.toJSON() } : params\n return { key, params: paramsAdjusted }\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAAlC,0GAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/error/index.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAAlC,0GAAA,WAAW,OAAA","sourcesContent":["export { SystemError } from './SystemError'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"appInfo.js","sourceRoot":"","sources":["../../../src/app/appInfo.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"appInfo.js","sourceRoot":"","sources":["../../../src/app/appInfo.ts"],"names":[],"mappings":"","sourcesContent":["export interface AppInfo {\n appId: string\n version: string\n platform?: 'android' | 'ios'\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/app/index.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/app/index.ts"],"names":[],"mappings":"","sourcesContent":["export type { AppInfo } from './appInfo'\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"authGroup.js","sourceRoot":"","sources":["../../../src/auth/authGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAE/D,MAAM,CAAN,IAAY,aASX;AATD,WAAY,aAAa;IACvB,4CAA2B,CAAA;IAC3B,4CAA2B,CAAA;IAC3B,8CAA6B,CAAA;IAC7B,gDAA+B,CAAA;IAC/B,4CAA2B,CAAA;IAC3B,0CAAyB,CAAA;IACzB,8CAA6B,CAAA;IAC7B,4CAA2B,CAAA;AAC7B,CAAC,EATW,aAAa,KAAb,aAAa,QASxB;AAUD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,aAAa,CAAC,WAAW;IACzB,aAAa,CAAC,aAAa;IAC3B,aAAa,CAAC,WAAW;IACzB,aAAa,CAAC,YAAY;IAC1B,aAAa,CAAC,WAAW;IACzB,aAAa,CAAC,YAAY;IAC1B,aAAa,CAAC,UAAU;IACxB,aAAa,CAAC,WAAW;CAC1B,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,aAAa,CAAC,WAAW;IACzB,aAAa,CAAC,YAAY;IAC1B,aAAa,CAAC,UAAU;IACxB,aAAa,CAAC,YAAY;IAC1B,aAAa,CAAC,WAAW;IACzB,aAAa,CAAC,WAAW;CAC1B,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAc,EAAE,IAAI,EAAE,aAAa,CAAC,WAAW,EAAE,CAAA;AAEhF,MAAM,CAAC,MAAM,sBAAsB,GAA6C;IAC9E,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC;IACtD,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE;QAC7B,UAAU,CAAC,eAAe;QAC1B,UAAU,CAAC,YAAY;QACvB,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,YAAY;QACvB,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,QAAQ;QACnB,UAAU,CAAC,UAAU;KACtB;IACD,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;QAC3B,UAAU,CAAC,eAAe;QAC1B,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,YAAY;QACvB,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,QAAQ;QACnB,UAAU,CAAC,UAAU;KACtB;IACD,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE;QAC5B,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,YAAY;QACvB,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,aAAa;KACzB;IACD,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;QAC3B,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,YAAY;QACvB,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,aAAa;QACxB,UAAU,CAAC,aAAa;KACzB;IACD,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE;QAC5B,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,YAAY;QACvB,UAAU,CAAC,UAAU;QACrB,UAAU,CAAC,aAAa;KACzB;IACD,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,CAAC;IACnG,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC;CACrD,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAqB;IACnD;QACE,IAAI,EAAE,aAAa,CAAC,WAAW;QAC/B,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,WAAW,CAAC;QAC9D,WAAW,EAAE;YACX,CAAC,EAAE,oBAAoB,CAAC,GAAG;YAC3B,CAAC,EAAE,oBAAoB,CAAC,GAAG;YAC3B,CAAC,EAAE,oBAAoB,CAAC,GAAG;SAC5B;KACF;IACD;QACE,IAAI,EAAE,aAAa,CAAC,YAAY;QAChC,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,YAAY,CAAC;QAC/D,WAAW,EAAE;YACX,CAAC,EAAE,oBAAoB,CAAC,GAAG;YAC3B,CAAC,EAAE,oBAAoB,CAAC,GAAG;YAC3B,CAAC,EAAE,oBAAoB,CAAC,GAAG;SAC5B;KACF;IACD;QACE,IAAI,EAAE,aAAa,CAAC,WAAW;QAC/B,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,WAAW,CAAC;QAC9D,WAAW,EAAE;YACX,CAAC,EAAE,oBAAoB,CAAC,GAAG;YAC3B,CAAC,EAAE,oBAAoB,CAAC,GAAG;YAC3B,CAAC,EAAE,oBAAoB,CAAC,GAAG;SAC5B;KACF;IACD;QACE,IAAI,EAAE,aAAa,CAAC,YAAY;QAChC,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,YAAY,CAAC;QAC/D,WAAW,EAAE;YACX,CAAC,EAAE,oBAAoB,CAAC,GAAG;YAC3B,CAAC,EAAE,oBAAoB,CAAC,GAAG;SAC5B;KACF;IACD;QACE,IAAI,EAAE,aAAa,CAAC,UAAU;QAC9B,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,UAAU,CAAC;QAC7D,WAAW,EAAE;YACX,CAAC,EAAE,oBAAoB,CAAC,GAAG;SAC5B;KACF;IACD;QACE,IAAI,EAAE,aAAa,CAAC,WAAW;QAC/B,WAAW,EAAE,sBAAsB,CAAC,aAAa,CAAC,WAAW,CAAC;QAC9D,WAAW,EAAE;YACX,CAAC,EAAE,oBAAoB,CAAC,GAAG;SAC5B;KACF;CACF,CAAA"}
1
+ {"version":3,"file":"authGroup.js","sourceRoot":"","sources":["../../../src/auth/authGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import { Permission, RecordStepPermission } from './permission'\n\nexport enum AuthGroupName {\n systemAdmin = 'systemAdmin',\n surveyAdmin = 'surveyAdmin',\n surveyEditor = 'surveyEditor',\n surveyManager = 'surveyManager',\n surveyGuest = 'surveyGuest',\n dataEditor = 'dataEditor',\n dataCleanser = 'dataCleanser',\n dataAnalyst = 'dataAnalyst',\n}\n\nexport interface AuthGroup {\n name: AuthGroupName\n surveyUuid?: string\n permissions?: Array<Permission>\n recordSteps?: { [key: number]: RecordStepPermission }\n uuid?: string\n}\n\nexport const sortedGroupNames = [\n AuthGroupName.systemAdmin,\n AuthGroupName.surveyManager,\n AuthGroupName.surveyAdmin,\n AuthGroupName.surveyEditor,\n AuthGroupName.dataAnalyst,\n AuthGroupName.dataCleanser,\n AuthGroupName.dataEditor,\n AuthGroupName.surveyGuest,\n]\n\nexport const surveyGroupNames = [\n AuthGroupName.surveyAdmin,\n AuthGroupName.surveyEditor,\n AuthGroupName.dataEditor,\n AuthGroupName.dataCleanser,\n AuthGroupName.dataAnalyst,\n AuthGroupName.surveyGuest,\n]\n\nexport const SYSTEM_ADMIN_GROUP: AuthGroup = { name: AuthGroupName.systemAdmin }\n\nexport const permissionsByGroupName: { [key in AuthGroupName]: Permission[] } = {\n [AuthGroupName.systemAdmin]: Object.values(Permission),\n [AuthGroupName.surveyManager]: [\n Permission.permissionsEdit,\n Permission.surveyCreate,\n Permission.surveyEdit,\n Permission.recordView,\n Permission.recordCreate,\n Permission.recordEdit,\n Permission.recordCleanse,\n Permission.recordAnalyse,\n Permission.userEdit,\n Permission.userInvite,\n ],\n [AuthGroupName.surveyAdmin]: [\n Permission.permissionsEdit,\n Permission.surveyEdit,\n Permission.recordView,\n Permission.recordCreate,\n Permission.recordEdit,\n Permission.recordCleanse,\n Permission.recordAnalyse,\n Permission.userEdit,\n Permission.userInvite,\n ],\n [AuthGroupName.surveyEditor]: [\n Permission.surveyEdit,\n Permission.recordView,\n Permission.recordCreate,\n Permission.recordEdit,\n Permission.recordCleanse,\n Permission.recordAnalyse,\n ],\n [AuthGroupName.dataAnalyst]: [\n Permission.recordView,\n Permission.recordCreate,\n Permission.recordEdit,\n Permission.recordCleanse,\n Permission.recordAnalyse,\n ],\n [AuthGroupName.dataCleanser]: [\n Permission.recordView,\n Permission.recordCreate,\n Permission.recordEdit,\n Permission.recordCleanse,\n ],\n [AuthGroupName.dataEditor]: [Permission.recordView, Permission.recordCreate, Permission.recordEdit],\n [AuthGroupName.surveyGuest]: [Permission.recordView],\n}\n\nexport const DEFAULT_AUTH_GROUPS: Array<AuthGroup> = [\n {\n name: AuthGroupName.surveyAdmin,\n permissions: permissionsByGroupName[AuthGroupName.surveyAdmin],\n recordSteps: {\n 1: RecordStepPermission.all,\n 2: RecordStepPermission.all,\n 3: RecordStepPermission.all,\n },\n },\n {\n name: AuthGroupName.surveyEditor,\n permissions: permissionsByGroupName[AuthGroupName.surveyEditor],\n recordSteps: {\n 1: RecordStepPermission.all,\n 2: RecordStepPermission.all,\n 3: RecordStepPermission.all,\n },\n },\n {\n name: AuthGroupName.dataAnalyst,\n permissions: permissionsByGroupName[AuthGroupName.dataAnalyst],\n recordSteps: {\n 1: RecordStepPermission.all,\n 2: RecordStepPermission.all,\n 3: RecordStepPermission.all,\n },\n },\n {\n name: AuthGroupName.dataCleanser,\n permissions: permissionsByGroupName[AuthGroupName.dataCleanser],\n recordSteps: {\n 1: RecordStepPermission.all,\n 2: RecordStepPermission.all,\n },\n },\n {\n name: AuthGroupName.dataEditor,\n permissions: permissionsByGroupName[AuthGroupName.dataEditor],\n recordSteps: {\n 1: RecordStepPermission.own,\n },\n },\n {\n name: AuthGroupName.surveyGuest,\n permissions: permissionsByGroupName[AuthGroupName.surveyGuest],\n recordSteps: {\n 3: RecordStepPermission.all,\n },\n },\n]\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"authGroups.js","sourceRoot":"","sources":["../../../src/auth/authGroups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAa,aAAa,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGrH,MAAM,aAAa,GAAG,CAAC,SAAoB,EAAW,EAAE,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,aAAa,CAAC,WAAW,CAAA;AAEtG,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAW,EAAE,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,aAAa,CAAC,aAAa,CAAA;AAE1G,MAAM,aAAa,GAAG,CAAC,SAAoB,EAAW,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;AAEjH,MAAM,aAAa,GAAG,CAAC,SAAoB,EAAsB,EAAE,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAA;AAEzF,MAAM,cAAc,GAAG,CAAC,SAAqB,EAAuD,EAAE,CACpG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,CAAA;AAExB,MAAM,kBAAkB,GACtB,CAAC,IAAY,EAAE,EAAE,CACjB,CAAC,SAAqB,EAAwB,EAAE;IAC9C,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IACvC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;IAEvC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC,CAAA;AAEH,MAAM,oBAAoB,GAAG,CAAC,UAAkB,EAAe,EAAE,CAC/D,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iCAAM,KAAK,KAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,UAAU,IAAG,CAAC,CAAA;AAElF,MAAM,cAAc,GAAG,CAAC,KAAgB,EAAE,EAAE,WAAC,OAAA,MAAA,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAA,EAAA,CAAA;AAErF,MAAM,UAAU,GAAG,CAAC,MAAmB,EAAE,EAAE;IACzC,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,CAAA;IAChC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACxD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACxD,OAAO,UAAU,GAAG,UAAU,CAAA;IAChC,CAAC,CAAC,CAAA;IACF,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,aAAa;IACb,aAAa;IACb,eAAe;IACf,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,oBAAoB;IACpB,cAAc;IACd,UAAU;CACX,CAAA"}
1
+ {"version":3,"file":"authGroups.js","sourceRoot":"","sources":["../../../src/auth/authGroups.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;AAChC,OAAO,EAAa,aAAa,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAGrH,MAAM,aAAa,GAAG,CAAC,SAAoB,EAAW,EAAE,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,aAAa,CAAC,WAAW,CAAA;AAEtG,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAW,EAAE,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,aAAa,CAAC,aAAa,CAAA;AAE1G,MAAM,aAAa,GAAG,CAAC,SAAoB,EAAW,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;AAEjH,MAAM,aAAa,GAAG,CAAC,SAAoB,EAAsB,EAAE,CAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,UAAU,CAAA;AAEzF,MAAM,cAAc,GAAG,CAAC,SAAqB,EAAuD,EAAE,CACpG,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,WAAW,CAAA;AAExB,MAAM,kBAAkB,GACtB,CAAC,IAAY,EAAE,EAAE,CACjB,CAAC,SAAqB,EAAwB,EAAE;IAC9C,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;IACvC,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,CAAA;IAEvC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC,CAAA;AAEH,MAAM,oBAAoB,GAAG,CAAC,UAAkB,EAAe,EAAE,CAC/D,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iCAAM,KAAK,KAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,EAAE,UAAU,IAAG,CAAC,CAAA;AAElF,MAAM,cAAc,GAAG,CAAC,KAAgB,EAAE,EAAE,WAAC,OAAA,MAAA,sBAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,EAAE,CAAA,EAAA,CAAA;AAErF,MAAM,UAAU,GAAG,CAAC,MAAmB,EAAE,EAAE;IACzC,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,CAAA;IAChC,YAAY,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACxD,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACxD,OAAO,UAAU,GAAG,UAAU,CAAA;IAChC,CAAC,CAAC,CAAA;IACF,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,aAAa;IACb,aAAa;IACb,eAAe;IACf,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,oBAAoB;IACpB,cAAc;IACd,UAAU;CACX,CAAA","sourcesContent":["import { UUIDs } from '../utils'\nimport { AuthGroup, AuthGroupName, DEFAULT_AUTH_GROUPS, permissionsByGroupName, sortedGroupNames } from './authGroup'\nimport { RecordStepPermission } from './permission'\n\nconst isSystemAdmin = (authGroup: AuthGroup): boolean => authGroup?.name === AuthGroupName.systemAdmin\n\nconst isSurveyManager = (authGroup: AuthGroup): boolean => authGroup?.name === AuthGroupName.surveyManager\n\nconst isSurveyGroup = (authGroup: AuthGroup): boolean => !isSystemAdmin(authGroup) && !isSurveyManager(authGroup)\n\nconst getSurveyUuid = (authGroup: AuthGroup): string | undefined => authGroup?.surveyUuid\n\nconst getRecordSteps = (authGroup?: AuthGroup): { [key: string]: RecordStepPermission } | undefined =>\n authGroup?.recordSteps\n\nconst getRecordEditLevel =\n (step: string) =>\n (authGroup?: AuthGroup): RecordStepPermission => {\n const steps = getRecordSteps(authGroup)\n if (!steps) throw new Error('No steps')\n\n return steps[step]\n }\n\nconst getDefaultAuthGroups = (surveyUuid: string): AuthGroup[] =>\n DEFAULT_AUTH_GROUPS.map((group) => ({ ...group, uuid: UUIDs.v4(), surveyUuid }))\n\nconst getPermissions = (group: AuthGroup) => permissionsByGroupName[group.name] ?? []\n\nconst sortGroups = (groups: AuthGroup[]) => {\n const sortedGroups = [...groups]\n sortedGroups.sort((group1, group2) => {\n const sortOrder1 = sortedGroupNames.indexOf(group1.name)\n const sortOrder2 = sortedGroupNames.indexOf(group2.name)\n return sortOrder1 - sortOrder2\n })\n return sortedGroups\n}\n\nexport const AuthGroups = {\n isSystemAdmin,\n isSurveyGroup,\n isSurveyManager,\n getSurveyUuid,\n getRecordSteps,\n getRecordEditLevel,\n getDefaultAuthGroups,\n getPermissions,\n sortGroups,\n}\n"]}
@@ -4,6 +4,9 @@ import { AuthGroupName } from './authGroup';
4
4
  import { AuthGroups } from './authGroups';
5
5
  import { Permission, RecordStepPermission } from './permission';
6
6
  import { Users } from './users';
7
+ // ======
8
+ // ====== Survey
9
+ // ======
7
10
  const _getSurveyUserGroup = (user, surveyInfo, includeSystemAdmin = true) => surveyInfo ? Users.getAuthGroupBySurveyUuid(surveyInfo.uuid, includeSystemAdmin)(user) : undefined;
8
11
  const _hasAuthGroupForSurvey = ({ user, surveyInfo }) => Boolean(_getSurveyUserGroup(user, surveyInfo));
9
12
  const _hasSurveyPermission = (permission) => (user, surveyInfo) => {
@@ -24,6 +27,7 @@ const _hasPermissionInSomeGroup = (permission) => (user) => {
24
27
  const groups = Users.getAuthGroups(user);
25
28
  return groups.some((group) => AuthGroups.getPermissions(group).includes(permission));
26
29
  };
30
+ // CREATE
27
31
  const canCreateSurvey = _hasPermissionInSomeGroup(Permission.surveyCreate);
28
32
  const canCreateTemplate = (user) => Users.isSystemAdmin(user);
29
33
  const getMaxSurveysUserCanCreate = (user) => {
@@ -33,16 +37,23 @@ const getMaxSurveysUserCanCreate = (user) => {
33
37
  return Users.getMaxSurveys(user);
34
38
  return 0;
35
39
  };
40
+ // READ
36
41
  const canViewSurvey = (user, surveyInfo) => Users.isSystemAdmin(user) || _hasAuthGroupForSurvey({ user, surveyInfo });
37
42
  const canExportSurvey = _hasSurveyPermission(Permission.recordAnalyse);
38
43
  const canExportSurveysList = (user) => Users.isSystemAdmin(user);
39
44
  const canViewTemplates = (user) => Users.isSystemAdmin(user);
45
+ // UPDATE
40
46
  const canEditSurvey = _hasSurveyPermission(Permission.surveyEdit);
41
47
  const canEditSurveyConfig = (user) => Users.isSystemAdmin(user);
42
48
  const canEditSurveyOwner = (user) => Users.isSystemAdmin(user);
43
49
  const canEditTemplates = (user) => Users.isSystemAdmin(user);
44
50
  const canRefreshAllSurveyRdbs = (user) => Users.isSystemAdmin(user);
51
+ // ======
52
+ // ====== Record
53
+ // ======
54
+ // CREATE
45
55
  export const canCreateRecord = _hasSurveyPermission(Permission.recordCreate);
56
+ // READ
46
57
  export const canViewRecord = _hasSurveyPermission(Permission.recordView);
47
58
  export const canExportAllRecords = _hasSurveyPermission(Permission.recordCleanse);
48
59
  export const canViewNotOwnedRecords = (user, surveyInfo) => {
@@ -62,22 +73,31 @@ export const canViewNotOwnedRecords = (user, surveyInfo) => {
62
73
  return false;
63
74
  };
64
75
  export const canExportRecordsList = _hasSurveyPermission(Permission.surveyEdit);
76
+ // UPDATE
65
77
  export const canEditRecord = (user, record, allowAnalysisStepEdit = false) => {
66
78
  var _a;
67
79
  if (!user ||
68
80
  !record ||
81
+ // records in analysis cannot be edited
69
82
  (!allowAnalysisStepEdit && Records.isInAnalysisStep(record))) {
70
83
  return false;
71
84
  }
85
+ // system admin does not have an auth group associated to the survey, but he can always edit records;
72
86
  if (Users.isSystemAdmin(user)) {
73
87
  return true;
74
88
  }
75
89
  const { surveyUuid, ownerUuid } = record;
90
+ // if user doesn't have an auth group associated to the survey, he cannot edit records
76
91
  const userAuthGroup = Users.getAuthGroupBySurveyUuid(surveyUuid)(user);
77
92
  if (!userAuthGroup)
78
93
  return false;
94
+ // groups without the record edit permission (e.g. survey guests) cannot edit records,
95
+ // even when their record steps permission allows it (record steps permissions are used also to view records)
79
96
  if (!AuthGroups.getPermissions(userAuthGroup).includes(Permission.recordEdit))
80
97
  return false;
98
+ // Level = 'all' or 'own'. If 'own', user can only edit records assigned to him
99
+ // If 'all', he can edit all survey's records
100
+ // permission checks must not throw: a group without record steps cannot edit records
81
101
  const level = (_a = AuthGroups.getRecordSteps(userAuthGroup)) === null || _a === void 0 ? void 0 : _a[Records.getStep(record)];
82
102
  return level === RecordStepPermission.all || (level === RecordStepPermission.own && ownerUuid === user.uuid);
83
103
  };
@@ -91,9 +111,20 @@ const canExportRecords = _hasSurveyPermission(Permission.recordView);
91
111
  const canImportRecords = (user, surveyInfo) => (surveyInfo === null || surveyInfo === void 0 ? void 0 : surveyInfo.published) && _hasSurveyPermission(Permission.recordCreate)(user, surveyInfo);
92
112
  const canAnalyzeRecords = _hasSurveyPermission(Permission.recordAnalyse);
93
113
  const canUpdateRecordsStep = canAnalyzeRecords;
114
+ // ======
115
+ // ====== Explorer
116
+ // ======
94
117
  const canUseExplorer = canCleanseRecords;
118
+ // ======
119
+ // ====== Map
120
+ // ======
95
121
  const canUseMap = canAnalyzeRecords;
122
+ // ======
123
+ // ====== Users
124
+ // ======
125
+ // CREATE
96
126
  const canInviteUsers = _hasSurveyPermission(Permission.userInvite);
127
+ // READ
97
128
  const canViewSurveyUsers = _hasSurveyPermission(Permission.userInvite);
98
129
  const _usersBelongToSameSurvey = ({ user, userToView }) => Users.getAuthGroups(user).some((authGroupUser) => AuthGroups.isSurveyGroup(authGroupUser) &&
99
130
  Users.getAuthGroups(userToView).some((authGroupUserToView) => AuthGroups.isSurveyGroup(authGroupUserToView) &&
@@ -102,8 +133,10 @@ const canViewUser = (user, _surveyInfo, userToView) => Users.isSystemAdmin(user)
102
133
  const canViewOtherUsersEmail = ({ user, surveyInfo }) => Users.isSystemAdmin(user) || canInviteUsers(user, surveyInfo);
103
134
  const canViewOtherUsersNameInSameSurvey = (user, surveyInfo) => _hasSurveyPermission(Permission.recordView)(user, surveyInfo);
104
135
  const canViewAllUsers = (user) => Users.isSystemAdmin(user);
136
+ // EDIT
105
137
  const _hasUserEditAccess = (user, surveyInfo, userToUpdate) => Users.isSystemAdmin(user) ||
106
138
  (_hasSurveyPermission(Permission.userEdit)(user, surveyInfo) &&
139
+ // user to update has an auth group in the same survey
107
140
  _hasAuthGroupForSurvey({ user: userToUpdate, surveyInfo }));
108
141
  const canCreateUsers = (user) => Users.isSystemAdmin(user);
109
142
  const canEditUser = (user, surveyInfo, userToUpdate) => Users.hasAccepted(userToUpdate) &&
@@ -115,12 +148,15 @@ const canRemoveUser = (user, surveyInfo, userToRemove) => !Users.isEqual(user)(u
115
148
  _hasUserEditAccess(user, surveyInfo, userToRemove);
116
149
  const canEditUserSurveyManager = (user) => Users.isSystemAdmin(user);
117
150
  const canEditUserMaxSurveys = (user) => Users.isSystemAdmin(user);
151
+ // USER ACCESS REQUESTS
118
152
  const canViewUsersAccessRequests = (user) => Users.isSystemAdmin(user);
119
153
  const canEditUsersAccessRequests = (user) => Users.isSystemAdmin(user);
154
+ // INVITE
120
155
  const getUserGroupsCanAssign = ({ user, surveyInfo = null, editingLoggedUser = false, showOnlySurveyGroups = false, }) => {
121
156
  const groups = [];
122
157
  let surveyGroups = [];
123
158
  if (editingLoggedUser && !surveyInfo) {
159
+ // This can happen for system administrators when they don't have an active survey
124
160
  surveyGroups = [];
125
161
  }
126
162
  else if (surveyInfo) {
@@ -132,15 +168,18 @@ const getUserGroupsCanAssign = ({ user, surveyInfo = null, editingLoggedUser = f
132
168
  surveyGroups = adminGroup ? [adminGroup] : [];
133
169
  }
134
170
  }
171
+ // do not allow surveyEditor group selection (remove surveyEditor group completely?)
135
172
  surveyGroups = surveyGroups.filter((group) => group.name !== AuthGroupName.surveyEditor);
136
173
  groups.push(...surveyGroups);
137
174
  if (!showOnlySurveyGroups && (Users.isSystemAdmin(user) || Users.isSurveyManager(user))) {
175
+ // Add SystemAdmin or SurveyManager group if current user is a SystemAdmin or SurveyManager himself
138
176
  const userNonSurveyGroups = Users.getAuthGroups(user).filter((group) => !AuthGroups.isSurveyGroup(group));
139
177
  groups.push(...userNonSurveyGroups);
140
178
  }
141
179
  return AuthGroups.sortGroups(groups);
142
180
  };
143
181
  export const Authorizer = {
182
+ // Survey
144
183
  canCreateSurvey,
145
184
  canCreateTemplate,
146
185
  getMaxSurveysUserCanCreate,
@@ -153,6 +192,7 @@ export const Authorizer = {
153
192
  canEditSurveyOwner,
154
193
  canEditTemplates,
155
194
  canRefreshAllSurveyRdbs,
195
+ // Record
156
196
  canCreateRecord,
157
197
  canViewRecord,
158
198
  canExportAllRecords,
@@ -168,8 +208,11 @@ export const Authorizer = {
168
208
  canImportRecords,
169
209
  canAnalyzeRecords,
170
210
  canUpdateRecordsStep,
211
+ // Explorer
171
212
  canUseExplorer,
213
+ // Map
172
214
  canUseMap,
215
+ // Users
173
216
  canInviteUsers,
174
217
  canViewSurveyUsers,
175
218
  canViewUser,
@@ -183,8 +226,10 @@ export const Authorizer = {
183
226
  canRemoveUser,
184
227
  canEditUserSurveyManager,
185
228
  canEditUserMaxSurveys,
229
+ // User Access Requests
186
230
  canViewUsersAccessRequests,
187
231
  canEditUsersAccessRequests,
232
+ // Invite
188
233
  getUserGroupsCanAssign,
189
234
  };
190
235
  //# sourceMappingURL=authorizer.js.map