@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,175 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ const util = require('util'), log = require('winston'), hasher = require('./pbkdf2')();
12
+ const SPECIAL_CHARS = '~!@#$%^&*(),.?":{}|<>_=;-';
13
+ const validPassword = util.promisify(hasher.validPassword);
14
+ function validate(passwordPolicy, { password, previousPasswords: previousHashedPasswords }) {
15
+ return __awaiter(this, void 0, void 0, function* () {
16
+ if (!password) {
17
+ return {
18
+ valid: false,
19
+ errorMsg: 'Password is missing'
20
+ };
21
+ }
22
+ const invalid = !validatePasswordLength(passwordPolicy, password) ||
23
+ !validateMinimumCharacters(passwordPolicy, password) ||
24
+ !validateMaximumConsecutiveCharacters(passwordPolicy, password) ||
25
+ !validateMinimumLowercaseCharacters(passwordPolicy, password) ||
26
+ !validateMinimumUppercaseCharacters(passwordPolicy, password) ||
27
+ !validateMinimumNumbers(passwordPolicy, password) ||
28
+ !validateMinimumSpecialCharacters(passwordPolicy, password) ||
29
+ !(yield validatePasswordHistory(passwordPolicy, password, previousHashedPasswords));
30
+ return {
31
+ valid: !invalid,
32
+ errorMsg: invalid ? passwordPolicy.helpText : null
33
+ };
34
+ });
35
+ }
36
+ function validatePasswordLength(passwordPolicy, password) {
37
+ let isValid = true;
38
+ if (passwordPolicy.passwordMinLengthEnabled) {
39
+ isValid = password.length >= passwordPolicy.passwordMinLength;
40
+ }
41
+ log.debug('Password meets min length: ' + isValid);
42
+ return isValid;
43
+ }
44
+ function validateMinimumCharacters(passwordPolicy, password) {
45
+ let isValid = true;
46
+ if (passwordPolicy.minCharsEnabled) {
47
+ let passwordCount = 0;
48
+ for (let i = 0; i < password.length; i++) {
49
+ const a = password[i];
50
+ if (a.match(/[a-z]/i)) {
51
+ passwordCount++;
52
+ }
53
+ }
54
+ isValid = passwordCount >= passwordPolicy.minChars;
55
+ log.debug('Password meets miniminum letters: ' + isValid);
56
+ }
57
+ return isValid;
58
+ }
59
+ function validateMaximumConsecutiveCharacters(passwordPolicy, password) {
60
+ let isValid = true;
61
+ if (passwordPolicy.maxConCharsEnabled) {
62
+ let conCount = 0;
63
+ for (let i = 0; i < password.length; i++) {
64
+ const a = password[i];
65
+ if (a.match(/[a-z]/i)) {
66
+ conCount++;
67
+ }
68
+ else {
69
+ conCount = 0;
70
+ }
71
+ if (conCount > passwordPolicy.maxConChars) {
72
+ isValid = false;
73
+ break;
74
+ }
75
+ }
76
+ log.debug('Password meets max consecutive letters: ' + isValid);
77
+ }
78
+ return isValid;
79
+ }
80
+ function validateMinimumLowercaseCharacters(passwordPolicy, password) {
81
+ let isValid = true;
82
+ if (passwordPolicy.lowLettersEnabled) {
83
+ let passwordCount = 0;
84
+ for (let i = 0; i < password.length; i++) {
85
+ const a = password[i];
86
+ if (a.match(/[a-z]/)) {
87
+ passwordCount++;
88
+ }
89
+ }
90
+ isValid = passwordCount >= passwordPolicy.lowLetters;
91
+ log.debug('Password meets minimum lowercase letters: ' + isValid);
92
+ }
93
+ return isValid;
94
+ }
95
+ function validateMinimumUppercaseCharacters(passwordPolicy, password) {
96
+ let isValid = true;
97
+ if (passwordPolicy.highLettersEnabled) {
98
+ let passwordCount = 0;
99
+ for (let i = 0; i < password.length; i++) {
100
+ const a = password[i];
101
+ if (a.match(/[A-Z]/)) {
102
+ passwordCount++;
103
+ }
104
+ }
105
+ isValid = passwordCount >= passwordPolicy.highLetters;
106
+ log.debug('Password meets minimum uppercase letters: ' + isValid);
107
+ }
108
+ return isValid;
109
+ }
110
+ function validateMinimumNumbers(passwordPolicy, password) {
111
+ let isValid = true;
112
+ if (passwordPolicy.numbersEnabled) {
113
+ let passwordCount = 0;
114
+ for (let i = 0; i < password.length; i++) {
115
+ let a = password[i];
116
+ if (a.match(/[0-9]/)) {
117
+ passwordCount++;
118
+ }
119
+ }
120
+ isValid = passwordCount >= passwordPolicy.numbers;
121
+ log.debug('Password meets minimum numbers: ' + isValid);
122
+ }
123
+ return isValid;
124
+ }
125
+ function validateMinimumSpecialCharacters(passwordPolicy, password) {
126
+ let isValid = true;
127
+ if (passwordPolicy.specialCharsEnabled) {
128
+ let regex = null;
129
+ let nonAllowedRegex = null;
130
+ if (passwordPolicy.restrictSpecialCharsEnabled) {
131
+ nonAllowedRegex = new RegExp('[' + createRestrictedRegex(passwordPolicy.restrictSpecialChars) + ']');
132
+ regex = new RegExp('[' + passwordPolicy.restrictSpecialChars + ']');
133
+ }
134
+ else {
135
+ regex = new RegExp('[' + SPECIAL_CHARS + ']');
136
+ }
137
+ let specialCharCount = 0;
138
+ for (let i = 0; i < password.length; i++) {
139
+ const a = password[i];
140
+ if (nonAllowedRegex && a.match(nonAllowedRegex)) {
141
+ specialCharCount = -1;
142
+ break;
143
+ }
144
+ if (a.match(regex)) {
145
+ specialCharCount++;
146
+ }
147
+ }
148
+ isValid = specialCharCount >= passwordPolicy.specialChars;
149
+ log.debug('Password meets special characters policy: ' + isValid);
150
+ }
151
+ return isValid;
152
+ }
153
+ function createRestrictedRegex(restrictedChars) {
154
+ let nonAllowedRegex = '';
155
+ for (let i = 0; i < SPECIAL_CHARS.length; i++) {
156
+ const specialChar = SPECIAL_CHARS[i];
157
+ if (!restrictedChars.includes(specialChar)) {
158
+ nonAllowedRegex += specialChar;
159
+ }
160
+ }
161
+ return nonAllowedRegex;
162
+ }
163
+ function validatePasswordHistory(passwordPolicy, password, passwords) {
164
+ return __awaiter(this, void 0, void 0, function* () {
165
+ if (!passwordPolicy.passwordHistoryCountEnabled || !passwords)
166
+ return Promise.resolve(true);
167
+ const policyPasswords = passwords.slice(0, passwordPolicy.passwordHistoryCount);
168
+ const results = yield Promise.all(policyPasswords.map(policyPassword => validPassword(password, policyPassword)));
169
+ return !results.includes(true);
170
+ });
171
+ }
172
+ module.exports = {
173
+ validate
174
+ };
175
+ //# sourceMappingURL=passwordValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"passwordValidator.js","sourceRoot":"","sources":["../../src/utilities/passwordValidator.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ declare function _exports(options: any): {
2
+ hashPassword: (password: string, callback: Function) => void;
3
+ validPassword: (password: string, hashedPassword: string, callback: Function) => any;
4
+ };
5
+ export = _exports;
6
+ //# sourceMappingURL=pbkdf2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pbkdf2.d.ts","sourceRoot":"","sources":["../../src/utilities/pbkdf2.js"],"names":[],"mappings":"AAAiB;;;EAuFhB"}
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ module.exports = function (options) {
3
+ const crypto = require('crypto');
4
+ options = options || {};
5
+ const iterations = options.iterations || 12000;
6
+ const saltLength = options.saltLength || 128;
7
+ const derivedKeyLength = options.derivedKeyLength || 256;
8
+ /**
9
+ * Serialize a password object containing all the information needed to check a password into a string
10
+ * The info is salt, derivedKey, derivedKey length and number of iterations
11
+ */
12
+ function serializePassword(password) {
13
+ return password.salt + "::" +
14
+ password.derivedKey + "::" +
15
+ password.derivedKeyLength + "::" +
16
+ password.iterations;
17
+ }
18
+ /**
19
+ * Deserialize a string into a password object
20
+ * The info is salt, derivedKey, derivedKey length and number of iterations
21
+ */
22
+ function deserializePassword(password) {
23
+ const items = password.split('::');
24
+ return {
25
+ salt: items[0],
26
+ derivedKey: items[1],
27
+ derivedKeyLength: parseInt(items[2], 10),
28
+ iterations: parseInt(items[3], 10)
29
+ };
30
+ }
31
+ /**
32
+ * Hash a password using node.js' crypto's PBKDF2
33
+ * Description here: http://en.wikipedia.org/wiki/PBKDF2
34
+ * Number of iterations are saved in case we change the setting in the future
35
+ * @param {String} password
36
+ * @param {Function} callback Signature: err, hashedPassword
37
+ */
38
+ function hashPassword(password, callback) {
39
+ const salt = crypto.randomBytes(saltLength).toString('base64');
40
+ crypto.pbkdf2(password, salt, iterations, derivedKeyLength, 'sha1', function (err, derivedKey) {
41
+ if (err) {
42
+ return callback(err);
43
+ }
44
+ const hashedPassword = serializePassword({
45
+ salt: salt,
46
+ iterations: iterations,
47
+ derivedKeyLength: derivedKeyLength,
48
+ derivedKey: derivedKey.toString('base64')
49
+ });
50
+ callback(null, hashedPassword);
51
+ });
52
+ }
53
+ /**
54
+ * Compare a password to a hashed password
55
+ * @param {String} password
56
+ * @param {String} hashedPassword
57
+ * @param {Function} callback Signature: err, true/false
58
+ */
59
+ function validPassword(password, hashedPassword, callback) {
60
+ if (!hashedPassword)
61
+ return callback(false);
62
+ hashedPassword = deserializePassword(hashedPassword);
63
+ if (!hashedPassword.salt || !hashedPassword.derivedKey || !hashedPassword.iterations || !hashedPassword.derivedKeyLength) {
64
+ return callback(new Error("hashedPassword doesn't have the right format"));
65
+ }
66
+ // Use the hashedPassword password's parameters to hash the candidate password
67
+ crypto.pbkdf2(password, hashedPassword.salt, hashedPassword.iterations, hashedPassword.derivedKeyLength, 'sha1', function (err, derivedKey) {
68
+ if (err) {
69
+ return callback(err);
70
+ }
71
+ callback(null, derivedKey.toString('base64') === hashedPassword.derivedKey);
72
+ });
73
+ }
74
+ return {
75
+ hashPassword: hashPassword,
76
+ validPassword: validPassword
77
+ };
78
+ };
79
+ //# sourceMappingURL=pbkdf2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pbkdf2.js","sourceRoot":"","sources":["../../src/utilities/pbkdf2.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export function kml(document: any): any[];
2
+ //# sourceMappingURL=togeojson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"togeojson.d.ts","sourceRoot":"","sources":["../../src/utilities/togeojson.js"],"names":[],"mappings":"AAKA,0CAiBC"}
@@ -0,0 +1,308 @@
1
+ "use strict";
2
+ const xpath = require('xpath'), log = require('winston');
3
+ exports.kml = kml;
4
+ function kml(document) {
5
+ log.info('Generate KML');
6
+ const styleIndex = getStyles(document);
7
+ // Pull all placemarks regards of depth level
8
+ let placemarks = xpath.select("//*[local-name()='Placemark']", document);
9
+ log.info('Style index ', styleIndex);
10
+ log.info('Found ' + placemarks.length + ' placemarks in the KML document');
11
+ let features = [];
12
+ placemarks.forEach(placemark => {
13
+ features = features.concat(getPlacemark(placemark, styleIndex));
14
+ });
15
+ return features;
16
+ }
17
+ function getProperties(node, styleIndex) {
18
+ let properties = {};
19
+ let name = nodeVal(get1(node, 'name'));
20
+ if (name)
21
+ properties.name = name;
22
+ let description = nodeVal(get1(node, 'description'));
23
+ if (description)
24
+ properties.description = description;
25
+ const extendedData = get1(node, 'ExtendedData');
26
+ if (extendedData) {
27
+ const datas = get(extendedData, 'Data'), simpleDatas = get(extendedData, 'SimpleData');
28
+ for (let i = 0; i < datas.length; i++) {
29
+ properties[datas[i].getAttribute('name')] = nodeVal(get1(datas[i], 'value'));
30
+ }
31
+ for (let i = 0; i < simpleDatas.length; i++) {
32
+ properties[simpleDatas[i].getAttribute('name')] = nodeVal(simpleDatas[i]);
33
+ }
34
+ }
35
+ let styleUrl = nodeVal(get1(node, 'styleUrl'));
36
+ if (styleUrl && styleIndex[styleUrl]) {
37
+ properties.style = styleIndex[styleUrl];
38
+ }
39
+ else {
40
+ // Check if placemark has style
41
+ const styleElement = get1(node, 'Style');
42
+ if (styleElement) {
43
+ properties.style = {
44
+ iconStyle: getIconStyle(styleElement),
45
+ lineStyle: getLineStyle(styleElement),
46
+ labelStyle: getLabelStyle(styleElement),
47
+ polyStyle: getPolygonStyle(styleElement)
48
+ };
49
+ }
50
+ }
51
+ return properties;
52
+ }
53
+ function getPlacemark(node, styleIndex) {
54
+ const geometries = getGeometry(node);
55
+ if (!geometries.length)
56
+ return [];
57
+ const properties = getProperties(node, styleIndex);
58
+ return geometries.map(geometry => {
59
+ return {
60
+ type: 'Feature',
61
+ geometry: geometry,
62
+ properties: properties
63
+ };
64
+ });
65
+ }
66
+ function getGeometry(node) {
67
+ if (get1(node, 'MultiGeometry')) {
68
+ return getGeometry(get1(node, 'MultiGeometry'));
69
+ }
70
+ if (get1(node, 'MultiTrack')) {
71
+ return getGeometry(get1(node, 'MultiTrack'));
72
+ }
73
+ let geometries = [];
74
+ ['Polygon', 'LineString', 'Point', 'Track'].forEach(geometryType => {
75
+ let geometryNodes = get(node, geometryType);
76
+ if (geometryNodes) {
77
+ for (let i = 0; i < geometryNodes.length; i++) {
78
+ let geometryNode = geometryNodes[i];
79
+ switch (geometryType) {
80
+ case 'Point':
81
+ geometries.push(getPoint(geometryNode));
82
+ break;
83
+ case 'LineString':
84
+ geometries.push(getLineString(geometryNode));
85
+ break;
86
+ case 'Track':
87
+ geometries.push(getTrack(geometryNode));
88
+ break;
89
+ case 'Polygon':
90
+ geometries.push(getPolygon(geometryNode));
91
+ break;
92
+ }
93
+ }
94
+ }
95
+ });
96
+ return geometries;
97
+ }
98
+ function getPoint(node) {
99
+ return {
100
+ type: 'Point',
101
+ coordinates: coord1(nodeVal(get1(node, 'coordinates')))
102
+ };
103
+ }
104
+ function getLineString(node) {
105
+ return {
106
+ type: 'LineString',
107
+ coordinates: coord(nodeVal(get1(node, 'coordinates')))
108
+ };
109
+ }
110
+ function getTrack(node) {
111
+ return {
112
+ type: 'LineString',
113
+ coordinates: gxCoords(node)
114
+ };
115
+ }
116
+ function getPolygon(node) {
117
+ const rings = get(node, 'LinearRing');
118
+ let coords = [];
119
+ for (let i = 0; i < rings.length; i++) {
120
+ coords.push(coord(nodeVal(get1(rings[i], 'coordinates'))));
121
+ }
122
+ return {
123
+ type: 'Polygon',
124
+ coordinates: coords
125
+ };
126
+ }
127
+ function gxCoords(node) {
128
+ let elems = get(node, 'coord', 'gx');
129
+ if (elems.length === 0) {
130
+ elems = get(node, 'gx:coord');
131
+ }
132
+ let coords = [];
133
+ for (let i = 0; i < elems.length; i++) {
134
+ coords.push(gxCoord(nodeVal(elems[i])));
135
+ }
136
+ let times = [];
137
+ const timeElems = get(node, 'when');
138
+ for (let i = 0; i < timeElems.length; i++) {
139
+ times.push(nodeVal(timeElems[i]));
140
+ }
141
+ return {
142
+ coords: coords,
143
+ times: times
144
+ };
145
+ }
146
+ function gxCoord(v) {
147
+ return numarray(v.split(' '));
148
+ }
149
+ function getStyles(node) {
150
+ let styleIndex = {};
151
+ const styles = get(node, 'Style');
152
+ for (let i = 0; i < styles.length; i++) {
153
+ const kmlStyle = styles[i];
154
+ const styleId = '#' + attr(kmlStyle, 'id');
155
+ styleIndex[styleId] = {
156
+ iconStyle: getIconStyle(kmlStyle),
157
+ lineStyle: getLineStyle(kmlStyle),
158
+ labelStyle: getLabelStyle(kmlStyle),
159
+ polyStyle: getPolygonStyle(kmlStyle)
160
+ };
161
+ }
162
+ const styleMaps = get(node, 'StyleMap');
163
+ for (let i = 0; i < styleMaps.length; i++) {
164
+ const styleMap = styleMaps[i];
165
+ const pairs = xpath.select("*[local-name()='Pair']", styleMap);
166
+ for (let p = 0; p < pairs.length; p++) {
167
+ const key = get(pairs[p], 'key');
168
+ if (key) {
169
+ const keyName = nodeVal(key[0]);
170
+ if (keyName === 'normal') {
171
+ const styleUrl = get(pairs[p], 'styleUrl');
172
+ if (styleUrl) {
173
+ const styleUrlName = nodeVal(styleUrl[0]);
174
+ const styleMapId = '#' + attr(styleMap, 'id');
175
+ styleIndex[styleMapId] = styleIndex[styleUrlName];
176
+ }
177
+ }
178
+ }
179
+ }
180
+ }
181
+ return styleIndex;
182
+ }
183
+ function getIconStyle(node) {
184
+ const iconStyle = get(node, 'IconStyle');
185
+ if (iconStyle[0]) {
186
+ let style = {};
187
+ const iconScale = get(iconStyle[0], 'scale');
188
+ if (iconScale && iconScale[0]) {
189
+ style.scale = nodeVal(iconScale[0]);
190
+ }
191
+ const icon = get(iconStyle[0], 'Icon');
192
+ if (icon && icon[0]) {
193
+ style.icon = {};
194
+ const href = get(icon[0], 'href');
195
+ if (href[0]) {
196
+ style.icon.href = nodeVal(href[0]);
197
+ }
198
+ }
199
+ return style;
200
+ }
201
+ }
202
+ function getLineStyle(node) {
203
+ const lineStyle = get(node, 'LineStyle');
204
+ if (lineStyle[0]) {
205
+ let style = {};
206
+ const lineColor = get(lineStyle[0], 'color');
207
+ if (lineColor[0]) {
208
+ style.color = parseColor(nodeVal(lineColor[0]));
209
+ }
210
+ const width = get(lineStyle[0], 'width');
211
+ if (width[0]) {
212
+ style.width = nodeVal(width[0]);
213
+ }
214
+ return style;
215
+ }
216
+ }
217
+ function getLabelStyle(node) {
218
+ const labelStyle = get(node, 'LabelStyle');
219
+ if (labelStyle[0]) {
220
+ let style = {};
221
+ const labelColor = get(labelStyle[0], 'color');
222
+ if (labelColor[0]) {
223
+ style.color = parseColor(nodeVal(labelColor[0]));
224
+ }
225
+ const labelScale = get(labelStyle[0], 'scale');
226
+ if (labelScale[0]) {
227
+ style.color = nodeVal(labelScale[0]);
228
+ }
229
+ return style;
230
+ }
231
+ }
232
+ function getPolygonStyle(node) {
233
+ const polyStyle = get(node, 'PolyStyle');
234
+ if (polyStyle[0]) {
235
+ let style = {};
236
+ const color = get(polyStyle[0], 'color');
237
+ if (color[0]) {
238
+ style.color = parseColor(nodeVal(color[0]));
239
+ }
240
+ return style;
241
+ }
242
+ }
243
+ // all Y children of X
244
+ function get(x, y) {
245
+ return x.getElementsByTagNameNS("*", y);
246
+ }
247
+ function attr(x, y) { return x.getAttribute(y); }
248
+ // one Y child of X, if any, otherwise null
249
+ function get1(x, y) {
250
+ let n = get(x, y);
251
+ return n.length ? n[0] : null;
252
+ }
253
+ // https://developer.mozilla.org/en-US/docs/Web/API/Node.normalize
254
+ function norm(el) {
255
+ if (el.normalize) {
256
+ el.normalize();
257
+ }
258
+ return el;
259
+ }
260
+ // cast array x into numbers
261
+ function numarray(x) {
262
+ let o = [];
263
+ for (let i = 0; i < x.length; i++) {
264
+ o[i] = parseFloat(x[i]);
265
+ }
266
+ return o;
267
+ }
268
+ // cast array x into numbers
269
+ function coordinateArray(x) {
270
+ let o = [];
271
+ for (let i = 0; i < x.length; i++) {
272
+ o[i] = parseFloat(x[i]);
273
+ }
274
+ return o.splice(0, 2);
275
+ }
276
+ // get the content of a text node, if any
277
+ function nodeVal(x) {
278
+ if (x) {
279
+ norm(x);
280
+ }
281
+ return x && x.firstChild && x.firstChild.nodeValue;
282
+ }
283
+ // get one coordinate from a coordinate array, if any
284
+ function coord1(v) {
285
+ const removeSpace = (/\s*/g);
286
+ return coordinateArray(v.replace(removeSpace, '').split(','));
287
+ }
288
+ // get all coordinates from a coordinate array as [[],[]]
289
+ function coord(v) {
290
+ const trimSpace = (/^\s*|\s*$/g);
291
+ const splitSpace = (/\s+/);
292
+ let coords = v.replace(trimSpace, '').split(splitSpace), o = [];
293
+ for (let i = 0; i < coords.length; i++) {
294
+ o.push(coord1(coords[i]));
295
+ }
296
+ return o;
297
+ }
298
+ function parseColor(color) {
299
+ const r = color.slice(6, 8);
300
+ const g = color.slice(4, 6);
301
+ const b = color.slice(2, 4);
302
+ const a = color.slice(0, 2);
303
+ return {
304
+ rgb: '#' + r + g + b,
305
+ opacity: parseInt(a, 16)
306
+ };
307
+ }
308
+ //# sourceMappingURL=togeojson.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"togeojson.js","sourceRoot":"","sources":["../../src/utilities/togeojson.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export = waitForMongooseConnection;
2
+ declare function waitForMongooseConnection(): Promise<any>;
3
+ //# sourceMappingURL=waitForMongooseConnection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitForMongooseConnection.d.ts","sourceRoot":"","sources":["../../src/utilities/waitForMongooseConnection.js"],"names":[],"mappings":";AA+BA,2DAOC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ const mongoose = require('mongoose'), env = require('../environment/env'), log = require('winston');
3
+ const mongo = env.mongo;
4
+ const connectRetryDelay = mongo.connectRetryDelay;
5
+ class RetryConnection {
6
+ constructor(resolve, reject) {
7
+ this.connectTimeout = Date.now() + mongo.connectTimeout;
8
+ this.resolve = resolve;
9
+ this.reject = reject;
10
+ }
11
+ attemptConnection() {
12
+ mongoose.connect(mongo.uri, mongo.options).then(this.resolve, this.onConnectionError.bind(this));
13
+ }
14
+ onConnectionError(err) {
15
+ log.error(`error connecting to mongodb database at ${mongo.uri}; please make sure mongodb is running: ${!!err ? err : 'unknown error'}`);
16
+ if (Date.now() < this.connectTimeout) {
17
+ log.info(`will retry connection in ${connectRetryDelay / 1000} seconds`);
18
+ setTimeout(this.attemptConnection.bind(this), connectRetryDelay);
19
+ }
20
+ else {
21
+ this.reject(`timed out after ${this.connectTimeout / 1000} seconds waiting for mongodb connection`);
22
+ }
23
+ }
24
+ }
25
+ const waitForMongooseConnection = () => {
26
+ if (mongoose.connection.readyState === mongoose.STATES.connected) {
27
+ return Promise.resolve();
28
+ }
29
+ return new Promise(function (resolve, reject) {
30
+ new RetryConnection(resolve, reject).attemptConnection();
31
+ });
32
+ };
33
+ module.exports = waitForMongooseConnection;
34
+ //# sourceMappingURL=waitForMongooseConnection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitForMongooseConnection.js","sourceRoot":"","sources":["../../src/utilities/waitForMongooseConnection.js"],"names":[],"mappings":";AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,EAClC,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,EACnC,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;AAE3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;AACxB,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,CAAC;AAElD,MAAM,eAAe;IAEnB,YAAY,OAAO,EAAE,MAAM;QACzB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC;QACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,iBAAiB;QACf,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACnG,CAAC;IAED,iBAAiB,CAAC,GAAG;QACnB,GAAG,CAAC,KAAK,CAAC,2CAA2C,KAAK,CAAC,GAAG,0CAA0C,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACzI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE;YACpC,GAAG,CAAC,IAAI,CAAC,4BAA4B,iBAAiB,GAAG,IAAI,UAAU,CAAC,CAAC;YACzE,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,iBAAiB,CAAC,CAAC;SAClE;aACI;YACH,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,CAAC,cAAc,GAAG,IAAI,yCAAyC,CAAC,CAAC;SACrG;IACH,CAAC;CACF;AAED,MAAM,yBAAyB,GAAG,GAAG,EAAE;IACrC,IAAI,QAAQ,CAAC,UAAU,CAAC,UAAU,KAAK,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE;QAChE,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;KAC1B;IACD,OAAO,IAAI,OAAO,CAAC,UAAS,OAAO,EAAE,MAAM;QACzC,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,OAAO,GAAG,yBAAyB,CAAC"}