@openforis/arena-core 2.3.36 → 2.3.39

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 (383) hide show
  1. package/dist/auth/authGroup.js.map +1 -1
  2. package/dist/auth/authGroups.d.ts +21 -11
  3. package/dist/auth/authGroups.js.map +1 -1
  4. package/dist/auth/authorizer.d.ts +64 -38
  5. package/dist/auth/authorizer.js.map +1 -1
  6. package/dist/auth/permission.js.map +1 -1
  7. package/dist/auth/user.js.map +1 -1
  8. package/dist/auth/users.d.ts +19 -9
  9. package/dist/auth/users.js +3 -2
  10. package/dist/auth/users.js.map +1 -1
  11. package/dist/category/categories.d.ts +7 -3
  12. package/dist/category/categories.js.map +1 -1
  13. package/dist/category/categoryImportSummary.js.map +1 -1
  14. package/dist/category/categoryItemGenerator.d.ts +6 -4
  15. package/dist/category/categoryItems.d.ts +9 -4
  16. package/dist/category/categoryItems.js +2 -1
  17. package/dist/category/categoryItems.js.map +1 -1
  18. package/dist/category/factory.js.map +1 -1
  19. package/dist/chain/chain.js.map +1 -1
  20. package/dist/common/index.js.map +1 -1
  21. package/dist/dataExport/FlatDataExportModel.js.map +1 -1
  22. package/dist/dataExport/FlatDataExportOptions.js.map +1 -1
  23. package/dist/dataExport/FlatDataFiles.d.ts +7 -5
  24. package/dist/dataExport/UniqueFileNamesGenerator.js.map +1 -1
  25. package/dist/dataQuery/dataQuery.js.map +1 -1
  26. package/dist/dataQuery/dataQuerySummaries.d.ts +28 -15
  27. package/dist/dataQuery/dataQuerySummaries.js +3 -3
  28. package/dist/dataQuery/dataQuerySummaries.js.map +1 -1
  29. package/dist/error/SystemError.js.map +1 -1
  30. package/dist/esm/auth/authGroups.js.map +1 -1
  31. package/dist/esm/auth/users.js +3 -2
  32. package/dist/esm/auth/users.js.map +1 -1
  33. package/dist/esm/category/categories.js.map +1 -1
  34. package/dist/esm/category/categoryItems.js +2 -1
  35. package/dist/esm/category/categoryItems.js.map +1 -1
  36. package/dist/esm/dataExport/FlatDataExportModel.js.map +1 -1
  37. package/dist/esm/dataQuery/dataQuerySummaries.js +3 -3
  38. package/dist/esm/dataQuery/dataQuerySummaries.js.map +1 -1
  39. package/dist/esm/expression/javascript/evaluator.js.map +1 -1
  40. package/dist/esm/extraProp/extraProps.js.map +1 -1
  41. package/dist/esm/geo/pointFactory.js.map +1 -1
  42. package/dist/esm/geo/points/bearing.js +1 -1
  43. package/dist/esm/geo/points/bearing.js.map +1 -1
  44. package/dist/esm/geo/points/distance.js +1 -1
  45. package/dist/esm/geo/points/distance.js.map +1 -1
  46. package/dist/esm/geo/points/isValid.js.map +1 -1
  47. package/dist/esm/geo/points/transform.js.map +1 -1
  48. package/dist/esm/job/JobBase.js +4 -3
  49. package/dist/esm/job/JobBase.js.map +1 -1
  50. package/dist/esm/message/messages.js +9 -8
  51. package/dist/esm/message/messages.js.map +1 -1
  52. package/dist/esm/node/factory.js +2 -1
  53. package/dist/esm/node/factory.js.map +1 -1
  54. package/dist/esm/node/nodeValueFormatter.js +2 -1
  55. package/dist/esm/node/nodeValueFormatter.js.map +1 -1
  56. package/dist/esm/node/nodeValues.js +3 -2
  57. package/dist/esm/node/nodeValues.js.map +1 -1
  58. package/dist/esm/node/nodes.js +4 -4
  59. package/dist/esm/node/nodes.js.map +1 -1
  60. package/dist/esm/nodeDef/nodeDefs.js +10 -10
  61. package/dist/esm/nodeDef/nodeDefs.js.map +1 -1
  62. package/dist/esm/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
  63. package/dist/esm/nodeDefExpressionEvaluator/functions.js.map +1 -1
  64. package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js +3 -2
  65. package/dist/esm/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
  66. package/dist/esm/nodeDefExpressionEvaluator/node/member.js.map +1 -1
  67. package/dist/esm/nodeDefExpressionEvaluator/validator.js.map +1 -1
  68. package/dist/esm/record/_records/nodeDefSelfReferences.js.map +1 -1
  69. package/dist/esm/record/_records/recordGetters.js.map +1 -1
  70. package/dist/esm/record/_records/recordNodesIndexReader.js +6 -4
  71. package/dist/esm/record/_records/recordNodesIndexReader.js.map +1 -1
  72. package/dist/esm/record/_records/recordNodesIndexUpdater.js +10 -7
  73. package/dist/esm/record/_records/recordNodesIndexUpdater.js.map +1 -1
  74. package/dist/esm/record/_records/recordPagesValidation.js.map +1 -1
  75. package/dist/esm/record/_records/recordUpdater.js.map +1 -1
  76. package/dist/esm/record/factory.js +2 -1
  77. package/dist/esm/record/factory.js.map +1 -1
  78. package/dist/esm/record/recordCloner.js +2 -1
  79. package/dist/esm/record/recordCloner.js.map +1 -1
  80. package/dist/esm/record/recordExpressionEvaluator/functions.js.map +1 -1
  81. package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js +3 -2
  82. package/dist/esm/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
  83. package/dist/esm/record/recordExpressionEvaluator/recordExpressionEvaluator.js +4 -7
  84. package/dist/esm/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
  85. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
  86. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
  87. package/dist/esm/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
  88. package/dist/esm/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
  89. package/dist/esm/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
  90. package/dist/esm/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
  91. package/dist/esm/record/recordUpdater.js.map +1 -1
  92. package/dist/esm/record/recordValidator/attributeTypeValidator.js +2 -2
  93. package/dist/esm/record/recordValidator/attributeTypeValidator.js.map +1 -1
  94. package/dist/esm/record/recordValidator/attributeUniqueValidator.js.map +1 -1
  95. package/dist/esm/record/recordValidator/attributeValidator.js.map +1 -1
  96. package/dist/esm/record/recordValidator/recordValidator.js.map +1 -1
  97. package/dist/esm/survey/nodeDefsFixer.js.map +1 -1
  98. package/dist/esm/survey/refData/factory.js +3 -2
  99. package/dist/esm/survey/refData/factory.js.map +1 -1
  100. package/dist/esm/survey/surveyDocImageFactory.js.map +1 -1
  101. package/dist/esm/survey/surveyDocImages.js.map +1 -1
  102. package/dist/esm/survey/surveyFileFactory.js.map +1 -1
  103. package/dist/esm/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
  104. package/dist/esm/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
  105. package/dist/esm/survey/surveys/dependencies.js +2 -1
  106. package/dist/esm/survey/surveys/dependencies.js.map +1 -1
  107. package/dist/esm/survey/surveys/nodeDefs.js +4 -2
  108. package/dist/esm/survey/surveys/nodeDefs.js.map +1 -1
  109. package/dist/esm/survey/surveys/refsData.js +2 -1
  110. package/dist/esm/survey/surveys/refsData.js.map +1 -1
  111. package/dist/esm/survey/surveys/surveyGettersSecurity.js +1 -4
  112. package/dist/esm/survey/surveys/surveyGettersSecurity.js.map +1 -1
  113. package/dist/esm/survey/surveys/surveysGetters.js +5 -7
  114. package/dist/esm/survey/surveys/surveysGetters.js.map +1 -1
  115. package/dist/esm/taxonomy/taxa.js.map +1 -1
  116. package/dist/esm/taxonomy/taxonomies.js.map +1 -1
  117. package/dist/esm/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
  118. package/dist/esm/tests/builder/recordBuilder/index.js.map +1 -1
  119. package/dist/esm/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
  120. package/dist/esm/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
  121. package/dist/esm/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
  122. package/dist/esm/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
  123. package/dist/esm/utils/_objects/camelize.js.map +1 -1
  124. package/dist/esm/utils/arrays.js.map +1 -1
  125. package/dist/esm/utils/dates.js.map +1 -1
  126. package/dist/esm/utils/fileNames.js.map +1 -1
  127. package/dist/esm/utils/fileProcessor.js +2 -1
  128. package/dist/esm/utils/fileProcessor.js.map +1 -1
  129. package/dist/esm/utils/numbers.js.map +1 -1
  130. package/dist/esm/utils/queue.js.map +1 -1
  131. package/dist/esm/utils/versions.js.map +1 -1
  132. package/dist/esm/validation/factory.js.map +1 -1
  133. package/dist/esm/validation/fieldValidators/numeric.js.map +1 -1
  134. package/dist/esm/validation/fieldValidators/numericPositive.js.map +1 -1
  135. package/dist/esm/validation/validationResults.js +1 -1
  136. package/dist/esm/validation/validationResults.js.map +1 -1
  137. package/dist/esm/validation/validations.js +2 -2
  138. package/dist/esm/validation/validations.js.map +1 -1
  139. package/dist/esm/validation/validator.js.map +1 -1
  140. package/dist/expression/javascript/evaluator.js.map +1 -1
  141. package/dist/expression/javascript/global.js.map +1 -1
  142. package/dist/expression/javascript/node/array.js.map +1 -1
  143. package/dist/expression/javascript/node/binary.js.map +1 -1
  144. package/dist/expression/javascript/node/call.js.map +1 -1
  145. package/dist/expression/javascript/node/compound.js.map +1 -1
  146. package/dist/expression/javascript/node/conditional.js.map +1 -1
  147. package/dist/expression/javascript/node/identifier.js.map +1 -1
  148. package/dist/expression/javascript/node/literal.js.map +1 -1
  149. package/dist/expression/javascript/node/member.js.map +1 -1
  150. package/dist/expression/javascript/node/sequence.js.map +1 -1
  151. package/dist/expression/javascript/node/this.js.map +1 -1
  152. package/dist/expression/javascript/node/unary.js.map +1 -1
  153. package/dist/expression/javascript/parser/jsep.js.map +1 -1
  154. package/dist/expression/javascript/parser/parser.js.map +1 -1
  155. package/dist/expression/node.js.map +1 -1
  156. package/dist/expression/variable.js.map +1 -1
  157. package/dist/extraProp/extraProp.js.map +1 -1
  158. package/dist/extraProp/extraProps.d.ts +9 -6
  159. package/dist/extraProp/extraProps.js.map +1 -1
  160. package/dist/extraProp/extraPropsDataGenerator.d.ts +7 -5
  161. package/dist/geo/pointFactory.js.map +1 -1
  162. package/dist/geo/points/bearing.js +5 -2
  163. package/dist/geo/points/bearing.js.map +1 -1
  164. package/dist/geo/points/distance.js +5 -2
  165. package/dist/geo/points/distance.js.map +1 -1
  166. package/dist/geo/points/equals.js.map +1 -1
  167. package/dist/geo/points/getSrs.js.map +1 -1
  168. package/dist/geo/points/index.d.ts +18 -14
  169. package/dist/geo/points/isFilled.js.map +1 -1
  170. package/dist/geo/points/isValid.js.map +1 -1
  171. package/dist/geo/points/parse.js.map +1 -1
  172. package/dist/geo/points/pointAtDistance.js.map +1 -1
  173. package/dist/geo/points/toLatLong.js.map +1 -1
  174. package/dist/geo/points/toString.js.map +1 -1
  175. package/dist/geo/points/transform.js.map +1 -1
  176. package/dist/job/JobBase.js +4 -3
  177. package/dist/job/JobBase.js.map +1 -1
  178. package/dist/job/jobEvent.js.map +1 -1
  179. package/dist/job/status.js.map +1 -1
  180. package/dist/language/languageCode.js.map +1 -1
  181. package/dist/language/languages.js.map +1 -1
  182. package/dist/message/message.js.map +1 -1
  183. package/dist/message/messages.d.ts +54 -28
  184. package/dist/message/messages.js +9 -8
  185. package/dist/message/messages.js.map +1 -1
  186. package/dist/node/factory.js +2 -1
  187. package/dist/node/factory.js.map +1 -1
  188. package/dist/node/node.js.map +1 -1
  189. package/dist/node/nodeValueFormatter.d.ts +2 -1
  190. package/dist/node/nodeValueFormatter.js +2 -1
  191. package/dist/node/nodeValueFormatter.js.map +1 -1
  192. package/dist/node/nodeValueProps.js.map +1 -1
  193. package/dist/node/nodeValues.d.ts +62 -41
  194. package/dist/node/nodeValues.js +3 -2
  195. package/dist/node/nodeValues.js.map +1 -1
  196. package/dist/node/nodes.d.ts +112 -86
  197. package/dist/node/nodes.js +4 -4
  198. package/dist/node/nodes.js.map +1 -1
  199. package/dist/nodeDef/nodeDef.js.map +1 -1
  200. package/dist/nodeDef/nodeDefs.d.ts +173 -86
  201. package/dist/nodeDef/nodeDefs.js +10 -10
  202. package/dist/nodeDef/nodeDefs.js.map +1 -1
  203. package/dist/nodeDef/types/entity.js.map +1 -1
  204. package/dist/nodeDef/types/file.js.map +1 -1
  205. package/dist/nodeDef/types/formHeader.js.map +1 -1
  206. package/dist/nodeDef/types/text.js.map +1 -1
  207. package/dist/nodeDefExpressionEvaluator/evaluator.js.map +1 -1
  208. package/dist/nodeDefExpressionEvaluator/functions.js.map +1 -1
  209. package/dist/nodeDefExpressionEvaluator/node/identifier.js +3 -2
  210. package/dist/nodeDefExpressionEvaluator/node/identifier.js.map +1 -1
  211. package/dist/nodeDefExpressionEvaluator/node/member.js.map +1 -1
  212. package/dist/nodeDefExpressionEvaluator/node/nodeDefExpressionNativeProperties.d.ts +11 -8
  213. package/dist/nodeDefExpressionEvaluator/node/thisEvaluator.d.ts +1 -1
  214. package/dist/nodeDefExpressionEvaluator/node/thisEvaluator.js.map +1 -1
  215. package/dist/nodeDefExpressionEvaluator/validator.js.map +1 -1
  216. package/dist/record/_records/nodeDefSelfReferences.d.ts +12 -4
  217. package/dist/record/_records/nodeDefSelfReferences.js.map +1 -1
  218. package/dist/record/_records/recordCompletion.js.map +1 -1
  219. package/dist/record/_records/recordGetters.js.map +1 -1
  220. package/dist/record/_records/recordNodesIndexReader.d.ts +14 -8
  221. package/dist/record/_records/recordNodesIndexReader.js +6 -4
  222. package/dist/record/_records/recordNodesIndexReader.js.map +1 -1
  223. package/dist/record/_records/recordNodesIndexUpdater.d.ts +22 -12
  224. package/dist/record/_records/recordNodesIndexUpdater.js +10 -7
  225. package/dist/record/_records/recordNodesIndexUpdater.js.map +1 -1
  226. package/dist/record/_records/recordPagesValidation.js.map +1 -1
  227. package/dist/record/_records/recordUpdater.js.map +1 -1
  228. package/dist/record/_records/recordUtils.js.map +1 -1
  229. package/dist/record/factory.js +2 -1
  230. package/dist/record/factory.js.map +1 -1
  231. package/dist/record/nodePointers.d.ts +13 -10
  232. package/dist/record/recordCloner.d.ts +11 -10
  233. package/dist/record/recordCloner.js +2 -1
  234. package/dist/record/recordCloner.js.map +1 -1
  235. package/dist/record/recordExpressionEvaluator/functions.js.map +1 -1
  236. package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js +3 -2
  237. package/dist/record/recordExpressionEvaluator/node/identifier/identifier.js.map +1 -1
  238. package/dist/record/recordExpressionEvaluator/node/identifier/nodesFinder.d.ts +8 -6
  239. package/dist/record/recordExpressionEvaluator/node/thisEvaluator.js.map +1 -1
  240. package/dist/record/recordExpressionEvaluator/nodeValueExtractor.d.ts +7 -5
  241. package/dist/record/recordExpressionEvaluator/recordExpressionEvaluator.js +4 -7
  242. package/dist/record/recordExpressionEvaluator/recordExpressionEvaluator.js.map +1 -1
  243. package/dist/record/recordFixer.d.ts +19 -10
  244. package/dist/record/recordNodesUpdater/index.d.ts +8 -7
  245. package/dist/record/recordNodesUpdater/recordEnumeratingItemsExpressionEvaluator.js.map +1 -1
  246. package/dist/record/recordNodesUpdater/recordExpressionValueConverter.d.ts +2 -1
  247. package/dist/record/recordNodesUpdater/recordNodeDependentsApplicableUpdater.js.map +1 -1
  248. package/dist/record/recordNodesUpdater/recordNodeDependentsBooleanUpdater.js.map +1 -1
  249. package/dist/record/recordNodesUpdater/recordNodeDependentsCodeAttributesUpdater.js.map +1 -1
  250. package/dist/record/recordNodesUpdater/recordNodeDependentsCountUpdater.js.map +1 -1
  251. package/dist/record/recordNodesUpdater/recordNodeDependentsDefaultValuesUpdater.js.map +1 -1
  252. package/dist/record/recordNodesUpdater/recordNodeDependentsEditableUpdater.js.map +1 -1
  253. package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratedEntitiesUpdater.js.map +1 -1
  254. package/dist/record/recordNodesUpdater/recordNodeDependentsEnumeratingItemsUpdater.js.map +1 -1
  255. package/dist/record/recordNodesUpdater/recordNodeDependentsFileNamesEvaluator.js.map +1 -1
  256. package/dist/record/recordNodesUpdater/recordNodeDependentsVisibleUpdater.js.map +1 -1
  257. package/dist/record/recordNodesUpdater/recordNodesCreator.js.map +1 -1
  258. package/dist/record/recordNodesUpdater/recordNodesDeleter.js.map +1 -1
  259. package/dist/record/recordNodesUpdater/recordNodesDependentsUpdaterCommons.js.map +1 -1
  260. package/dist/record/recordNodesUpdater/recordNodesUpdater.js.map +1 -1
  261. package/dist/record/recordNodesUpdater/recordUpdateResult.js.map +1 -1
  262. package/dist/record/recordPrettyPrinter.d.ts +18 -15
  263. package/dist/record/recordPrettyPrinter.js.map +1 -1
  264. package/dist/record/recordStep.d.ts +5 -2
  265. package/dist/record/recordStep.js.map +1 -1
  266. package/dist/record/recordUpdater.d.ts +22 -15
  267. package/dist/record/recordUpdater.js.map +1 -1
  268. package/dist/record/recordValidations.d.ts +21 -14
  269. package/dist/record/recordValidator/attributeKeyValidator.d.ts +8 -6
  270. package/dist/record/recordValidator/attributeKeyValidator.js.map +1 -1
  271. package/dist/record/recordValidator/attributeTypeValidator.d.ts +2 -1
  272. package/dist/record/recordValidator/attributeTypeValidator.js +2 -2
  273. package/dist/record/recordValidator/attributeTypeValidator.js.map +1 -1
  274. package/dist/record/recordValidator/attributeUniqueValidator.d.ts +1 -5
  275. package/dist/record/recordValidator/attributeUniqueValidator.js.map +1 -1
  276. package/dist/record/recordValidator/attributeValidator.d.ts +3 -1
  277. package/dist/record/recordValidator/attributeValidator.js.map +1 -1
  278. package/dist/record/recordValidator/countVaildator.d.ts +21 -17
  279. package/dist/record/recordValidator/index.d.ts +4 -3
  280. package/dist/record/recordValidator/recordValidator.js.map +1 -1
  281. package/dist/record/records.d.ts +62 -220
  282. package/dist/registry/serviceRegistry.js.map +1 -1
  283. package/dist/registry/serviceType.js.map +1 -1
  284. package/dist/srs/srs.js.map +1 -1
  285. package/dist/survey/nodeDefsFixer.d.ts +5 -4
  286. package/dist/survey/nodeDefsFixer.js.map +1 -1
  287. package/dist/survey/refData/factory.js +3 -2
  288. package/dist/survey/refData/factory.js.map +1 -1
  289. package/dist/survey/survey.d.ts +2 -2
  290. package/dist/survey/survey.js.map +1 -1
  291. package/dist/survey/surveyDocImageFactory.js.map +1 -1
  292. package/dist/survey/surveyDocImages.d.ts +11 -5
  293. package/dist/survey/surveyDocImages.js.map +1 -1
  294. package/dist/survey/surveyFileFactory.js.map +1 -1
  295. package/dist/survey/surveys/_nodeDefs/nodeDefsIndex.js.map +1 -1
  296. package/dist/survey/surveys/_nodeDefs/nodeDefsReader.js.map +1 -1
  297. package/dist/survey/surveys/dependencies.js +2 -1
  298. package/dist/survey/surveys/dependencies.js.map +1 -1
  299. package/dist/survey/surveys/index.d.ts +82 -255
  300. package/dist/survey/surveys/nodeDefs.d.ts +4 -6
  301. package/dist/survey/surveys/nodeDefs.js +4 -2
  302. package/dist/survey/surveys/nodeDefs.js.map +1 -1
  303. package/dist/survey/surveys/refsData.js +2 -1
  304. package/dist/survey/surveys/refsData.js.map +1 -1
  305. package/dist/survey/surveys/surveyGettersSecurity.js +1 -4
  306. package/dist/survey/surveys/surveyGettersSecurity.js.map +1 -1
  307. package/dist/survey/surveys/surveysGetters.js +5 -7
  308. package/dist/survey/surveys/surveysGetters.js.map +1 -1
  309. package/dist/survey/surveys/surveysUtils.js.map +1 -1
  310. package/dist/taxonomy/taxa.d.ts +17 -11
  311. package/dist/taxonomy/taxa.js.map +1 -1
  312. package/dist/taxonomy/taxonGenerator.d.ts +6 -4
  313. package/dist/taxonomy/taxonomies.d.ts +7 -3
  314. package/dist/taxonomy/taxonomies.js.map +1 -1
  315. package/dist/tests/builder/recordBuilder/attributeBuilder.js.map +1 -1
  316. package/dist/tests/builder/recordBuilder/entityBuilder.js.map +1 -1
  317. package/dist/tests/builder/recordBuilder/index.d.ts +4 -2
  318. package/dist/tests/builder/recordBuilder/index.js.map +1 -1
  319. package/dist/tests/builder/recordBuilder/nodeBuilder.js.map +1 -1
  320. package/dist/tests/builder/recordBuilder/recordBuilder.js.map +1 -1
  321. package/dist/tests/builder/surveyBuilder/categoryBuilder.js.map +1 -1
  322. package/dist/tests/builder/surveyBuilder/categoryItemBuilder.js.map +1 -1
  323. package/dist/tests/builder/surveyBuilder/index.d.ts +30 -15
  324. package/dist/tests/builder/surveyBuilder/nodeDefAttributeBuilder.js.map +1 -1
  325. package/dist/tests/builder/surveyBuilder/nodeDefBuilder.js.map +1 -1
  326. package/dist/tests/builder/surveyBuilder/nodeDefCodeBuilder.js.map +1 -1
  327. package/dist/tests/builder/surveyBuilder/nodeDefEntityBuilder.js.map +1 -1
  328. package/dist/tests/builder/surveyBuilder/nodeDefTaxonBuilder.js.map +1 -1
  329. package/dist/tests/builder/surveyBuilder/surveyBuilder.js.map +1 -1
  330. package/dist/tests/builder/surveyBuilder/taxonBuilder.js.map +1 -1
  331. package/dist/tests/builder/surveyBuilder/taxonomyBuilder.js.map +1 -1
  332. package/dist/utils/_objects/assoc.js.map +1 -1
  333. package/dist/utils/_objects/assocPath.js.map +1 -1
  334. package/dist/utils/_objects/camelize.js.map +1 -1
  335. package/dist/utils/_objects/deepMerge.js.map +1 -1
  336. package/dist/utils/_objects/deleteEmptyProps.js.map +1 -1
  337. package/dist/utils/_objects/difference.js.map +1 -1
  338. package/dist/utils/_objects/dissoc.js.map +1 -1
  339. package/dist/utils/_objects/dissocPath.js.map +1 -1
  340. package/dist/utils/_objects/dissocPathIfEmpty.js.map +1 -1
  341. package/dist/utils/_objects/index.d.ts +34 -48
  342. package/dist/utils/_objects/isEmpty.js.map +1 -1
  343. package/dist/utils/_objects/isNil.js.map +1 -1
  344. package/dist/utils/_objects/isNotEmpty.js.map +1 -1
  345. package/dist/utils/_objects/parse.js.map +1 -1
  346. package/dist/utils/_objects/path.js.map +1 -1
  347. package/dist/utils/_objects/propertyOf.js.map +1 -1
  348. package/dist/utils/_objects/setInPath.js.map +1 -1
  349. package/dist/utils/_objects/stringify.js.map +1 -1
  350. package/dist/utils/arrays.d.ts +25 -15
  351. package/dist/utils/arrays.js.map +1 -1
  352. package/dist/utils/dates.d.ts +101 -48
  353. package/dist/utils/dates.js.map +1 -1
  354. package/dist/utils/fileNames.d.ts +7 -3
  355. package/dist/utils/fileNames.js.map +1 -1
  356. package/dist/utils/fileProcessor.js +2 -1
  357. package/dist/utils/fileProcessor.js.map +1 -1
  358. package/dist/utils/numbers.d.ts +42 -13
  359. package/dist/utils/numbers.js.map +1 -1
  360. package/dist/utils/promises.d.ts +12 -1
  361. package/dist/utils/queue.js.map +1 -1
  362. package/dist/utils/retryProcessor.js.map +1 -1
  363. package/dist/utils/strings.d.ts +22 -11
  364. package/dist/utils/uuids.d.ts +3 -1
  365. package/dist/utils/versions.d.ts +19 -7
  366. package/dist/utils/versions.js.map +1 -1
  367. package/dist/validation/factory.js.map +1 -1
  368. package/dist/validation/fieldValidators/email.js.map +1 -1
  369. package/dist/validation/fieldValidators/index.d.ts +12 -6
  370. package/dist/validation/fieldValidators/name.js.map +1 -1
  371. package/dist/validation/fieldValidators/notKeyword.js.map +1 -1
  372. package/dist/validation/fieldValidators/numeric.js.map +1 -1
  373. package/dist/validation/fieldValidators/numericPositive.js.map +1 -1
  374. package/dist/validation/fieldValidators/required.js.map +1 -1
  375. package/dist/validation/validation.js.map +1 -1
  376. package/dist/validation/validationResults.d.ts +17 -9
  377. package/dist/validation/validationResults.js +1 -1
  378. package/dist/validation/validationResults.js.map +1 -1
  379. package/dist/validation/validations.d.ts +71 -35
  380. package/dist/validation/validations.js +2 -2
  381. package/dist/validation/validations.js.map +1 -1
  382. package/dist/validation/validator.js.map +1 -1
  383. package/package.json +11 -4
@@ -1 +1 @@
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
+ {"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,15 +1,25 @@
1
1
  import { AuthGroup } from './authGroup';
2
2
  import { RecordStepPermission } from './permission';
3
+ declare const isSystemAdmin: (authGroup: AuthGroup) => boolean;
4
+ declare const isSurveyManager: (authGroup: AuthGroup) => boolean;
5
+ declare const isSurveyGroup: (authGroup: AuthGroup) => boolean;
6
+ declare const getSurveyUuid: (authGroup: AuthGroup) => string | undefined;
7
+ declare const getRecordSteps: (authGroup?: AuthGroup) => {
8
+ [key: string]: RecordStepPermission;
9
+ } | undefined;
10
+ declare const getRecordEditLevel: (step: string) => (authGroup?: AuthGroup) => RecordStepPermission;
11
+ declare const getDefaultAuthGroups: (surveyUuid: string) => AuthGroup[];
12
+ declare const getPermissions: (group: AuthGroup) => import("./permission").Permission[];
13
+ declare const sortGroups: (groups: AuthGroup[]) => AuthGroup[];
3
14
  export declare const AuthGroups: {
4
- isSystemAdmin: (authGroup: AuthGroup) => boolean;
5
- isSurveyGroup: (authGroup: AuthGroup) => boolean;
6
- isSurveyManager: (authGroup: AuthGroup) => boolean;
7
- getSurveyUuid: (authGroup: AuthGroup) => string | undefined;
8
- getRecordSteps: (authGroup?: AuthGroup) => {
9
- [key: string]: RecordStepPermission;
10
- } | undefined;
11
- getRecordEditLevel: (step: string) => (authGroup?: AuthGroup) => RecordStepPermission;
12
- getDefaultAuthGroups: (surveyUuid: string) => AuthGroup[];
13
- getPermissions: (group: AuthGroup) => import("./permission").Permission[];
14
- sortGroups: (groups: AuthGroup[]) => AuthGroup[];
15
+ isSystemAdmin: typeof isSystemAdmin;
16
+ isSurveyGroup: typeof isSurveyGroup;
17
+ isSurveyManager: typeof isSurveyManager;
18
+ getSurveyUuid: typeof getSurveyUuid;
19
+ getRecordSteps: typeof getRecordSteps;
20
+ getRecordEditLevel: typeof getRecordEditLevel;
21
+ getDefaultAuthGroups: typeof getDefaultAuthGroups;
22
+ getPermissions: typeof getPermissions;
23
+ sortGroups: typeof sortGroups;
15
24
  };
25
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"authGroups.js","sourceRoot":"","sources":["../../src/auth/authGroups.ts"],"names":[],"mappings":";;;AAAA,oCAAgC;AAChC,2CAAqH;AAGrH,MAAM,aAAa,GAAG,CAAC,SAAoB,EAAW,EAAE,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,yBAAa,CAAC,WAAW,CAAA;AAEtG,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAW,EAAE,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,yBAAa,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,+BAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iCAAM,KAAK,KAAE,IAAI,EAAE,aAAK,CAAC,EAAE,EAAE,EAAE,UAAU,IAAG,CAAC,CAAA;AAElF,MAAM,cAAc,GAAG,CAAC,KAAgB,EAAE,EAAE,WAAC,OAAA,MAAA,kCAAsB,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,4BAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACxD,MAAM,UAAU,GAAG,4BAAgB,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;AAEY,QAAA,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"]}
1
+ {"version":3,"file":"authGroups.js","sourceRoot":"","sources":["../../src/auth/authGroups.ts"],"names":[],"mappings":";;;AAAA,oCAAgC;AAChC,2CAAqH;AAGrH,MAAM,aAAa,GAAG,CAAC,SAAoB,EAAW,EAAE,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,yBAAa,CAAC,WAAW,CAAA;AAEtG,MAAM,eAAe,GAAG,CAAC,SAAoB,EAAW,EAAE,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,yBAAa,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,+BAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,iCAAM,KAAK,KAAE,IAAI,EAAE,aAAK,CAAC,EAAE,EAAE,EAAE,UAAU,IAAG,CAAC,CAAA;AAElF,MAAM,cAAc,GAAG,CAAC,KAAgB,EAAE,EAAE,wBAAC,kCAAsB,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAI,EAAE,GAAA,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,4BAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACxD,MAAM,UAAU,GAAG,4BAAgB,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;AAEY,QAAA,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"]}
@@ -2,64 +2,90 @@ import { Record } from '../record';
2
2
  import { Survey } from '../survey';
3
3
  import { AuthGroup } from './authGroup';
4
4
  import { User } from './user';
5
+ declare const canCreateTemplate: (user: User) => boolean;
6
+ declare const getMaxSurveysUserCanCreate: (user: User) => number;
7
+ declare const canViewSurvey: (user: User, surveyInfo: Survey) => boolean;
8
+ declare const canExportSurveysList: (user: User) => boolean;
9
+ declare const canViewTemplates: (user: User) => boolean;
10
+ declare const canEditSurveyConfig: (user: User) => boolean;
11
+ declare const canEditSurveyOwner: (user: User) => boolean;
12
+ declare const canEditTemplates: (user: User) => boolean;
13
+ declare const canRefreshAllSurveyRdbs: (user: User) => boolean;
5
14
  export declare const canCreateRecord: (user: User, surveyInfo: Survey) => boolean;
6
15
  export declare const canViewRecord: (user: User, surveyInfo: Survey) => boolean;
7
16
  export declare const canExportAllRecords: (user: User, surveyInfo: Survey) => boolean;
8
17
  export declare const canViewNotOwnedRecords: (user: User, surveyInfo: Survey) => boolean;
9
18
  export declare const canExportRecordsList: (user: User, surveyInfo: Survey) => boolean;
10
19
  export declare const canEditRecord: (user: User, record: Record, allowAnalysisStepEdit?: boolean) => boolean;
20
+ declare const canChangeRecordProps: (user: User, record: Record) => boolean;
21
+ declare const canImportRecords: (user: User, surveyInfo: Survey) => boolean;
22
+ declare const canViewUser: (user: User, _surveyInfo: Survey, userToView: User) => boolean;
23
+ declare const canViewOtherUsersEmail: ({ user, surveyInfo }: {
24
+ user: User;
25
+ surveyInfo: Survey;
26
+ }) => boolean;
27
+ declare const canViewOtherUsersNameInSameSurvey: (user: User, surveyInfo: Survey) => boolean;
28
+ declare const canViewAllUsers: (user: User) => boolean;
29
+ declare const canCreateUsers: (user: User) => boolean;
30
+ declare const canEditUser: (user: User, surveyInfo: Survey, userToUpdate: User) => boolean;
31
+ declare const canEditUserEmail: (user: User) => boolean;
32
+ declare const canEditUserGroup: (user: User, surveyInfo: Survey, userToUpdate: User) => boolean;
33
+ declare const canRemoveUser: (user: User, surveyInfo: Survey, userToRemove: User) => boolean;
34
+ declare const canEditUserSurveyManager: (user: User) => boolean;
35
+ declare const canEditUserMaxSurveys: (user: User) => boolean;
36
+ declare const canViewUsersAccessRequests: (user: User) => boolean;
37
+ declare const canEditUsersAccessRequests: (user: User) => boolean;
38
+ declare const getUserGroupsCanAssign: ({ user, surveyInfo, editingLoggedUser, showOnlySurveyGroups, }: {
39
+ user: User;
40
+ surveyInfo?: Survey | null;
41
+ editingLoggedUser?: boolean;
42
+ showOnlySurveyGroups?: boolean;
43
+ }) => AuthGroup[];
11
44
  export declare const Authorizer: {
12
45
  canCreateSurvey: (user: User) => boolean;
13
- canCreateTemplate: (user: User) => boolean;
14
- getMaxSurveysUserCanCreate: (user: User) => number;
15
- canViewSurvey: (user: User, surveyInfo: Survey) => boolean;
46
+ canCreateTemplate: typeof canCreateTemplate;
47
+ getMaxSurveysUserCanCreate: typeof getMaxSurveysUserCanCreate;
48
+ canViewSurvey: typeof canViewSurvey;
16
49
  canExportSurvey: (user: User, surveyInfo: Survey) => boolean;
17
- canExportSurveysList: (user: User) => boolean;
18
- canViewTemplates: (user: User) => boolean;
50
+ canExportSurveysList: typeof canExportSurveysList;
51
+ canViewTemplates: typeof canViewTemplates;
19
52
  canEditSurvey: (user: User, surveyInfo: Survey) => boolean;
20
- canEditSurveyConfig: (user: User) => boolean;
21
- canEditSurveyOwner: (user: User) => boolean;
22
- canEditTemplates: (user: User) => boolean;
23
- canRefreshAllSurveyRdbs: (user: User) => boolean;
53
+ canEditSurveyConfig: typeof canEditSurveyConfig;
54
+ canEditSurveyOwner: typeof canEditSurveyOwner;
55
+ canEditTemplates: typeof canEditTemplates;
56
+ canRefreshAllSurveyRdbs: typeof canRefreshAllSurveyRdbs;
24
57
  canCreateRecord: (user: User, surveyInfo: Survey) => boolean;
25
58
  canViewRecord: (user: User, surveyInfo: Survey) => boolean;
26
59
  canExportAllRecords: (user: User, surveyInfo: Survey) => boolean;
27
- canViewNotOwnedRecords: (user: User, surveyInfo: Survey) => boolean;
60
+ canViewNotOwnedRecords: typeof canViewNotOwnedRecords;
28
61
  canExportRecordsList: (user: User, surveyInfo: Survey) => boolean;
29
- canEditRecord: (user: User, record: Record, allowAnalysisStepEdit?: boolean) => boolean;
30
- canDeleteRecord: (user: User, record: Record, allowAnalysisStepEdit?: boolean) => boolean;
31
- canDemoteRecord: (user: User, record: Record) => boolean;
32
- canChangeRecordOwner: (user: User, record: Record) => boolean;
33
- canChangeRecordStep: (user: User, record: Record) => boolean;
62
+ canEditRecord: typeof canEditRecord;
63
+ canDeleteRecord: typeof canEditRecord;
64
+ canDemoteRecord: typeof canChangeRecordProps;
65
+ canChangeRecordOwner: typeof canChangeRecordProps;
66
+ canChangeRecordStep: typeof canChangeRecordProps;
34
67
  canCleanseRecords: (user: User, surveyInfo: Survey) => boolean;
35
68
  canExportRecords: (user: User, surveyInfo: Survey) => boolean;
36
- canImportRecords: (user: User, surveyInfo: Survey) => boolean;
69
+ canImportRecords: typeof canImportRecords;
37
70
  canAnalyzeRecords: (user: User, surveyInfo: Survey) => boolean;
38
71
  canUpdateRecordsStep: (user: User, surveyInfo: Survey) => boolean;
39
72
  canUseExplorer: (user: User, surveyInfo: Survey) => boolean;
40
73
  canUseMap: (user: User, surveyInfo: Survey) => boolean;
41
74
  canInviteUsers: (user: User, surveyInfo: Survey) => boolean;
42
75
  canViewSurveyUsers: (user: User, surveyInfo: Survey) => boolean;
43
- canViewUser: (user: User, _surveyInfo: Survey, userToView: User) => boolean;
44
- canViewOtherUsersEmail: ({ user, surveyInfo }: {
45
- user: User;
46
- surveyInfo: Survey;
47
- }) => boolean;
48
- canViewOtherUsersNameInSameSurvey: (user: User, surveyInfo: Survey) => boolean;
49
- canViewAllUsers: (user: User) => boolean;
50
- canCreateUsers: (user: User) => boolean;
51
- canEditUser: (user: User, surveyInfo: Survey, userToUpdate: User) => boolean;
52
- canEditUserEmail: (user: User) => boolean;
53
- canEditUserGroup: (user: User, surveyInfo: Survey, userToUpdate: User) => boolean;
54
- canRemoveUser: (user: User, surveyInfo: Survey, userToRemove: User) => boolean;
55
- canEditUserSurveyManager: (user: User) => boolean;
56
- canEditUserMaxSurveys: (user: User) => boolean;
57
- canViewUsersAccessRequests: (user: User) => boolean;
58
- canEditUsersAccessRequests: (user: User) => boolean;
59
- getUserGroupsCanAssign: ({ user, surveyInfo, editingLoggedUser, showOnlySurveyGroups, }: {
60
- user: User;
61
- surveyInfo?: Survey | null;
62
- editingLoggedUser?: boolean;
63
- showOnlySurveyGroups?: boolean;
64
- }) => AuthGroup[];
76
+ canViewUser: typeof canViewUser;
77
+ canViewOtherUsersEmail: typeof canViewOtherUsersEmail;
78
+ canViewOtherUsersNameInSameSurvey: typeof canViewOtherUsersNameInSameSurvey;
79
+ canViewAllUsers: typeof canViewAllUsers;
80
+ canCreateUsers: typeof canCreateUsers;
81
+ canEditUser: typeof canEditUser;
82
+ canEditUserEmail: typeof canEditUserEmail;
83
+ canEditUserGroup: typeof canEditUserGroup;
84
+ canRemoveUser: typeof canRemoveUser;
85
+ canEditUserSurveyManager: typeof canEditUserSurveyManager;
86
+ canEditUserMaxSurveys: typeof canEditUserMaxSurveys;
87
+ canViewUsersAccessRequests: typeof canViewUsersAccessRequests;
88
+ canEditUsersAccessRequests: typeof canEditUsersAccessRequests;
89
+ getUserGroupsCanAssign: typeof getUserGroupsCanAssign;
65
90
  };
91
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"authorizer.js","sourceRoot":"","sources":["../../src/auth/authorizer.ts"],"names":[],"mappings":"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","sourcesContent":["import { Record, Records } from '../record'\nimport { Survey, Surveys } from '../survey'\nimport { AuthGroup, AuthGroupName } from './authGroup'\nimport { AuthGroups } from './authGroups'\nimport { Permission, RecordStepPermission } from './permission'\nimport { User } from './user'\nimport { Users } from './users'\n\n// ======\n// ====== Survey\n// ======\n\nconst _getSurveyUserGroup = (user: User, surveyInfo: Survey, includeSystemAdmin = true): AuthGroup | undefined =>\n surveyInfo ? Users.getAuthGroupBySurveyUuid(surveyInfo.uuid, includeSystemAdmin)(user) : undefined\n\nconst _hasAuthGroupForSurvey = ({ user, surveyInfo }: { user: User; surveyInfo: Survey }): boolean =>\n Boolean(_getSurveyUserGroup(user, surveyInfo))\n\nconst _hasSurveyPermission =\n (permission: Permission) =>\n (user: User, surveyInfo: Survey): boolean => {\n if (!user) return false\n\n if (Users.isSystemAdmin(user)) return true\n\n if (!surveyInfo) return false\n\n const authGroup = _getSurveyUserGroup(user, surveyInfo)\n if (!authGroup) return false\n\n return AuthGroups.getPermissions(authGroup).includes(permission)\n }\n\nconst _hasPermissionInSomeGroup =\n (permission: Permission) =>\n (user: User): boolean => {\n if (Users.isSystemAdmin(user)) return true\n const groups = Users.getAuthGroups(user)\n return groups.some((group) => AuthGroups.getPermissions(group).includes(permission))\n }\n\n// CREATE\nconst canCreateSurvey = _hasPermissionInSomeGroup(Permission.surveyCreate)\nconst canCreateTemplate = (user: User): boolean => Users.isSystemAdmin(user)\nconst getMaxSurveysUserCanCreate = (user: User): number => {\n if (Users.isSystemAdmin(user)) return Number.NaN\n if (canCreateSurvey(user)) return Users.getMaxSurveys(user)\n return 0\n}\n\n// READ\nconst canViewSurvey = (user: User, surveyInfo: Survey): boolean =>\n Users.isSystemAdmin(user) || _hasAuthGroupForSurvey({ user, surveyInfo })\nconst canExportSurvey = _hasSurveyPermission(Permission.recordAnalyse)\nconst canExportSurveysList = (user: User): boolean => Users.isSystemAdmin(user)\nconst canViewTemplates = (user: User): boolean => Users.isSystemAdmin(user)\n// UPDATE\nconst canEditSurvey = _hasSurveyPermission(Permission.surveyEdit)\nconst canEditSurveyConfig = (user: User): boolean => Users.isSystemAdmin(user)\nconst canEditSurveyOwner = (user: User): boolean => Users.isSystemAdmin(user)\nconst canEditTemplates = (user: User): boolean => Users.isSystemAdmin(user)\nconst canRefreshAllSurveyRdbs = (user: User): boolean => Users.isSystemAdmin(user)\n\n// ======\n// ====== Record\n// ======\n\n// CREATE\nexport const canCreateRecord = _hasSurveyPermission(Permission.recordCreate)\n\n// READ\nexport const canViewRecord = _hasSurveyPermission(Permission.recordView)\nexport const canExportAllRecords = _hasSurveyPermission(Permission.recordCleanse)\nexport const canViewNotOwnedRecords = (user: User, surveyInfo: Survey): boolean => {\n if (!surveyInfo || !canViewSurvey(user, surveyInfo)) return false\n\n const { uuid: surveyUuid } = surveyInfo\n const groupInCurrentSurvey = Users.getAuthGroupBySurveyUuid(surveyUuid)(user)\n const groupName = groupInCurrentSurvey?.name\n\n if (groupName === AuthGroupName.dataEditor) {\n return Surveys.isDataEditorViewNotOwnedRecordsAllowed(surveyInfo)\n }\n if (groupName === AuthGroupName.dataAnalyst) {\n return Surveys.isDataAnalystViewNotOwnedRecordsAllowed(surveyInfo)\n }\n if (canExportAllRecords(user, surveyInfo)) return true\n\n return false\n}\nexport const canExportRecordsList = _hasSurveyPermission(Permission.surveyEdit)\n\n// UPDATE\nexport const canEditRecord = (user: User, record: Record, allowAnalysisStepEdit = false): boolean => {\n if (\n !user ||\n !record ||\n // records in analysis cannot be edited\n (!allowAnalysisStepEdit && Records.isInAnalysisStep(record))\n ) {\n return false\n }\n // system admin does not have an auth group associated to the survey, but he can always edit records;\n if (Users.isSystemAdmin(user)) {\n return true\n }\n const { surveyUuid, ownerUuid } = record\n // if user doesn't have an auth group associated to the survey, he cannot edit records\n const userAuthGroup = Users.getAuthGroupBySurveyUuid(surveyUuid)(user)\n if (!userAuthGroup) return false\n\n // groups without the record edit permission (e.g. survey guests) cannot edit records,\n // even when their record steps permission allows it (record steps permissions are used also to view records)\n if (!AuthGroups.getPermissions(userAuthGroup).includes(Permission.recordEdit)) return false\n\n // Level = 'all' or 'own'. If 'own', user can only edit records assigned to him\n // If 'all', he can edit all survey's records\n // permission checks must not throw: a group without record steps cannot edit records\n const level = AuthGroups.getRecordSteps(userAuthGroup)?.[Records.getStep(record)]\n return level === RecordStepPermission.all || (level === RecordStepPermission.own && ownerUuid === user.uuid)\n}\n\nconst canChangeRecordProps = (user: User, record: Record) => canEditRecord(user, record, true)\n\nconst canDeleteRecord = canEditRecord\n\nconst canDemoteRecord = canChangeRecordProps\n\nconst canChangeRecordOwner = canChangeRecordProps\n\nconst canChangeRecordStep = canChangeRecordProps\n\nconst canCleanseRecords = _hasSurveyPermission(Permission.recordCleanse)\n\nconst canExportRecords = _hasSurveyPermission(Permission.recordView)\n\nconst canImportRecords = (user: User, surveyInfo: Survey) =>\n surveyInfo?.published && _hasSurveyPermission(Permission.recordCreate)(user, surveyInfo)\n\nconst canAnalyzeRecords = _hasSurveyPermission(Permission.recordAnalyse)\n\nconst canUpdateRecordsStep = canAnalyzeRecords\n\n// ======\n// ====== Explorer\n// ======\n\nconst canUseExplorer = canCleanseRecords\n\n// ======\n// ====== Map\n// ======\n\nconst canUseMap = canAnalyzeRecords\n\n// ======\n// ====== Users\n// ======\n\n// CREATE\nconst canInviteUsers = _hasSurveyPermission(Permission.userInvite)\n\n// READ\nconst canViewSurveyUsers = _hasSurveyPermission(Permission.userInvite)\n\nconst _usersBelongToSameSurvey = ({ user, userToView }: { user: User; userToView: User }) =>\n Users.getAuthGroups(user).some(\n (authGroupUser) =>\n AuthGroups.isSurveyGroup(authGroupUser) &&\n Users.getAuthGroups(userToView).some(\n (authGroupUserToView) =>\n AuthGroups.isSurveyGroup(authGroupUserToView) &&\n AuthGroups.getSurveyUuid(authGroupUserToView) === AuthGroups.getSurveyUuid(authGroupUser)\n )\n )\n\nconst canViewUser = (user: User, _surveyInfo: Survey, userToView: User) =>\n Users.isSystemAdmin(user) || Users.isEqual(userToView)(user) || _usersBelongToSameSurvey({ user, userToView })\n\nconst canViewOtherUsersEmail = ({ user, surveyInfo }: { user: User; surveyInfo: Survey }) =>\n Users.isSystemAdmin(user) || canInviteUsers(user, surveyInfo)\n\nconst canViewOtherUsersNameInSameSurvey = (user: User, surveyInfo: Survey): boolean =>\n _hasSurveyPermission(Permission.recordView)(user, surveyInfo)\n\nconst canViewAllUsers = (user: User) => Users.isSystemAdmin(user)\n\n// EDIT\nconst _hasUserEditAccess = (user: User, surveyInfo: Survey, userToUpdate: User): boolean =>\n Users.isSystemAdmin(user) ||\n (_hasSurveyPermission(Permission.userEdit)(user, surveyInfo) &&\n // user to update has an auth group in the same survey\n _hasAuthGroupForSurvey({ user: userToUpdate, surveyInfo }))\n\nconst canCreateUsers = (user: User): boolean => Users.isSystemAdmin(user)\n\nconst canEditUser = (user: User, surveyInfo: Survey, userToUpdate: User): boolean =>\n Users.hasAccepted(userToUpdate) &&\n (Users.isEqual(user)(userToUpdate) || _hasUserEditAccess(user, surveyInfo, userToUpdate))\n\nconst canEditUserEmail = (user: User): boolean => Users.isSystemAdmin(user)\n\nconst canEditUserGroup = (user: User, surveyInfo: Survey, userToUpdate: User): boolean =>\n !Users.isEqual(user)(userToUpdate) && _hasUserEditAccess(user, surveyInfo, userToUpdate)\n\nconst canRemoveUser = (user: User, surveyInfo: Survey, userToRemove: User): boolean =>\n !Users.isEqual(user)(userToRemove) &&\n !Users.isSystemAdmin(userToRemove) &&\n _hasUserEditAccess(user, surveyInfo, userToRemove)\n\nconst canEditUserSurveyManager = (user: User) => Users.isSystemAdmin(user)\nconst canEditUserMaxSurveys = (user: User) => Users.isSystemAdmin(user)\n\n// USER ACCESS REQUESTS\nconst canViewUsersAccessRequests = (user: User): boolean => Users.isSystemAdmin(user)\nconst canEditUsersAccessRequests = (user: User): boolean => Users.isSystemAdmin(user)\n\n// INVITE\nconst getUserGroupsCanAssign = ({\n user,\n surveyInfo = null,\n editingLoggedUser = false,\n showOnlySurveyGroups = false,\n}: {\n user: User\n surveyInfo?: Survey | null\n editingLoggedUser?: boolean\n showOnlySurveyGroups?: boolean\n}) => {\n const groups = []\n\n let surveyGroups: AuthGroup[] = []\n if (editingLoggedUser && !surveyInfo) {\n // This can happen for system administrators when they don't have an active survey\n surveyGroups = []\n } else if (surveyInfo) {\n if (surveyInfo.published) {\n surveyGroups = Surveys.getAuthGroups(surveyInfo)\n } else {\n const adminGroup = Surveys.getAuthGroupAdmin(surveyInfo)\n surveyGroups = adminGroup ? [adminGroup] : []\n }\n }\n\n // do not allow surveyEditor group selection (remove surveyEditor group completely?)\n surveyGroups = surveyGroups.filter((group) => group.name !== AuthGroupName.surveyEditor)\n\n groups.push(...surveyGroups)\n\n if (!showOnlySurveyGroups && (Users.isSystemAdmin(user) || Users.isSurveyManager(user))) {\n // Add SystemAdmin or SurveyManager group if current user is a SystemAdmin or SurveyManager himself\n const userNonSurveyGroups = Users.getAuthGroups(user).filter((group) => !AuthGroups.isSurveyGroup(group))\n groups.push(...userNonSurveyGroups)\n }\n return AuthGroups.sortGroups(groups)\n}\n\nexport const Authorizer = {\n // Survey\n canCreateSurvey,\n canCreateTemplate,\n getMaxSurveysUserCanCreate,\n canViewSurvey,\n canExportSurvey,\n canExportSurveysList,\n canViewTemplates,\n canEditSurvey,\n canEditSurveyConfig,\n canEditSurveyOwner,\n canEditTemplates,\n canRefreshAllSurveyRdbs,\n // Record\n canCreateRecord,\n canViewRecord,\n canExportAllRecords,\n canViewNotOwnedRecords,\n canExportRecordsList,\n canEditRecord,\n canDeleteRecord,\n canDemoteRecord,\n canChangeRecordOwner,\n canChangeRecordStep,\n canCleanseRecords,\n canExportRecords,\n canImportRecords,\n canAnalyzeRecords,\n canUpdateRecordsStep,\n // Explorer\n canUseExplorer,\n // Map\n canUseMap,\n // Users\n canInviteUsers,\n canViewSurveyUsers,\n canViewUser,\n canViewOtherUsersEmail,\n canViewOtherUsersNameInSameSurvey,\n canViewAllUsers,\n canCreateUsers,\n canEditUser,\n canEditUserEmail,\n canEditUserGroup,\n canRemoveUser,\n canEditUserSurveyManager,\n canEditUserMaxSurveys,\n // User Access Requests\n canViewUsersAccessRequests,\n canEditUsersAccessRequests,\n // Invite\n getUserGroupsCanAssign,\n}\n"]}
1
+ {"version":3,"file":"authorizer.js","sourceRoot":"","sources":["../../src/auth/authorizer.ts"],"names":[],"mappings":"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","sourcesContent":["import { Record, Records } from '../record'\nimport { Survey, Surveys } from '../survey'\nimport { AuthGroup, AuthGroupName } from './authGroup'\nimport { AuthGroups } from './authGroups'\nimport { Permission, RecordStepPermission } from './permission'\nimport { User } from './user'\nimport { Users } from './users'\n\n// ======\n// ====== Survey\n// ======\n\nconst _getSurveyUserGroup = (user: User, surveyInfo: Survey, includeSystemAdmin = true): AuthGroup | undefined =>\n surveyInfo ? Users.getAuthGroupBySurveyUuid(surveyInfo.uuid, includeSystemAdmin)(user) : undefined\n\nconst _hasAuthGroupForSurvey = ({ user, surveyInfo }: { user: User; surveyInfo: Survey }): boolean =>\n Boolean(_getSurveyUserGroup(user, surveyInfo))\n\nconst _hasSurveyPermission =\n (permission: Permission) =>\n (user: User, surveyInfo: Survey): boolean => {\n if (!user) return false\n\n if (Users.isSystemAdmin(user)) return true\n\n if (!surveyInfo) return false\n\n const authGroup = _getSurveyUserGroup(user, surveyInfo)\n if (!authGroup) return false\n\n return AuthGroups.getPermissions(authGroup).includes(permission)\n }\n\nconst _hasPermissionInSomeGroup =\n (permission: Permission) =>\n (user: User): boolean => {\n if (Users.isSystemAdmin(user)) return true\n const groups = Users.getAuthGroups(user)\n return groups.some((group) => AuthGroups.getPermissions(group).includes(permission))\n }\n\n// CREATE\nconst canCreateSurvey = _hasPermissionInSomeGroup(Permission.surveyCreate)\nconst canCreateTemplate = (user: User): boolean => Users.isSystemAdmin(user)\nconst getMaxSurveysUserCanCreate = (user: User): number => {\n if (Users.isSystemAdmin(user)) return Number.NaN\n if (canCreateSurvey(user)) return Users.getMaxSurveys(user)\n return 0\n}\n\n// READ\nconst canViewSurvey = (user: User, surveyInfo: Survey): boolean =>\n Users.isSystemAdmin(user) || _hasAuthGroupForSurvey({ user, surveyInfo })\nconst canExportSurvey = _hasSurveyPermission(Permission.recordAnalyse)\nconst canExportSurveysList = (user: User): boolean => Users.isSystemAdmin(user)\nconst canViewTemplates = (user: User): boolean => Users.isSystemAdmin(user)\n// UPDATE\nconst canEditSurvey = _hasSurveyPermission(Permission.surveyEdit)\nconst canEditSurveyConfig = (user: User): boolean => Users.isSystemAdmin(user)\nconst canEditSurveyOwner = (user: User): boolean => Users.isSystemAdmin(user)\nconst canEditTemplates = (user: User): boolean => Users.isSystemAdmin(user)\nconst canRefreshAllSurveyRdbs = (user: User): boolean => Users.isSystemAdmin(user)\n\n// ======\n// ====== Record\n// ======\n\n// CREATE\nexport const canCreateRecord = _hasSurveyPermission(Permission.recordCreate)\n\n// READ\nexport const canViewRecord = _hasSurveyPermission(Permission.recordView)\nexport const canExportAllRecords = _hasSurveyPermission(Permission.recordCleanse)\nexport const canViewNotOwnedRecords = (user: User, surveyInfo: Survey): boolean => {\n if (!surveyInfo || !canViewSurvey(user, surveyInfo)) return false\n\n const { uuid: surveyUuid } = surveyInfo\n const groupInCurrentSurvey = Users.getAuthGroupBySurveyUuid(surveyUuid)(user)\n const groupName = groupInCurrentSurvey?.name\n\n if (groupName === AuthGroupName.dataEditor) {\n return Surveys.isDataEditorViewNotOwnedRecordsAllowed(surveyInfo)\n }\n if (groupName === AuthGroupName.dataAnalyst) {\n return Surveys.isDataAnalystViewNotOwnedRecordsAllowed(surveyInfo)\n }\n if (canExportAllRecords(user, surveyInfo)) return true\n\n return false\n}\nexport const canExportRecordsList = _hasSurveyPermission(Permission.surveyEdit)\n\n// UPDATE\nexport const canEditRecord = (user: User, record: Record, allowAnalysisStepEdit = false): boolean => {\n if (\n !user ||\n !record ||\n // records in analysis cannot be edited\n (!allowAnalysisStepEdit && Records.isInAnalysisStep(record))\n ) {\n return false\n }\n // system admin does not have an auth group associated to the survey, but he can always edit records;\n if (Users.isSystemAdmin(user)) {\n return true\n }\n const { surveyUuid, ownerUuid } = record\n // if user doesn't have an auth group associated to the survey, he cannot edit records\n const userAuthGroup = Users.getAuthGroupBySurveyUuid(surveyUuid)(user)\n if (!userAuthGroup) return false\n\n // groups without the record edit permission (e.g. survey guests) cannot edit records,\n // even when their record steps permission allows it (record steps permissions are used also to view records)\n if (!AuthGroups.getPermissions(userAuthGroup).includes(Permission.recordEdit)) return false\n\n // Level = 'all' or 'own'. If 'own', user can only edit records assigned to him\n // If 'all', he can edit all survey's records\n // permission checks must not throw: a group without record steps cannot edit records\n const level = AuthGroups.getRecordSteps(userAuthGroup)?.[Records.getStep(record)]\n return level === RecordStepPermission.all || (level === RecordStepPermission.own && ownerUuid === user.uuid)\n}\n\nconst canChangeRecordProps = (user: User, record: Record) => canEditRecord(user, record, true)\n\nconst canDeleteRecord = canEditRecord\n\nconst canDemoteRecord = canChangeRecordProps\n\nconst canChangeRecordOwner = canChangeRecordProps\n\nconst canChangeRecordStep = canChangeRecordProps\n\nconst canCleanseRecords = _hasSurveyPermission(Permission.recordCleanse)\n\nconst canExportRecords = _hasSurveyPermission(Permission.recordView)\n\nconst canImportRecords = (user: User, surveyInfo: Survey) =>\n surveyInfo?.published && _hasSurveyPermission(Permission.recordCreate)(user, surveyInfo)\n\nconst canAnalyzeRecords = _hasSurveyPermission(Permission.recordAnalyse)\n\nconst canUpdateRecordsStep = canAnalyzeRecords\n\n// ======\n// ====== Explorer\n// ======\n\nconst canUseExplorer = canCleanseRecords\n\n// ======\n// ====== Map\n// ======\n\nconst canUseMap = canAnalyzeRecords\n\n// ======\n// ====== Users\n// ======\n\n// CREATE\nconst canInviteUsers = _hasSurveyPermission(Permission.userInvite)\n\n// READ\nconst canViewSurveyUsers = _hasSurveyPermission(Permission.userInvite)\n\nconst _usersBelongToSameSurvey = ({ user, userToView }: { user: User; userToView: User }) =>\n Users.getAuthGroups(user).some(\n (authGroupUser) =>\n AuthGroups.isSurveyGroup(authGroupUser) &&\n Users.getAuthGroups(userToView).some(\n (authGroupUserToView) =>\n AuthGroups.isSurveyGroup(authGroupUserToView) &&\n AuthGroups.getSurveyUuid(authGroupUserToView) === AuthGroups.getSurveyUuid(authGroupUser)\n )\n )\n\nconst canViewUser = (user: User, _surveyInfo: Survey, userToView: User) =>\n Users.isSystemAdmin(user) || Users.isEqual(userToView)(user) || _usersBelongToSameSurvey({ user, userToView })\n\nconst canViewOtherUsersEmail = ({ user, surveyInfo }: { user: User; surveyInfo: Survey }) =>\n Users.isSystemAdmin(user) || canInviteUsers(user, surveyInfo)\n\nconst canViewOtherUsersNameInSameSurvey = (user: User, surveyInfo: Survey): boolean =>\n _hasSurveyPermission(Permission.recordView)(user, surveyInfo)\n\nconst canViewAllUsers = (user: User) => Users.isSystemAdmin(user)\n\n// EDIT\nconst _hasUserEditAccess = (user: User, surveyInfo: Survey, userToUpdate: User): boolean =>\n Users.isSystemAdmin(user) ||\n (_hasSurveyPermission(Permission.userEdit)(user, surveyInfo) &&\n // user to update has an auth group in the same survey\n _hasAuthGroupForSurvey({ user: userToUpdate, surveyInfo }))\n\nconst canCreateUsers = (user: User): boolean => Users.isSystemAdmin(user)\n\nconst canEditUser = (user: User, surveyInfo: Survey, userToUpdate: User): boolean =>\n Users.hasAccepted(userToUpdate) &&\n (Users.isEqual(user)(userToUpdate) || _hasUserEditAccess(user, surveyInfo, userToUpdate))\n\nconst canEditUserEmail = (user: User): boolean => Users.isSystemAdmin(user)\n\nconst canEditUserGroup = (user: User, surveyInfo: Survey, userToUpdate: User): boolean =>\n !Users.isEqual(user)(userToUpdate) && _hasUserEditAccess(user, surveyInfo, userToUpdate)\n\nconst canRemoveUser = (user: User, surveyInfo: Survey, userToRemove: User): boolean =>\n !Users.isEqual(user)(userToRemove) &&\n !Users.isSystemAdmin(userToRemove) &&\n _hasUserEditAccess(user, surveyInfo, userToRemove)\n\nconst canEditUserSurveyManager = (user: User) => Users.isSystemAdmin(user)\nconst canEditUserMaxSurveys = (user: User) => Users.isSystemAdmin(user)\n\n// USER ACCESS REQUESTS\nconst canViewUsersAccessRequests = (user: User): boolean => Users.isSystemAdmin(user)\nconst canEditUsersAccessRequests = (user: User): boolean => Users.isSystemAdmin(user)\n\n// INVITE\nconst getUserGroupsCanAssign = ({\n user,\n surveyInfo = null,\n editingLoggedUser = false,\n showOnlySurveyGroups = false,\n}: {\n user: User\n surveyInfo?: Survey | null\n editingLoggedUser?: boolean\n showOnlySurveyGroups?: boolean\n}) => {\n const groups = []\n\n let surveyGroups: AuthGroup[] = []\n if (editingLoggedUser && !surveyInfo) {\n // This can happen for system administrators when they don't have an active survey\n surveyGroups = []\n } else if (surveyInfo) {\n if (surveyInfo.published) {\n surveyGroups = Surveys.getAuthGroups(surveyInfo)\n } else {\n const adminGroup = Surveys.getAuthGroupAdmin(surveyInfo)\n surveyGroups = adminGroup ? [adminGroup] : []\n }\n }\n\n // do not allow surveyEditor group selection (remove surveyEditor group completely?)\n surveyGroups = surveyGroups.filter((group) => group.name !== AuthGroupName.surveyEditor)\n\n groups.push(...surveyGroups)\n\n if (!showOnlySurveyGroups && (Users.isSystemAdmin(user) || Users.isSurveyManager(user))) {\n // Add SystemAdmin or SurveyManager group if current user is a SystemAdmin or SurveyManager himself\n const userNonSurveyGroups = Users.getAuthGroups(user).filter((group) => !AuthGroups.isSurveyGroup(group))\n groups.push(...userNonSurveyGroups)\n }\n return AuthGroups.sortGroups(groups)\n}\n\nexport const Authorizer = {\n // Survey\n canCreateSurvey,\n canCreateTemplate,\n getMaxSurveysUserCanCreate,\n canViewSurvey,\n canExportSurvey,\n canExportSurveysList,\n canViewTemplates,\n canEditSurvey,\n canEditSurveyConfig,\n canEditSurveyOwner,\n canEditTemplates,\n canRefreshAllSurveyRdbs,\n // Record\n canCreateRecord,\n canViewRecord,\n canExportAllRecords,\n canViewNotOwnedRecords,\n canExportRecordsList,\n canEditRecord,\n canDeleteRecord,\n canDemoteRecord,\n canChangeRecordOwner,\n canChangeRecordStep,\n canCleanseRecords,\n canExportRecords,\n canImportRecords,\n canAnalyzeRecords,\n canUpdateRecordsStep,\n // Explorer\n canUseExplorer,\n // Map\n canUseMap,\n // Users\n canInviteUsers,\n canViewSurveyUsers,\n canViewUser,\n canViewOtherUsersEmail,\n canViewOtherUsersNameInSameSurvey,\n canViewAllUsers,\n canCreateUsers,\n canEditUser,\n canEditUserEmail,\n canEditUserGroup,\n canRemoveUser,\n canEditUserSurveyManager,\n canEditUserMaxSurveys,\n // User Access Requests\n canViewUsersAccessRequests,\n canEditUsersAccessRequests,\n // Invite\n getUserGroupsCanAssign,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"permission.js","sourceRoot":"","sources":["../../src/auth/permission.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAWX;AAXD,WAAY,UAAU;IACpB,2CAA6B,CAAA;IAC7B,uCAAyB,CAAA;IACzB,2CAA6B,CAAA;IAC7B,uCAAyB,CAAA;IACzB,uCAAyB,CAAA;IACzB,6CAA+B,CAAA;IAC/B,6CAA+B,CAAA;IAC/B,mCAAqB,CAAA;IACrB,uCAAyB,CAAA;IACzB,iDAAmC,CAAA;AACrC,CAAC,EAXW,UAAU,0BAAV,UAAU,QAWrB;AAED,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,mCAAW,CAAA;IACX,mCAAW,CAAA;AACb,CAAC,EAHW,oBAAoB,oCAApB,oBAAoB,QAG/B","sourcesContent":["export enum Permission {\n surveyCreate = 'surveyCreate',\n surveyEdit = 'surveyEdit',\n recordCreate = 'recordCreate',\n recordEdit = 'recordEdit',\n recordView = 'recordView',\n recordCleanse = 'recordCleanse',\n recordAnalyse = 'recordAnalyse',\n userEdit = 'userEdit',\n userInvite = 'userInvite',\n permissionsEdit = 'permissionsEdit',\n}\n\nexport enum RecordStepPermission {\n all = 'all',\n own = 'own',\n}\n"]}
1
+ {"version":3,"file":"permission.js","sourceRoot":"","sources":["../../src/auth/permission.ts"],"names":[],"mappings":";;;AAAA,IAAY,UAWX;AAXD,WAAY,UAAU;IACpB,2CAA6B,CAAA;IAC7B,uCAAyB,CAAA;IACzB,2CAA6B,CAAA;IAC7B,uCAAyB,CAAA;IACzB,uCAAyB,CAAA;IACzB,6CAA+B,CAAA;IAC/B,6CAA+B,CAAA;IAC/B,mCAAqB,CAAA;IACrB,uCAAyB,CAAA;IACzB,iDAAmC,CAAA;AACrC,CAAC,EAXW,UAAU,aAAV,UAAU,GAAV,UAAU,QAWrB;AAED,IAAY,oBAGX;AAHD,WAAY,oBAAoB;IAC9B,mCAAW,CAAA;IACX,mCAAW,CAAA;AACb,CAAC,EAHW,oBAAoB,aAApB,oBAAoB,GAApB,oBAAoB,QAG/B","sourcesContent":["export enum Permission {\n surveyCreate = 'surveyCreate',\n surveyEdit = 'surveyEdit',\n recordCreate = 'recordCreate',\n recordEdit = 'recordEdit',\n recordView = 'recordView',\n recordCleanse = 'recordCleanse',\n recordAnalyse = 'recordAnalyse',\n userEdit = 'userEdit',\n userInvite = 'userInvite',\n permissionsEdit = 'permissionsEdit',\n}\n\nexport enum RecordStepPermission {\n all = 'all',\n own = 'own',\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/auth/user.ts"],"names":[],"mappings":";;;AAGA,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,mCAAqB,CAAA;IACrB,6DAA+C,CAAA;AACjD,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,sBAAS,CAAA;IACT,sBAAS,CAAA;IACT,8CAAiC,CAAA;AACnC,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB","sourcesContent":["import { ArenaObject, Dictionary } from '../common'\nimport { AuthGroup } from './authGroup'\n\nexport enum UserStatus {\n INVITED = 'INVITED',\n ACCEPTED = 'ACCEPTED',\n FORCE_CHANGE_PASSWORD = 'FORCE_CHANGE_PASSWORD',\n}\n\nexport enum UserTitle {\n mr = 'mr',\n ms = 'ms',\n preferNotToSay = 'preferNotToSay',\n}\n\nexport interface UserPrefSurveys {\n [surveyId: number]: { cycle: number }\n current?: number\n}\n\nexport interface UserPrefs {\n surveys?: UserPrefSurveys\n}\n\nexport interface UserProps {\n extra?: Dictionary<any>\n // private props (visible only to the user itself)\n mapApiKeyByProvider?: Dictionary<string>\n // restricted props (editable only by system admins)\n maxSurveys?: number\n title?: UserTitle\n}\n\nexport interface UserInvitation {\n expired: boolean\n}\n\nexport interface UserAuthGroupProps {\n extra: Dictionary<any>\n}\n\nexport interface UserAuthGroup extends AuthGroup {\n props?: UserAuthGroupProps\n}\n\nexport interface User extends ArenaObject<UserProps> {\n authGroups?: UserAuthGroup[]\n email: string\n hasProfilePicture: boolean\n name: string\n prefs?: UserPrefs\n status: UserStatus\n password?: string\n invitation?: UserInvitation\n}\n"]}
1
+ {"version":3,"file":"user.js","sourceRoot":"","sources":["../../src/auth/user.ts"],"names":[],"mappings":";;;AAGA,IAAY,UAIX;AAJD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,mCAAqB,CAAA;IACrB,6DAA+C,CAAA;AACjD,CAAC,EAJW,UAAU,aAAV,UAAU,GAAV,UAAU,QAIrB;AAED,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,sBAAS,CAAA;IACT,sBAAS,CAAA;IACT,8CAAiC,CAAA;AACnC,CAAC,EAJW,SAAS,aAAT,SAAS,GAAT,SAAS,QAIpB","sourcesContent":["import { ArenaObject, Dictionary } from '../common'\nimport { AuthGroup } from './authGroup'\n\nexport enum UserStatus {\n INVITED = 'INVITED',\n ACCEPTED = 'ACCEPTED',\n FORCE_CHANGE_PASSWORD = 'FORCE_CHANGE_PASSWORD',\n}\n\nexport enum UserTitle {\n mr = 'mr',\n ms = 'ms',\n preferNotToSay = 'preferNotToSay',\n}\n\nexport interface UserPrefSurveys {\n [surveyId: number]: { cycle: number }\n current?: number\n}\n\nexport interface UserPrefs {\n surveys?: UserPrefSurveys\n}\n\nexport interface UserProps {\n extra?: Dictionary<any>\n // private props (visible only to the user itself)\n mapApiKeyByProvider?: Dictionary<string>\n // restricted props (editable only by system admins)\n maxSurveys?: number\n title?: UserTitle\n}\n\nexport interface UserInvitation {\n expired: boolean\n}\n\nexport interface UserAuthGroupProps {\n extra: Dictionary<any>\n}\n\nexport interface UserAuthGroup extends AuthGroup {\n props?: UserAuthGroupProps\n}\n\nexport interface User extends ArenaObject<UserProps> {\n authGroups?: UserAuthGroup[]\n email: string\n hasProfilePicture: boolean\n name: string\n prefs?: UserPrefs\n status: UserStatus\n password?: string\n invitation?: UserInvitation\n}\n"]}
@@ -1,14 +1,24 @@
1
1
  import { Dictionary } from '../common';
2
2
  import { AuthGroupName } from './authGroup';
3
3
  import { User, UserAuthGroup } from './user';
4
+ declare const hasAccepted: (user: User) => boolean;
5
+ declare const getAuthGroups: (user: User) => UserAuthGroup[];
6
+ declare const isSystemAdmin: (user: User) => boolean;
7
+ declare const isSurveyManager: (user: User) => boolean;
8
+ declare const getAuthGroupBySurveyUuid: (surveyUuid?: string, includeSystemAdmin?: boolean) => (user: User) => UserAuthGroup | undefined;
9
+ declare const getAuthGroupByName: (groupName: AuthGroupName) => (user: User) => UserAuthGroup | undefined;
10
+ declare const getCombinedExtraProps: (surveyUuid: string) => (user: User) => Dictionary<any>;
11
+ declare const getMaxSurveys: (user: User) => number;
12
+ declare const isEqual: (userToCompare: User) => (user: User) => boolean;
4
13
  export declare const Users: {
5
- hasAccepted: (user: User) => boolean;
6
- getAuthGroups: (user: User) => UserAuthGroup[];
7
- isSystemAdmin: (user: User) => boolean;
8
- isSurveyManager: (user: User) => boolean;
9
- getAuthGroupBySurveyUuid: (surveyUuid?: string, includeSystemAdmin?: boolean) => (user: User) => UserAuthGroup | undefined;
10
- getAuthGroupByName: (groupName: AuthGroupName) => (user: User) => UserAuthGroup | undefined;
11
- getCombinedExtraProps: (surveyUuid: string) => (user: User) => Dictionary<any>;
12
- getMaxSurveys: (user: User) => number;
13
- isEqual: (userToCompare: User) => (user: User) => boolean;
14
+ hasAccepted: typeof hasAccepted;
15
+ getAuthGroups: typeof getAuthGroups;
16
+ isSystemAdmin: typeof isSystemAdmin;
17
+ isSurveyManager: typeof isSurveyManager;
18
+ getAuthGroupBySurveyUuid: typeof getAuthGroupBySurveyUuid;
19
+ getAuthGroupByName: typeof getAuthGroupByName;
20
+ getCombinedExtraProps: typeof getCombinedExtraProps;
21
+ getMaxSurveys: typeof getMaxSurveys;
22
+ isEqual: typeof isEqual;
14
23
  };
24
+ export {};
@@ -21,14 +21,15 @@ const getAuthGroupByName = (groupName) => (user) => {
21
21
  return authGroups.find((group) => group.name === groupName);
22
22
  };
23
23
  const getCombinedExtraProps = (surveyUuid) => (user) => {
24
- var _a, _b, _c;
24
+ var _a;
25
+ var _b, _c;
25
26
  const userSurveyAuthGroup = user ? exports.Users.getAuthGroupBySurveyUuid(surveyUuid)(user) : null;
26
27
  const userAuthGroupExtraProps = (_b = (_a = userSurveyAuthGroup === null || userSurveyAuthGroup === void 0 ? void 0 : userSurveyAuthGroup.props) === null || _a === void 0 ? void 0 : _a.extra) !== null && _b !== void 0 ? _b : {};
27
28
  const userExtraProps = (_c = user === null || user === void 0 ? void 0 : user.props.extra) !== null && _c !== void 0 ? _c : {};
28
29
  // user auth group extra props overwrite user extra props
29
30
  return Object.assign(Object.assign({}, userExtraProps), userAuthGroupExtraProps);
30
31
  };
31
- const getMaxSurveys = (user) => { var _a, _b; return (_b = (_a = user.props) === null || _a === void 0 ? void 0 : _a.maxSurveys) !== null && _b !== void 0 ? _b : defaultMaxSurveys; };
32
+ const getMaxSurveys = (user) => { var _a; var _b; return (_b = (_a = user.props) === null || _a === void 0 ? void 0 : _a.maxSurveys) !== null && _b !== void 0 ? _b : defaultMaxSurveys; };
32
33
  const isEqual = (userToCompare) => (user) => user && userToCompare ? user === userToCompare || user.uuid === userToCompare.uuid : false;
33
34
  exports.Users = {
34
35
  hasAccepted,
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/auth/users.ts"],"names":[],"mappings":";;;AAEA,6CAAyC;AACzC,iCAAwD;AAExD,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAE3B,MAAM,WAAW,GAAG,CAAC,IAAU,EAAW,EAAE,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,MAAK,iBAAU,CAAC,QAAQ,CAAA;AAEjF,MAAM,aAAa,GAAG,CAAC,IAAU,EAAmB,EAAE,WAAC,OAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,mCAAI,EAAE,CAAA,EAAA,CAAA;AAE7E,MAAM,aAAa,GAAG,CAAC,IAAU,EAAW,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAU,CAAC,aAAa,CAAC,CAAA;AAEjG,MAAM,eAAe,GAAG,CAAC,IAAU,EAAW,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAU,CAAC,eAAe,CAAC,CAAA;AAErG,MAAM,wBAAwB,GAC5B,CAAC,UAAmB,EAAE,kBAAkB,GAAG,IAAI,EAAE,EAAE,CACnD,CAAC,IAAU,EAA6B,EAAE;IACxC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IACtC,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAA;IACjC,OAAO,kBAAkB,IAAI,aAAa,CAAC,IAAI,CAAC;QAC9C,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAU,CAAC,aAAa,CAAC;QAC3C,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,KAAK,UAAU,CAAC,CAAA;AACzE,CAAC,CAAA;AAEH,MAAM,kBAAkB,GAAG,CAAC,SAAwB,EAAE,EAAE,CAAC,CAAC,IAAU,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IACtC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,qBAAqB,GACzB,CAAC,UAAkB,EAAE,EAAE,CACvB,CAAC,IAAU,EAAmB,EAAE;;IAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAC,aAAK,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1F,MAAM,uBAAuB,GAAG,MAAA,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,KAAK,mCAAI,EAAE,CAAA;IACvE,MAAM,cAAc,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAA;IAC9C,yDAAyD;IACzD,uCAAY,cAAc,GAAK,uBAAuB,EAAE;AAC1D,CAAC,CAAA;AAEH,MAAM,aAAa,GAAG,CAAC,IAAU,EAAE,EAAE,eAAC,OAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,UAAU,mCAAI,iBAAiB,CAAA,EAAA,CAAA;AAEjF,MAAM,OAAO,GACX,CAAC,aAAmB,EAAE,EAAE,CACxB,CAAC,IAAU,EAAW,EAAE,CACtB,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;AAEjF,QAAA,KAAK,GAAG;IACnB,WAAW;IACX,aAAa;IACb,aAAa;IACb,eAAe;IACf,wBAAwB;IACxB,kBAAkB;IAClB,qBAAqB;IACrB,aAAa;IACb,OAAO;CACR,CAAA","sourcesContent":["import { Dictionary } from '../common'\nimport { AuthGroupName } from './authGroup'\nimport { AuthGroups } from './authGroups'\nimport { User, UserAuthGroup, UserStatus } from './user'\n\nconst defaultMaxSurveys = 5\n\nconst hasAccepted = (user: User): boolean => user?.status === UserStatus.ACCEPTED\n\nconst getAuthGroups = (user: User): UserAuthGroup[] => user?.authGroups ?? []\n\nconst isSystemAdmin = (user: User): boolean => getAuthGroups(user).some(AuthGroups.isSystemAdmin)\n\nconst isSurveyManager = (user: User): boolean => getAuthGroups(user).some(AuthGroups.isSurveyManager)\n\nconst getAuthGroupBySurveyUuid =\n (surveyUuid?: string, includeSystemAdmin = true) =>\n (user: User): UserAuthGroup | undefined => {\n const authGroups = getAuthGroups(user)\n if (!authGroups) return undefined\n return includeSystemAdmin && isSystemAdmin(user)\n ? authGroups.find(AuthGroups.isSystemAdmin)\n : authGroups.find((authGroup) => authGroup.surveyUuid === surveyUuid)\n }\n\nconst getAuthGroupByName = (groupName: AuthGroupName) => (user: User) => {\n const authGroups = getAuthGroups(user)\n return authGroups.find((group) => group.name === groupName)\n}\n\nconst getCombinedExtraProps =\n (surveyUuid: string) =>\n (user: User): Dictionary<any> => {\n const userSurveyAuthGroup = user ? Users.getAuthGroupBySurveyUuid(surveyUuid)(user) : null\n const userAuthGroupExtraProps = userSurveyAuthGroup?.props?.extra ?? {}\n const userExtraProps = user?.props.extra ?? {}\n // user auth group extra props overwrite user extra props\n return { ...userExtraProps, ...userAuthGroupExtraProps }\n }\n\nconst getMaxSurveys = (user: User) => user.props?.maxSurveys ?? defaultMaxSurveys\n\nconst isEqual =\n (userToCompare: User) =>\n (user: User): boolean =>\n user && userToCompare ? user === userToCompare || user.uuid === userToCompare.uuid : false\n\nexport const Users = {\n hasAccepted,\n getAuthGroups,\n isSystemAdmin,\n isSurveyManager,\n getAuthGroupBySurveyUuid,\n getAuthGroupByName,\n getCombinedExtraProps,\n getMaxSurveys,\n isEqual,\n}\n"]}
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/auth/users.ts"],"names":[],"mappings":";;;AAEA,6CAAyC;AACzC,iCAAwD;AAExD,MAAM,iBAAiB,GAAG,CAAC,CAAA;AAE3B,MAAM,WAAW,GAAG,CAAC,IAAU,EAAW,EAAE,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,MAAK,iBAAU,CAAC,QAAQ,CAAA;AAEjF,MAAM,aAAa,GAAG,CAAC,IAAU,EAAmB,EAAE,wBAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,mCAAI,EAAE,GAAA,CAAA;AAE7E,MAAM,aAAa,GAAG,CAAC,IAAU,EAAW,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAU,CAAC,aAAa,CAAC,CAAA;AAEjG,MAAM,eAAe,GAAG,CAAC,IAAU,EAAW,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,uBAAU,CAAC,eAAe,CAAC,CAAA;AAErG,MAAM,wBAAwB,GAC5B,CAAC,UAAmB,EAAE,kBAAkB,GAAG,IAAI,EAAE,EAAE,CACnD,CAAC,IAAU,EAA6B,EAAE;IACxC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IACtC,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAA;IACjC,OAAO,kBAAkB,IAAI,aAAa,CAAC,IAAI,CAAC;QAC9C,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,uBAAU,CAAC,aAAa,CAAC;QAC3C,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,KAAK,UAAU,CAAC,CAAA;AACzE,CAAC,CAAA;AAEH,MAAM,kBAAkB,GAAG,CAAC,SAAwB,EAAE,EAAE,CAAC,CAAC,IAAU,EAAE,EAAE;IACtE,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;IACtC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAA;AAC7D,CAAC,CAAA;AAED,MAAM,qBAAqB,GACzB,CAAC,UAAkB,EAAE,EAAE,CACvB,CAAC,IAAU,EAAmB,EAAE;;;IAC9B,MAAM,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAC,QAAA,KAAK,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC1F,MAAM,uBAAuB,SAAG,MAAA,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,KAAK,0CAAE,KAAK,mCAAI,EAAE,CAAA;IACvE,MAAM,cAAc,SAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,CAAC,KAAK,mCAAI,EAAE,CAAA;IAC9C,yDAAyD;IACzD,uCAAY,cAAc,GAAK,uBAAuB,EAAE;AAC1D,CAAC,CAAA;AAEH,MAAM,aAAa,GAAG,CAAC,IAAU,EAAE,EAAE,gCAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,UAAU,mCAAI,iBAAiB,GAAA,CAAA;AAEjF,MAAM,OAAO,GACX,CAAC,aAAmB,EAAE,EAAE,CACxB,CAAC,IAAU,EAAW,EAAE,CACtB,IAAI,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,KAAK,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;AAEjF,QAAA,KAAK,GAAG;IACnB,WAAW;IACX,aAAa;IACb,aAAa;IACb,eAAe;IACf,wBAAwB;IACxB,kBAAkB;IAClB,qBAAqB;IACrB,aAAa;IACb,OAAO;CACR,CAAA","sourcesContent":["import { Dictionary } from '../common'\nimport { AuthGroupName } from './authGroup'\nimport { AuthGroups } from './authGroups'\nimport { User, UserAuthGroup, UserStatus } from './user'\n\nconst defaultMaxSurveys = 5\n\nconst hasAccepted = (user: User): boolean => user?.status === UserStatus.ACCEPTED\n\nconst getAuthGroups = (user: User): UserAuthGroup[] => user?.authGroups ?? []\n\nconst isSystemAdmin = (user: User): boolean => getAuthGroups(user).some(AuthGroups.isSystemAdmin)\n\nconst isSurveyManager = (user: User): boolean => getAuthGroups(user).some(AuthGroups.isSurveyManager)\n\nconst getAuthGroupBySurveyUuid =\n (surveyUuid?: string, includeSystemAdmin = true) =>\n (user: User): UserAuthGroup | undefined => {\n const authGroups = getAuthGroups(user)\n if (!authGroups) return undefined\n return includeSystemAdmin && isSystemAdmin(user)\n ? authGroups.find(AuthGroups.isSystemAdmin)\n : authGroups.find((authGroup) => authGroup.surveyUuid === surveyUuid)\n }\n\nconst getAuthGroupByName = (groupName: AuthGroupName) => (user: User) => {\n const authGroups = getAuthGroups(user)\n return authGroups.find((group) => group.name === groupName)\n}\n\nconst getCombinedExtraProps =\n (surveyUuid: string) =>\n (user: User): Dictionary<any> => {\n const userSurveyAuthGroup = user ? Users.getAuthGroupBySurveyUuid(surveyUuid)(user) : null\n const userAuthGroupExtraProps = userSurveyAuthGroup?.props?.extra ?? {}\n const userExtraProps = user?.props.extra ?? {}\n // user auth group extra props overwrite user extra props\n return { ...userExtraProps, ...userAuthGroupExtraProps }\n }\n\nconst getMaxSurveys = (user: User) => user.props?.maxSurveys ?? defaultMaxSurveys\n\nconst isEqual =\n (userToCompare: User) =>\n (user: User): boolean =>\n user && userToCompare ? user === userToCompare || user.uuid === userToCompare.uuid : false\n\nexport const Users = {\n hasAccepted,\n getAuthGroups,\n isSystemAdmin,\n isSurveyManager,\n getAuthGroupBySurveyUuid,\n getAuthGroupByName,\n getCombinedExtraProps,\n getMaxSurveys,\n isEqual,\n}\n"]}
@@ -1,7 +1,11 @@
1
1
  import { ExtraPropDef, ExtraPropDefs } from '../extraProp';
2
2
  import { Category } from './category';
3
+ declare const getExtraPropDefs: (category: Category) => ExtraPropDefs | undefined;
4
+ declare const getExtraPropDefNames: (category: Category) => string[];
5
+ declare const getExtraPropDefByName: (name: string) => (category: Category) => ExtraPropDef | undefined;
3
6
  export declare const Categories: {
4
- getExtraPropDefs: (category: Category) => ExtraPropDefs | undefined;
5
- getExtraPropDefNames: (category: Category) => string[];
6
- getExtraPropDefByName: (name: string) => (category: Category) => ExtraPropDef | undefined;
7
+ getExtraPropDefs: typeof getExtraPropDefs;
8
+ getExtraPropDefNames: typeof getExtraPropDefNames;
9
+ getExtraPropDefByName: typeof getExtraPropDefByName;
7
10
  };
11
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/category/categories.ts"],"names":[],"mappings":";;;AAGA,MAAM,gBAAgB,GAAG,CAAC,QAAkB,EAA6B,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAA;AAEvG,MAAM,oBAAoB,GAAG,CAAC,QAAkB,EAAY,EAAE,WAAC,OAAA,MAAM,CAAC,IAAI,CAAC,MAAA,gBAAgB,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC,CAAA,EAAA,CAAA;AAE5G,MAAM,qBAAqB,GACzB,CAAC,IAAY,EAAE,EAAE,CACjB,CAAC,QAAkB,EAA4B,EAAE,WAC/C,OAAA,MAAA,gBAAgB,CAAC,QAAQ,CAAC,0CAAG,IAAI,CAAC,CAAA,EAAA,CAAA;AAEzB,QAAA,UAAU,GAAG;IACxB,gBAAgB;IAChB,oBAAoB;IACpB,qBAAqB;CACtB,CAAA","sourcesContent":["import { ExtraPropDef, ExtraPropDefs } from '../extraProp'\nimport { Category } from './category'\n\nconst getExtraPropDefs = (category: Category): ExtraPropDefs | undefined => category.props.itemExtraDef\n\nconst getExtraPropDefNames = (category: Category): string[] => Object.keys(getExtraPropDefs(category) ?? {})\n\nconst getExtraPropDefByName =\n (name: string) =>\n (category: Category): ExtraPropDef | undefined =>\n getExtraPropDefs(category)?.[name]\n\nexport const Categories = {\n getExtraPropDefs,\n getExtraPropDefNames,\n getExtraPropDefByName,\n}\n"]}
1
+ {"version":3,"file":"categories.js","sourceRoot":"","sources":["../../src/category/categories.ts"],"names":[],"mappings":";;;AAGA,MAAM,gBAAgB,GAAG,CAAC,QAAkB,EAA6B,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,YAAY,CAAA;AAEvG,MAAM,oBAAoB,GAAG,CAAC,QAAkB,EAAY,EAAE,kBAAC,MAAM,CAAC,IAAI,OAAC,gBAAgB,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAC,GAAA,CAAA;AAE5G,MAAM,qBAAqB,GACzB,CAAC,IAAY,EAAE,EAAE,CACjB,CAAC,QAAkB,EAA4B,EAAE,kBAC/C,MAAA,gBAAgB,CAAC,QAAQ,CAAC,0CAAG,IAAI,CAAC,GAAA,CAAA;AAEzB,QAAA,UAAU,GAAG;IACxB,gBAAgB;IAChB,oBAAoB;IACpB,qBAAqB;CACtB,CAAA","sourcesContent":["import { ExtraPropDef, ExtraPropDefs } from '../extraProp'\nimport { Category } from './category'\n\nconst getExtraPropDefs = (category: Category): ExtraPropDefs | undefined => category.props.itemExtraDef\n\nconst getExtraPropDefNames = (category: Category): string[] => Object.keys(getExtraPropDefs(category) ?? {})\n\nconst getExtraPropDefByName =\n (name: string) =>\n (category: Category): ExtraPropDef | undefined =>\n getExtraPropDefs(category)?.[name]\n\nexport const Categories = {\n getExtraPropDefs,\n getExtraPropDefNames,\n getExtraPropDefByName,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"categoryImportSummary.js","sourceRoot":"","sources":["../../src/category/categoryImportSummary.ts"],"names":[],"mappings":";;;AAGA,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAClC,yCAAa,CAAA;IACb,uDAA2B,CAAA;IAC3B,2CAAe,CAAA;IACf,2CAAe,CAAA;AACjB,CAAC,EALW,wBAAwB,wCAAxB,wBAAwB,QAKnC","sourcesContent":["import { ExtraPropDataType } from '../extraProp'\nimport { LanguageCode } from '../language'\n\nexport enum CategoryImportColumnType {\n code = 'code',\n description = 'description',\n extra = 'extra',\n label = 'label',\n}\n\nexport interface CategoryImportSummaryColumn {\n dataType: ExtraPropDataType\n lang: LanguageCode\n levelIndex: number\n levelName: string\n name: string\n type: CategoryImportColumnType\n}\n\nexport interface CategoryImportSummary {\n columns: { [key: string]: CategoryImportSummaryColumn }\n filePath: string\n}\n"]}
1
+ {"version":3,"file":"categoryImportSummary.js","sourceRoot":"","sources":["../../src/category/categoryImportSummary.ts"],"names":[],"mappings":";;;AAGA,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAClC,yCAAa,CAAA;IACb,uDAA2B,CAAA;IAC3B,2CAAe,CAAA;IACf,2CAAe,CAAA;AACjB,CAAC,EALW,wBAAwB,aAAxB,wBAAwB,GAAxB,wBAAwB,QAKnC","sourcesContent":["import { ExtraPropDataType } from '../extraProp'\nimport { LanguageCode } from '../language'\n\nexport enum CategoryImportColumnType {\n code = 'code',\n description = 'description',\n extra = 'extra',\n label = 'label',\n}\n\nexport interface CategoryImportSummaryColumn {\n dataType: ExtraPropDataType\n lang: LanguageCode\n levelIndex: number\n levelName: string\n name: string\n type: CategoryImportColumnType\n}\n\nexport interface CategoryImportSummary {\n columns: { [key: string]: CategoryImportSummaryColumn }\n filePath: string\n}\n"]}
@@ -1,8 +1,10 @@
1
1
  import { CategoryItem } from './item';
2
2
  import { Survey } from '../survey';
3
+ declare const generateItem: (params: {
4
+ survey: Survey;
5
+ categoryUuid: string;
6
+ }) => CategoryItem | null;
3
7
  export declare const CategoryItemGenerator: {
4
- generateItem: (params: {
5
- survey: Survey;
6
- categoryUuid: string;
7
- }) => CategoryItem | null;
8
+ generateItem: typeof generateItem;
8
9
  };
10
+ export {};
@@ -1,8 +1,13 @@
1
1
  import { LanguageCode } from '../language';
2
2
  import { CategoryItem } from './item';
3
+ declare const getCode: (item: CategoryItem) => string;
4
+ declare const getIndex: (item: CategoryItem) => number;
5
+ declare const getLabel: (item: CategoryItem, lang: LanguageCode, defaultToCode?: boolean) => string;
6
+ declare const getLabelWithCode: (item: CategoryItem, lang: LanguageCode) => string;
3
7
  export declare const CategoryItems: {
4
- getCode: (item: CategoryItem) => string;
5
- getIndex: (item: CategoryItem) => number;
6
- getLabel: (item: CategoryItem, lang: LanguageCode, defaultToCode?: boolean) => string;
7
- getLabelWithCode: (item: CategoryItem, lang: LanguageCode) => string;
8
+ getCode: typeof getCode;
9
+ getIndex: typeof getIndex;
10
+ getLabel: typeof getLabel;
11
+ getLabelWithCode: typeof getLabelWithCode;
8
12
  };
13
+ export {};
@@ -4,7 +4,8 @@ exports.CategoryItems = void 0;
4
4
  const getCode = (item) => { var _a; return (_a = item.props.code) !== null && _a !== void 0 ? _a : ''; };
5
5
  const getIndex = (item) => { var _a; return (_a = item.props.index) !== null && _a !== void 0 ? _a : Number.NaN; };
6
6
  const getLabel = (item, lang, defaultToCode) => {
7
- var _a, _b;
7
+ var _a;
8
+ var _b;
8
9
  const label = (_b = (_a = item.props.labels) === null || _a === void 0 ? void 0 : _a[lang]) !== null && _b !== void 0 ? _b : '';
9
10
  return !label && defaultToCode ? getCode(item) : label;
10
11
  };
@@ -1 +1 @@
1
- {"version":3,"file":"categoryItems.js","sourceRoot":"","sources":["../../src/category/categoryItems.ts"],"names":[],"mappings":";;;AAGA,MAAM,OAAO,GAAG,CAAC,IAAkB,EAAU,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAA,EAAA,CAAA;AAErE,MAAM,QAAQ,GAAG,CAAC,IAAkB,EAAU,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,mCAAI,MAAM,CAAC,GAAG,CAAA,EAAA,CAAA;AAE/E,MAAM,QAAQ,GAAG,CAAC,IAAkB,EAAE,IAAkB,EAAE,aAAuB,EAAU,EAAE;;IAC3F,MAAM,KAAK,GAAG,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAG,IAAI,CAAC,mCAAI,EAAE,CAAA;IAC7C,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AACxD,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAkB,EAAE,IAAkB,EAAU,EAAE;IAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAClC,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;AAC5C,CAAC,CAAA;AAEY,QAAA,aAAa,GAAG;IAC3B,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,gBAAgB;CACjB,CAAA","sourcesContent":["import { LanguageCode } from '../language'\nimport { CategoryItem } from './item'\n\nconst getCode = (item: CategoryItem): string => item.props.code ?? ''\n\nconst getIndex = (item: CategoryItem): number => item.props.index ?? Number.NaN\n\nconst getLabel = (item: CategoryItem, lang: LanguageCode, defaultToCode?: boolean): string => {\n const label = item.props.labels?.[lang] ?? ''\n return !label && defaultToCode ? getCode(item) : label\n}\n\nconst getLabelWithCode = (item: CategoryItem, lang: LanguageCode): string => {\n const code = getCode(item)\n const label = getLabel(item, lang)\n return label ? `${label} (${code})` : code\n}\n\nexport const CategoryItems = {\n getCode,\n getIndex,\n getLabel,\n getLabelWithCode,\n}\n"]}
1
+ {"version":3,"file":"categoryItems.js","sourceRoot":"","sources":["../../src/category/categoryItems.ts"],"names":[],"mappings":";;;AAGA,MAAM,OAAO,GAAG,CAAC,IAAkB,EAAU,EAAE,wBAAC,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,EAAE,GAAA,CAAA;AAErE,MAAM,QAAQ,GAAG,CAAC,IAAkB,EAAU,EAAE,wBAAC,IAAI,CAAC,KAAK,CAAC,KAAK,mCAAI,MAAM,CAAC,GAAG,GAAA,CAAA;AAE/E,MAAM,QAAQ,GAAG,CAAC,IAAkB,EAAE,IAAkB,EAAE,aAAuB,EAAU,EAAE;;;IAC3F,MAAM,KAAK,SAAG,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,0CAAG,IAAI,CAAC,mCAAI,EAAE,CAAA;IAC7C,OAAO,CAAC,KAAK,IAAI,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;AACxD,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAG,CAAC,IAAkB,EAAE,IAAkB,EAAU,EAAE;IAC1E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAClC,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,CAAA;AAC5C,CAAC,CAAA;AAEY,QAAA,aAAa,GAAG;IAC3B,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,gBAAgB;CACjB,CAAA","sourcesContent":["import { LanguageCode } from '../language'\nimport { CategoryItem } from './item'\n\nconst getCode = (item: CategoryItem): string => item.props.code ?? ''\n\nconst getIndex = (item: CategoryItem): number => item.props.index ?? Number.NaN\n\nconst getLabel = (item: CategoryItem, lang: LanguageCode, defaultToCode?: boolean): string => {\n const label = item.props.labels?.[lang] ?? ''\n return !label && defaultToCode ? getCode(item) : label\n}\n\nconst getLabelWithCode = (item: CategoryItem, lang: LanguageCode): string => {\n const code = getCode(item)\n const label = getLabel(item, lang)\n return label ? `${label} (${code})` : code\n}\n\nexport const CategoryItems = {\n getCode,\n getIndex,\n getLabel,\n getLabelWithCode,\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/category/factory.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAWnB,QAAA,eAAe,GAA6C;IACvE,cAAc,EAAE,CAAC,MAA8B,EAAY,EAAE;QAC3D,MAAM,YAAY,GAAG;YACnB,KAAK,EAAE,EAAE;SACV,CAAA;QAED,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mCAC7B,YAAY,GACZ,MAAM,CACV,CAAA;QAED,MAAM,QAAQ,GAAG;YACf,MAAM;YACN,KAAK;YACL,SAAS;YACT,IAAI,EAAE,aAAK,CAAC,EAAE,EAAE;SACjB,CAAA;QACD,uCACK,QAAQ,KACX,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI;gBAChB,CAAC,EAAE,4BAAoB,CAAC,cAAc,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;aAC9G,IACF;IACH,CAAC;CACF,CAAA;AAQY,QAAA,oBAAoB,GAAuD;IACtF,cAAc,EAAE,CAAC,MAAmC,EAAiB,EAAE;QACrE,MAAM,YAAY,GAAG;YACnB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,CAAC;SACT,CAAA;QAED,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,mCAC/B,YAAY,GACZ,MAAM,CACV,CAAA;QAED,OAAO;YACL,YAAY;YACZ,KAAK;YACL,KAAK;YACL,IAAI,EAAE,aAAK,CAAC,EAAE,EAAE;SACjB,CAAA;IACH,CAAC;CACF,CAAA;AAQY,QAAA,mBAAmB,GAAqD;IACnF,cAAc,EAAE,CAAC,MAAkC,EAAgB,EAAE;QACnE,MAAM,YAAY,GAAG;YACnB,KAAK,EAAE,EAAE;SACV,CAAA;QAED,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,mCACjC,YAAY,GACZ,MAAM,CACV,CAAA;QAED,OAAO;YACL,IAAI,EAAE,aAAK,CAAC,EAAE,EAAE;YAChB,SAAS;YACT,UAAU;YACV,KAAK;SACN,CAAA;IACH,CAAC;CACF,CAAA","sourcesContent":["import { Dictionary, Factory } from '../common'\nimport { UUIDs } from '../utils'\nimport { Category, CategoryProps } from './category'\nimport { CategoryItem, CategoryItemProps } from './item'\nimport { CategoryLevel, CategoryLevelProps } from './level'\n\nexport type CategoryFactoryParams = {\n props?: CategoryProps\n levels?: Dictionary<CategoryLevel>\n published?: boolean\n}\n\nexport const CategoryFactory: Factory<Category, CategoryFactoryParams> = {\n createInstance: (params?: CategoryFactoryParams): Category => {\n const defaultProps = {\n props: {},\n }\n\n const { published, props, levels } = {\n ...defaultProps,\n ...params,\n }\n\n const category = {\n levels,\n props,\n published,\n uuid: UUIDs.v4(),\n }\n return {\n ...category,\n levels: levels ?? {\n 0: CategoryLevelFactory.createInstance({ categoryUuid: category.uuid, index: 0, props: { name: 'level_1' } }),\n },\n }\n },\n}\n\nexport type CategoryLevelFactoryParams = {\n index?: number\n props?: CategoryLevelProps\n categoryUuid: string\n}\n\nexport const CategoryLevelFactory: Factory<CategoryLevel, CategoryLevelFactoryParams> = {\n createInstance: (params?: CategoryLevelFactoryParams): CategoryLevel => {\n const defaultProps = {\n props: {},\n index: 0,\n }\n\n const { index, categoryUuid, props } = {\n ...defaultProps,\n ...params,\n }\n\n return {\n categoryUuid,\n index,\n props,\n uuid: UUIDs.v4(),\n }\n },\n}\n\nexport type CategoryItemFactoryParams = {\n levelUuid: string\n parentUuid?: string\n props?: CategoryItemProps\n}\n\nexport const CategoryItemFactory: Factory<CategoryItem, CategoryItemFactoryParams> = {\n createInstance: (params?: CategoryItemFactoryParams): CategoryItem => {\n const defaultProps = {\n props: {},\n }\n\n const { levelUuid, parentUuid, props } = {\n ...defaultProps,\n ...params,\n }\n\n return {\n uuid: UUIDs.v4(),\n levelUuid,\n parentUuid,\n props,\n }\n },\n}\n"]}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/category/factory.ts"],"names":[],"mappings":";;;AACA,oCAAgC;AAWnB,QAAA,eAAe,GAA6C;IACvE,cAAc,EAAE,CAAC,MAA8B,EAAY,EAAE;QAC3D,MAAM,YAAY,GAAG;YACnB,KAAK,EAAE,EAAE;SACV,CAAA;QAED,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,mCAC7B,YAAY,GACZ,MAAM,CACV,CAAA;QAED,MAAM,QAAQ,GAAG;YACf,MAAM;YACN,KAAK;YACL,SAAS;YACT,IAAI,EAAE,aAAK,CAAC,EAAE,EAAE;SACjB,CAAA;QACD,uCACK,QAAQ,KACX,MAAM,EAAE,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI;gBAChB,CAAC,EAAE,QAAA,oBAAoB,CAAC,cAAc,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC;aAC9G,IACF;IACH,CAAC;CACF,CAAA;AAQY,QAAA,oBAAoB,GAAuD;IACtF,cAAc,EAAE,CAAC,MAAmC,EAAiB,EAAE;QACrE,MAAM,YAAY,GAAG;YACnB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,CAAC;SACT,CAAA;QAED,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,mCAC/B,YAAY,GACZ,MAAM,CACV,CAAA;QAED,OAAO;YACL,YAAY;YACZ,KAAK;YACL,KAAK;YACL,IAAI,EAAE,aAAK,CAAC,EAAE,EAAE;SACjB,CAAA;IACH,CAAC;CACF,CAAA;AAQY,QAAA,mBAAmB,GAAqD;IACnF,cAAc,EAAE,CAAC,MAAkC,EAAgB,EAAE;QACnE,MAAM,YAAY,GAAG;YACnB,KAAK,EAAE,EAAE;SACV,CAAA;QAED,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,mCACjC,YAAY,GACZ,MAAM,CACV,CAAA;QAED,OAAO;YACL,IAAI,EAAE,aAAK,CAAC,EAAE,EAAE;YAChB,SAAS;YACT,UAAU;YACV,KAAK;SACN,CAAA;IACH,CAAC;CACF,CAAA","sourcesContent":["import { Dictionary, Factory } from '../common'\nimport { UUIDs } from '../utils'\nimport { Category, CategoryProps } from './category'\nimport { CategoryItem, CategoryItemProps } from './item'\nimport { CategoryLevel, CategoryLevelProps } from './level'\n\nexport type CategoryFactoryParams = {\n props?: CategoryProps\n levels?: Dictionary<CategoryLevel>\n published?: boolean\n}\n\nexport const CategoryFactory: Factory<Category, CategoryFactoryParams> = {\n createInstance: (params?: CategoryFactoryParams): Category => {\n const defaultProps = {\n props: {},\n }\n\n const { published, props, levels } = {\n ...defaultProps,\n ...params,\n }\n\n const category = {\n levels,\n props,\n published,\n uuid: UUIDs.v4(),\n }\n return {\n ...category,\n levels: levels ?? {\n 0: CategoryLevelFactory.createInstance({ categoryUuid: category.uuid, index: 0, props: { name: 'level_1' } }),\n },\n }\n },\n}\n\nexport type CategoryLevelFactoryParams = {\n index?: number\n props?: CategoryLevelProps\n categoryUuid: string\n}\n\nexport const CategoryLevelFactory: Factory<CategoryLevel, CategoryLevelFactoryParams> = {\n createInstance: (params?: CategoryLevelFactoryParams): CategoryLevel => {\n const defaultProps = {\n props: {},\n index: 0,\n }\n\n const { index, categoryUuid, props } = {\n ...defaultProps,\n ...params,\n }\n\n return {\n categoryUuid,\n index,\n props,\n uuid: UUIDs.v4(),\n }\n },\n}\n\nexport type CategoryItemFactoryParams = {\n levelUuid: string\n parentUuid?: string\n props?: CategoryItemProps\n}\n\nexport const CategoryItemFactory: Factory<CategoryItem, CategoryItemFactoryParams> = {\n createInstance: (params?: CategoryItemFactoryParams): CategoryItem => {\n const defaultProps = {\n props: {},\n }\n\n const { levelUuid, parentUuid, props } = {\n ...defaultProps,\n ...params,\n }\n\n return {\n uuid: UUIDs.v4(),\n levelUuid,\n parentUuid,\n props,\n }\n },\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain/chain.ts"],"names":[],"mappings":";;;AAIA,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;AACrB,CAAC,EAJW,eAAe,+BAAf,eAAe,QAI1B","sourcesContent":["import { ArenaObject } from '../common'\nimport { Labels } from '../language'\nimport { Validation } from '../validation'\n\nexport enum ChainStatusExec {\n error = 'error',\n running = 'running',\n success = 'success',\n}\n\nexport interface ChainProps {\n descriptions?: Labels\n labels?: Labels\n}\n\nexport interface Chain extends ArenaObject<ChainProps> {\n dateCreated?: string\n dateExecuted?: string\n dateModified?: string\n scriptCommon?: string\n statusExec?: string\n validation: Validation\n temporary?: boolean\n}\n"]}
1
+ {"version":3,"file":"chain.js","sourceRoot":"","sources":["../../src/chain/chain.ts"],"names":[],"mappings":";;;AAIA,IAAY,eAIX;AAJD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,sCAAmB,CAAA;IACnB,sCAAmB,CAAA;AACrB,CAAC,EAJW,eAAe,aAAf,eAAe,GAAf,eAAe,QAI1B","sourcesContent":["import { ArenaObject } from '../common'\nimport { Labels } from '../language'\nimport { Validation } from '../validation'\n\nexport enum ChainStatusExec {\n error = 'error',\n running = 'running',\n success = 'success',\n}\n\nexport interface ChainProps {\n descriptions?: Labels\n labels?: Labels\n}\n\nexport interface Chain extends ArenaObject<ChainProps> {\n dateCreated?: string\n dateExecuted?: string\n dateModified?: string\n scriptCommon?: string\n statusExec?: string\n validation: Validation\n temporary?: 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","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
+ {"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,aAAd,cAAc,GAAd,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"]}