@ngageoint/mage.service 6.2.2

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 (869) hide show
  1. package/bin/mage.service.js +230 -0
  2. package/bin/migration.js +60 -0
  3. package/bin/poststop.sh +1 -0
  4. package/bin/prestart.sh +1 -0
  5. package/lib/@types/express/index.d.ts +18 -0
  6. package/lib/@types/geojson-validation/index.d.ts +15 -0
  7. package/lib/@types/mongodb-migrations/index.d.ts +99 -0
  8. package/lib/access/index.d.ts +21 -0
  9. package/lib/access/index.d.ts.map +1 -0
  10. package/lib/access/index.js +40 -0
  11. package/lib/access/index.js.map +1 -0
  12. package/lib/adapters/adapters.controllers.web.d.ts +22 -0
  13. package/lib/adapters/adapters.controllers.web.d.ts.map +1 -0
  14. package/lib/adapters/adapters.controllers.web.js +55 -0
  15. package/lib/adapters/adapters.controllers.web.js.map +1 -0
  16. package/lib/adapters/adapters.db.mongoose.d.ts +5 -0
  17. package/lib/adapters/adapters.db.mongoose.d.ts.map +1 -0
  18. package/lib/adapters/adapters.db.mongoose.js +70 -0
  19. package/lib/adapters/adapters.db.mongoose.js.map +1 -0
  20. package/lib/adapters/adapters.simple_id_factory.d.ts +5 -0
  21. package/lib/adapters/adapters.simple_id_factory.d.ts.map +1 -0
  22. package/lib/adapters/adapters.simple_id_factory.js +24 -0
  23. package/lib/adapters/adapters.simple_id_factory.js.map +1 -0
  24. package/lib/adapters/base/adapters.base.db.mongoose.d.ts +59 -0
  25. package/lib/adapters/base/adapters.base.db.mongoose.d.ts.map +1 -0
  26. package/lib/adapters/base/adapters.base.db.mongoose.js +143 -0
  27. package/lib/adapters/base/adapters.base.db.mongoose.js.map +1 -0
  28. package/lib/adapters/events/adapters.events.controllers.web.d.ts +14 -0
  29. package/lib/adapters/events/adapters.events.controllers.web.d.ts.map +1 -0
  30. package/lib/adapters/events/adapters.events.controllers.web.js +83 -0
  31. package/lib/adapters/events/adapters.events.controllers.web.js.map +1 -0
  32. package/lib/adapters/events/adapters.events.db.mongoose.d.ts +27 -0
  33. package/lib/adapters/events/adapters.events.db.mongoose.d.ts.map +1 -0
  34. package/lib/adapters/events/adapters.events.db.mongoose.js +127 -0
  35. package/lib/adapters/events/adapters.events.db.mongoose.js.map +1 -0
  36. package/lib/adapters/feeds/adapters.feeds.controllers.web.d.ts +25 -0
  37. package/lib/adapters/feeds/adapters.feeds.controllers.web.d.ts.map +1 -0
  38. package/lib/adapters/feeds/adapters.feeds.controllers.web.js +234 -0
  39. package/lib/adapters/feeds/adapters.feeds.controllers.web.js.map +1 -0
  40. package/lib/adapters/feeds/adapters.feeds.db.mongoose.d.ts +63 -0
  41. package/lib/adapters/feeds/adapters.feeds.db.mongoose.d.ts.map +1 -0
  42. package/lib/adapters/feeds/adapters.feeds.db.mongoose.js +199 -0
  43. package/lib/adapters/feeds/adapters.feeds.db.mongoose.js.map +1 -0
  44. package/lib/adapters/icons/adapters.icons.content_store.file_system.d.ts +7 -0
  45. package/lib/adapters/icons/adapters.icons.content_store.file_system.d.ts.map +1 -0
  46. package/lib/adapters/icons/adapters.icons.content_store.file_system.js +13 -0
  47. package/lib/adapters/icons/adapters.icons.content_store.file_system.js.map +1 -0
  48. package/lib/adapters/icons/adapters.icons.controllers.web.d.ts +10 -0
  49. package/lib/adapters/icons/adapters.icons.controllers.web.d.ts.map +1 -0
  50. package/lib/adapters/icons/adapters.icons.controllers.web.js +118 -0
  51. package/lib/adapters/icons/adapters.icons.controllers.web.js.map +1 -0
  52. package/lib/adapters/icons/adapters.icons.db.mongoose.d.ts +38 -0
  53. package/lib/adapters/icons/adapters.icons.db.mongoose.d.ts.map +1 -0
  54. package/lib/adapters/icons/adapters.icons.db.mongoose.js +287 -0
  55. package/lib/adapters/icons/adapters.icons.db.mongoose.js.map +1 -0
  56. package/lib/adapters/observations/adapters.observations.attachment_store.file_system.d.ts +29 -0
  57. package/lib/adapters/observations/adapters.observations.attachment_store.file_system.d.ts.map +1 -0
  58. package/lib/adapters/observations/adapters.observations.attachment_store.file_system.js +274 -0
  59. package/lib/adapters/observations/adapters.observations.attachment_store.file_system.js.map +1 -0
  60. package/lib/adapters/observations/adapters.observations.controllers.web.d.ts +40 -0
  61. package/lib/adapters/observations/adapters.observations.controllers.web.d.ts.map +1 -0
  62. package/lib/adapters/observations/adapters.observations.controllers.web.js +196 -0
  63. package/lib/adapters/observations/adapters.observations.controllers.web.js.map +1 -0
  64. package/lib/adapters/observations/adapters.observations.db.mongoose.d.ts +30 -0
  65. package/lib/adapters/observations/adapters.observations.db.mongoose.d.ts.map +1 -0
  66. package/lib/adapters/observations/adapters.observations.db.mongoose.js +294 -0
  67. package/lib/adapters/observations/adapters.observations.db.mongoose.js.map +1 -0
  68. package/lib/adapters/plugins/adapters.plugins.db.mongoose.d.ts +17 -0
  69. package/lib/adapters/plugins/adapters.plugins.db.mongoose.d.ts.map +1 -0
  70. package/lib/adapters/plugins/adapters.plugins.db.mongoose.js +59 -0
  71. package/lib/adapters/plugins/adapters.plugins.db.mongoose.js.map +1 -0
  72. package/lib/adapters/url_schemes/adapters.url_schemes.plugin.d.ts +38 -0
  73. package/lib/adapters/url_schemes/adapters.url_schemes.plugin.d.ts.map +1 -0
  74. package/lib/adapters/url_schemes/adapters.url_schemes.plugin.js +110 -0
  75. package/lib/adapters/url_schemes/adapters.url_schemes.plugin.js.map +1 -0
  76. package/lib/adapters/users/adapters.users.controllers.web.d.ts +7 -0
  77. package/lib/adapters/users/adapters.users.controllers.web.d.ts.map +1 -0
  78. package/lib/adapters/users/adapters.users.controllers.web.js +37 -0
  79. package/lib/adapters/users/adapters.users.controllers.web.js.map +1 -0
  80. package/lib/adapters/users/adapters.users.db.mongoose.d.ts +19 -0
  81. package/lib/adapters/users/adapters.users.db.mongoose.d.ts.map +1 -0
  82. package/lib/adapters/users/adapters.users.db.mongoose.js +126 -0
  83. package/lib/adapters/users/adapters.users.db.mongoose.js.map +1 -0
  84. package/lib/adapters/web_ui_plugins/adapters.web_ui_plugins.controllers.web.d.ts +3 -0
  85. package/lib/adapters/web_ui_plugins/adapters.web_ui_plugins.controllers.web.d.ts.map +1 -0
  86. package/lib/adapters/web_ui_plugins/adapters.web_ui_plugins.controllers.web.js +53 -0
  87. package/lib/adapters/web_ui_plugins/adapters.web_ui_plugins.controllers.web.js.map +1 -0
  88. package/lib/api/attachment.d.ts +12 -0
  89. package/lib/api/attachment.d.ts.map +1 -0
  90. package/lib/api/attachment.js +81 -0
  91. package/lib/api/attachment.js.map +1 -0
  92. package/lib/api/event.d.ts +20 -0
  93. package/lib/api/event.d.ts.map +1 -0
  94. package/lib/api/event.js +185 -0
  95. package/lib/api/event.js.map +1 -0
  96. package/lib/api/events/location.d.ts +11 -0
  97. package/lib/api/events/location.d.ts.map +1 -0
  98. package/lib/api/events/location.js +13 -0
  99. package/lib/api/events/location.js.map +1 -0
  100. package/lib/api/events/observation.d.ts +15 -0
  101. package/lib/api/events/observation.d.ts.map +1 -0
  102. package/lib/api/events/observation.js +21 -0
  103. package/lib/api/events/observation.js.map +1 -0
  104. package/lib/api/feature.d.ts +8 -0
  105. package/lib/api/feature.d.ts.map +1 -0
  106. package/lib/api/feature.js +15 -0
  107. package/lib/api/feature.js.map +1 -0
  108. package/lib/api/field/attachmentField.d.ts +12 -0
  109. package/lib/api/field/attachmentField.d.ts.map +1 -0
  110. package/lib/api/field/attachmentField.js +40 -0
  111. package/lib/api/field/attachmentField.js.map +1 -0
  112. package/lib/api/field/checkboxField.d.ts +7 -0
  113. package/lib/api/field/checkboxField.d.ts.map +1 -0
  114. package/lib/api/field/checkboxField.js +19 -0
  115. package/lib/api/field/checkboxField.js.map +1 -0
  116. package/lib/api/field/dateField.d.ts +8 -0
  117. package/lib/api/field/dateField.d.ts.map +1 -0
  118. package/lib/api/field/dateField.js +21 -0
  119. package/lib/api/field/dateField.js.map +1 -0
  120. package/lib/api/field/emailField.d.ts +7 -0
  121. package/lib/api/field/emailField.d.ts.map +1 -0
  122. package/lib/api/field/emailField.js +19 -0
  123. package/lib/api/field/emailField.js.map +1 -0
  124. package/lib/api/field/field.d.ts +12 -0
  125. package/lib/api/field/field.d.ts.map +1 -0
  126. package/lib/api/field/field.js +12 -0
  127. package/lib/api/field/field.js.map +1 -0
  128. package/lib/api/field/geometryField.d.ts +7 -0
  129. package/lib/api/field/geometryField.d.ts.map +1 -0
  130. package/lib/api/field/geometryField.js +35 -0
  131. package/lib/api/field/geometryField.js.map +1 -0
  132. package/lib/api/field/index.d.ts +7 -0
  133. package/lib/api/field/index.d.ts.map +1 -0
  134. package/lib/api/field/index.js +30 -0
  135. package/lib/api/field/index.js.map +1 -0
  136. package/lib/api/field/multiSelectField.d.ts +7 -0
  137. package/lib/api/field/multiSelectField.d.ts.map +1 -0
  138. package/lib/api/field/multiSelectField.js +27 -0
  139. package/lib/api/field/multiSelectField.js.map +1 -0
  140. package/lib/api/field/numberField.d.ts +7 -0
  141. package/lib/api/field/numberField.d.ts.map +1 -0
  142. package/lib/api/field/numberField.js +27 -0
  143. package/lib/api/field/numberField.js.map +1 -0
  144. package/lib/api/field/selectField.d.ts +7 -0
  145. package/lib/api/field/selectField.d.ts.map +1 -0
  146. package/lib/api/field/selectField.js +22 -0
  147. package/lib/api/field/selectField.js.map +1 -0
  148. package/lib/api/field/textField.d.ts +7 -0
  149. package/lib/api/field/textField.d.ts.map +1 -0
  150. package/lib/api/field/textField.js +21 -0
  151. package/lib/api/field/textField.js.map +1 -0
  152. package/lib/api/form.d.ts +12 -0
  153. package/lib/api/form.d.ts.map +1 -0
  154. package/lib/api/form.js +239 -0
  155. package/lib/api/form.js.map +1 -0
  156. package/lib/api/icon.d.ts +22 -0
  157. package/lib/api/icon.d.ts.map +1 -0
  158. package/lib/api/icon.js +178 -0
  159. package/lib/api/icon.js.map +1 -0
  160. package/lib/api/index.d.ts +10 -0
  161. package/lib/api/index.d.ts.map +1 -0
  162. package/lib/api/index.js +11 -0
  163. package/lib/api/index.js.map +1 -0
  164. package/lib/api/layer.d.ts +14 -0
  165. package/lib/api/layer.d.ts.map +1 -0
  166. package/lib/api/layer.js +70 -0
  167. package/lib/api/layer.js.map +1 -0
  168. package/lib/api/location.d.ts +14 -0
  169. package/lib/api/location.d.ts.map +1 -0
  170. package/lib/api/location.js +35 -0
  171. package/lib/api/location.js.map +1 -0
  172. package/lib/api/observation.d.ts +25 -0
  173. package/lib/api/observation.d.ts.map +1 -0
  174. package/lib/api/observation.js +224 -0
  175. package/lib/api/observation.js.map +1 -0
  176. package/lib/api/user.d.ts +16 -0
  177. package/lib/api/user.d.ts.map +1 -0
  178. package/lib/api/user.js +250 -0
  179. package/lib/api/user.js.map +1 -0
  180. package/lib/app.api/app.api.errors.d.ts +42 -0
  181. package/lib/app.api/app.api.errors.d.ts.map +1 -0
  182. package/lib/app.api/app.api.errors.js +43 -0
  183. package/lib/app.api/app.api.errors.js.map +1 -0
  184. package/lib/app.api/app.api.global.d.ts +74 -0
  185. package/lib/app.api/app.api.global.d.ts.map +1 -0
  186. package/lib/app.api/app.api.global.js +59 -0
  187. package/lib/app.api/app.api.global.js.map +1 -0
  188. package/lib/app.api/events/app.api.events.d.ts +31 -0
  189. package/lib/app.api/events/app.api.events.d.ts.map +1 -0
  190. package/lib/app.api/events/app.api.events.js +3 -0
  191. package/lib/app.api/events/app.api.events.js.map +1 -0
  192. package/lib/app.api/feeds/app.api.feeds.d.ts +139 -0
  193. package/lib/app.api/feeds/app.api.feeds.d.ts.map +1 -0
  194. package/lib/app.api/feeds/app.api.feeds.js +26 -0
  195. package/lib/app.api/feeds/app.api.feeds.js.map +1 -0
  196. package/lib/app.api/icons/app.api.icons.d.ts +60 -0
  197. package/lib/app.api/icons/app.api.icons.d.ts.map +1 -0
  198. package/lib/app.api/icons/app.api.icons.js +29 -0
  199. package/lib/app.api/icons/app.api.icons.js.map +1 -0
  200. package/lib/app.api/observations/app.api.observations.d.ts +126 -0
  201. package/lib/app.api/observations/app.api.observations.d.ts.map +1 -0
  202. package/lib/app.api/observations/app.api.observations.js +61 -0
  203. package/lib/app.api/observations/app.api.observations.js.map +1 -0
  204. package/lib/app.api/users/app.api.users.d.ts +24 -0
  205. package/lib/app.api/users/app.api.users.d.ts.map +1 -0
  206. package/lib/app.api/users/app.api.users.js +3 -0
  207. package/lib/app.api/users/app.api.users.js.map +1 -0
  208. package/lib/app.d.ts +38 -0
  209. package/lib/app.d.ts.map +1 -0
  210. package/lib/app.impl/events/app.impl.events.d.ts +8 -0
  211. package/lib/app.impl/events/app.impl.events.d.ts.map +1 -0
  212. package/lib/app.impl/events/app.impl.events.js +107 -0
  213. package/lib/app.impl/events/app.impl.events.js.map +1 -0
  214. package/lib/app.impl/feeds/app.impl.feeds.d.ts +21 -0
  215. package/lib/app.impl/feeds/app.impl.feeds.d.ts.map +1 -0
  216. package/lib/app.impl/feeds/app.impl.feeds.js +527 -0
  217. package/lib/app.impl/feeds/app.impl.feeds.js.map +1 -0
  218. package/lib/app.impl/icons/app.impl.icons.d.ts +7 -0
  219. package/lib/app.impl/icons/app.impl.icons.d.ts.map +1 -0
  220. package/lib/app.impl/icons/app.impl.icons.js +81 -0
  221. package/lib/app.impl/icons/app.impl.icons.js.map +1 -0
  222. package/lib/app.impl/observations/app.impl.observations.d.ts +11 -0
  223. package/lib/app.impl/observations/app.impl.observations.d.ts.map +1 -0
  224. package/lib/app.impl/observations/app.impl.observations.js +357 -0
  225. package/lib/app.impl/observations/app.impl.observations.js.map +1 -0
  226. package/lib/app.impl/users/app.impl.users.d.ts +4 -0
  227. package/lib/app.impl/users/app.impl.users.d.ts.map +1 -0
  228. package/lib/app.impl/users/app.impl.users.js +37 -0
  229. package/lib/app.impl/users/app.impl.users.js.map +1 -0
  230. package/lib/app.js +507 -0
  231. package/lib/app.js.map +1 -0
  232. package/lib/assets/default-icon.png +0 -0
  233. package/lib/authentication/anonymous.d.ts +6 -0
  234. package/lib/authentication/anonymous.d.ts.map +1 -0
  235. package/lib/authentication/anonymous.js +17 -0
  236. package/lib/authentication/anonymous.js.map +1 -0
  237. package/lib/authentication/index.d.ts +24 -0
  238. package/lib/authentication/index.d.ts.map +1 -0
  239. package/lib/authentication/index.js +104 -0
  240. package/lib/authentication/index.js.map +1 -0
  241. package/lib/authentication/ldap.d.ts +2 -0
  242. package/lib/authentication/ldap.d.ts.map +1 -0
  243. package/lib/authentication/ldap.js +130 -0
  244. package/lib/authentication/ldap.js.map +1 -0
  245. package/lib/authentication/local.d.ts +2 -0
  246. package/lib/authentication/local.d.ts.map +1 -0
  247. package/lib/authentication/local.js +77 -0
  248. package/lib/authentication/local.js.map +1 -0
  249. package/lib/authentication/oauth.d.ts +2 -0
  250. package/lib/authentication/oauth.d.ts.map +1 -0
  251. package/lib/authentication/oauth.js +197 -0
  252. package/lib/authentication/oauth.js.map +1 -0
  253. package/lib/authentication/openidconnect.d.ts +2 -0
  254. package/lib/authentication/openidconnect.d.ts.map +1 -0
  255. package/lib/authentication/openidconnect.js +148 -0
  256. package/lib/authentication/openidconnect.js.map +1 -0
  257. package/lib/authentication/saml.d.ts +2 -0
  258. package/lib/authentication/saml.d.ts.map +1 -0
  259. package/lib/authentication/saml.js +287 -0
  260. package/lib/authentication/saml.js.map +1 -0
  261. package/lib/authentication/verification.d.ts +33 -0
  262. package/lib/authentication/verification.d.ts.map +1 -0
  263. package/lib/authentication/verification.js +144 -0
  264. package/lib/authentication/verification.js.map +1 -0
  265. package/lib/config.d.ts +15 -0
  266. package/lib/config.d.ts.map +1 -0
  267. package/lib/config.js +20 -0
  268. package/lib/config.js.map +1 -0
  269. package/lib/dist-package.json +203 -0
  270. package/lib/docs/auth/local.yaml +90 -0
  271. package/lib/docs/geojson.yaml +375 -0
  272. package/lib/docs/openapi.yaml +4591 -0
  273. package/lib/entities/authentication/entities.authentication.d.ts +14 -0
  274. package/lib/entities/authentication/entities.authentication.d.ts.map +1 -0
  275. package/lib/entities/authentication/entities.authentication.js +3 -0
  276. package/lib/entities/authentication/entities.authentication.js.map +1 -0
  277. package/lib/entities/authorization/entities.authorization.d.ts +7 -0
  278. package/lib/entities/authorization/entities.authorization.d.ts.map +1 -0
  279. package/lib/entities/authorization/entities.authorization.js +3 -0
  280. package/lib/entities/authorization/entities.authorization.js.map +1 -0
  281. package/lib/entities/authorization/entities.permissions.d.ts +143 -0
  282. package/lib/entities/authorization/entities.permissions.d.ts.map +1 -0
  283. package/lib/entities/authorization/entities.permissions.js +101 -0
  284. package/lib/entities/authorization/entities.permissions.js.map +1 -0
  285. package/lib/entities/entities.domain_events.d.ts +1 -0
  286. package/lib/entities/entities.domain_events.d.ts.map +1 -0
  287. package/lib/entities/entities.domain_events.js +20 -0
  288. package/lib/entities/entities.domain_events.js.map +1 -0
  289. package/lib/entities/entities.global.d.ts +107 -0
  290. package/lib/entities/entities.global.d.ts.map +1 -0
  291. package/lib/entities/entities.global.js +67 -0
  292. package/lib/entities/entities.global.js.map +1 -0
  293. package/lib/entities/entities.i18n.d.ts +78 -0
  294. package/lib/entities/entities.i18n.d.ts.map +1 -0
  295. package/lib/entities/entities.i18n.js +69 -0
  296. package/lib/entities/entities.i18n.js.map +1 -0
  297. package/lib/entities/entities.json_types.d.ts +42 -0
  298. package/lib/entities/entities.json_types.d.ts.map +1 -0
  299. package/lib/entities/entities.json_types.js +3 -0
  300. package/lib/entities/entities.json_types.js.map +1 -0
  301. package/lib/entities/events/entities.events.d.ts +118 -0
  302. package/lib/entities/events/entities.events.d.ts.map +1 -0
  303. package/lib/entities/events/entities.events.forms.d.ts +132 -0
  304. package/lib/entities/events/entities.events.forms.d.ts.map +1 -0
  305. package/lib/entities/events/entities.events.forms.js +102 -0
  306. package/lib/entities/events/entities.events.forms.js.map +1 -0
  307. package/lib/entities/events/entities.events.js +146 -0
  308. package/lib/entities/events/entities.events.js.map +1 -0
  309. package/lib/entities/feeds/entities.feeds.d.ts +340 -0
  310. package/lib/entities/feeds/entities.feeds.d.ts.map +1 -0
  311. package/lib/entities/feeds/entities.feeds.js +213 -0
  312. package/lib/entities/feeds/entities.feeds.js.map +1 -0
  313. package/lib/entities/icons/entities.icons.d.ts +106 -0
  314. package/lib/entities/icons/entities.icons.d.ts.map +1 -0
  315. package/lib/entities/icons/entities.icons.js +26 -0
  316. package/lib/entities/icons/entities.icons.js.map +1 -0
  317. package/lib/entities/observations/entities.observations.d.ts +569 -0
  318. package/lib/entities/observations/entities.observations.d.ts.map +1 -0
  319. package/lib/entities/observations/entities.observations.fields.attachment.d.ts +5 -0
  320. package/lib/entities/observations/entities.observations.fields.attachment.d.ts.map +1 -0
  321. package/lib/entities/observations/entities.observations.fields.attachment.js +24 -0
  322. package/lib/entities/observations/entities.observations.fields.attachment.js.map +1 -0
  323. package/lib/entities/observations/entities.observations.fields.checkbox.d.ts +3 -0
  324. package/lib/entities/observations/entities.observations.fields.checkbox.d.ts.map +1 -0
  325. package/lib/entities/observations/entities.observations.fields.checkbox.js +17 -0
  326. package/lib/entities/observations/entities.observations.fields.checkbox.js.map +1 -0
  327. package/lib/entities/observations/entities.observations.fields.d.ts +20 -0
  328. package/lib/entities/observations/entities.observations.fields.d.ts.map +1 -0
  329. package/lib/entities/observations/entities.observations.fields.date.d.ts +3 -0
  330. package/lib/entities/observations/entities.observations.fields.date.d.ts.map +1 -0
  331. package/lib/entities/observations/entities.observations.fields.date.js +21 -0
  332. package/lib/entities/observations/entities.observations.fields.date.js.map +1 -0
  333. package/lib/entities/observations/entities.observations.fields.email.d.ts +3 -0
  334. package/lib/entities/observations/entities.observations.fields.email.d.ts.map +1 -0
  335. package/lib/entities/observations/entities.observations.fields.email.js +20 -0
  336. package/lib/entities/observations/entities.observations.fields.email.js.map +1 -0
  337. package/lib/entities/observations/entities.observations.fields.geometry.d.ts +3 -0
  338. package/lib/entities/observations/entities.observations.fields.geometry.d.ts.map +1 -0
  339. package/lib/entities/observations/entities.observations.fields.geometry.js +62 -0
  340. package/lib/entities/observations/entities.observations.fields.geometry.js.map +1 -0
  341. package/lib/entities/observations/entities.observations.fields.js +37 -0
  342. package/lib/entities/observations/entities.observations.fields.js.map +1 -0
  343. package/lib/entities/observations/entities.observations.fields.multiselect.d.ts +3 -0
  344. package/lib/entities/observations/entities.observations.fields.multiselect.d.ts.map +1 -0
  345. package/lib/entities/observations/entities.observations.fields.multiselect.js +24 -0
  346. package/lib/entities/observations/entities.observations.fields.multiselect.js.map +1 -0
  347. package/lib/entities/observations/entities.observations.fields.numeric.d.ts +3 -0
  348. package/lib/entities/observations/entities.observations.fields.numeric.d.ts.map +1 -0
  349. package/lib/entities/observations/entities.observations.fields.numeric.js +24 -0
  350. package/lib/entities/observations/entities.observations.fields.numeric.js.map +1 -0
  351. package/lib/entities/observations/entities.observations.fields.required.d.ts +3 -0
  352. package/lib/entities/observations/entities.observations.fields.required.d.ts.map +1 -0
  353. package/lib/entities/observations/entities.observations.fields.required.js +14 -0
  354. package/lib/entities/observations/entities.observations.fields.required.js.map +1 -0
  355. package/lib/entities/observations/entities.observations.fields.select.d.ts +3 -0
  356. package/lib/entities/observations/entities.observations.fields.select.d.ts.map +1 -0
  357. package/lib/entities/observations/entities.observations.fields.select.js +17 -0
  358. package/lib/entities/observations/entities.observations.fields.select.js.map +1 -0
  359. package/lib/entities/observations/entities.observations.fields.text.d.ts +3 -0
  360. package/lib/entities/observations/entities.observations.fields.text.d.ts.map +1 -0
  361. package/lib/entities/observations/entities.observations.fields.text.js +15 -0
  362. package/lib/entities/observations/entities.observations.fields.text.js.map +1 -0
  363. package/lib/entities/observations/entities.observations.js +873 -0
  364. package/lib/entities/observations/entities.observations.js.map +1 -0
  365. package/lib/entities/ogcapi-features/entities.ogcapi-features.d.ts +98 -0
  366. package/lib/entities/ogcapi-features/entities.ogcapi-features.d.ts.map +1 -0
  367. package/lib/entities/ogcapi-features/entities.ogcapi-features.js +30 -0
  368. package/lib/entities/ogcapi-features/entities.ogcapi-features.js.map +1 -0
  369. package/lib/entities/teams/entities.teams.d.ts +26 -0
  370. package/lib/entities/teams/entities.teams.d.ts.map +1 -0
  371. package/lib/entities/teams/entities.teams.js +3 -0
  372. package/lib/entities/teams/entities.teams.js.map +1 -0
  373. package/lib/entities/users/entities.users.d.ts +66 -0
  374. package/lib/entities/users/entities.users.d.ts.map +1 -0
  375. package/lib/entities/users/entities.users.js +10 -0
  376. package/lib/entities/users/entities.users.js.map +1 -0
  377. package/lib/environment/env.d.ts +29 -0
  378. package/lib/environment/env.d.ts.map +1 -0
  379. package/lib/environment/env.js +106 -0
  380. package/lib/environment/env.js.map +1 -0
  381. package/lib/export/csv.d.ts +11 -0
  382. package/lib/export/csv.d.ts.map +1 -0
  383. package/lib/export/csv.js +243 -0
  384. package/lib/export/csv.js.map +1 -0
  385. package/lib/export/exporter.d.ts +12 -0
  386. package/lib/export/exporter.d.ts.map +1 -0
  387. package/lib/export/exporter.js +38 -0
  388. package/lib/export/exporter.js.map +1 -0
  389. package/lib/export/exporterFactory.d.ts +11 -0
  390. package/lib/export/exporterFactory.d.ts.map +1 -0
  391. package/lib/export/exporterFactory.js +17 -0
  392. package/lib/export/exporterFactory.js.map +1 -0
  393. package/lib/export/geojson.d.ts +10 -0
  394. package/lib/export/geojson.d.ts.map +1 -0
  395. package/lib/export/geojson.js +167 -0
  396. package/lib/export/geojson.js.map +1 -0
  397. package/lib/export/geopackage.d.ts +25 -0
  398. package/lib/export/geopackage.d.ts.map +1 -0
  399. package/lib/export/geopackage.js +687 -0
  400. package/lib/export/geopackage.js.map +1 -0
  401. package/lib/export/kml.d.ts +10 -0
  402. package/lib/export/kml.d.ts.map +1 -0
  403. package/lib/export/kml.js +128 -0
  404. package/lib/export/kml.js.map +1 -0
  405. package/lib/export/kmlWriter.d.ts +24 -0
  406. package/lib/export/kmlWriter.d.ts.map +1 -0
  407. package/lib/export/kmlWriter.js +431 -0
  408. package/lib/export/kmlWriter.js.map +1 -0
  409. package/lib/express.d.ts +9 -0
  410. package/lib/express.d.ts.map +1 -0
  411. package/lib/express.js +70 -0
  412. package/lib/express.js.map +1 -0
  413. package/lib/format/geoJsonFormat.d.ts +3 -0
  414. package/lib/format/geoJsonFormat.d.ts.map +1 -0
  415. package/lib/format/geoJsonFormat.js +65 -0
  416. package/lib/format/geoJsonFormat.js.map +1 -0
  417. package/lib/logger.d.ts +2 -0
  418. package/lib/logger.d.ts.map +1 -0
  419. package/lib/logger.js +21 -0
  420. package/lib/logger.js.map +1 -0
  421. package/lib/main.impl/main.impl.plugins.d.ts +12 -0
  422. package/lib/main.impl/main.impl.plugins.d.ts.map +1 -0
  423. package/lib/main.impl/main.impl.plugins.js +41 -0
  424. package/lib/main.impl/main.impl.plugins.js.map +1 -0
  425. package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.events.d.ts +3 -0
  426. package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.events.d.ts.map +1 -0
  427. package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.events.js +32 -0
  428. package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.events.js.map +1 -0
  429. package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.feeds.d.ts +4 -0
  430. package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.feeds.d.ts.map +1 -0
  431. package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.feeds.js +26 -0
  432. package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.feeds.js.map +1 -0
  433. package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.icons.d.ts +4 -0
  434. package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.icons.d.ts.map +1 -0
  435. package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.icons.js +41 -0
  436. package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.icons.js.map +1 -0
  437. package/lib/migrate.d.ts +4 -0
  438. package/lib/migrate.d.ts.map +1 -0
  439. package/lib/migrate.js +96 -0
  440. package/lib/migrate.js.map +1 -0
  441. package/lib/migrations/002-create-user-role.d.ts +4 -0
  442. package/lib/migrations/002-create-user-role.d.ts.map +1 -0
  443. package/lib/migrations/002-create-user-role.js +30 -0
  444. package/lib/migrations/002-create-user-role.js.map +1 -0
  445. package/lib/migrations/003-create-admin-role.d.ts +4 -0
  446. package/lib/migrations/003-create-admin-role.d.ts.map +1 -0
  447. package/lib/migrations/003-create-admin-role.js +31 -0
  448. package/lib/migrations/003-create-admin-role.js.map +1 -0
  449. package/lib/migrations/005-create-osm-layer.d.ts +4 -0
  450. package/lib/migrations/005-create-osm-layer.d.ts.map +1 -0
  451. package/lib/migrations/005-create-osm-layer.js +51 -0
  452. package/lib/migrations/005-create-osm-layer.js.map +1 -0
  453. package/lib/migrations/006-event-teams.d.ts +4 -0
  454. package/lib/migrations/006-event-teams.d.ts.map +1 -0
  455. package/lib/migrations/006-event-teams.js +40 -0
  456. package/lib/migrations/006-event-teams.js.map +1 -0
  457. package/lib/migrations/007-user-icon.d.ts +4 -0
  458. package/lib/migrations/007-user-icon.d.ts.map +1 -0
  459. package/lib/migrations/007-user-icon.js +21 -0
  460. package/lib/migrations/007-user-icon.js.map +1 -0
  461. package/lib/migrations/008-create-user-no-edit-role.d.ts +4 -0
  462. package/lib/migrations/008-create-user-no-edit-role.d.ts.map +1 -0
  463. package/lib/migrations/008-create-user-no-edit-role.js +34 -0
  464. package/lib/migrations/008-create-user-no-edit-role.js.map +1 -0
  465. package/lib/migrations/009-create-manager-role.d.ts +4 -0
  466. package/lib/migrations/009-create-manager-role.d.ts.map +1 -0
  467. package/lib/migrations/009-create-manager-role.js +50 -0
  468. package/lib/migrations/009-create-manager-role.js.map +1 -0
  469. package/lib/migrations/010-add-user-device-manager-role.d.ts +4 -0
  470. package/lib/migrations/010-add-user-device-manager-role.d.ts.map +1 -0
  471. package/lib/migrations/010-add-user-device-manager-role.js +38 -0
  472. package/lib/migrations/010-add-user-device-manager-role.js.map +1 -0
  473. package/lib/migrations/011-multiple-forms.d.ts +4 -0
  474. package/lib/migrations/011-multiple-forms.d.ts.map +1 -0
  475. package/lib/migrations/011-multiple-forms.js +161 -0
  476. package/lib/migrations/011-multiple-forms.js.map +1 -0
  477. package/lib/migrations/012-user-role-remove-delete.d.ts +4 -0
  478. package/lib/migrations/012-user-role-remove-delete.d.ts.map +1 -0
  479. package/lib/migrations/012-user-role-remove-delete.js +15 -0
  480. package/lib/migrations/012-user-role-remove-delete.js.map +1 -0
  481. package/lib/migrations/013-ensure-event-indexes.d.ts +4 -0
  482. package/lib/migrations/013-ensure-event-indexes.d.ts.map +1 -0
  483. package/lib/migrations/013-ensure-event-indexes.js +50 -0
  484. package/lib/migrations/013-ensure-event-indexes.js.map +1 -0
  485. package/lib/migrations/014-add-role-update-permission.d.ts +4 -0
  486. package/lib/migrations/014-add-role-update-permission.d.ts.map +1 -0
  487. package/lib/migrations/014-add-role-update-permission.js +15 -0
  488. package/lib/migrations/014-add-role-update-permission.js.map +1 -0
  489. package/lib/migrations/015-manager-role-add-user-create.d.ts +4 -0
  490. package/lib/migrations/015-manager-role-add-user-create.d.ts.map +1 -0
  491. package/lib/migrations/015-manager-role-add-user-create.js +15 -0
  492. package/lib/migrations/015-manager-role-add-user-create.js.map +1 -0
  493. package/lib/migrations/016-set-feed-primary-secondary.d.ts +4 -0
  494. package/lib/migrations/016-set-feed-primary-secondary.d.ts.map +1 -0
  495. package/lib/migrations/016-set-feed-primary-secondary.js +36 -0
  496. package/lib/migrations/016-set-feed-primary-secondary.js.map +1 -0
  497. package/lib/migrations/017-make-layers-available.d.ts +4 -0
  498. package/lib/migrations/017-make-layers-available.d.ts.map +1 -0
  499. package/lib/migrations/017-make-layers-available.js +48 -0
  500. package/lib/migrations/017-make-layers-available.js.map +1 -0
  501. package/lib/migrations/018-feeds-admin-permissions.d.ts +4 -0
  502. package/lib/migrations/018-feeds-admin-permissions.d.ts.map +1 -0
  503. package/lib/migrations/018-feeds-admin-permissions.js +32 -0
  504. package/lib/migrations/018-feeds-admin-permissions.js.map +1 -0
  505. package/lib/migrations/018-set-default-password-policy.d.ts +4 -0
  506. package/lib/migrations/018-set-default-password-policy.d.ts.map +1 -0
  507. package/lib/migrations/018-set-default-password-policy.js +58 -0
  508. package/lib/migrations/018-set-default-password-policy.js.map +1 -0
  509. package/lib/migrations/019-move-user-authentication.d.ts +4 -0
  510. package/lib/migrations/019-move-user-authentication.d.ts.map +1 -0
  511. package/lib/migrations/019-move-user-authentication.js +68 -0
  512. package/lib/migrations/019-move-user-authentication.js.map +1 -0
  513. package/lib/migrations/020-add-export-permissions.d.ts +4 -0
  514. package/lib/migrations/020-add-export-permissions.d.ts.map +1 -0
  515. package/lib/migrations/020-add-export-permissions.js +36 -0
  516. package/lib/migrations/020-add-export-permissions.js.map +1 -0
  517. package/lib/migrations/022-copy-auth-from-config-to-db.d.ts +4 -0
  518. package/lib/migrations/022-copy-auth-from-config-to-db.d.ts.map +1 -0
  519. package/lib/migrations/022-copy-auth-from-config-to-db.js +86 -0
  520. package/lib/migrations/022-copy-auth-from-config-to-db.js.map +1 -0
  521. package/lib/migrations/023-move-local-auth-from-settings.d.ts +4 -0
  522. package/lib/migrations/023-move-local-auth-from-settings.d.ts.map +1 -0
  523. package/lib/migrations/023-move-local-auth-from-settings.js +54 -0
  524. package/lib/migrations/023-move-local-auth-from-settings.js.map +1 -0
  525. package/lib/migrations/024-link-auth-to-auth-config.d.ts +4 -0
  526. package/lib/migrations/024-link-auth-to-auth-config.d.ts.map +1 -0
  527. package/lib/migrations/024-link-auth-to-auth-config.js +59 -0
  528. package/lib/migrations/024-link-auth-to-auth-config.js.map +1 -0
  529. package/lib/migrations/025-add-auth-config-permissions.d.ts +4 -0
  530. package/lib/migrations/025-add-auth-config-permissions.d.ts.map +1 -0
  531. package/lib/migrations/025-add-auth-config-permissions.js +32 -0
  532. package/lib/migrations/025-add-auth-config-permissions.js.map +1 -0
  533. package/lib/migrations/028-move-security-settings-to-secret-store.d.ts +4 -0
  534. package/lib/migrations/028-move-security-settings-to-secret-store.d.ts.map +1 -0
  535. package/lib/migrations/028-move-security-settings-to-secret-store.js +59 -0
  536. package/lib/migrations/028-move-security-settings-to-secret-store.js.map +1 -0
  537. package/lib/migrations/029-attachment-form-field.d.ts +4 -0
  538. package/lib/migrations/029-attachment-form-field.d.ts.map +1 -0
  539. package/lib/migrations/029-attachment-form-field.js +130 -0
  540. package/lib/migrations/029-attachment-form-field.js.map +1 -0
  541. package/lib/models/authentication.d.ts +17 -0
  542. package/lib/models/authentication.d.ts.map +1 -0
  543. package/lib/models/authentication.js +174 -0
  544. package/lib/models/authentication.js.map +1 -0
  545. package/lib/models/authenticationconfiguration.d.ts +15 -0
  546. package/lib/models/authenticationconfiguration.d.ts.map +1 -0
  547. package/lib/models/authenticationconfiguration.js +105 -0
  548. package/lib/models/authenticationconfiguration.js.map +1 -0
  549. package/lib/models/cappedLocation.d.ts +8 -0
  550. package/lib/models/cappedLocation.d.ts.map +1 -0
  551. package/lib/models/cappedLocation.js +78 -0
  552. package/lib/models/cappedLocation.js.map +1 -0
  553. package/lib/models/counter.d.ts +3 -0
  554. package/lib/models/counter.d.ts.map +1 -0
  555. package/lib/models/counter.js +37 -0
  556. package/lib/models/counter.js.map +1 -0
  557. package/lib/models/device.d.ts +14 -0
  558. package/lib/models/device.d.ts.map +1 -0
  559. package/lib/models/device.js +220 -0
  560. package/lib/models/device.js.map +1 -0
  561. package/lib/models/event.d.ts +75 -0
  562. package/lib/models/event.d.ts.map +1 -0
  563. package/lib/models/event.js +839 -0
  564. package/lib/models/event.js.map +1 -0
  565. package/lib/models/export.d.ts +18 -0
  566. package/lib/models/export.d.ts.map +1 -0
  567. package/lib/models/export.js +107 -0
  568. package/lib/models/export.js.map +1 -0
  569. package/lib/models/feature.d.ts +4 -0
  570. package/lib/models/feature.d.ts.map +1 -0
  571. package/lib/models/feature.js +43 -0
  572. package/lib/models/feature.js.map +1 -0
  573. package/lib/models/icon.d.ts +9 -0
  574. package/lib/models/icon.d.ts.map +1 -0
  575. package/lib/models/icon.js +69 -0
  576. package/lib/models/icon.js.map +1 -0
  577. package/lib/models/index.d.ts +2 -0
  578. package/lib/models/index.d.ts.map +1 -0
  579. package/lib/models/index.js +12 -0
  580. package/lib/models/index.js.map +1 -0
  581. package/lib/models/layer.d.ts +13 -0
  582. package/lib/models/layer.d.ts.map +1 -0
  583. package/lib/models/layer.js +149 -0
  584. package/lib/models/layer.js.map +1 -0
  585. package/lib/models/location.d.ts +8 -0
  586. package/lib/models/location.d.ts.map +1 -0
  587. package/lib/models/location.js +96 -0
  588. package/lib/models/location.js.map +1 -0
  589. package/lib/models/login.d.ts +4 -0
  590. package/lib/models/login.d.ts.map +1 -0
  591. package/lib/models/login.js +90 -0
  592. package/lib/models/login.js.map +1 -0
  593. package/lib/models/observation.d.ts +93 -0
  594. package/lib/models/observation.d.ts.map +1 -0
  595. package/lib/models/observation.js +461 -0
  596. package/lib/models/observation.js.map +1 -0
  597. package/lib/models/role.d.ts +22 -0
  598. package/lib/models/role.d.ts.map +1 -0
  599. package/lib/models/role.js +80 -0
  600. package/lib/models/role.js.map +1 -0
  601. package/lib/models/setting.d.ts +6 -0
  602. package/lib/models/setting.d.ts.map +1 -0
  603. package/lib/models/setting.js +31 -0
  604. package/lib/models/setting.js.map +1 -0
  605. package/lib/models/team.d.ts +31 -0
  606. package/lib/models/team.d.ts.map +1 -0
  607. package/lib/models/team.js +511 -0
  608. package/lib/models/team.js.map +1 -0
  609. package/lib/models/token.d.ts +6 -0
  610. package/lib/models/token.d.ts.map +1 -0
  611. package/lib/models/token.js +68 -0
  612. package/lib/models/token.js.map +1 -0
  613. package/lib/models/user.d.ts +60 -0
  614. package/lib/models/user.d.ts.map +1 -0
  615. package/lib/models/user.js +400 -0
  616. package/lib/models/user.js.map +1 -0
  617. package/lib/permissions/permissions.events.d.ts +69 -0
  618. package/lib/permissions/permissions.events.d.ts.map +1 -0
  619. package/lib/permissions/permissions.events.js +154 -0
  620. package/lib/permissions/permissions.events.js.map +1 -0
  621. package/lib/permissions/permissions.feeds.d.ts +19 -0
  622. package/lib/permissions/permissions.feeds.d.ts.map +1 -0
  623. package/lib/permissions/permissions.feeds.js +58 -0
  624. package/lib/permissions/permissions.feeds.js.map +1 -0
  625. package/lib/permissions/permissions.icons.d.ts +9 -0
  626. package/lib/permissions/permissions.icons.d.ts.map +1 -0
  627. package/lib/permissions/permissions.icons.js +28 -0
  628. package/lib/permissions/permissions.icons.js.map +1 -0
  629. package/lib/permissions/permissions.observations.d.ts +14 -0
  630. package/lib/permissions/permissions.observations.d.ts.map +1 -0
  631. package/lib/permissions/permissions.observations.js +113 -0
  632. package/lib/permissions/permissions.observations.js.map +1 -0
  633. package/lib/permissions/permissions.role-based.base.d.ts +15 -0
  634. package/lib/permissions/permissions.role-based.base.d.ts.map +1 -0
  635. package/lib/permissions/permissions.role-based.base.js +14 -0
  636. package/lib/permissions/permissions.role-based.base.js.map +1 -0
  637. package/lib/permissions/permissions.users.d.ts +8 -0
  638. package/lib/permissions/permissions.users.d.ts.map +1 -0
  639. package/lib/permissions/permissions.users.js +23 -0
  640. package/lib/permissions/permissions.users.js.map +1 -0
  641. package/lib/plugins.api/index.d.ts +55 -0
  642. package/lib/plugins.api/index.d.ts.map +1 -0
  643. package/lib/plugins.api/index.js +5 -0
  644. package/lib/plugins.api/index.js.map +1 -0
  645. package/lib/plugins.api/plugins.api.db.d.ts +7 -0
  646. package/lib/plugins.api/plugins.api.db.d.ts.map +1 -0
  647. package/lib/plugins.api/plugins.api.db.js +5 -0
  648. package/lib/plugins.api/plugins.api.db.js.map +1 -0
  649. package/lib/plugins.api/plugins.api.events.d.ts +24 -0
  650. package/lib/plugins.api/plugins.api.events.d.ts.map +1 -0
  651. package/lib/plugins.api/plugins.api.events.js +5 -0
  652. package/lib/plugins.api/plugins.api.events.js.map +1 -0
  653. package/lib/plugins.api/plugins.api.feeds.d.ts +35 -0
  654. package/lib/plugins.api/plugins.api.feeds.d.ts.map +1 -0
  655. package/lib/plugins.api/plugins.api.feeds.js +12 -0
  656. package/lib/plugins.api/plugins.api.feeds.js.map +1 -0
  657. package/lib/plugins.api/plugins.api.icons.d.ts +21 -0
  658. package/lib/plugins.api/plugins.api.icons.d.ts.map +1 -0
  659. package/lib/plugins.api/plugins.api.icons.js +5 -0
  660. package/lib/plugins.api/plugins.api.icons.js.map +1 -0
  661. package/lib/plugins.api/plugins.api.observations.d.ts +10 -0
  662. package/lib/plugins.api/plugins.api.observations.d.ts.map +1 -0
  663. package/lib/plugins.api/plugins.api.observations.js +11 -0
  664. package/lib/plugins.api/plugins.api.observations.js.map +1 -0
  665. package/lib/plugins.api/plugins.api.users.d.ts +4 -0
  666. package/lib/plugins.api/plugins.api.users.d.ts.map +1 -0
  667. package/lib/plugins.api/plugins.api.users.js +5 -0
  668. package/lib/plugins.api/plugins.api.users.js.map +1 -0
  669. package/lib/plugins.api/plugins.api.web.d.ts +10 -0
  670. package/lib/plugins.api/plugins.api.web.d.ts.map +1 -0
  671. package/lib/plugins.api/plugins.api.web.js +3 -0
  672. package/lib/plugins.api/plugins.api.web.js.map +1 -0
  673. package/lib/provision/index.d.ts +23 -0
  674. package/lib/provision/index.d.ts.map +1 -0
  675. package/lib/provision/index.js +60 -0
  676. package/lib/provision/index.js.map +1 -0
  677. package/lib/provision/none.d.ts +3 -0
  678. package/lib/provision/none.d.ts.map +1 -0
  679. package/lib/provision/none.js +41 -0
  680. package/lib/provision/none.js.map +1 -0
  681. package/lib/provision/strategies/none.d.ts +9 -0
  682. package/lib/provision/strategies/none.d.ts.map +1 -0
  683. package/lib/provision/strategies/none.js +25 -0
  684. package/lib/provision/strategies/none.js.map +1 -0
  685. package/lib/provision/strategies/uid.d.ts +9 -0
  686. package/lib/provision/strategies/uid.d.ts.map +1 -0
  687. package/lib/provision/strategies/uid.js +28 -0
  688. package/lib/provision/strategies/uid.js.map +1 -0
  689. package/lib/provision/uid.d.ts +3 -0
  690. package/lib/provision/uid.d.ts.map +1 -0
  691. package/lib/provision/uid.js +43 -0
  692. package/lib/provision/uid.js.map +1 -0
  693. package/lib/routes/authenticationconfigurations.d.ts +3 -0
  694. package/lib/routes/authenticationconfigurations.d.ts.map +1 -0
  695. package/lib/routes/authenticationconfigurations.js +209 -0
  696. package/lib/routes/authenticationconfigurations.js.map +1 -0
  697. package/lib/routes/devices.d.ts +3 -0
  698. package/lib/routes/devices.d.ts.map +1 -0
  699. package/lib/routes/devices.js +201 -0
  700. package/lib/routes/devices.js.map +1 -0
  701. package/lib/routes/events.d.ts +47 -0
  702. package/lib/routes/events.d.ts.map +1 -0
  703. package/lib/routes/events.js +495 -0
  704. package/lib/routes/events.js.map +1 -0
  705. package/lib/routes/exports.d.ts +3 -0
  706. package/lib/routes/exports.d.ts.map +1 -0
  707. package/lib/routes/exports.js +204 -0
  708. package/lib/routes/exports.js.map +1 -0
  709. package/lib/routes/imports.d.ts +3 -0
  710. package/lib/routes/imports.d.ts.map +1 -0
  711. package/lib/routes/imports.js +41 -0
  712. package/lib/routes/imports.js.map +1 -0
  713. package/lib/routes/index.d.ts +3 -0
  714. package/lib/routes/index.d.ts.map +1 -0
  715. package/lib/routes/index.js +151 -0
  716. package/lib/routes/index.js.map +1 -0
  717. package/lib/routes/layers.d.ts +3 -0
  718. package/lib/routes/layers.d.ts.map +1 -0
  719. package/lib/routes/layers.js +433 -0
  720. package/lib/routes/layers.js.map +1 -0
  721. package/lib/routes/locations.d.ts +3 -0
  722. package/lib/routes/locations.d.ts.map +1 -0
  723. package/lib/routes/locations.js +124 -0
  724. package/lib/routes/locations.js.map +1 -0
  725. package/lib/routes/logins.d.ts +3 -0
  726. package/lib/routes/logins.d.ts.map +1 -0
  727. package/lib/routes/logins.js +64 -0
  728. package/lib/routes/logins.js.map +1 -0
  729. package/lib/routes/observations.d.ts +3 -0
  730. package/lib/routes/observations.d.ts.map +1 -0
  731. package/lib/routes/observations.js +363 -0
  732. package/lib/routes/observations.js.map +1 -0
  733. package/lib/routes/plugins.d.ts +3 -0
  734. package/lib/routes/plugins.d.ts.map +1 -0
  735. package/lib/routes/plugins.js +29 -0
  736. package/lib/routes/plugins.js.map +1 -0
  737. package/lib/routes/roles.d.ts +3 -0
  738. package/lib/routes/roles.d.ts.map +1 -0
  739. package/lib/routes/roles.js +64 -0
  740. package/lib/routes/roles.js.map +1 -0
  741. package/lib/routes/settings.d.ts +3 -0
  742. package/lib/routes/settings.d.ts.map +1 -0
  743. package/lib/routes/settings.js +21 -0
  744. package/lib/routes/settings.js.map +1 -0
  745. package/lib/routes/setup.d.ts +3 -0
  746. package/lib/routes/setup.d.ts.map +1 -0
  747. package/lib/routes/setup.js +90 -0
  748. package/lib/routes/setup.js.map +1 -0
  749. package/lib/routes/teams.d.ts +3 -0
  750. package/lib/routes/teams.d.ts.map +1 -0
  751. package/lib/routes/teams.js +213 -0
  752. package/lib/routes/teams.js.map +1 -0
  753. package/lib/routes/users.d.ts +3 -0
  754. package/lib/routes/users.d.ts.map +1 -0
  755. package/lib/routes/users.js +478 -0
  756. package/lib/routes/users.js.map +1 -0
  757. package/lib/schedule/export/export-task.d.ts +14 -0
  758. package/lib/schedule/export/export-task.d.ts.map +1 -0
  759. package/lib/schedule/export/export-task.js +70 -0
  760. package/lib/schedule/export/export-task.js.map +1 -0
  761. package/lib/schedule/index.d.ts +2 -0
  762. package/lib/schedule/index.d.ts.map +1 -0
  763. package/lib/schedule/index.js +27 -0
  764. package/lib/schedule/index.js.map +1 -0
  765. package/lib/security/key-mgt/key-mgt-factory.d.ts +7 -0
  766. package/lib/security/key-mgt/key-mgt-factory.d.ts.map +1 -0
  767. package/lib/security/key-mgt/key-mgt-factory.js +10 -0
  768. package/lib/security/key-mgt/key-mgt-factory.js.map +1 -0
  769. package/lib/security/key-mgt/plaintext-key-manager.d.ts +42 -0
  770. package/lib/security/key-mgt/plaintext-key-manager.d.ts.map +1 -0
  771. package/lib/security/key-mgt/plaintext-key-manager.js +52 -0
  772. package/lib/security/key-mgt/plaintext-key-manager.js.map +1 -0
  773. package/lib/security/responses/data-response.d.ts +13 -0
  774. package/lib/security/responses/data-response.d.ts.map +1 -0
  775. package/lib/security/responses/data-response.js +25 -0
  776. package/lib/security/responses/data-response.js.map +1 -0
  777. package/lib/security/secret-store-service.d.ts +39 -0
  778. package/lib/security/secret-store-service.d.ts.map +1 -0
  779. package/lib/security/secret-store-service.js +94 -0
  780. package/lib/security/secret-store-service.js.map +1 -0
  781. package/lib/security/storage/file-system-secret-store.d.ts +17 -0
  782. package/lib/security/storage/file-system-secret-store.d.ts.map +1 -0
  783. package/lib/security/storage/file-system-secret-store.js +46 -0
  784. package/lib/security/storage/file-system-secret-store.js.map +1 -0
  785. package/lib/security/storage/json-provider.d.ts +6 -0
  786. package/lib/security/storage/json-provider.d.ts.map +1 -0
  787. package/lib/security/storage/json-provider.js +17 -0
  788. package/lib/security/storage/json-provider.js.map +1 -0
  789. package/lib/security/utilities/secure-property-appender.d.ts +8 -0
  790. package/lib/security/utilities/secure-property-appender.d.ts.map +1 -0
  791. package/lib/security/utilities/secure-property-appender.js +39 -0
  792. package/lib/security/utilities/secure-property-appender.js.map +1 -0
  793. package/lib/transformers/authenticationconfiguration.d.ts +2 -0
  794. package/lib/transformers/authenticationconfiguration.d.ts.map +1 -0
  795. package/lib/transformers/authenticationconfiguration.js +22 -0
  796. package/lib/transformers/authenticationconfiguration.js.map +1 -0
  797. package/lib/transformers/export.d.ts +2 -0
  798. package/lib/transformers/export.d.ts.map +1 -0
  799. package/lib/transformers/export.js +13 -0
  800. package/lib/transformers/export.js.map +1 -0
  801. package/lib/transformers/geojson.d.ts +2 -0
  802. package/lib/transformers/geojson.d.ts.map +1 -0
  803. package/lib/transformers/geojson.js +24 -0
  804. package/lib/transformers/geojson.js.map +1 -0
  805. package/lib/transformers/layer.d.ts +2 -0
  806. package/lib/transformers/layer.d.ts.map +1 -0
  807. package/lib/transformers/layer.js +13 -0
  808. package/lib/transformers/layer.js.map +1 -0
  809. package/lib/transformers/observation.d.ts +2 -0
  810. package/lib/transformers/observation.d.ts.map +1 -0
  811. package/lib/transformers/observation.js +13 -0
  812. package/lib/transformers/observation.js.map +1 -0
  813. package/lib/transformers/pageinfo.d.ts +2 -0
  814. package/lib/transformers/pageinfo.d.ts.map +1 -0
  815. package/lib/transformers/pageinfo.js +27 -0
  816. package/lib/transformers/pageinfo.js.map +1 -0
  817. package/lib/transformers/user.d.ts +2 -0
  818. package/lib/transformers/user.d.ts.map +1 -0
  819. package/lib/transformers/user.js +21 -0
  820. package/lib/transformers/user.js.map +1 -0
  821. package/lib/tsconfig.tsbuildinfo +1 -0
  822. package/lib/upload.d.ts +8 -0
  823. package/lib/upload.d.ts.map +1 -0
  824. package/lib/upload.js +30 -0
  825. package/lib/upload.js.map +1 -0
  826. package/lib/utilities/authenticationApiAppender.d.ts +10 -0
  827. package/lib/utilities/authenticationApiAppender.d.ts.map +1 -0
  828. package/lib/utilities/authenticationApiAppender.js +48 -0
  829. package/lib/utilities/authenticationApiAppender.js.map +1 -0
  830. package/lib/utilities/filterParser.d.ts +2 -0
  831. package/lib/utilities/filterParser.d.ts.map +1 -0
  832. package/lib/utilities/filterParser.js +87 -0
  833. package/lib/utilities/filterParser.js.map +1 -0
  834. package/lib/utilities/geopackage.d.ts +56 -0
  835. package/lib/utilities/geopackage.d.ts.map +1 -0
  836. package/lib/utilities/geopackage.js +335 -0
  837. package/lib/utilities/geopackage.js.map +1 -0
  838. package/lib/utilities/loader.d.ts +9 -0
  839. package/lib/utilities/loader.d.ts.map +1 -0
  840. package/lib/utilities/loader.js +25 -0
  841. package/lib/utilities/loader.js.map +1 -0
  842. package/lib/utilities/paging.d.ts +15 -0
  843. package/lib/utilities/paging.d.ts.map +1 -0
  844. package/lib/utilities/paging.js +56 -0
  845. package/lib/utilities/paging.js.map +1 -0
  846. package/lib/utilities/passwordValidator.d.ts +8 -0
  847. package/lib/utilities/passwordValidator.d.ts.map +1 -0
  848. package/lib/utilities/passwordValidator.js +175 -0
  849. package/lib/utilities/passwordValidator.js.map +1 -0
  850. package/lib/utilities/pbkdf2.d.ts +6 -0
  851. package/lib/utilities/pbkdf2.d.ts.map +1 -0
  852. package/lib/utilities/pbkdf2.js +79 -0
  853. package/lib/utilities/pbkdf2.js.map +1 -0
  854. package/lib/utilities/togeojson.d.ts +2 -0
  855. package/lib/utilities/togeojson.d.ts.map +1 -0
  856. package/lib/utilities/togeojson.js +308 -0
  857. package/lib/utilities/togeojson.js.map +1 -0
  858. package/lib/utilities/waitForMongooseConnection.d.ts +3 -0
  859. package/lib/utilities/waitForMongooseConnection.d.ts.map +1 -0
  860. package/lib/utilities/waitForMongooseConnection.js +34 -0
  861. package/lib/utilities/waitForMongooseConnection.js.map +1 -0
  862. package/lib/utilities/whitelist.d.ts +2 -0
  863. package/lib/utilities/whitelist.d.ts.map +1 -0
  864. package/lib/utilities/whitelist.js +18 -0
  865. package/lib/utilities/whitelist.js.map +1 -0
  866. package/lib/views/authentication.pug +10 -0
  867. package/lib/views/oauth.pug +12 -0
  868. package/lib/views/observation.pug +137 -0
  869. package/package.json +203 -0
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseAcceptLanguageHeader = exports.selectContentLanguageFor = exports.LanguageTag = exports.ContentLanguageKey = void 0;
4
+ const RFC5646LanguageTagImpl = require('rfc5646');
5
+ exports.ContentLanguageKey = Symbol.for('ContentLanguage');
6
+ exports.LanguageTag = RFC5646LanguageTagImpl;
7
+ /**
8
+ * Choose the best matching content language from the given list of content
9
+ * languages for the given list of language preferences. The preferences list
10
+ * should be in descending order of preference. Return null if none of the
11
+ * content languages satisfies the preferences.
12
+ * @param preferences
13
+ * @param contentLanguages
14
+ * @returns the matched content lanugage or null
15
+ */
16
+ function selectContentLanguageFor(preferences, contentLanguages) {
17
+ for (const pref of preferences) {
18
+ const match = contentLanguages.find(x => x.suitableFor(pref.minimal.toString()));
19
+ if (match) {
20
+ return match;
21
+ }
22
+ }
23
+ return null;
24
+ }
25
+ exports.selectContentLanguageFor = selectContentLanguageFor;
26
+ /**
27
+ * Parse the string that represents a client's language preferences, as defined
28
+ * in [RFC-7231](https://www.rfc-editor.org/rfc/rfc7231.html#section-5.3.5)
29
+ * (HTTP/1.1). These strings appear in the `Accept-Language` HTTP header.
30
+ * Return an array of {@link LanguageTag | language tag} instances in descending
31
+ * order of preference.
32
+ *
33
+ * Example:
34
+ * ```text
35
+ * Accept-Language: da, en-gb;q=0.8, en;q=0.7
36
+ * ```
37
+ * The portion following `Accept-Language: ` is what this function expects.
38
+ * @param header
39
+ * @returns
40
+ */
41
+ function parseAcceptLanguageHeader(header) {
42
+ if (!header) {
43
+ return [];
44
+ }
45
+ const ranges = header.split(',')
46
+ .reduce((ranges, part) => {
47
+ const range = parseLanguageRange(part);
48
+ if (range) {
49
+ ranges.push(range);
50
+ }
51
+ return ranges;
52
+ }, [])
53
+ .sort((a, b) => b.quality - a.quality);
54
+ return ranges.map(x => x.tag);
55
+ }
56
+ exports.parseAcceptLanguageHeader = parseAcceptLanguageHeader;
57
+ function parseLanguageRange(range) {
58
+ range = range.trim();
59
+ if (!range.length) {
60
+ return null;
61
+ }
62
+ const [tagStr, qualityStr = ''] = range.split(';');
63
+ const tag = new exports.LanguageTag(tagStr.trim());
64
+ const qualityPart = qualityStr.split(/=\s*/)[1] || '';
65
+ // absence of quality value implies 1.0 per rfc-7231
66
+ const quality = parseFloat(qualityPart.trim()) || 1.0;
67
+ return { tag, quality };
68
+ }
69
+ //# sourceMappingURL=entities.i18n.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.i18n.js","sourceRoot":"","sources":["../../src/entities/entities.i18n.ts"],"names":[],"mappings":";;;AAAA,MAAM,sBAAsB,GAAG,OAAO,CAAC,SAAS,CAAsC,CAAA;AAmCzE,QAAA,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAA;AAMlD,QAAA,WAAW,GAAG,sBAAsB,CAAA;AAEjD;;;;;;;;GAQG;AACH,SAAgB,wBAAwB,CAAC,WAA0B,EAAE,gBAA+B;IAClG,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE;QAC9B,MAAM,KAAK,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;QAChF,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAA;SACb;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AARD,4DAQC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAgB,yBAAyB,CAAC,MAAiC;IACzE,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,EAAE,CAAA;KACV;IACD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;SAC7B,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;QACtC,IAAI,KAAK,EAAE;YACT,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;SACnB;QACD,OAAO,MAAM,CAAA;IACf,CAAC,EAAE,EAAqB,CAAC;SACxB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,CAAA;IACxC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;AAC/B,CAAC;AAdD,8DAcC;AAuBD,SAAS,kBAAkB,CAAC,KAAa;IACvC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;IACpB,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;QACjB,OAAO,IAAI,CAAA;KACZ;IACD,MAAM,CAAE,MAAM,EAAE,UAAU,GAAG,EAAE,CAAE,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IACpD,MAAM,GAAG,GAAG,IAAI,mBAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IAC1C,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACrD,oDAAoD;IACpD,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAA;IACrD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,CAAA;AACzB,CAAC"}
@@ -0,0 +1,42 @@
1
+ export declare type JsonPrimitive = null | boolean | number | string;
2
+ export declare type Json = JsonPrimitive | JsonObject | Json[];
3
+ export declare type JsonObject = {
4
+ [prop: string]: Json | undefined;
5
+ };
6
+ /**
7
+ * This mapped type ensures the target type is JSON-compatible. If so, this
8
+ * type maps to the given target type. If not, this type maps to `never`.
9
+ * This type enforces JSON compatibility on strongly typed interfaces with
10
+ * strict keys because this does not use a dynamic index signature that would
11
+ * allow any key to be present in the target type, like {@link JsonObject}
12
+ * uses. To use this type, created a class or function with a generic
13
+ * parameter for the target type, and substitute `EnsureJson<TargetType>` for
14
+ * references to `TargetType`. For example,
15
+ * ```
16
+ * class Job<T> {
17
+ * execute(): Promise<EnsureJson<T>>
18
+ * chain(from: EnsureJson<T>): Job<EnsureJson<T>>
19
+ * }
20
+ * ```
21
+ */
22
+ export declare type EnsureJson<T> = T extends Function ? never : T extends JsonPrimitive ? T : T extends (infer E)[] ? EnsureJson<E>[] : keyof T extends string | number ? T extends {
23
+ [K in keyof T]: EnsureJson<T[K]>;
24
+ } ? T : never : never;
25
+ export declare type JsonCompatible<T> = {
26
+ [P in keyof T]: T[P] extends Json ? T[P] : Pick<T, P> extends Required<Pick<T, P>> ? never : T[P] extends (() => any) | undefined ? never : JsonCompatible<T[P]>;
27
+ };
28
+ export { JSONSchema4 } from 'json-schema';
29
+ import { JSONSchema4 } from 'json-schema';
30
+ export interface JsonValidator {
31
+ validate(instance: Json): Promise<null | Error>;
32
+ }
33
+ export interface JsonSchemaService {
34
+ /**
35
+ * Validate the given JSON Schema and resolve an object that is essentially
36
+ * a compiled, cacheable version of the schema that can validate JSON
37
+ * instances.
38
+ * @param schema the JSON Schema to validate and compile
39
+ */
40
+ validateSchema(schema: JSONSchema4): Promise<JsonValidator>;
41
+ }
42
+ //# sourceMappingURL=entities.json_types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.json_types.d.ts","sourceRoot":"","sources":["../../src/entities/entities.json_types.ts"],"names":[],"mappings":"AACA,oBAAY,aAAa,GACrB,IAAI,GACJ,OAAO,GACP,MAAM,GACN,MAAM,CAAA;AAEV,oBAAY,IAAI,GACZ,aAAa,GACb,UAAU,GACV,IAAI,EAAE,CAAA;AAEV,oBAAY,UAAU,GAAG;IAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CAAE,CAAA;AAE7D;;;;;;;;;;;;;;;GAeG;AACH,oBAAY,UAAU,CAAC,CAAC,IACtB,CAAC,SAAS,QAAQ,GAAG,KAAK,GACxB,CAAC,SAAS,aAAa,GAAG,CAAC,GAC3B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,GACvC,MAAM,CAAC,SAAS,MAAM,GAAG,MAAM,GAC/B,CAAC,SAAS;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,CAAC,GAClD,KAAK,GACL,KAAK,CAAA;AAGT,oBAAY,cAAc,CAAC,CAAC,IAAI;KAC7B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,GAC7B,CAAC,CAAC,CAAC,CAAC,GACJ,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GACvC,KAAK,GACL,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,SAAS,GACpC,KAAK,GACL,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CACzB,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAEzC,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,KAAK,CAAC,CAAA;CAChD;AAED,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC,CAAA;CAC5D"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=entities.json_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.json_types.js","sourceRoot":"","sources":["../../src/entities/entities.json_types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,118 @@
1
+ import { FeedId } from '../feeds/entities.feeds';
2
+ import { Form, FormField, FormId } from './entities.events.forms';
3
+ import { Team, TeamId } from '../teams/entities.teams';
4
+ import { LineStyle } from '../entities.global';
5
+ export declare type MageEventId = number;
6
+ export interface MageEventAttrs {
7
+ id: MageEventId;
8
+ name: string;
9
+ description?: string;
10
+ complete?: boolean;
11
+ teamIds?: TeamId[];
12
+ teams?: Team[];
13
+ layerIds: string[];
14
+ feedIds: FeedId[];
15
+ forms: Form[];
16
+ minObservationForms?: number;
17
+ maxObservationForms?: number;
18
+ style: LineStyle;
19
+ acl: Acl;
20
+ }
21
+ /**
22
+ * A note about copying: One might think that using the spread operator `...`
23
+ * would be a cleaner way to quickly copy objects. However, because `MageEvent`
24
+ * implements `MageEventAttrs`, and `MageEvent` uses accessor functions to
25
+ * return property values, the spread operator would fail to copy those
26
+ * properties to a new object hash. So, to properly copy all the values of the
27
+ * given source object, which might be class instance or an object with
28
+ * properties on the protoype chain, the only fool-proof way is to explicitly
29
+ * read and assign the properties of interest.
30
+ * @param x
31
+ * @returns
32
+ */
33
+ export declare function copyMageEventAttrs(x: MageEventAttrs): MageEventAttrs;
34
+ export declare function copyAclAttrs(x: Acl): Acl;
35
+ export declare class MageEvent implements Readonly<MageEventAttrs> {
36
+ #private;
37
+ constructor(attrs: MageEventAttrs);
38
+ get id(): number;
39
+ get name(): string;
40
+ get description(): string | undefined;
41
+ get complete(): boolean | undefined;
42
+ get teamIds(): string[] | undefined;
43
+ get teams(): Team[] | undefined;
44
+ get layerIds(): string[];
45
+ get feedIds(): string[];
46
+ get forms(): Form[];
47
+ /**
48
+ * Return only the forms for this event whose `archived` flag is `false`.
49
+ */
50
+ get activeForms(): Form[];
51
+ get minObservationForms(): number | undefined;
52
+ get maxObservationForms(): number | undefined;
53
+ get style(): LineStyle;
54
+ get acl(): Acl;
55
+ formFor(id: FormId): Form | null;
56
+ formFieldFor(fieldName: string, formId: FormId): FormField | null;
57
+ /**
58
+ * Similarly to {@link activeForms}, return only the form fields in the
59
+ * given form whose `archived` flag is `false` or `undefined`.
60
+ * @param formId
61
+ * @returns
62
+ */
63
+ activeFieldsForForm(formId: FormId): FormField[] | null;
64
+ }
65
+ export declare function formForId(id: FormId, mageEvent: MageEventAttrs): Form | null;
66
+ export declare enum EventAccessType {
67
+ Read = "read",
68
+ Update = "update",
69
+ Delete = "delete"
70
+ }
71
+ export declare enum EventRole {
72
+ OWNER = "OWNER",
73
+ MANAGER = "MANAGER",
74
+ GUEST = "GUEST"
75
+ }
76
+ export declare type EventRolePermissions = {
77
+ [role in EventRole]: EventAccessType[];
78
+ };
79
+ export declare const EventRolePermissions: EventRolePermissions;
80
+ export declare function rolesWithPermission(permission: EventAccessType): EventRole[];
81
+ /**
82
+ * The ACL (access control list) structure is a dictionary whose keys are
83
+ * user IDs, and corresponding values are the role names that define the
84
+ * permissions the user ID has on the event.
85
+ */
86
+ export interface Acl {
87
+ [userId: string]: {
88
+ role: EventRole;
89
+ permissions: EventAccessType[];
90
+ };
91
+ }
92
+ export declare type MageEventCreateAttrs = Pick<MageEventAttrs, 'name' | 'description'>;
93
+ export interface MageEventRepository {
94
+ findAll(): Promise<MageEventAttrs[]>;
95
+ findById(id: MageEventId): Promise<MageEvent | null>;
96
+ findAllByIds(ids: MageEventId[]): Promise<{
97
+ [id: number]: MageEventAttrs | null;
98
+ }>;
99
+ /**
100
+ * Return all the MAGE events that are not {@link MageEventAttrs.complete | complete}.
101
+ */
102
+ findActiveEvents(): Promise<MageEventAttrs[]>;
103
+ /**
104
+ * Add a reference to the given feed ID on the given event.
105
+ * @param event an Event ID
106
+ * @param feed a Feed ID
107
+ */
108
+ addFeedsToEvent(event: MageEventId, ...feeds: FeedId[]): Promise<MageEventAttrs | null>;
109
+ findTeamsInEvent(event: MageEventId): Promise<Team[] | null>;
110
+ removeFeedsFromEvent(event: MageEventId, ...feeds: FeedId[]): Promise<MageEventAttrs | null>;
111
+ /**
112
+ * Remove the given feeds from any events that reference the feed. Return the
113
+ * count of events the operation modified.
114
+ * @param feed the ID of the feed to remove from events
115
+ */
116
+ removeFeedsFromEvents(...feed: FeedId[]): Promise<number>;
117
+ }
118
+ //# sourceMappingURL=entities.events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.events.d.ts","sourceRoot":"","sources":["../../../src/entities/events/entities.events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,132 @@
1
+ import { LineStyle } from '../entities.global';
2
+ export declare type FormId = number;
3
+ /**
4
+ * A `Form` instance defines a group of form fields that a user must fill to
5
+ * submit observation data.
6
+ */
7
+ export interface Form {
8
+ id: FormId;
9
+ name: string;
10
+ description?: string;
11
+ /**
12
+ * Require at least the given number of entries for this form.
13
+ */
14
+ min?: number;
15
+ /**
16
+ * Limit the entries for this form to the given number.
17
+ */
18
+ max?: number;
19
+ fields: FormField[];
20
+ /**
21
+ * Use the value of the specified field as the first component in a map style
22
+ * rule that determines the map marker for observations with entries for this
23
+ * form. For example, the primary field could be `vehicleType`, and values
24
+ * could map to different icon images that represent types of vehicles.
25
+ */
26
+ primaryField?: string;
27
+ /**
28
+ * Use the value of the specified field as the second component in a map style
29
+ * rule that determines the map marker for observations with entries for this
30
+ * form. For example, the variant field could be `color`, and values could
31
+ * map to defined color values to apply to the map marker.
32
+ */
33
+ variantField?: string;
34
+ /**
35
+ * Use the value of the specified field as the most prominent heading value
36
+ * that a feed list view would display for an observation.
37
+ */
38
+ primaryFeedField?: string;
39
+ /**
40
+ * Use the value of the specified field as a sub-heading value that a feed
41
+ * list view would display for an observation.
42
+ */
43
+ secondaryFeedField?: string;
44
+ /**
45
+ * This is a list of references to fields that are dropdowns whose choices
46
+ * are MAGE users' names.
47
+ * TODO: this could be modeled better as a general choice field that
48
+ * specifies a data source for its choices
49
+ */
50
+ userFields: string[];
51
+ /**
52
+ * Color must be a valid hexadecimal color string prefixed with a "#" symbol,
53
+ * e.g., #0a0b0c.
54
+ */
55
+ color: string;
56
+ style?: LineStyle;
57
+ archived: boolean;
58
+ }
59
+ export declare function copyFormAttrs(x: Form): Form;
60
+ export declare function copyFormFieldAttrs(x: FormField): FormField;
61
+ export declare function copyFormFieldChoiceAttrs(x: FormFieldChoice): FormFieldChoice;
62
+ export interface FormField {
63
+ id: number;
64
+ archived?: boolean;
65
+ name: string;
66
+ title: string;
67
+ type: FormFieldType;
68
+ required: boolean;
69
+ value?: any;
70
+ choices?: FormFieldChoice[];
71
+ /**
72
+ * The absence of any media type constraints indicates the field allows any
73
+ * file type as an attachment.
74
+ */
75
+ allowedAttachmentTypes?: AttachmentPresentationType[];
76
+ /**
77
+ * The minimum constraint applies to the value of a numeric field or to the
78
+ * number of attachments required on an attachment field.
79
+ */
80
+ min?: number;
81
+ /**
82
+ * The maximum constraint applies to the value of a numeric field or to the
83
+ * number of attachments allowed on an attachment field.
84
+ */
85
+ max?: number;
86
+ }
87
+ /**
88
+ * Attachment presentation type is the general category of how the content of an
89
+ * attachment is presented and consumed.
90
+ */
91
+ export declare enum AttachmentPresentationType {
92
+ Image = "image",
93
+ Video = "video",
94
+ Audio = "audio"
95
+ }
96
+ /**
97
+ * The attachment media types are the [IANA registered Media Type](https://www.iana.org/assignments/media-types/media-types.xhtml)
98
+ * designations associated with the {@link content types} that MAGE supports.
99
+ */
100
+ export declare const AttachmentMediaTypes: {
101
+ [MediaType in AttachmentPresentationType]: readonly string[];
102
+ };
103
+ /**
104
+ * TODO: this should probably move to the observations entity module with other validations
105
+ * Return true if the allowed attachment MIME types for the given form field
106
+ * include the given MIME type of a submitted attachment.
107
+ * @param field
108
+ * @param attachmentMimeType
109
+ */
110
+ export declare const attachmentTypeIsValidForField: (field: FormField, attachmentMimeType: string | null | undefined) => boolean;
111
+ export declare enum FormFieldType {
112
+ Attachment = "attachment",
113
+ CheckBox = "checkbox",
114
+ DateTime = "date",
115
+ Dropdown = "dropdown",
116
+ Email = "email",
117
+ Geometry = "geometry",
118
+ Hidden = "hidden",
119
+ MultiSelectDropdown = "multiselectdropdown",
120
+ Numeric = "numberfield",
121
+ Password = "password",
122
+ Radio = "radio",
123
+ Text = "textfield",
124
+ TextArea = "textarea"
125
+ }
126
+ export interface FormFieldChoice {
127
+ id: number;
128
+ title: string;
129
+ value: number;
130
+ blank?: boolean;
131
+ }
132
+ //# sourceMappingURL=entities.events.forms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.events.forms.d.ts","sourceRoot":"","sources":["../../../src/entities/events/entities.events.forms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAGlE,oBAAY,MAAM,GAAG,MAAM,CAAA;AAE3B;;;GAGG;AACH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,SAAS,EAAE,CAAA;IACnB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;;;;;OAKG;IACH,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,QAAQ,EAAE,OAAO,CAAA;CAClB;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,IAAI,CAiB3C;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAc1D;AAED,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,eAAe,GAAG,eAAe,CAO5E;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,GAAG,CAAC;IACZ,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B;;;OAGG;IACH,sBAAsB,CAAC,EAAE,0BAA0B,EAAE,CAAA;IACrD;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;GAGG;AACH,oBAAY,0BAA0B;IACpC,KAAK,UAAU;IACf,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE;KAAG,SAAS,IAAI,0BAA0B,GAAG,SAAS,MAAM,EAAE;CAI/F,CAAA;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B,UAAW,SAAS,sBAAsB,MAAM,GAAG,IAAI,GAAG,SAAS,KAAG,OAQ/G,CAAA;AAED,oBAAY,aAAa;IACvB,UAAU,eAAe;IACzB,QAAQ,aAAa;IACrB,QAAQ,SAAS;IACjB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,MAAM,WAAW;IACjB,mBAAmB,wBAAwB;IAC3C,OAAO,gBAAgB;IACvB,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,IAAI,cAAc;IAClB,QAAQ,aAAa;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormFieldType = exports.attachmentTypeIsValidForField = exports.AttachmentMediaTypes = exports.AttachmentPresentationType = exports.copyFormFieldChoiceAttrs = exports.copyFormFieldAttrs = exports.copyFormAttrs = void 0;
4
+ const entities_global_1 = require("../entities.global");
5
+ function copyFormAttrs(x) {
6
+ return {
7
+ id: x.id,
8
+ archived: x.archived,
9
+ name: x.name,
10
+ description: x.description,
11
+ max: x.max,
12
+ min: x.min,
13
+ fields: x.fields.map(copyFormFieldAttrs),
14
+ primaryField: x.primaryField,
15
+ variantField: x.variantField,
16
+ primaryFeedField: x.primaryFeedField,
17
+ secondaryFeedField: x.secondaryFeedField,
18
+ color: x.color,
19
+ style: x.style ? (0, entities_global_1.copyLineStyleAttrs)(x.style) : undefined,
20
+ userFields: x.userFields ? [...x.userFields] : [],
21
+ };
22
+ }
23
+ exports.copyFormAttrs = copyFormAttrs;
24
+ function copyFormFieldAttrs(x) {
25
+ var _a;
26
+ return {
27
+ id: x.id,
28
+ name: x.name,
29
+ required: x.required,
30
+ title: x.title,
31
+ type: x.type,
32
+ archived: x.archived,
33
+ min: x.min,
34
+ max: x.max,
35
+ value: x.value,
36
+ choices: (_a = x.choices) === null || _a === void 0 ? void 0 : _a.map(copyFormFieldChoiceAttrs),
37
+ allowedAttachmentTypes: x.allowedAttachmentTypes ? [...x.allowedAttachmentTypes] : undefined
38
+ };
39
+ }
40
+ exports.copyFormFieldAttrs = copyFormFieldAttrs;
41
+ function copyFormFieldChoiceAttrs(x) {
42
+ return {
43
+ id: x.id,
44
+ title: x.title,
45
+ value: x.value,
46
+ blank: x.blank
47
+ };
48
+ }
49
+ exports.copyFormFieldChoiceAttrs = copyFormFieldChoiceAttrs;
50
+ /**
51
+ * Attachment presentation type is the general category of how the content of an
52
+ * attachment is presented and consumed.
53
+ */
54
+ var AttachmentPresentationType;
55
+ (function (AttachmentPresentationType) {
56
+ AttachmentPresentationType["Image"] = "image";
57
+ AttachmentPresentationType["Video"] = "video";
58
+ AttachmentPresentationType["Audio"] = "audio";
59
+ })(AttachmentPresentationType = exports.AttachmentPresentationType || (exports.AttachmentPresentationType = {}));
60
+ /**
61
+ * The attachment media types are the [IANA registered Media Type](https://www.iana.org/assignments/media-types/media-types.xhtml)
62
+ * designations associated with the {@link content types} that MAGE supports.
63
+ */
64
+ exports.AttachmentMediaTypes = Object.freeze({
65
+ [AttachmentPresentationType.Image]: Object.freeze(['image/gif', 'image/jpeg', 'image/png', 'image/webp']),
66
+ [AttachmentPresentationType.Video]: Object.freeze(['video/mp4', 'video/quicktime']),
67
+ [AttachmentPresentationType.Audio]: Object.freeze(['audio/mp4']),
68
+ });
69
+ /**
70
+ * TODO: this should probably move to the observations entity module with other validations
71
+ * Return true if the allowed attachment MIME types for the given form field
72
+ * include the given MIME type of a submitted attachment.
73
+ * @param field
74
+ * @param attachmentMimeType
75
+ */
76
+ const attachmentTypeIsValidForField = (field, attachmentMimeType) => {
77
+ if (!field.allowedAttachmentTypes || field.allowedAttachmentTypes.length === 0) {
78
+ return true;
79
+ }
80
+ const allowedTypes = field.allowedAttachmentTypes || [];
81
+ return typeof attachmentMimeType === 'string' && allowedTypes
82
+ .map(mediaType => exports.AttachmentMediaTypes[mediaType])
83
+ .some(mimeTypes => mimeTypes.includes(attachmentMimeType));
84
+ };
85
+ exports.attachmentTypeIsValidForField = attachmentTypeIsValidForField;
86
+ var FormFieldType;
87
+ (function (FormFieldType) {
88
+ FormFieldType["Attachment"] = "attachment";
89
+ FormFieldType["CheckBox"] = "checkbox";
90
+ FormFieldType["DateTime"] = "date";
91
+ FormFieldType["Dropdown"] = "dropdown";
92
+ FormFieldType["Email"] = "email";
93
+ FormFieldType["Geometry"] = "geometry";
94
+ FormFieldType["Hidden"] = "hidden";
95
+ FormFieldType["MultiSelectDropdown"] = "multiselectdropdown";
96
+ FormFieldType["Numeric"] = "numberfield";
97
+ FormFieldType["Password"] = "password";
98
+ FormFieldType["Radio"] = "radio";
99
+ FormFieldType["Text"] = "textfield";
100
+ FormFieldType["TextArea"] = "textarea";
101
+ })(FormFieldType = exports.FormFieldType || (exports.FormFieldType = {}));
102
+ //# sourceMappingURL=entities.events.forms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.events.forms.js","sourceRoot":"","sources":["../../../src/entities/events/entities.events.forms.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _MageEvent_attrs, _MageEvent_formIndex, _MageEvent_formFieldIndex;
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.rolesWithPermission = exports.EventRolePermissions = exports.EventRole = exports.EventAccessType = exports.formForId = exports.MageEvent = exports.copyAclAttrs = exports.copyMageEventAttrs = void 0;
16
+ const entities_events_forms_1 = require("./entities.events.forms");
17
+ const entities_global_1 = require("../entities.global");
18
+ /**
19
+ * A note about copying: One might think that using the spread operator `...`
20
+ * would be a cleaner way to quickly copy objects. However, because `MageEvent`
21
+ * implements `MageEventAttrs`, and `MageEvent` uses accessor functions to
22
+ * return property values, the spread operator would fail to copy those
23
+ * properties to a new object hash. So, to properly copy all the values of the
24
+ * given source object, which might be class instance or an object with
25
+ * properties on the protoype chain, the only fool-proof way is to explicitly
26
+ * read and assign the properties of interest.
27
+ * @param x
28
+ * @returns
29
+ */
30
+ function copyMageEventAttrs(x) {
31
+ return {
32
+ id: x.id,
33
+ name: x.name,
34
+ description: x.description,
35
+ complete: x.complete,
36
+ minObservationForms: x.minObservationForms,
37
+ maxObservationForms: x.maxObservationForms,
38
+ forms: x.forms.map(entities_events_forms_1.copyFormAttrs),
39
+ layerIds: [...x.layerIds],
40
+ feedIds: [...x.feedIds],
41
+ teamIds: x.teamIds ? [...x.teamIds] : undefined,
42
+ teams: x.teams,
43
+ acl: copyAclAttrs(x.acl),
44
+ style: (0, entities_global_1.copyLineStyleAttrs)(x.style),
45
+ };
46
+ }
47
+ exports.copyMageEventAttrs = copyMageEventAttrs;
48
+ function copyAclAttrs(x) {
49
+ return Object.getOwnPropertyNames(x).reduce((acl, userId) => {
50
+ const entry = x[userId];
51
+ acl[userId] = {
52
+ role: entry.role,
53
+ permissions: entry.permissions,
54
+ };
55
+ return acl;
56
+ }, {});
57
+ }
58
+ exports.copyAclAttrs = copyAclAttrs;
59
+ function FormFieldKey(formId, fieldName) {
60
+ return `${formId}::${fieldName}`;
61
+ }
62
+ class MageEvent {
63
+ constructor(attrs) {
64
+ _MageEvent_attrs.set(this, void 0);
65
+ _MageEvent_formIndex.set(this, new Map());
66
+ _MageEvent_formFieldIndex.set(this, new Map());
67
+ // TODO: deep copy
68
+ __classPrivateFieldSet(this, _MageEvent_attrs, Object.freeze(copyMageEventAttrs(attrs)), "f");
69
+ for (const form of attrs.forms) {
70
+ __classPrivateFieldGet(this, _MageEvent_formIndex, "f").set(form.id, form);
71
+ for (const field of form.fields) {
72
+ __classPrivateFieldGet(this, _MageEvent_formFieldIndex, "f").set(FormFieldKey(form.id, field.name), field);
73
+ }
74
+ }
75
+ }
76
+ get id() { return __classPrivateFieldGet(this, _MageEvent_attrs, "f").id; }
77
+ get name() { return __classPrivateFieldGet(this, _MageEvent_attrs, "f").name; }
78
+ get description() { return __classPrivateFieldGet(this, _MageEvent_attrs, "f").description; }
79
+ get complete() { return __classPrivateFieldGet(this, _MageEvent_attrs, "f").complete; }
80
+ get teamIds() { return __classPrivateFieldGet(this, _MageEvent_attrs, "f").teamIds; }
81
+ get teams() { return __classPrivateFieldGet(this, _MageEvent_attrs, "f").teams; }
82
+ get layerIds() { return __classPrivateFieldGet(this, _MageEvent_attrs, "f").layerIds; }
83
+ get feedIds() { return __classPrivateFieldGet(this, _MageEvent_attrs, "f").feedIds; }
84
+ get forms() { return __classPrivateFieldGet(this, _MageEvent_attrs, "f").forms; }
85
+ /**
86
+ * Return only the forms for this event whose `archived` flag is `false`.
87
+ */
88
+ get activeForms() { return this.forms.filter(x => !x.archived); }
89
+ get minObservationForms() { return __classPrivateFieldGet(this, _MageEvent_attrs, "f").minObservationForms; }
90
+ get maxObservationForms() { return __classPrivateFieldGet(this, _MageEvent_attrs, "f").maxObservationForms; }
91
+ get style() { return __classPrivateFieldGet(this, _MageEvent_attrs, "f").style; }
92
+ get acl() { return __classPrivateFieldGet(this, _MageEvent_attrs, "f").acl; }
93
+ formFor(id) {
94
+ return __classPrivateFieldGet(this, _MageEvent_formIndex, "f").get(id) || null;
95
+ }
96
+ formFieldFor(fieldName, formId) {
97
+ return __classPrivateFieldGet(this, _MageEvent_formFieldIndex, "f").get(FormFieldKey(formId, fieldName)) || null;
98
+ }
99
+ /**
100
+ * Similarly to {@link activeForms}, return only the form fields in the
101
+ * given form whose `archived` flag is `false` or `undefined`.
102
+ * @param formId
103
+ * @returns
104
+ */
105
+ activeFieldsForForm(formId) {
106
+ const form = this.formFor(formId);
107
+ if (form) {
108
+ return form.fields.filter(x => !x.archived);
109
+ }
110
+ return null;
111
+ }
112
+ }
113
+ exports.MageEvent = MageEvent;
114
+ _MageEvent_attrs = new WeakMap(), _MageEvent_formIndex = new WeakMap(), _MageEvent_formFieldIndex = new WeakMap();
115
+ function formForId(id, mageEvent) {
116
+ return mageEvent.forms.find(x => x.id === id) || null;
117
+ }
118
+ exports.formForId = formForId;
119
+ var EventAccessType;
120
+ (function (EventAccessType) {
121
+ EventAccessType["Read"] = "read";
122
+ EventAccessType["Update"] = "update";
123
+ EventAccessType["Delete"] = "delete";
124
+ })(EventAccessType = exports.EventAccessType || (exports.EventAccessType = {}));
125
+ var EventRole;
126
+ (function (EventRole) {
127
+ EventRole["OWNER"] = "OWNER";
128
+ EventRole["MANAGER"] = "MANAGER";
129
+ EventRole["GUEST"] = "GUEST";
130
+ })(EventRole = exports.EventRole || (exports.EventRole = {}));
131
+ exports.EventRolePermissions = {
132
+ OWNER: [EventAccessType.Read, EventAccessType.Update, EventAccessType.Delete],
133
+ MANAGER: [EventAccessType.Read, EventAccessType.Update],
134
+ GUEST: [EventAccessType.Read],
135
+ };
136
+ function rolesWithPermission(permission) {
137
+ const roles = [];
138
+ for (const key in exports.EventRolePermissions) {
139
+ if (exports.EventRolePermissions[key].indexOf(permission) !== -1) {
140
+ roles.push(key);
141
+ }
142
+ }
143
+ return roles;
144
+ }
145
+ exports.rolesWithPermission = rolesWithPermission;
146
+ //# sourceMappingURL=entities.events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.events.js","sourceRoot":"","sources":["../../../src/entities/events/entities.events.ts"],"names":[],"mappings":"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"}