@ngageoint/mage.service 6.3.0-beta.0

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 +76 -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 +151 -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 +26 -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 +69 -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 +206 -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 +39 -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 +295 -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 +295 -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 +39 -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 +133 -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 +73 -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 +81 -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 +61 -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 +506 -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 +201 -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 +108 -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 +107 -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 +580 -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 +26 -0
  378. package/lib/environment/env.d.ts.map +1 -0
  379. package/lib/environment/env.js +136 -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 +79 -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 +73 -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 +64 -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 +43 -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 +64 -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 +55 -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 +39 -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 +102 -0
  542. package/lib/models/authentication.d.ts.map +1 -0
  543. package/lib/models/authentication.js +148 -0
  544. package/lib/models/authentication.js.map +1 -0
  545. package/lib/models/authenticationconfiguration.d.ts +196 -0
  546. package/lib/models/authenticationconfiguration.d.ts.map +1 -0
  547. package/lib/models/authenticationconfiguration.js +102 -0
  548. package/lib/models/authenticationconfiguration.js.map +1 -0
  549. package/lib/models/cappedLocation.d.ts +59 -0
  550. package/lib/models/cappedLocation.d.ts.map +1 -0
  551. package/lib/models/cappedLocation.js +76 -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 +131 -0
  558. package/lib/models/device.d.ts.map +1 -0
  559. package/lib/models/device.js +205 -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 +831 -0
  564. package/lib/models/event.js.map +1 -0
  565. package/lib/models/export.d.ts +263 -0
  566. package/lib/models/export.d.ts.map +1 -0
  567. package/lib/models/export.js +105 -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 +41 -0
  572. package/lib/models/feature.js.map +1 -0
  573. package/lib/models/icon.d.ts +44 -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 +82 -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 +95 -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 +88 -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 +457 -0
  596. package/lib/models/observation.js.map +1 -0
  597. package/lib/models/role.d.ts +21 -0
  598. package/lib/models/role.d.ts.map +1 -0
  599. package/lib/models/role.js +78 -0
  600. package/lib/models/role.js.map +1 -0
  601. package/lib/models/setting.d.ts +53 -0
  602. package/lib/models/setting.d.ts.map +1 -0
  603. package/lib/models/setting.js +29 -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 +518 -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 +405 -0
  616. package/lib/models/user.js.map +1 -0
  617. package/lib/permissions/permissions.events.d.ts +65 -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 +262 -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 +206 -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 +368 -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 +19 -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 +201 -0
@@ -0,0 +1,230 @@
1
+ #!/usr/bin/env node
2
+
3
+ const { Command, Option, InvalidArgumentError } = require('commander');
4
+ const path = require('path');
5
+ const _ = require('lodash');
6
+ const magePackage = require('../package.json');
7
+
8
+ const mageCmd = new Command('mage');
9
+ mageCmd.version(magePackage.version);
10
+
11
+ const optConfigDesc =
12
+ `A JSON document or path to a JSON file or path to a Node module whose export is a MAGE configuration object, e.g.,
13
+ ${JSON.stringify({
14
+ mage: {
15
+ address: '0.0.0.0',
16
+ port: 4242,
17
+ attachmentDir: '/mage/data/attachments',
18
+ mongo: {
19
+ poolSize: 2
20
+ }
21
+ }
22
+ }, null, 2).replace(/\n/g, '\n ')}
23
+
24
+ Further individual command line parameters will override those in the configuration document.
25
+ `;
26
+
27
+ const optPluginsDesc =
28
+ `A JSON document or path to a JSON file in the form
29
+ ${JSON.stringify({
30
+ servicePlugins: [
31
+ '@my/mage-service-plugin-module'
32
+ ],
33
+ webUIPlugins: [
34
+ '@my/mage-web-ui-plugin-module'
35
+ ]
36
+ }, null, 2).replace(/\n/g, '\n ')}
37
+
38
+ `;
39
+
40
+ const options = [
41
+ new Option('-C --config <string>', optConfigDesc).env('MAGE_CONFIG').argParser(parseConfigJsonFromStringOrFile),
42
+ new Option('-a --address <string>', 'The address on which the web server listens for HTTP requests').env('MAGE_ADDRESS').default('0.0.0.0'),
43
+ new Option('-p --port <number>', 'The port on which which the web server listens for HTTP requests').env('MAGE_PORT').default(4242).argParser(x => parseInt(x)),
44
+ new Option('--attachment-dir <string>').env('MAGE_ATTACHMENT_DIR').default('/var/lib/mage/attachments'),
45
+ new Option('--export-dir <string>').env('MAGE_EXPORT_DIR').default('/var/lib/mage/export'),
46
+ new Option('--icon-dir <string>').env('MAGE_ICON_DIR').default('/var/lib/mage/icons'),
47
+ new Option('--layer-dir <string>').env('MAGE_LAYER_DIR').default('/var/lib/mage/layers'),
48
+ new Option('--security-dir <string>').env('MAGE_SECURITY_DIR').default('/var/lib/mage/security'),
49
+ new Option('--temp-dir <string>').env('MAGE_TEMP_DIR').default('/tmp'),
50
+ new Option('--user-dir <string>').env('MAGE_USER_DIR').default('/var/lib/mage/users'),
51
+ new Option('--export-sweep-interval <number>').env('MAGE_EXPORT_SWEEP_INTERVAL').default(28800, '8 hours').argParser(x => parseInt(x)),
52
+ new Option('--export-ttl <number>').env('MAGE_EXPORT_TTL').default(259200, '72 hours').argParser(x => parseInt(x)),
53
+ new Option('--token-expiration <number>').env('MAGE_TOKEN_EXPIRATION').default(28800, '8 hours').argParser(x => parseInt(x)),
54
+ new Option('--mongo.url <string>', 'The URL to the MongoDB database, e.g., mongodb://127.0.0.1/mage').env('MAGE_MONGO_URL').default('mongodb://127.0.0.1:27017/magedb'),
55
+ new Option('--mongo.conn-timeout <string>').env('MAGE_MONGO_CONN_TIMEOUT').default(300, '300 seconds').argParser(x => parseInt(x)),
56
+ new Option('--mongo.conn-retry-delay <string>').env('MAGE_MONGO_CONN_RETRY_DELAY').default(5, '5 seconds').argParser(x => parseInt(x)),
57
+ new Option('--mongo.pool-size <string>').env('MAGE_MONGO_POOL_SIZE').default(5).argParser(x => parseInt(x)),
58
+ new Option('--mongo.user <string>').env('MAGE_MONGO_USER'),
59
+ new Option('--mongo.password <string>').env('MAGE_MONGO_PASSWORD'),
60
+ new Option('--mongo.ssl [string]').env('MAGE_MONGO_SSL').default(false),
61
+ new Option('--mongo.replica-set <string>').env('MAGE_MONGO_REPLICA_SET'),
62
+ new Option('--mongo.x509-key <string>').env('MAGE_MONGO_X509_KEY'),
63
+ new Option('--mongo.x509-key-file <string>').env('MAGE_MONGO_X509_KEY_FILE'),
64
+ new Option('--mongo.x509-cert <string>').env('MAGE_MONGO_X509_CERT'),
65
+ new Option('--mongo.x509-cert-file <string>').env('MAGE_MONGO_X509_CERT_FILE'),
66
+ new Option('--mongo.x509-ca-cert <string>').env('MAGE_MONGO_X509_CA_CERT'),
67
+ new Option('--mongo.x509-ca-cert-file <string>').env('MAGE_MONGO_X509_CA_CERT_FILE'),
68
+ new Option('-P --plugins <string>', optPluginsDesc).env('MAGE_PLUGINS').argParser(parsePluginsJsonFromStringOrModule),
69
+ new Option('--plugin <module_name...>'),
70
+ new Option('--web-plugin <module_name...>'),
71
+ new Option('--show-config', 'Print the effective configuration and exit without starting the server')
72
+ ]
73
+
74
+ options.forEach(x => mageCmd.addOption(x))
75
+
76
+ mageCmd.parseAsync().then(
77
+ async mageCmd => {
78
+ const opts = mageCmd.opts();
79
+ const merged = mergeOptsToConfig(opts);
80
+ tempEnvHack(merged);
81
+ if (merged.showConfig === true) {
82
+ console.info(JSON.stringify(merged, null, 2));
83
+ process.exit(0);
84
+ }
85
+ const { boot } = require('../lib/app');
86
+ const service = await boot(merged);
87
+ service.open();
88
+ },
89
+ err => {
90
+ console.error(err);
91
+ process.exit(1);
92
+ }
93
+ );
94
+
95
+ const configKeyForOptKey = {
96
+ exportTtl: 'exportTTL'
97
+ };
98
+
99
+ function mergeOptsToConfig(opts) {
100
+ const config = opts.config ? opts.config.mage || {} : {};
101
+ const manualMergeKeys = [ 'config', 'plugins', 'plugin', 'webPlugin' ];
102
+ const optsSimple = _.omit(opts, manualMergeKeys);
103
+ const DefaultValue = function(x) {
104
+ this.value = x;
105
+ };
106
+ const optsDefaultsMarked = _.mapValues(optsSimple, (value, key) => {
107
+ const optionDef = options.find(x => x.attributeName() === key);
108
+ if (optionDef.defaultValue && optionDef.defaultValue === value) {
109
+ return new DefaultValue(value);
110
+ }
111
+ return value;
112
+ });
113
+ const optsWithConfigKeys = _.mapKeys(optsDefaultsMarked, (v, k) => configKeyForOptKey[k] || k);
114
+ const optsNested = Object.entries(optsWithConfigKeys).reduce((optsNested, entry) => {
115
+ if (manualMergeKeys[entry[0]]) {
116
+ return optsNested;
117
+ }
118
+ const nestedEntry = dotsToNested(entry);
119
+ return _.merge(optsNested, nestedEntry);
120
+ }, {});
121
+ const overriddenDefaults = _.mergeWith({}, config, optsNested, (configValue, optValue, key) => {
122
+ if (!optValue) {
123
+ return configValue;
124
+ }
125
+ if (typeof configValue === 'object') {
126
+ // nested object - continue recursive merge
127
+ return void(0);
128
+ }
129
+ if (!configValue) {
130
+ return optValue instanceof DefaultValue ? optValue.value : void(0);
131
+ }
132
+ if (optValue instanceof DefaultValue) {
133
+ return configValue;
134
+ }
135
+ if (typeof optValue === 'object') {
136
+ // nested object - continue recursive merge
137
+ return void(0);
138
+ }
139
+ return optValue;
140
+ });
141
+ const plugins = mergePlugins(opts, config);
142
+ return { ...overriddenDefaults, plugins };
143
+ }
144
+
145
+ function dotsToNested(entry) {
146
+ const steps = entry[0].split('.');
147
+ const nested = steps.slice(0, -1).reduceRight((nested, key) => {
148
+ return { [key]: nested };
149
+ }, { [steps.slice(-1)]: entry[1] });
150
+ return nested;
151
+ }
152
+
153
+ function mergePlugins(opts, config) {
154
+ const optsPlugins = opts.plugins || {};
155
+ const configPlugins = config.plugins || {};
156
+ const servicePlugins = (opts.plugin || []).concat(optsPlugins.servicePlugins || []).concat(configPlugins.servicePlugins || [])
157
+ const webUIPlugins = (opts.webPlugin || []).concat(optsPlugins.webUIPlugins || []).concat(configPlugins.webUIPlugins || [])
158
+ return { servicePlugins, webUIPlugins }
159
+ }
160
+
161
+ function parseConfigJsonFromStringOrFile(jsonOrPath) {
162
+ const config = parseJsonFromStringOrModule(jsonOrPath);
163
+ // TODO: validation
164
+ return config;
165
+ }
166
+
167
+ function parsePluginsJsonFromStringOrModule(jsonOrPath) {
168
+ const plugins = parseJsonFromStringOrModule(jsonOrPath);
169
+ if (!plugins || typeof plugins !== 'object') {
170
+ throw new InvalidArgumentError('plugins must be a JSON object');
171
+ }
172
+ if (plugins.servicePlugins && !Array.isArray(plugins.servicePlugins)) {
173
+ throw new InvalidArgumentError('plugins JSON key servicePlugins must be an array of strings')
174
+ }
175
+ if (plugins.webUIPlugins && !Array.isArray(plugins.webUIPlugins)) {
176
+ throw new InvalidArgumentError('plugins JSON key webUIPlugins must an array of strings')
177
+ }
178
+ return plugins;
179
+ }
180
+
181
+ function parseJsonFromStringOrModule(jsonOrModulePath) {
182
+ let json = null;
183
+ try {
184
+ json = JSON.parse(jsonOrModulePath);
185
+ }
186
+ catch (err) { }
187
+ if (!json) {
188
+ try {
189
+ const jsonPath = path.resolve(process.cwd(), jsonOrModulePath);
190
+ json = require(jsonPath);
191
+ }
192
+ catch (err) {
193
+ console.error(err);
194
+ throw new InvalidArgumentError(`failed to parse JSON file from path ${jsonOrModulePath}`);
195
+ }
196
+ }
197
+ return json;
198
+ }
199
+
200
+ /**
201
+ * Populate `process.env` with key-value pairs using the environment variable
202
+ * names associated with the keys in the given configuration object. This
203
+ * supports legacy code that accesses `process.env` directly, or through
204
+ * MAGE's `environment/env` module and maintains the behavior of overriding
205
+ * environment variables with command line parameters.
206
+ * TODO: this will go away when we remove all direct env references
207
+ * from downstream code, let commander handle the env vars, and pass
208
+ * the configuration object to the mage app
209
+ */
210
+ function tempEnvHack(config) {
211
+ options.forEach(option => {
212
+ const optKey = option.attributeName();
213
+ const configKey = configKeyForOptKey[optKey] || optKey;
214
+ const { envVar } = option;
215
+ if (!envVar) {
216
+ return;
217
+ }
218
+ const optVal = _.get(config, configKey);
219
+ if (typeof optVal === 'object') {
220
+ return;
221
+ }
222
+ if (process.env[envVar] && process.env[envVar] === String(optVal)) {
223
+ return;
224
+ }
225
+ if (!optVal) {
226
+ return;
227
+ }
228
+ process.env[envVar] = String(optVal);
229
+ });
230
+ }
@@ -0,0 +1,60 @@
1
+ #! /usr/bin/env node
2
+ /* eslint-disable @typescript-eslint/no-use-before-define */
3
+ const path = require('path');
4
+ const fs = require('fs');
5
+ const { program: prog } = require('commander');
6
+ const env = require('../lib/environment/env');
7
+ const mongoose = require('mongoose');
8
+
9
+ mongoose.set('debug', true)
10
+ const srcMigrationsDir = path.resolve(__dirname, '..', 'src', 'migrations');
11
+ prog.version('0');
12
+ prog.command('create <name>')
13
+ .description('generate a new migration script in the migrations directory')
14
+ .action(name => {
15
+ // had to do this intead of mongodb-migrations's Migrator.create() because
16
+ // that tries to require() all the migration files instead of just finding
17
+ // the next ordinal to assign. loading the migration files with require()
18
+ // fails because they cannot load the typescript modules in the source tree.
19
+ const migrationFiles = parseMigrationFileNames();
20
+ const last = migrationFiles[migrationFiles.length - 1] || null
21
+ const next = last ? last.ordinal + 1 : 1;
22
+ const nextFormatted = String(next).padStart(3, '0');
23
+ const migrationFileName = `${nextFormatted}-${name}.js`;
24
+ const migrationPath = path.resolve(srcMigrationsDir, migrationFileName);
25
+ const stub = require('mongodb-migrations/lib/migration-stub')(name);
26
+ fs.writeFileSync(migrationPath, stub);
27
+ console.log(`created migration stub ${migrationPath}`);
28
+ });
29
+ prog.command('run')
30
+ .description('apply all the migrations in lib/migrations directory. make sure you npm run build first!')
31
+ .action(async () => {
32
+ const { uri, connectRetryDelay, connectTimeout, options } = env.mongo
33
+ const { waitForDefaultMongooseConnection } = require('../lib/adapters/adapters.db.mongoose')
34
+ await waitForDefaultMongooseConnection(mongoose, uri, connectTimeout, connectRetryDelay, options)
35
+ const { runDatabaseMigrations } = require('../lib/migrate')
36
+ await runDatabaseMigrations(env.mongo.uri, env.mongo.options)
37
+ return mongoose.connection.close()
38
+ });
39
+ prog.parse(process.argv);
40
+ function parseMigrationFileNames() {
41
+ const files = fs.readdirSync(srcMigrationsDir);
42
+ return files.filter(function (f) {
43
+ return path.extname(f) === '.js' && !f.startsWith('.');
44
+ }).map(function (f) {
45
+ let ordinal = null;
46
+ const numericPrefix = f.match(/^(\d+)/);
47
+ if (numericPrefix) {
48
+ ordinal = parseInt(numericPrefix[1]);
49
+ }
50
+ if (!ordinal) {
51
+ throw new Error(`migration file does not have numeric ordering prefix: ${f}`);
52
+ }
53
+ return {
54
+ ordinal,
55
+ name: f
56
+ };
57
+ }).sort(function (f1, f2) {
58
+ return f1.ordinal - f2.ordinal;
59
+ })
60
+ }
@@ -0,0 +1 @@
1
+ # put your poststop specific code here
@@ -0,0 +1 @@
1
+ # put your prestart specific code here
@@ -0,0 +1,18 @@
1
+ import { UserDocument } from '../../models/user'
2
+
3
+ declare module 'express-serve-static-core' {
4
+ export interface Request {
5
+ user: UserDocument
6
+ provisionedDeviceId: string
7
+ /**
8
+ * Return the root HTTP URL of the server, including the scheme, e.g.,
9
+ * `https://mage.io`.
10
+ */
11
+ getRoot(): string
12
+ /**
13
+ * Return the fully qualified request path, which is the path of the
14
+ * request concatenated to the result of {@link getRoot()}
15
+ */
16
+ getPath(): string
17
+ }
18
+ }
@@ -0,0 +1,15 @@
1
+
2
+
3
+ declare module 'geojson-validation' {
4
+
5
+ import * as geojson from 'geojson'
6
+
7
+ namespace GeoJSONValidation {
8
+
9
+ export function define(type: geojson.GeoJsonTypes | 'Position', validationErrors: (x: any) => string[]): void
10
+ export function isGeometryObject(x: any, trace?: false): x is geojson.Geometry
11
+ export function isGeometryObject(x: any, trace: true): string[]
12
+ }
13
+
14
+ export = GeoJSONValidation
15
+ }
@@ -0,0 +1,99 @@
1
+
2
+
3
+ declare module 'mongodb-migrations' {
4
+
5
+ import { MongoClientOptions } from 'mongodb'
6
+ export { MongoClientOptions } from 'mongodb'
7
+
8
+ export class Migrator {
9
+
10
+ constructor(config: MigratorConfig, log?: LogFunction | null)
11
+ /**
12
+ * Return a promise that resolves to the created migration file name.
13
+ * @param description the migration description
14
+ */
15
+ create(dir: string, id: string, callback: (err: any) => any): void
16
+ /**
17
+ * Add the given migration to this migrator.
18
+ */
19
+ add(m: Migration): void
20
+ /**
21
+ * Add all the {@linkcode Migration} objects in the given array to this
22
+ * migrator.
23
+ */
24
+ bulkAdd(m: Migration[]): void
25
+ /**
26
+ * Apply the {@link Migration | migrations} {@link Migrator.add | added} to this
27
+ * migrator by calling {@linkcode Migration.up} on each migration.
28
+ * @param done
29
+ * @param progress
30
+ */
31
+ migrate(done: DoneCallback, progress: ProgressCallback): void
32
+ /**
33
+ * Reverse the {@link Migration | migrations} {@link Migrator.add | added} to this
34
+ * migrator by calling {@linkcode Migration.down} on each migration.
35
+ * @param done
36
+ * @param progress
37
+ */
38
+ rollback(done: DoneCallback, progress: ProgressCallback): void
39
+ /**
40
+ * Run the {@linkcode Migration} modules found in the given directory.
41
+ * @param dir a directory path containing migration scripts
42
+ * @param done a function to call when the whole migration set is complete
43
+ * @param progress a function to call when each individual migration completes
44
+ */
45
+ runFromDir(dir: string, done: DoneCallback, progress?: ProgressCallback): void
46
+ /**
47
+ * Release the MongoDB connection pool associted with this migrator.
48
+ * @param callback
49
+ */
50
+ dispose(callback: (err: any) => any): void
51
+ }
52
+
53
+ export type LogFunction = (level: 'system' | 'user', message: string) => any
54
+ export type DoneCallback = (err: any, results: MigrationSetResults) => any
55
+ export type ProgressCallback = (migrationId: string, result: MigrationResult) => any
56
+
57
+ export interface MigratorConfig {
58
+ /**
59
+ * This is the URL that defines how to connect to the MongoDB database
60
+ * server.
61
+ */
62
+ url: string,
63
+ /**
64
+ * This is the name of the collection that stores migration information.
65
+ * The default value is `'_migrations'`.
66
+ */
67
+ collection?: string,
68
+ /**
69
+ * `directory` is the path where migration scripts are. This is only used
70
+ * when running from the command line, which passes `directory` from the
71
+ * config object to `{@linkcode Migrator.runFromDir}.
72
+ */
73
+ directory?: string,
74
+ options?: MongoClientOptions
75
+ }
76
+
77
+ export interface Migration {
78
+ id: string
79
+ up?: (callback: (err: any) => any) => any
80
+ down?: (callback: (err: any) => any) => any
81
+ }
82
+
83
+ export interface MigrationResult {
84
+ status: 'ok' | 'skip' | 'error'
85
+ error: Error
86
+ /**
87
+ * Indicate why a migration was skipped.
88
+ */
89
+ code: 'no_up' | 'no_down' | 'already_ran' | 'not_in_recent_migrate'
90
+ /**
91
+ * Human-readable explanation of `code`
92
+ */
93
+ reason: string
94
+ }
95
+
96
+ export interface MigrationSetResults {
97
+ [migrationId: string]: MigrationResult
98
+ }
99
+ }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Module dependencies.
3
+ */
4
+ import express from 'express';
5
+ import { AnyPermission } from '../entities/authorization/entities.permissions';
6
+ import { UserDocument } from '../models/user';
7
+ declare const _default: Readonly<{
8
+ /**
9
+ * Return an Express.js middleware function that checks for the given
10
+ * permission on the requesting user's role. The request does not have a
11
+ * user, the middleware will simply delegate to the next middleware in the
12
+ * queue. If the requesting user does not have the given permission, send
13
+ * a 403 status and text response.
14
+ * @param permission
15
+ * @returns
16
+ */
17
+ authorize(permission: AnyPermission): express.RequestHandler;
18
+ userHasPermission(user: UserDocument, permission: AnyPermission): boolean;
19
+ }>;
20
+ export = _default;
21
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/access/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAA;AAE9E,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;;IAI3C;;;;;;;;OAQG;0BACmB,aAAa,GAAG,QAAQ,cAAc;4BAkBpC,YAAY,cAAc,aAAa;;AA7BjE,kBAoCE"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ /**
3
+ * Module dependencies.
4
+ */
5
+ module.exports = Object.freeze({
6
+ /**
7
+ * Return an Express.js middleware function that checks for the given
8
+ * permission on the requesting user's role. The request does not have a
9
+ * user, the middleware will simply delegate to the next middleware in the
10
+ * queue. If the requesting user does not have the given permission, send
11
+ * a 403 status and text response.
12
+ * @param permission
13
+ * @returns
14
+ */
15
+ authorize(permission) {
16
+ return function (req, res, next) {
17
+ if (!req.user) {
18
+ return next();
19
+ }
20
+ const role = req.user.roleId;
21
+ if (!role) {
22
+ return res.sendStatus(403);
23
+ }
24
+ const userPermissions = role.permissions;
25
+ const ok = userPermissions.indexOf(permission) !== -1;
26
+ if (!ok) {
27
+ return res.sendStatus(403);
28
+ }
29
+ next();
30
+ };
31
+ },
32
+ userHasPermission(user, permission) {
33
+ if (!user || !user.roleId) {
34
+ return false;
35
+ }
36
+ const role = user.roleId;
37
+ return role.permissions.indexOf(permission) !== -1;
38
+ }
39
+ });
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/access/index.ts"],"names":[],"mappings":";AAAA;;GAEG;AAOH,iBAAS,MAAM,CAAC,MAAM,CAAC;IAErB;;;;;;;;OAQG;IACH,SAAS,CAAC,UAAyB;QACjC,OAAO,UAAS,GAAG,EAAE,GAAG,EAAE,IAAI;YAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBACb,OAAO,IAAI,EAAE,CAAA;aACd;YACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,MAAsB,CAAA;YAC5C,IAAI,CAAC,IAAI,EAAE;gBACT,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;aAC3B;YACD,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAA;YACxC,MAAM,EAAE,GAAG,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;YACrD,IAAI,CAAC,EAAE,EAAE;gBACP,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;aAC3B;YACD,IAAI,EAAE,CAAA;QACR,CAAC,CAAA;IACH,CAAC;IAED,iBAAiB,CAAC,IAAkB,EAAE,UAAyB;QAC7D,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YACzB,OAAO,KAAK,CAAA;SACb;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,MAAsB,CAAA;QACxC,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;IACpD,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,22 @@
1
+ import express from 'express';
2
+ import { AppRequest } from '../app.api/app.api.global';
3
+ export interface WebAppRequestFactory<Req extends AppRequest = AppRequest> {
4
+ <RequestParams extends object = {}>(webReq: express.Request, params?: RequestParams): Req & RequestParams;
5
+ }
6
+ /**
7
+ * Send HTTP responses with status codes that map to error codes of
8
+ * {@link MageError} instances from the application layer. For example, send
9
+ * a `403` response for {@link ErrPermissionDenied}.
10
+ */
11
+ export declare const mageAppErrorHandler: express.ErrorRequestHandler;
12
+ /**
13
+ * This is the same as {@link mageAppErrorHandler}, but instead of just a bare
14
+ * JSON string as the request body, sends a JSON object as the response like
15
+ * ```
16
+ * { "message": "the error message" }
17
+ * ```
18
+ * This is what clients expect from the legacy routes, so new routes that
19
+ * replace them need to send errors in this structure.
20
+ */
21
+ export declare const compatibilityMageAppErrorHandler: express.ErrorRequestHandler;
22
+ //# sourceMappingURL=adapters.controllers.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.controllers.web.d.ts","sourceRoot":"","sources":["../../src/adapters/adapters.controllers.web.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAA;AAE7B,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AAEtD,MAAM,WAAW,oBAAoB,CAAC,GAAG,SAAS,UAAU,GAAG,UAAU;IACvE,CAAC,aAAa,SAAS,MAAM,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,aAAa,GAAG,GAAG,GAAG,aAAa,CAAA;CAC1G;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,mBAgBzC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,EAAE,OAAO,CAAC,mBAgBtD,CAAA"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compatibilityMageAppErrorHandler = exports.mageAppErrorHandler = void 0;
4
+ const app_api_errors_1 = require("../app.api/app.api.errors");
5
+ /**
6
+ * Send HTTP responses with status codes that map to error codes of
7
+ * {@link MageError} instances from the application layer. For example, send
8
+ * a `403` response for {@link ErrPermissionDenied}.
9
+ */
10
+ const mageAppErrorHandler = (err, req, res, next) => {
11
+ console.error(new Date().toISOString(), '- error processing request', req.method, req.path, err);
12
+ if (!(err instanceof app_api_errors_1.MageError)) {
13
+ return next(err);
14
+ }
15
+ switch (err.code) {
16
+ case app_api_errors_1.ErrPermissionDenied:
17
+ return res.status(403).json(`permission denied: ${err.data.permission}`);
18
+ case app_api_errors_1.ErrEntityNotFound:
19
+ return res.status(404).json(err.message);
20
+ case app_api_errors_1.ErrInvalidInput:
21
+ return res.status(400).json(err.message);
22
+ case app_api_errors_1.ErrInfrastructure:
23
+ return res.status(500).json(err.message);
24
+ }
25
+ next(err);
26
+ };
27
+ exports.mageAppErrorHandler = mageAppErrorHandler;
28
+ /**
29
+ * This is the same as {@link mageAppErrorHandler}, but instead of just a bare
30
+ * JSON string as the request body, sends a JSON object as the response like
31
+ * ```
32
+ * { "message": "the error message" }
33
+ * ```
34
+ * This is what clients expect from the legacy routes, so new routes that
35
+ * replace them need to send errors in this structure.
36
+ */
37
+ const compatibilityMageAppErrorHandler = (err, req, res, next) => {
38
+ console.error(new Date().toISOString(), '- error processing request', req.method, req.path, err);
39
+ if (!(err instanceof app_api_errors_1.MageError)) {
40
+ return next(err);
41
+ }
42
+ switch (err.code) {
43
+ case app_api_errors_1.ErrPermissionDenied:
44
+ return res.status(403).json({ message: `permission denied: ${err.data.permission}` });
45
+ case app_api_errors_1.ErrEntityNotFound:
46
+ return res.status(404).json({ message: err.message });
47
+ case app_api_errors_1.ErrInvalidInput:
48
+ return res.status(400).json({ message: err.message });
49
+ case app_api_errors_1.ErrInfrastructure:
50
+ return res.status(500).json({ message: err.message });
51
+ }
52
+ next(err);
53
+ };
54
+ exports.compatibilityMageAppErrorHandler = compatibilityMageAppErrorHandler;
55
+ //# sourceMappingURL=adapters.controllers.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.controllers.web.js","sourceRoot":"","sources":["../../src/adapters/adapters.controllers.web.ts"],"names":[],"mappings":";;;AACA,8DAAwJ;AAOxJ;;;;GAIG;AACI,MAAM,mBAAmB,GAAgC,CAAC,GAAQ,EAAE,GAAoB,EAAE,GAAqB,EAAE,IAA0B,EAAQ,EAAE;IAC1J,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,4BAA4B,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAChG,IAAI,CAAC,CAAC,GAAG,YAAY,0BAAS,CAAC,EAAE;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;KACjB;IACD,QAAQ,GAAG,CAAC,IAAI,EAAE;QAChB,KAAK,oCAAmB;YACtB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,sBAAuB,GAA6B,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;QACrG,KAAK,kCAAiB;YACpB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC1C,KAAK,gCAAe;YAClB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;QAC1C,KAAK,kCAAiB;YACpB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;KAC3C;IACD,IAAI,CAAC,GAAG,CAAC,CAAA;AACX,CAAC,CAAA;AAhBY,QAAA,mBAAmB,uBAgB/B;AAED;;;;;;;;GAQG;AACI,MAAM,gCAAgC,GAAgC,CAAC,GAAQ,EAAE,GAAoB,EAAE,GAAqB,EAAE,IAA0B,EAAQ,EAAE;IACvK,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,4BAA4B,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;IAChG,IAAI,CAAC,CAAC,GAAG,YAAY,0BAAS,CAAC,EAAE;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,CAAA;KACjB;IACD,QAAQ,GAAG,CAAC,IAAI,EAAE;QAChB,KAAK,oCAAmB;YACtB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,sBAAuB,GAA6B,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QAClH,KAAK,kCAAiB;YACpB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QACvD,KAAK,gCAAe;YAClB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;QACvD,KAAK,kCAAiB;YACpB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;KACxD;IACD,IAAI,CAAC,GAAG,CAAC,CAAA;AACX,CAAC,CAAA;AAhBY,QAAA,gCAAgC,oCAgB5C"}
@@ -0,0 +1,5 @@
1
+ import mongoose, { Mongoose } from 'mongoose';
2
+ import { EntityIdFactory } from '../entities/entities.global';
3
+ export declare const waitForDefaultMongooseConnection: (mongoose: Mongoose, uri: string, retryTotalTime: number, retryInterval: number, options: mongoose.ConnectOptions) => Promise<void>;
4
+ export declare const MongoDbObjectIdFactory: EntityIdFactory;
5
+ //# sourceMappingURL=adapters.db.mongoose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.db.mongoose.d.ts","sourceRoot":"","sources":["../../src/adapters/adapters.db.mongoose.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,EAAE,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAiD7D,eAAO,MAAM,gCAAgC,aAAc,QAAQ,OAAO,MAAM,kBAAkB,MAAM,iBAAiB,MAAM,uCAAqC,QAAQ,IAAI,CAU/K,CAAA;AAED,eAAO,MAAM,sBAAsB,EAAE,eAIpC,CAAA"}