@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,340 @@
1
+ /// <reference types="node" />
2
+ import { Json, JsonObject } from '../entities.json_types';
3
+ import { FeatureCollection } from 'geojson';
4
+ import { JSONSchema4 } from 'json-schema';
5
+ import { URL } from 'url';
6
+ import { RegisteredStaticIconReference, SourceUrlStaticIconReference, StaticIconId, StaticIconReference } from '../icons/entities.icons';
7
+ import { LanguageTag, Locale, Localized } from '../entities.i18n';
8
+ export declare class FeedsError<Code extends symbol, Data> extends Error {
9
+ readonly code: Code;
10
+ readonly data?: Data | undefined;
11
+ constructor(code: Code, data?: Data | undefined, message?: string);
12
+ }
13
+ export declare const ErrInvalidServiceConfig: unique symbol;
14
+ export interface InvalidServiceConfigErrorData {
15
+ readonly invalidKeys: string[];
16
+ readonly config: Json;
17
+ }
18
+ export type InvalidServiceConfigError = FeedsError<typeof ErrInvalidServiceConfig, InvalidServiceConfigErrorData>;
19
+ export declare const ErrInvalidFeedAttrs: unique symbol;
20
+ export type InvalidFeedAttrsErrorData = {
21
+ readonly invalidKeys?: string[];
22
+ };
23
+ export type InvalidFeedAttrsError = FeedsError<typeof ErrInvalidFeedAttrs, InvalidFeedAttrsErrorData>;
24
+ export declare const FeedServiceTypeUnregistered: unique symbol;
25
+ export type FeedServiceTypeId = string | typeof FeedServiceTypeUnregistered;
26
+ export interface FeedServiceType {
27
+ readonly id: FeedServiceTypeId;
28
+ readonly pluginServiceTypeId: string;
29
+ readonly title: string;
30
+ readonly summary: string | null;
31
+ readonly configSchema: JSONSchema4 | null;
32
+ validateServiceConfig(config: Json): Promise<null | InvalidServiceConfigError>;
33
+ /**
34
+ * Remove data from the given service coniguration document that is sensitive
35
+ * or otherwise unsuitable to send over the wire to a service client.
36
+ * TODO: this might go away in favor of a marking properties on config
37
+ * instances as secret
38
+ * @param config
39
+ */
40
+ redactServiceConfig(config: Json): Json;
41
+ createConnection(config: Json, context?: ServiceConnectionContext): Promise<FeedServiceConnection>;
42
+ }
43
+ /**
44
+ * The connection context can include extra standard infmoration, such as the
45
+ * client's localization information, or perhaps authentication mechanism
46
+ * parameters, such as OpenID Connect.
47
+ */
48
+ export interface ServiceConnectionContext {
49
+ /**
50
+ * The locale holds localization information such as a client's preferred
51
+ * language.
52
+ */
53
+ locale?: Locale | null | undefined;
54
+ }
55
+ export type RegisteredFeedServiceType = FeedServiceType & {
56
+ id: string;
57
+ };
58
+ /**
59
+ * A feed service ID is globally unique.
60
+ */
61
+ export type FeedServiceId = string;
62
+ export interface FeedServiceInfo {
63
+ readonly title: string;
64
+ readonly summary: string;
65
+ }
66
+ export interface FeedService {
67
+ id: FeedServiceId;
68
+ serviceType: FeedServiceTypeId;
69
+ title: string;
70
+ summary: string | null;
71
+ config: Json;
72
+ }
73
+ export interface FeedServiceConnection {
74
+ fetchServiceInfo(): Promise<FeedServiceInfo | null>;
75
+ fetchAvailableTopics(): Promise<FeedTopic[]>;
76
+ fetchTopicContent(topic: FeedTopicId, params?: JsonObject): Promise<FeedTopicContent>;
77
+ }
78
+ export interface FeedServiceTypeRepository {
79
+ register(moduleName: string, serviceType: FeedServiceType): Promise<RegisteredFeedServiceType>;
80
+ findAll(): Promise<FeedServiceType[]>;
81
+ findById(serviceTypeId: FeedServiceTypeId): Promise<FeedServiceType | null>;
82
+ }
83
+ export type FeedServiceCreateAttrs = Pick<FeedService, 'serviceType' | 'title' | 'summary' | 'config'>;
84
+ export interface FeedServiceRepository {
85
+ create(feedAttrs: FeedServiceCreateAttrs): Promise<FeedService>;
86
+ findAll(): Promise<FeedService[]>;
87
+ findById(serviceId: FeedServiceId): Promise<FeedService | null>;
88
+ removeById(serviceId: FeedServiceId): Promise<FeedService | null>;
89
+ }
90
+ /**
91
+ * A topic ID is unique in the context the providing {@linkcode FeedService}.
92
+ */
93
+ export type FeedTopicId = string;
94
+ export interface FeedTopic {
95
+ readonly id: FeedTopicId;
96
+ readonly title: string;
97
+ readonly summary?: string;
98
+ /**
99
+ * This icon represents the overall topic, such as in a list of available
100
+ * topics. This icon may also potentially represent the content items in the
101
+ * topic on a map or in a list if no item style assigns an icon to content
102
+ * items.
103
+ */
104
+ readonly icon?: SourceUrlStaticIconReference;
105
+ /**
106
+ * The paramters schema defines the parameters MAGE can use to fetch and
107
+ * filter content from the topic.
108
+ */
109
+ readonly paramsSchema?: JSONSchema4;
110
+ /**
111
+ * A topic's update frequency is a hint about how often a service might
112
+ * publish new data to a topic. A value of `undefined` indicates a topic's
113
+ * update frequency is unknown and requires configuration in a derived
114
+ * {@linkcode Feed}.
115
+ */
116
+ readonly updateFrequencySeconds?: number;
117
+ /**
118
+ * When feed items have identity, the `id` property of the GeoJSON feature
119
+ * items fetched from a feed will contain a persistent unique identifier for
120
+ * the items. The same item across mulutiple fetches will have the same
121
+ * `id` property value. Consumers of feed content can then present changes as
122
+ * updates to previously fetched items, for example updating the location of
123
+ * a moving vehicle. A value of `undefined` indicates a topic's item identity
124
+ * is unknown and requires configuration in a derived {@linkcode Feed}.
125
+ */
126
+ readonly itemsHaveIdentity?: boolean;
127
+ /**
128
+ * Feed items with a spatial dimension will translate to GeoJSON features with
129
+ * non-null geometries. A value of `undefined` indicates a topic's spatial
130
+ * dimension is unknown and requires configuration in a derived
131
+ * {@linkcode Feed}.
132
+ */
133
+ readonly itemsHaveSpatialDimension?: boolean;
134
+ /**
135
+ * A topic's `itemPropertiesSchema` describes the shape of the [`properties`](https://www.rfc-editor.org/rfc/rfc7946.html#section-3.2)
136
+ * object of the GeoJSON Features that a topic provides. The schema should
137
+ * be relatively flat, describing simple key-value pairs with titles and
138
+ * descriptions. Complex schemas with nested structures will not have robust
139
+ * support from MAGE's core clients.
140
+ */
141
+ readonly itemPropertiesSchema?: JSONSchema4;
142
+ /**
143
+ * Feed items with a temporal property will translate to GeoJSON features
144
+ * that have a temporal property whose value is a numeric epoch timestamp. A
145
+ * value of `undefined` indicates a topic's temporal property is unknown and
146
+ * requires configuration in a derived {@linkcode Feed}.
147
+ */
148
+ readonly itemTemporalProperty?: string;
149
+ /**
150
+ * The primary property of a GeoJSON feature feed item is the main value that
151
+ * should represent the item in a list view to the end user, as well as in
152
+ * a popup on a map view. A value of `undefined` indicates a topic's primary
153
+ * property is unknown and requires configuration in a derived
154
+ * {@linkcode Feed}.
155
+ */
156
+ readonly itemPrimaryProperty?: string;
157
+ /**
158
+ * Simimlar to {@linkcode FeedTopic.itemPrimaryProperty}, the intent of the
159
+ * secondary of a GeoJSON feature feed item is to indicate a value that
160
+ * represents the item in a list or map view to the end user. The secondary
161
+ * property can add a bit of enhancing detail about the item to the primary
162
+ * property. A value of `undefined` indicates a topic's secondary property is
163
+ * unknown and requires configuration in a derived {@linkcode Feed}.
164
+ */
165
+ readonly itemSecondaryProperty?: string;
166
+ readonly mapStyle?: MapStyle;
167
+ /**
168
+ * The `Topic` `localization` is a dictionary whose keys are [RFC-5646](https://www.rfc-editor.org/rfc/rfc5646.html)
169
+ * Localization of the topic applies mainly to the titles and descriptions
170
+ * the {@link FeedTopic.itemPropertiesSchema | `itemPropertiesSchema`} defines,
171
+ * but could also indicate the language of the {@link FeedTopic.title | title},
172
+ * {@link FeedTopic.summary | summary}, and even {@link FeedTopic.icon | icon}, if
173
+ * those properties have localized values. This is similar to HTTP's
174
+ * [`Content-Language`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Language) header.
175
+ */
176
+ readonly localization?: {
177
+ [rfc5646LanguageTag: string]: {
178
+ title?: string;
179
+ summary?: string;
180
+ properties?: {
181
+ [key: string]: Pick<JSONSchema4, 'title' | 'description'> | undefined;
182
+ };
183
+ };
184
+ };
185
+ }
186
+ export interface FeedTopicContent {
187
+ topic: FeedTopicId;
188
+ items: FeatureCollection;
189
+ /**
190
+ * A feed service may provide content in different languages based on the
191
+ * client's {@link ServiceConnectionContext.locale | real or preferred localization}.
192
+ */
193
+ language?: LanguageTag[] | null | undefined;
194
+ pageCursor?: Json;
195
+ }
196
+ /** A feed ID is globally unique. */
197
+ export type FeedId = string;
198
+ export interface Feed {
199
+ id: FeedId;
200
+ service: FeedServiceId;
201
+ topic: FeedTopicId;
202
+ title: string;
203
+ summary?: string;
204
+ icon?: RegisteredStaticIconReference;
205
+ /**
206
+ * The constant paramters are a subset of a topic's parameters that an
207
+ * administrative user defines and that MAGE will apply to every fetch
208
+ * request to the feed's source topic. An example of a constant parameter
209
+ * might be `apiKey`. MAGE does not expose constant parameters to the end-
210
+ * user consumer of the feed.
211
+ */
212
+ constantParams?: FeedContentParams;
213
+ /**
214
+ * The variable parameters schema of a feed is a schema an administrative user
215
+ * can define to advertise the parameters feed consumers can pass when
216
+ * fetching content from a feed. This schema could be the same as that of the
217
+ * source {@linkcode FeedTopic} or could be a more restrictive subset of the
218
+ * topic schema.
219
+ */
220
+ variableParamsSchema?: JSONSchema4;
221
+ /**
222
+ * A feed's update frequency is similar to the like-named property on its
223
+ * underlying topic. While a topic's update frequency would come from the
224
+ * implementing plugin, a feed's update frequency would likely come from user
225
+ * configuration based on the parameters of the feed as well as the update
226
+ * frequency of the underlying topic. This allows for feed service type
227
+ * plugins that are too generic to know what an appropriate update interval
228
+ * would be for particular service's topics.
229
+ */
230
+ updateFrequencySeconds?: number;
231
+ /**
232
+ * This flag is similar to the like-named property on its source
233
+ * {@linkcode FeedTopic}, but as with {@linkcode Feed.updateFrequency}, allows
234
+ * configuration by an administrative user.
235
+ */
236
+ itemsHaveIdentity: boolean;
237
+ itemsHaveSpatialDimension: boolean;
238
+ itemPropertiesSchema?: JSONSchema4;
239
+ itemTemporalProperty?: string;
240
+ /**
241
+ * A feed that does not have a primary property (implying there is no
242
+ * secondary as well) covers the case that a data set might provide only
243
+ * spatial geometries, and the feed/topic context provides the implicit
244
+ * meaning of the geometry data.
245
+ */
246
+ itemPrimaryProperty?: string;
247
+ itemSecondaryProperty?: string;
248
+ mapStyle?: ResolvedMapStyle;
249
+ /**
250
+ * See {@link FeedTopic.localization}.
251
+ */
252
+ localization?: FeedTopic['localization'];
253
+ }
254
+ /**
255
+ * TODO: This could move outside of feeds to be used for other map-able
256
+ * elements.
257
+ */
258
+ export interface MapStyle {
259
+ stroke?: HexRgb;
260
+ strokeOpacity?: number;
261
+ strokeWidth?: number;
262
+ fill?: HexRgb;
263
+ fillOpacity?: number;
264
+ icon?: SourceUrlStaticIconReference;
265
+ }
266
+ export type ResolvedMapStyle = Omit<MapStyle, 'icon'> & {
267
+ icon?: RegisteredStaticIconReference;
268
+ };
269
+ /**
270
+ * HexRgb is the typical hexadecimal, 24-bit color string.
271
+ */
272
+ export type HexRgb = string;
273
+ export type FeedCreateAttrs = Omit<Feed, 'id'> & Partial<Pick<Feed, 'id'>>;
274
+ export interface FeedRepository {
275
+ create(attrs: FeedCreateAttrs): Promise<Feed>;
276
+ findById(id: FeedId): Promise<Feed | null>;
277
+ findAllByIds(feedIds: FeedId[]): Promise<{
278
+ [id: string]: Feed | null;
279
+ }>;
280
+ findAll(): Promise<Feed[]>;
281
+ findFeedsForService(service: FeedServiceId): Promise<Feed[]>;
282
+ put(feed: Feed): Promise<Feed | null>;
283
+ removeById(feedId: FeedId): Promise<Feed | null>;
284
+ removeByServiceId(serviceId: FeedServiceId): Promise<Feed[]>;
285
+ }
286
+ type OptionalPropertyOf<T extends object> = Exclude<{
287
+ [K in keyof T]: T extends Record<K, T[K]> ? never : K;
288
+ }[keyof T], undefined>;
289
+ export type FeedOverrideTopicNullableKeys = OptionalPropertyOf<Feed>;
290
+ export type FeedCreateMinimal = Partial<Omit<Feed, 'id' | FeedOverrideTopicNullableKeys>> & Pick<Feed, 'topic' | 'service'> & {
291
+ [nullable in FeedOverrideTopicNullableKeys]?: FeedCreateUnresolved[nullable] | null;
292
+ };
293
+ export type FeedUpdateMinimal = Omit<FeedCreateMinimal, 'service' | 'topic' | 'id'> & Pick<Feed, 'id'>;
294
+ export type FeedCreateUnresolved = Omit<FeedCreateAttrs, 'icon' | 'mapStyle'> & {
295
+ icon?: StaticIconReference;
296
+ mapStyle?: MapStyle | ResolvedMapStyle;
297
+ unresolvedIcons: URL[];
298
+ };
299
+ /**
300
+ * This is a factory function to build the attributes for creating a feed by
301
+ * merging a minimal set of client input attributes with those of the source
302
+ * topic. Attributes that are not present or have an `undefined` value in the
303
+ * input will receive the corresponding value from the topic. Keys with a `null`
304
+ * value (where allowed) explicitly instruct that the resulting feed will not
305
+ * receive the correspondingvalues from the topic and be absent in the resulting
306
+ * create attributes.
307
+ *
308
+ * The `Unresolved` qualification indicates that the input and result attributes
309
+ * may contain URLs of icons that are not yet registered with MAGE's icon
310
+ * repository. Any unresolved URLs will be in the `unresolvedIcons` array.
311
+ */
312
+ export declare function FeedCreateUnresolved(topic: FeedTopic, feedMinimal: Readonly<FeedCreateMinimal>): FeedCreateUnresolved | InvalidFeedAttrsError;
313
+ /**
314
+ * Ensure the given feed's {@link Feed.itemPrimaryProperty | `itemPrimaryProperty`},
315
+ * {@link Feed.itemSecondaryProperty | `itemSecondaryProperty`}, and {@link Feed.itemTemporalProperty | `itemTemporalProperty`}
316
+ * reference valid properties in the feed's {@link Feed.itemPropertiesSchema | `itemPropertiesSchema`}
317
+ * @param feed
318
+ * @returns
319
+ */
320
+ export declare function validateSchemaPropertyReferencesForFeed<T extends Feed | FeedCreateAttrs | FeedCreateMinimal | FeedUpdateMinimal>(feed: T): T | InvalidFeedAttrsError;
321
+ export declare function FeedCreateAttrs(unresolved: FeedCreateUnresolved, icons: {
322
+ [iconUrl: string]: StaticIconId;
323
+ }): FeedCreateAttrs;
324
+ /**
325
+ * Iterate the features of the given feature collection and remove from the
326
+ * `properties` object of each feature any entries that the given schema does
327
+ * not define. Return a new feature collection object with the modified
328
+ * features.
329
+ * @param featureCollection
330
+ * @param itemPropertiesSchema
331
+ */
332
+ export declare function retainSchemaPropertiesInFeatures(featureCollection: FeatureCollection, itemPropertiesSchema?: Feed['itemPropertiesSchema'] | null): FeatureCollection;
333
+ export declare function localizedFeed(feed: Feed, targetLanguages: LanguageTag[]): Localized<Feed>;
334
+ export type FeedContentParams = JsonObject;
335
+ export interface FeedContent extends FeedTopicContent {
336
+ readonly feed: FeedId;
337
+ readonly variableParams?: FeedContentParams;
338
+ }
339
+ export {};
340
+ //# sourceMappingURL=entities.feeds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.feeds.d.ts","sourceRoot":"","sources":["../../../src/entities/feeds/entities.feeds.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzB,OAAO,EAAE,6BAA6B,EAAE,4BAA4B,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAExI,OAAO,EAAsB,WAAW,EAAE,MAAM,EAAE,SAAS,EAA4B,MAAM,kBAAkB,CAAA;AAG/G,qBAAa,UAAU,CAAC,IAAI,SAAS,MAAM,EAAE,IAAI,CAAE,SAAQ,KAAK;IAClD,QAAQ,CAAC,IAAI,EAAE,IAAI;IAAE,QAAQ,CAAC,IAAI,CAAC;gBAA1B,IAAI,EAAE,IAAI,EAAW,IAAI,CAAC,kBAAM,EAAE,OAAO,CAAC,EAAE,MAAM;CAGxE;AAED,eAAO,MAAM,uBAAuB,eAAiD,CAAA;AACrF,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,CAAA;IAC9B,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;CACtB;AACD,MAAM,MAAM,yBAAyB,GAAG,UAAU,CAAC,OAAO,uBAAuB,EAAE,6BAA6B,CAAC,CAAA;AAEjH,eAAO,MAAM,mBAAmB,eAA6C,CAAA;AAC7E,MAAM,MAAM,yBAAyB,GAAG;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAA;CAChC,CAAA;AACD,MAAM,MAAM,qBAAqB,GAAG,UAAU,CAAC,OAAO,mBAAmB,EAAE,yBAAyB,CAAC,CAAA;AAErG,eAAO,MAAM,2BAA2B,eAAoD,CAAA;AAC5F,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,2BAA2B,CAAA;AAE3E,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAA;IAC9B,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAA;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IAC/B,QAAQ,CAAC,YAAY,EAAE,WAAW,GAAG,IAAI,CAAA;IAEzC,qBAAqB,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,yBAAyB,CAAC,CAAA;IAC9E;;;;;;OAMG;IACH,mBAAmB,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;IACvC,gBAAgB,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAA;CACnG;AAED;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;CACnC;AAED,MAAM,MAAM,yBAAyB,GAAG,eAAe,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAExE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAA;AAElC,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,aAAa,CAAA;IACjB,WAAW,EAAE,iBAAiB,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;IACtB,MAAM,EAAE,IAAI,CAAA;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,gBAAgB,IAAI,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAA;IACnD,oBAAoB,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;IAM5C,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CACtF;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAA;IAC9F,OAAO,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;IACrC,QAAQ,CAAC,aAAa,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAA;CAC5E;AAED,MAAM,MAAM,sBAAsB,GAAG,IAAI,CAAC,WAAW,EACjD,aAAa,GACb,OAAO,GACP,SAAS,GACT,QAAQ,CACT,CAAA;AAEH,MAAM,WAAW,qBAAqB;IACpC,MAAM,CAAC,SAAS,EAAE,sBAAsB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAC/D,OAAO,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;IACjC,QAAQ,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAC/D,UAAU,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;CAClE;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAA;AAEhC,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,4BAA4B,CAAA;IAC5C;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,WAAW,CAAA;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IACxC;;;;;;;;OAQG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IAC5C;;;;;;OAMG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,WAAW,CAAA;IAC3C;;;;;OAKG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IACtC;;;;;;OAMG;IACH,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;IACrC;;;;;;;OAOG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,CAAA;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IAC5B;;;;;;;;OAQG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE;QACtB,CAAC,kBAAkB,EAAE,MAAM,GAAG;YAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,OAAO,CAAC,EAAE,MAAM,CAAC;YAOjB,UAAU,CAAC,EAAE;gBAAE,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,aAAa,CAAC,GAAG,SAAS,CAAA;aAAE,CAAA;SACvF,CAAA;KACF,CAAA;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,iBAAiB,CAAA;IACxB;;;OAGG;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,GAAG,IAAI,GAAG,SAAS,CAAA;IAC3C,UAAU,CAAC,EAAE,IAAI,CAAA;CAClB;AAED,oCAAoC;AACpC,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAE3B,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,aAAa,CAAA;IACtB,KAAK,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,6BAA6B,CAAA;IACpC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,iBAAiB,CAAA;IAClC;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,WAAW,CAAA;IAClC;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAC/B;;;;OAIG;IACH,iBAAiB,EAAE,OAAO,CAAA;IAC1B,yBAAyB,EAAE,OAAO,CAAA;IAClC,oBAAoB,CAAC,EAAE,WAAW,CAAA;IAClC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B;;;;;OAKG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,EAAE,gBAAgB,CAAA;IAC3B;;OAEG;IACH,YAAY,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAA;CACzC;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,4BAA4B,CAAA;CACpC;AAED,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,GAAG;IACtD,IAAI,CAAC,EAAE,6BAA6B,CAAA;CACrC,CAAA;AAED;;GAEG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAE3B,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;AAE1E,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC7C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IAC1C,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;KAAE,CAAC,CAAA;IACvE,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAC1B,mBAAmB,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;IAC5D,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IACrC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;IAChD,iBAAiB,CAAC,SAAS,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAA;CAC7D;AAED,KAAK,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI,OAAO,CAAC;KACjD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC;CACtD,CAAC,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAEtB,MAAM,MAAM,6BAA6B,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAA;AAEpE,MAAM,MAAM,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,6BAA6B,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,GAAG,SAAS,CAAC,GACvH;KACC,QAAQ,IAAI,6BAA6B,CAAC,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,GAAG,IAAI;CACpF,CAAA;AAEH,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAEtG,MAAM,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,UAAU,CAAC,GAAG;IAC9E,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,QAAQ,CAAC,EAAE,QAAQ,GAAG,gBAAgB,CAAC;IACvC,eAAe,EAAE,GAAG,EAAE,CAAA;CACvB,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAAG,oBAAoB,GAAG,qBAAqB,CAsD7I;AAED;;;;;;GAMG;AACH,wBAAgB,uCAAuC,CAAC,CAAC,SAAS,IAAI,GAAG,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,qBAAqB,CAWpK;AAoBD,wBAAgB,eAAe,CAAC,UAAU,EAAE,oBAAoB,EAAE,KAAK,EAAE;IAAE,CAAC,OAAO,EAAE,MAAM,GAAG,YAAY,CAAA;CAAE,GAAG,eAAe,CAmB7H;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,oBAAoB,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,GAAG,IAAI,GAAG,iBAAiB,CAgBpK;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CA0CzF;AAED,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAA;AAE1C,MAAM,WAAW,WAAY,SAAQ,gBAAgB;IACnD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,cAAc,CAAC,EAAE,iBAAiB,CAAA;CAC5C"}
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.localizedFeed = exports.retainSchemaPropertiesInFeatures = exports.FeedCreateAttrs = exports.validateSchemaPropertyReferencesForFeed = exports.FeedCreateUnresolved = exports.FeedServiceTypeUnregistered = exports.ErrInvalidFeedAttrs = exports.ErrInvalidServiceConfig = exports.FeedsError = void 0;
18
+ const lodash_1 = __importDefault(require("lodash"));
19
+ const entities_i18n_1 = require("../entities.i18n");
20
+ class FeedsError extends Error {
21
+ constructor(code, data, message) {
22
+ super(message ? message : Symbol.keyFor(code));
23
+ this.code = code;
24
+ this.data = data;
25
+ }
26
+ }
27
+ exports.FeedsError = FeedsError;
28
+ exports.ErrInvalidServiceConfig = Symbol.for('err.feeds.invalid_service_config');
29
+ exports.ErrInvalidFeedAttrs = Symbol.for('err.feeds.invalid_feed_attrs');
30
+ exports.FeedServiceTypeUnregistered = Symbol.for('err.feeds.service_type_unregistered');
31
+ /**
32
+ * This is a factory function to build the attributes for creating a feed by
33
+ * merging a minimal set of client input attributes with those of the source
34
+ * topic. Attributes that are not present or have an `undefined` value in the
35
+ * input will receive the corresponding value from the topic. Keys with a `null`
36
+ * value (where allowed) explicitly instruct that the resulting feed will not
37
+ * receive the correspondingvalues from the topic and be absent in the resulting
38
+ * create attributes.
39
+ *
40
+ * The `Unresolved` qualification indicates that the input and result attributes
41
+ * may contain URLs of icons that are not yet registered with MAGE's icon
42
+ * repository. Any unresolved URLs will be in the `unresolvedIcons` array.
43
+ */
44
+ function FeedCreateUnresolved(topic, feedMinimal) {
45
+ var _a;
46
+ const nonNullable = {
47
+ service: feedMinimal.service,
48
+ topic: topic.id,
49
+ title: feedMinimal.title || topic.title,
50
+ itemsHaveIdentity: feedMinimal.itemsHaveIdentity === undefined ? topic.itemsHaveIdentity || false : feedMinimal.itemsHaveIdentity,
51
+ itemsHaveSpatialDimension: feedMinimal.itemsHaveSpatialDimension === undefined ? topic.itemsHaveSpatialDimension || false : feedMinimal.itemsHaveSpatialDimension,
52
+ };
53
+ const nullable = {
54
+ summary: feedMinimal.summary === null ? undefined : feedMinimal.summary || topic.summary,
55
+ constantParams: feedMinimal.constantParams || undefined,
56
+ variableParamsSchema: feedMinimal.variableParamsSchema || undefined,
57
+ itemPropertiesSchema: feedMinimal.itemPropertiesSchema === null ? undefined : feedMinimal.itemPropertiesSchema || topic.itemPropertiesSchema,
58
+ itemPrimaryProperty: feedMinimal.itemPrimaryProperty === null ? undefined : feedMinimal.itemPrimaryProperty || topic.itemPrimaryProperty,
59
+ itemSecondaryProperty: feedMinimal.itemSecondaryProperty === null ? undefined : feedMinimal.itemSecondaryProperty || topic.itemSecondaryProperty,
60
+ itemTemporalProperty: feedMinimal.itemTemporalProperty === null ? undefined : feedMinimal.itemTemporalProperty || topic.itemTemporalProperty,
61
+ updateFrequencySeconds: feedMinimal.updateFrequencySeconds === null ? undefined : feedMinimal.updateFrequencySeconds || topic.updateFrequencySeconds,
62
+ mapStyle: feedMinimal.mapStyle === null ? undefined :
63
+ feedMinimal.mapStyle ? Object.assign({}, feedMinimal.mapStyle) :
64
+ topic.mapStyle ? Object.assign({}, topic.mapStyle) : undefined,
65
+ localization: feedMinimal.localization === null ? undefined :
66
+ feedMinimal.localization ? Object.assign({}, feedMinimal.localization) :
67
+ topic.localization ? Object.assign({}, topic.localization) : undefined
68
+ };
69
+ if (feedMinimal.icon !== null) {
70
+ if (feedMinimal.icon) {
71
+ nullable.icon = feedMinimal.icon;
72
+ }
73
+ else if (topic.icon) {
74
+ nullable.icon = topic.icon;
75
+ }
76
+ }
77
+ const unresolvedIcons = [];
78
+ let icon = nullable.icon || { sourceUrl: null };
79
+ if (icon.sourceUrl) {
80
+ unresolvedIcons.push(icon.sourceUrl);
81
+ }
82
+ icon = ((_a = nullable.mapStyle) === null || _a === void 0 ? void 0 : _a.icon) || { sourceUrl: null };
83
+ if (icon.sourceUrl) {
84
+ unresolvedIcons.push(icon.sourceUrl);
85
+ }
86
+ const unresolvedAttrs = Object.assign(Object.assign(Object.assign({}, nonNullable), nullable), { unresolvedIcons });
87
+ for (const key in unresolvedAttrs) {
88
+ const attr = key;
89
+ if (typeof unresolvedAttrs[attr] === 'undefined') {
90
+ delete unresolvedAttrs[attr];
91
+ }
92
+ }
93
+ return validateSchemaPropertyReferencesForFeed(unresolvedAttrs);
94
+ }
95
+ exports.FeedCreateUnresolved = FeedCreateUnresolved;
96
+ /**
97
+ * Ensure the given feed's {@link Feed.itemPrimaryProperty | `itemPrimaryProperty`},
98
+ * {@link Feed.itemSecondaryProperty | `itemSecondaryProperty`}, and {@link Feed.itemTemporalProperty | `itemTemporalProperty`}
99
+ * reference valid properties in the feed's {@link Feed.itemPropertiesSchema | `itemPropertiesSchema`}
100
+ * @param feed
101
+ * @returns
102
+ */
103
+ function validateSchemaPropertyReferencesForFeed(feed) {
104
+ var _a;
105
+ const schemaProps = (_a = feed.itemPropertiesSchema) === null || _a === void 0 ? void 0 : _a.properties;
106
+ if (!schemaProps) {
107
+ return feed;
108
+ }
109
+ const referencedProps = [feed.itemPrimaryProperty, feed.itemSecondaryProperty, feed.itemTemporalProperty];
110
+ if (referencedProps.every(key => key ? schemaProps.hasOwnProperty(key) : true)) {
111
+ return feed;
112
+ }
113
+ return new FeedsError(exports.ErrInvalidFeedAttrs, { invalidKeys: ['itemPropertiesSchema'] }, 'feed item properties schema must include primary, secondary, and temporal properties');
114
+ }
115
+ exports.validateSchemaPropertyReferencesForFeed = validateSchemaPropertyReferencesForFeed;
116
+ const resolvedMapStyle = (unresolved, icons) => {
117
+ const { icon } = unresolved, rest = __rest(unresolved, ["icon"]);
118
+ if (!icon) {
119
+ return rest;
120
+ }
121
+ const resolved = rest;
122
+ if (icon.sourceUrl) {
123
+ const id = icons[String(icon.sourceUrl)];
124
+ if (id) {
125
+ resolved.icon = { id };
126
+ }
127
+ }
128
+ else {
129
+ resolved.icon = Object.assign({}, icon);
130
+ }
131
+ return resolved;
132
+ };
133
+ function FeedCreateAttrs(unresolved, icons) {
134
+ icons = icons || {};
135
+ const { unresolvedIcons, icon, mapStyle } = unresolved, rest = __rest(unresolved, ["unresolvedIcons", "icon", "mapStyle"]);
136
+ const resolved = rest;
137
+ if (mapStyle) {
138
+ resolved.mapStyle = resolvedMapStyle(mapStyle, icons);
139
+ }
140
+ if (icon) {
141
+ if (icon.sourceUrl) {
142
+ const id = icons[String(icon.sourceUrl)];
143
+ if (id) {
144
+ resolved.icon = { id };
145
+ }
146
+ }
147
+ else {
148
+ resolved.icon = Object.assign({}, icon);
149
+ }
150
+ }
151
+ return resolved;
152
+ }
153
+ exports.FeedCreateAttrs = FeedCreateAttrs;
154
+ /**
155
+ * Iterate the features of the given feature collection and remove from the
156
+ * `properties` object of each feature any entries that the given schema does
157
+ * not define. Return a new feature collection object with the modified
158
+ * features.
159
+ * @param featureCollection
160
+ * @param itemPropertiesSchema
161
+ */
162
+ function retainSchemaPropertiesInFeatures(featureCollection, itemPropertiesSchema) {
163
+ if (!itemPropertiesSchema || !itemPropertiesSchema.properties) {
164
+ return featureCollection;
165
+ }
166
+ const retainedPropertyKeys = Object.keys(itemPropertiesSchema.properties);
167
+ const features = (featureCollection.features || []).map(feature => {
168
+ const properties = feature.properties ? lodash_1.default.pick(feature.properties, ...retainedPropertyKeys) : null;
169
+ return Object.assign(Object.assign({}, feature), { properties });
170
+ });
171
+ return Object.assign(Object.assign({}, featureCollection), { features });
172
+ }
173
+ exports.retainSchemaPropertiesInFeatures = retainSchemaPropertiesInFeatures;
174
+ function localizedFeed(feed, targetLanguages) {
175
+ var _a;
176
+ if (!feed.localization) {
177
+ return feed;
178
+ }
179
+ const contentLanguages = Object.keys(feed.localization).map(x => new entities_i18n_1.LanguageTag(x));
180
+ const matchedLanguage = (0, entities_i18n_1.selectContentLanguageFor)(targetLanguages, contentLanguages);
181
+ if (!matchedLanguage) {
182
+ return lodash_1.default.omit(feed, 'localization');
183
+ }
184
+ const translations = feed.localization[matchedLanguage.toString()];
185
+ const localized = Object.assign(Object.assign({}, feed), { [entities_i18n_1.ContentLanguageKey]: matchedLanguage });
186
+ if (translations.title) {
187
+ localized.title = translations.title;
188
+ }
189
+ if (translations.summary) {
190
+ localized.summary = translations.summary;
191
+ }
192
+ if (translations.properties) {
193
+ const localProperties = translations.properties;
194
+ const mainProperties = Object.assign({}, (_a = feed.itemPropertiesSchema) === null || _a === void 0 ? void 0 : _a.properties);
195
+ localized.itemPropertiesSchema = Object.assign(Object.assign({}, feed.itemPropertiesSchema), { properties: Object.entries(mainProperties).reduce((properties, entry) => {
196
+ const [propertyKey, propertySchema] = entry;
197
+ const localPropertyDesc = localProperties[propertyKey];
198
+ const localPropertySchema = Object.assign({}, propertySchema);
199
+ if (localPropertyDesc === null || localPropertyDesc === void 0 ? void 0 : localPropertyDesc.title) {
200
+ localPropertySchema.title = localPropertyDesc.title;
201
+ }
202
+ if (localPropertyDesc === null || localPropertyDesc === void 0 ? void 0 : localPropertyDesc.description) {
203
+ localPropertySchema.description = localPropertyDesc.description;
204
+ }
205
+ properties[propertyKey] = localPropertySchema;
206
+ return properties;
207
+ }, {}) });
208
+ }
209
+ delete localized['localization'];
210
+ return localized;
211
+ }
212
+ exports.localizedFeed = localizedFeed;
213
+ //# sourceMappingURL=entities.feeds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.feeds.js","sourceRoot":"","sources":["../../../src/entities/feeds/entities.feeds.ts"],"names":[],"mappings":"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"}