@ngageoint/mage.service 6.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/mage.service.js +230 -0
- package/bin/migration.js +60 -0
- package/bin/poststop.sh +1 -0
- package/bin/prestart.sh +1 -0
- package/lib/@types/express/index.d.ts +18 -0
- package/lib/@types/geojson-validation/index.d.ts +15 -0
- package/lib/@types/mongodb-migrations/index.d.ts +99 -0
- package/lib/access/index.d.ts +21 -0
- package/lib/access/index.d.ts.map +1 -0
- package/lib/access/index.js +40 -0
- package/lib/access/index.js.map +1 -0
- package/lib/adapters/adapters.controllers.web.d.ts +22 -0
- package/lib/adapters/adapters.controllers.web.d.ts.map +1 -0
- package/lib/adapters/adapters.controllers.web.js +55 -0
- package/lib/adapters/adapters.controllers.web.js.map +1 -0
- package/lib/adapters/adapters.db.mongoose.d.ts +5 -0
- package/lib/adapters/adapters.db.mongoose.d.ts.map +1 -0
- package/lib/adapters/adapters.db.mongoose.js +70 -0
- package/lib/adapters/adapters.db.mongoose.js.map +1 -0
- package/lib/adapters/adapters.simple_id_factory.d.ts +5 -0
- package/lib/adapters/adapters.simple_id_factory.d.ts.map +1 -0
- package/lib/adapters/adapters.simple_id_factory.js +24 -0
- package/lib/adapters/adapters.simple_id_factory.js.map +1 -0
- package/lib/adapters/base/adapters.base.db.mongoose.d.ts +59 -0
- package/lib/adapters/base/adapters.base.db.mongoose.d.ts.map +1 -0
- package/lib/adapters/base/adapters.base.db.mongoose.js +143 -0
- package/lib/adapters/base/adapters.base.db.mongoose.js.map +1 -0
- package/lib/adapters/events/adapters.events.controllers.web.d.ts +14 -0
- package/lib/adapters/events/adapters.events.controllers.web.d.ts.map +1 -0
- package/lib/adapters/events/adapters.events.controllers.web.js +83 -0
- package/lib/adapters/events/adapters.events.controllers.web.js.map +1 -0
- package/lib/adapters/events/adapters.events.db.mongoose.d.ts +27 -0
- package/lib/adapters/events/adapters.events.db.mongoose.d.ts.map +1 -0
- package/lib/adapters/events/adapters.events.db.mongoose.js +127 -0
- package/lib/adapters/events/adapters.events.db.mongoose.js.map +1 -0
- package/lib/adapters/feeds/adapters.feeds.controllers.web.d.ts +25 -0
- package/lib/adapters/feeds/adapters.feeds.controllers.web.d.ts.map +1 -0
- package/lib/adapters/feeds/adapters.feeds.controllers.web.js +234 -0
- package/lib/adapters/feeds/adapters.feeds.controllers.web.js.map +1 -0
- package/lib/adapters/feeds/adapters.feeds.db.mongoose.d.ts +63 -0
- package/lib/adapters/feeds/adapters.feeds.db.mongoose.d.ts.map +1 -0
- package/lib/adapters/feeds/adapters.feeds.db.mongoose.js +199 -0
- package/lib/adapters/feeds/adapters.feeds.db.mongoose.js.map +1 -0
- package/lib/adapters/icons/adapters.icons.content_store.file_system.d.ts +7 -0
- package/lib/adapters/icons/adapters.icons.content_store.file_system.d.ts.map +1 -0
- package/lib/adapters/icons/adapters.icons.content_store.file_system.js +13 -0
- package/lib/adapters/icons/adapters.icons.content_store.file_system.js.map +1 -0
- package/lib/adapters/icons/adapters.icons.controllers.web.d.ts +10 -0
- package/lib/adapters/icons/adapters.icons.controllers.web.d.ts.map +1 -0
- package/lib/adapters/icons/adapters.icons.controllers.web.js +118 -0
- package/lib/adapters/icons/adapters.icons.controllers.web.js.map +1 -0
- package/lib/adapters/icons/adapters.icons.db.mongoose.d.ts +38 -0
- package/lib/adapters/icons/adapters.icons.db.mongoose.d.ts.map +1 -0
- package/lib/adapters/icons/adapters.icons.db.mongoose.js +287 -0
- package/lib/adapters/icons/adapters.icons.db.mongoose.js.map +1 -0
- package/lib/adapters/observations/adapters.observations.attachment_store.file_system.d.ts +29 -0
- package/lib/adapters/observations/adapters.observations.attachment_store.file_system.d.ts.map +1 -0
- package/lib/adapters/observations/adapters.observations.attachment_store.file_system.js +274 -0
- package/lib/adapters/observations/adapters.observations.attachment_store.file_system.js.map +1 -0
- package/lib/adapters/observations/adapters.observations.controllers.web.d.ts +40 -0
- package/lib/adapters/observations/adapters.observations.controllers.web.d.ts.map +1 -0
- package/lib/adapters/observations/adapters.observations.controllers.web.js +196 -0
- package/lib/adapters/observations/adapters.observations.controllers.web.js.map +1 -0
- package/lib/adapters/observations/adapters.observations.db.mongoose.d.ts +30 -0
- package/lib/adapters/observations/adapters.observations.db.mongoose.d.ts.map +1 -0
- package/lib/adapters/observations/adapters.observations.db.mongoose.js +294 -0
- package/lib/adapters/observations/adapters.observations.db.mongoose.js.map +1 -0
- package/lib/adapters/plugins/adapters.plugins.db.mongoose.d.ts +17 -0
- package/lib/adapters/plugins/adapters.plugins.db.mongoose.d.ts.map +1 -0
- package/lib/adapters/plugins/adapters.plugins.db.mongoose.js +59 -0
- package/lib/adapters/plugins/adapters.plugins.db.mongoose.js.map +1 -0
- package/lib/adapters/url_schemes/adapters.url_schemes.plugin.d.ts +38 -0
- package/lib/adapters/url_schemes/adapters.url_schemes.plugin.d.ts.map +1 -0
- package/lib/adapters/url_schemes/adapters.url_schemes.plugin.js +110 -0
- package/lib/adapters/url_schemes/adapters.url_schemes.plugin.js.map +1 -0
- package/lib/adapters/users/adapters.users.controllers.web.d.ts +7 -0
- package/lib/adapters/users/adapters.users.controllers.web.d.ts.map +1 -0
- package/lib/adapters/users/adapters.users.controllers.web.js +37 -0
- package/lib/adapters/users/adapters.users.controllers.web.js.map +1 -0
- package/lib/adapters/users/adapters.users.db.mongoose.d.ts +19 -0
- package/lib/adapters/users/adapters.users.db.mongoose.d.ts.map +1 -0
- package/lib/adapters/users/adapters.users.db.mongoose.js +126 -0
- package/lib/adapters/users/adapters.users.db.mongoose.js.map +1 -0
- package/lib/adapters/web_ui_plugins/adapters.web_ui_plugins.controllers.web.d.ts +3 -0
- package/lib/adapters/web_ui_plugins/adapters.web_ui_plugins.controllers.web.d.ts.map +1 -0
- package/lib/adapters/web_ui_plugins/adapters.web_ui_plugins.controllers.web.js +53 -0
- package/lib/adapters/web_ui_plugins/adapters.web_ui_plugins.controllers.web.js.map +1 -0
- package/lib/api/attachment.d.ts +12 -0
- package/lib/api/attachment.d.ts.map +1 -0
- package/lib/api/attachment.js +81 -0
- package/lib/api/attachment.js.map +1 -0
- package/lib/api/event.d.ts +20 -0
- package/lib/api/event.d.ts.map +1 -0
- package/lib/api/event.js +185 -0
- package/lib/api/event.js.map +1 -0
- package/lib/api/events/location.d.ts +11 -0
- package/lib/api/events/location.d.ts.map +1 -0
- package/lib/api/events/location.js +13 -0
- package/lib/api/events/location.js.map +1 -0
- package/lib/api/events/observation.d.ts +15 -0
- package/lib/api/events/observation.d.ts.map +1 -0
- package/lib/api/events/observation.js +21 -0
- package/lib/api/events/observation.js.map +1 -0
- package/lib/api/feature.d.ts +8 -0
- package/lib/api/feature.d.ts.map +1 -0
- package/lib/api/feature.js +15 -0
- package/lib/api/feature.js.map +1 -0
- package/lib/api/field/attachmentField.d.ts +12 -0
- package/lib/api/field/attachmentField.d.ts.map +1 -0
- package/lib/api/field/attachmentField.js +40 -0
- package/lib/api/field/attachmentField.js.map +1 -0
- package/lib/api/field/checkboxField.d.ts +7 -0
- package/lib/api/field/checkboxField.d.ts.map +1 -0
- package/lib/api/field/checkboxField.js +19 -0
- package/lib/api/field/checkboxField.js.map +1 -0
- package/lib/api/field/dateField.d.ts +8 -0
- package/lib/api/field/dateField.d.ts.map +1 -0
- package/lib/api/field/dateField.js +21 -0
- package/lib/api/field/dateField.js.map +1 -0
- package/lib/api/field/emailField.d.ts +7 -0
- package/lib/api/field/emailField.d.ts.map +1 -0
- package/lib/api/field/emailField.js +19 -0
- package/lib/api/field/emailField.js.map +1 -0
- package/lib/api/field/field.d.ts +12 -0
- package/lib/api/field/field.d.ts.map +1 -0
- package/lib/api/field/field.js +12 -0
- package/lib/api/field/field.js.map +1 -0
- package/lib/api/field/geometryField.d.ts +7 -0
- package/lib/api/field/geometryField.d.ts.map +1 -0
- package/lib/api/field/geometryField.js +35 -0
- package/lib/api/field/geometryField.js.map +1 -0
- package/lib/api/field/index.d.ts +7 -0
- package/lib/api/field/index.d.ts.map +1 -0
- package/lib/api/field/index.js +30 -0
- package/lib/api/field/index.js.map +1 -0
- package/lib/api/field/multiSelectField.d.ts +7 -0
- package/lib/api/field/multiSelectField.d.ts.map +1 -0
- package/lib/api/field/multiSelectField.js +27 -0
- package/lib/api/field/multiSelectField.js.map +1 -0
- package/lib/api/field/numberField.d.ts +7 -0
- package/lib/api/field/numberField.d.ts.map +1 -0
- package/lib/api/field/numberField.js +27 -0
- package/lib/api/field/numberField.js.map +1 -0
- package/lib/api/field/selectField.d.ts +7 -0
- package/lib/api/field/selectField.d.ts.map +1 -0
- package/lib/api/field/selectField.js +22 -0
- package/lib/api/field/selectField.js.map +1 -0
- package/lib/api/field/textField.d.ts +7 -0
- package/lib/api/field/textField.d.ts.map +1 -0
- package/lib/api/field/textField.js +21 -0
- package/lib/api/field/textField.js.map +1 -0
- package/lib/api/form.d.ts +12 -0
- package/lib/api/form.d.ts.map +1 -0
- package/lib/api/form.js +239 -0
- package/lib/api/form.js.map +1 -0
- package/lib/api/icon.d.ts +22 -0
- package/lib/api/icon.d.ts.map +1 -0
- package/lib/api/icon.js +178 -0
- package/lib/api/icon.js.map +1 -0
- package/lib/api/index.d.ts +10 -0
- package/lib/api/index.d.ts.map +1 -0
- package/lib/api/index.js +11 -0
- package/lib/api/index.js.map +1 -0
- package/lib/api/layer.d.ts +14 -0
- package/lib/api/layer.d.ts.map +1 -0
- package/lib/api/layer.js +70 -0
- package/lib/api/layer.js.map +1 -0
- package/lib/api/location.d.ts +14 -0
- package/lib/api/location.d.ts.map +1 -0
- package/lib/api/location.js +35 -0
- package/lib/api/location.js.map +1 -0
- package/lib/api/observation.d.ts +25 -0
- package/lib/api/observation.d.ts.map +1 -0
- package/lib/api/observation.js +224 -0
- package/lib/api/observation.js.map +1 -0
- package/lib/api/user.d.ts +16 -0
- package/lib/api/user.d.ts.map +1 -0
- package/lib/api/user.js +250 -0
- package/lib/api/user.js.map +1 -0
- package/lib/app.api/app.api.errors.d.ts +42 -0
- package/lib/app.api/app.api.errors.d.ts.map +1 -0
- package/lib/app.api/app.api.errors.js +43 -0
- package/lib/app.api/app.api.errors.js.map +1 -0
- package/lib/app.api/app.api.global.d.ts +74 -0
- package/lib/app.api/app.api.global.d.ts.map +1 -0
- package/lib/app.api/app.api.global.js +59 -0
- package/lib/app.api/app.api.global.js.map +1 -0
- package/lib/app.api/events/app.api.events.d.ts +31 -0
- package/lib/app.api/events/app.api.events.d.ts.map +1 -0
- package/lib/app.api/events/app.api.events.js +3 -0
- package/lib/app.api/events/app.api.events.js.map +1 -0
- package/lib/app.api/feeds/app.api.feeds.d.ts +139 -0
- package/lib/app.api/feeds/app.api.feeds.d.ts.map +1 -0
- package/lib/app.api/feeds/app.api.feeds.js +26 -0
- package/lib/app.api/feeds/app.api.feeds.js.map +1 -0
- package/lib/app.api/icons/app.api.icons.d.ts +60 -0
- package/lib/app.api/icons/app.api.icons.d.ts.map +1 -0
- package/lib/app.api/icons/app.api.icons.js +29 -0
- package/lib/app.api/icons/app.api.icons.js.map +1 -0
- package/lib/app.api/observations/app.api.observations.d.ts +126 -0
- package/lib/app.api/observations/app.api.observations.d.ts.map +1 -0
- package/lib/app.api/observations/app.api.observations.js +61 -0
- package/lib/app.api/observations/app.api.observations.js.map +1 -0
- package/lib/app.api/users/app.api.users.d.ts +24 -0
- package/lib/app.api/users/app.api.users.d.ts.map +1 -0
- package/lib/app.api/users/app.api.users.js +3 -0
- package/lib/app.api/users/app.api.users.js.map +1 -0
- package/lib/app.d.ts +38 -0
- package/lib/app.d.ts.map +1 -0
- package/lib/app.impl/events/app.impl.events.d.ts +8 -0
- package/lib/app.impl/events/app.impl.events.d.ts.map +1 -0
- package/lib/app.impl/events/app.impl.events.js +107 -0
- package/lib/app.impl/events/app.impl.events.js.map +1 -0
- package/lib/app.impl/feeds/app.impl.feeds.d.ts +21 -0
- package/lib/app.impl/feeds/app.impl.feeds.d.ts.map +1 -0
- package/lib/app.impl/feeds/app.impl.feeds.js +527 -0
- package/lib/app.impl/feeds/app.impl.feeds.js.map +1 -0
- package/lib/app.impl/icons/app.impl.icons.d.ts +7 -0
- package/lib/app.impl/icons/app.impl.icons.d.ts.map +1 -0
- package/lib/app.impl/icons/app.impl.icons.js +81 -0
- package/lib/app.impl/icons/app.impl.icons.js.map +1 -0
- package/lib/app.impl/observations/app.impl.observations.d.ts +11 -0
- package/lib/app.impl/observations/app.impl.observations.d.ts.map +1 -0
- package/lib/app.impl/observations/app.impl.observations.js +357 -0
- package/lib/app.impl/observations/app.impl.observations.js.map +1 -0
- package/lib/app.impl/users/app.impl.users.d.ts +4 -0
- package/lib/app.impl/users/app.impl.users.d.ts.map +1 -0
- package/lib/app.impl/users/app.impl.users.js +37 -0
- package/lib/app.impl/users/app.impl.users.js.map +1 -0
- package/lib/app.js +507 -0
- package/lib/app.js.map +1 -0
- package/lib/assets/default-icon.png +0 -0
- package/lib/authentication/anonymous.d.ts +6 -0
- package/lib/authentication/anonymous.d.ts.map +1 -0
- package/lib/authentication/anonymous.js +17 -0
- package/lib/authentication/anonymous.js.map +1 -0
- package/lib/authentication/index.d.ts +24 -0
- package/lib/authentication/index.d.ts.map +1 -0
- package/lib/authentication/index.js +104 -0
- package/lib/authentication/index.js.map +1 -0
- package/lib/authentication/ldap.d.ts +2 -0
- package/lib/authentication/ldap.d.ts.map +1 -0
- package/lib/authentication/ldap.js +130 -0
- package/lib/authentication/ldap.js.map +1 -0
- package/lib/authentication/local.d.ts +2 -0
- package/lib/authentication/local.d.ts.map +1 -0
- package/lib/authentication/local.js +77 -0
- package/lib/authentication/local.js.map +1 -0
- package/lib/authentication/oauth.d.ts +2 -0
- package/lib/authentication/oauth.d.ts.map +1 -0
- package/lib/authentication/oauth.js +197 -0
- package/lib/authentication/oauth.js.map +1 -0
- package/lib/authentication/openidconnect.d.ts +2 -0
- package/lib/authentication/openidconnect.d.ts.map +1 -0
- package/lib/authentication/openidconnect.js +148 -0
- package/lib/authentication/openidconnect.js.map +1 -0
- package/lib/authentication/saml.d.ts +2 -0
- package/lib/authentication/saml.d.ts.map +1 -0
- package/lib/authentication/saml.js +287 -0
- package/lib/authentication/saml.js.map +1 -0
- package/lib/authentication/verification.d.ts +33 -0
- package/lib/authentication/verification.d.ts.map +1 -0
- package/lib/authentication/verification.js +144 -0
- package/lib/authentication/verification.js.map +1 -0
- package/lib/config.d.ts +15 -0
- package/lib/config.d.ts.map +1 -0
- package/lib/config.js +20 -0
- package/lib/config.js.map +1 -0
- package/lib/dist-package.json +203 -0
- package/lib/docs/auth/local.yaml +90 -0
- package/lib/docs/geojson.yaml +375 -0
- package/lib/docs/openapi.yaml +4591 -0
- package/lib/entities/authentication/entities.authentication.d.ts +14 -0
- package/lib/entities/authentication/entities.authentication.d.ts.map +1 -0
- package/lib/entities/authentication/entities.authentication.js +3 -0
- package/lib/entities/authentication/entities.authentication.js.map +1 -0
- package/lib/entities/authorization/entities.authorization.d.ts +7 -0
- package/lib/entities/authorization/entities.authorization.d.ts.map +1 -0
- package/lib/entities/authorization/entities.authorization.js +3 -0
- package/lib/entities/authorization/entities.authorization.js.map +1 -0
- package/lib/entities/authorization/entities.permissions.d.ts +143 -0
- package/lib/entities/authorization/entities.permissions.d.ts.map +1 -0
- package/lib/entities/authorization/entities.permissions.js +101 -0
- package/lib/entities/authorization/entities.permissions.js.map +1 -0
- package/lib/entities/entities.domain_events.d.ts +1 -0
- package/lib/entities/entities.domain_events.d.ts.map +1 -0
- package/lib/entities/entities.domain_events.js +20 -0
- package/lib/entities/entities.domain_events.js.map +1 -0
- package/lib/entities/entities.global.d.ts +107 -0
- package/lib/entities/entities.global.d.ts.map +1 -0
- package/lib/entities/entities.global.js +67 -0
- package/lib/entities/entities.global.js.map +1 -0
- package/lib/entities/entities.i18n.d.ts +78 -0
- package/lib/entities/entities.i18n.d.ts.map +1 -0
- package/lib/entities/entities.i18n.js +69 -0
- package/lib/entities/entities.i18n.js.map +1 -0
- package/lib/entities/entities.json_types.d.ts +42 -0
- package/lib/entities/entities.json_types.d.ts.map +1 -0
- package/lib/entities/entities.json_types.js +3 -0
- package/lib/entities/entities.json_types.js.map +1 -0
- package/lib/entities/events/entities.events.d.ts +118 -0
- package/lib/entities/events/entities.events.d.ts.map +1 -0
- package/lib/entities/events/entities.events.forms.d.ts +132 -0
- package/lib/entities/events/entities.events.forms.d.ts.map +1 -0
- package/lib/entities/events/entities.events.forms.js +102 -0
- package/lib/entities/events/entities.events.forms.js.map +1 -0
- package/lib/entities/events/entities.events.js +146 -0
- package/lib/entities/events/entities.events.js.map +1 -0
- package/lib/entities/feeds/entities.feeds.d.ts +340 -0
- package/lib/entities/feeds/entities.feeds.d.ts.map +1 -0
- package/lib/entities/feeds/entities.feeds.js +213 -0
- package/lib/entities/feeds/entities.feeds.js.map +1 -0
- package/lib/entities/icons/entities.icons.d.ts +106 -0
- package/lib/entities/icons/entities.icons.d.ts.map +1 -0
- package/lib/entities/icons/entities.icons.js +26 -0
- package/lib/entities/icons/entities.icons.js.map +1 -0
- package/lib/entities/observations/entities.observations.d.ts +569 -0
- package/lib/entities/observations/entities.observations.d.ts.map +1 -0
- package/lib/entities/observations/entities.observations.fields.attachment.d.ts +5 -0
- package/lib/entities/observations/entities.observations.fields.attachment.d.ts.map +1 -0
- package/lib/entities/observations/entities.observations.fields.attachment.js +24 -0
- package/lib/entities/observations/entities.observations.fields.attachment.js.map +1 -0
- package/lib/entities/observations/entities.observations.fields.checkbox.d.ts +3 -0
- package/lib/entities/observations/entities.observations.fields.checkbox.d.ts.map +1 -0
- package/lib/entities/observations/entities.observations.fields.checkbox.js +17 -0
- package/lib/entities/observations/entities.observations.fields.checkbox.js.map +1 -0
- package/lib/entities/observations/entities.observations.fields.d.ts +20 -0
- package/lib/entities/observations/entities.observations.fields.d.ts.map +1 -0
- package/lib/entities/observations/entities.observations.fields.date.d.ts +3 -0
- package/lib/entities/observations/entities.observations.fields.date.d.ts.map +1 -0
- package/lib/entities/observations/entities.observations.fields.date.js +21 -0
- package/lib/entities/observations/entities.observations.fields.date.js.map +1 -0
- package/lib/entities/observations/entities.observations.fields.email.d.ts +3 -0
- package/lib/entities/observations/entities.observations.fields.email.d.ts.map +1 -0
- package/lib/entities/observations/entities.observations.fields.email.js +20 -0
- package/lib/entities/observations/entities.observations.fields.email.js.map +1 -0
- package/lib/entities/observations/entities.observations.fields.geometry.d.ts +3 -0
- package/lib/entities/observations/entities.observations.fields.geometry.d.ts.map +1 -0
- package/lib/entities/observations/entities.observations.fields.geometry.js +62 -0
- package/lib/entities/observations/entities.observations.fields.geometry.js.map +1 -0
- package/lib/entities/observations/entities.observations.fields.js +37 -0
- package/lib/entities/observations/entities.observations.fields.js.map +1 -0
- package/lib/entities/observations/entities.observations.fields.multiselect.d.ts +3 -0
- package/lib/entities/observations/entities.observations.fields.multiselect.d.ts.map +1 -0
- package/lib/entities/observations/entities.observations.fields.multiselect.js +24 -0
- package/lib/entities/observations/entities.observations.fields.multiselect.js.map +1 -0
- package/lib/entities/observations/entities.observations.fields.numeric.d.ts +3 -0
- package/lib/entities/observations/entities.observations.fields.numeric.d.ts.map +1 -0
- package/lib/entities/observations/entities.observations.fields.numeric.js +24 -0
- package/lib/entities/observations/entities.observations.fields.numeric.js.map +1 -0
- package/lib/entities/observations/entities.observations.fields.required.d.ts +3 -0
- package/lib/entities/observations/entities.observations.fields.required.d.ts.map +1 -0
- package/lib/entities/observations/entities.observations.fields.required.js +14 -0
- package/lib/entities/observations/entities.observations.fields.required.js.map +1 -0
- package/lib/entities/observations/entities.observations.fields.select.d.ts +3 -0
- package/lib/entities/observations/entities.observations.fields.select.d.ts.map +1 -0
- package/lib/entities/observations/entities.observations.fields.select.js +17 -0
- package/lib/entities/observations/entities.observations.fields.select.js.map +1 -0
- package/lib/entities/observations/entities.observations.fields.text.d.ts +3 -0
- package/lib/entities/observations/entities.observations.fields.text.d.ts.map +1 -0
- package/lib/entities/observations/entities.observations.fields.text.js +15 -0
- package/lib/entities/observations/entities.observations.fields.text.js.map +1 -0
- package/lib/entities/observations/entities.observations.js +873 -0
- package/lib/entities/observations/entities.observations.js.map +1 -0
- package/lib/entities/ogcapi-features/entities.ogcapi-features.d.ts +98 -0
- package/lib/entities/ogcapi-features/entities.ogcapi-features.d.ts.map +1 -0
- package/lib/entities/ogcapi-features/entities.ogcapi-features.js +30 -0
- package/lib/entities/ogcapi-features/entities.ogcapi-features.js.map +1 -0
- package/lib/entities/teams/entities.teams.d.ts +26 -0
- package/lib/entities/teams/entities.teams.d.ts.map +1 -0
- package/lib/entities/teams/entities.teams.js +3 -0
- package/lib/entities/teams/entities.teams.js.map +1 -0
- package/lib/entities/users/entities.users.d.ts +66 -0
- package/lib/entities/users/entities.users.d.ts.map +1 -0
- package/lib/entities/users/entities.users.js +10 -0
- package/lib/entities/users/entities.users.js.map +1 -0
- package/lib/environment/env.d.ts +29 -0
- package/lib/environment/env.d.ts.map +1 -0
- package/lib/environment/env.js +106 -0
- package/lib/environment/env.js.map +1 -0
- package/lib/export/csv.d.ts +11 -0
- package/lib/export/csv.d.ts.map +1 -0
- package/lib/export/csv.js +243 -0
- package/lib/export/csv.js.map +1 -0
- package/lib/export/exporter.d.ts +12 -0
- package/lib/export/exporter.d.ts.map +1 -0
- package/lib/export/exporter.js +38 -0
- package/lib/export/exporter.js.map +1 -0
- package/lib/export/exporterFactory.d.ts +11 -0
- package/lib/export/exporterFactory.d.ts.map +1 -0
- package/lib/export/exporterFactory.js +17 -0
- package/lib/export/exporterFactory.js.map +1 -0
- package/lib/export/geojson.d.ts +10 -0
- package/lib/export/geojson.d.ts.map +1 -0
- package/lib/export/geojson.js +167 -0
- package/lib/export/geojson.js.map +1 -0
- package/lib/export/geopackage.d.ts +25 -0
- package/lib/export/geopackage.d.ts.map +1 -0
- package/lib/export/geopackage.js +687 -0
- package/lib/export/geopackage.js.map +1 -0
- package/lib/export/kml.d.ts +10 -0
- package/lib/export/kml.d.ts.map +1 -0
- package/lib/export/kml.js +128 -0
- package/lib/export/kml.js.map +1 -0
- package/lib/export/kmlWriter.d.ts +24 -0
- package/lib/export/kmlWriter.d.ts.map +1 -0
- package/lib/export/kmlWriter.js +431 -0
- package/lib/export/kmlWriter.js.map +1 -0
- package/lib/express.d.ts +9 -0
- package/lib/express.d.ts.map +1 -0
- package/lib/express.js +70 -0
- package/lib/express.js.map +1 -0
- package/lib/format/geoJsonFormat.d.ts +3 -0
- package/lib/format/geoJsonFormat.d.ts.map +1 -0
- package/lib/format/geoJsonFormat.js +65 -0
- package/lib/format/geoJsonFormat.js.map +1 -0
- package/lib/logger.d.ts +2 -0
- package/lib/logger.d.ts.map +1 -0
- package/lib/logger.js +21 -0
- package/lib/logger.js.map +1 -0
- package/lib/main.impl/main.impl.plugins.d.ts +12 -0
- package/lib/main.impl/main.impl.plugins.d.ts.map +1 -0
- package/lib/main.impl/main.impl.plugins.js +41 -0
- package/lib/main.impl/main.impl.plugins.js.map +1 -0
- package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.events.d.ts +3 -0
- package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.events.d.ts.map +1 -0
- package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.events.js +32 -0
- package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.events.js.map +1 -0
- package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.feeds.d.ts +4 -0
- package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.feeds.d.ts.map +1 -0
- package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.feeds.js +26 -0
- package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.feeds.js.map +1 -0
- package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.icons.d.ts +4 -0
- package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.icons.d.ts.map +1 -0
- package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.icons.js +41 -0
- package/lib/main.impl/plugin_hooks/main.impl.plugin_hooks.icons.js.map +1 -0
- package/lib/migrate.d.ts +4 -0
- package/lib/migrate.d.ts.map +1 -0
- package/lib/migrate.js +96 -0
- package/lib/migrate.js.map +1 -0
- package/lib/migrations/002-create-user-role.d.ts +4 -0
- package/lib/migrations/002-create-user-role.d.ts.map +1 -0
- package/lib/migrations/002-create-user-role.js +30 -0
- package/lib/migrations/002-create-user-role.js.map +1 -0
- package/lib/migrations/003-create-admin-role.d.ts +4 -0
- package/lib/migrations/003-create-admin-role.d.ts.map +1 -0
- package/lib/migrations/003-create-admin-role.js +31 -0
- package/lib/migrations/003-create-admin-role.js.map +1 -0
- package/lib/migrations/005-create-osm-layer.d.ts +4 -0
- package/lib/migrations/005-create-osm-layer.d.ts.map +1 -0
- package/lib/migrations/005-create-osm-layer.js +51 -0
- package/lib/migrations/005-create-osm-layer.js.map +1 -0
- package/lib/migrations/006-event-teams.d.ts +4 -0
- package/lib/migrations/006-event-teams.d.ts.map +1 -0
- package/lib/migrations/006-event-teams.js +40 -0
- package/lib/migrations/006-event-teams.js.map +1 -0
- package/lib/migrations/007-user-icon.d.ts +4 -0
- package/lib/migrations/007-user-icon.d.ts.map +1 -0
- package/lib/migrations/007-user-icon.js +21 -0
- package/lib/migrations/007-user-icon.js.map +1 -0
- package/lib/migrations/008-create-user-no-edit-role.d.ts +4 -0
- package/lib/migrations/008-create-user-no-edit-role.d.ts.map +1 -0
- package/lib/migrations/008-create-user-no-edit-role.js +34 -0
- package/lib/migrations/008-create-user-no-edit-role.js.map +1 -0
- package/lib/migrations/009-create-manager-role.d.ts +4 -0
- package/lib/migrations/009-create-manager-role.d.ts.map +1 -0
- package/lib/migrations/009-create-manager-role.js +50 -0
- package/lib/migrations/009-create-manager-role.js.map +1 -0
- package/lib/migrations/010-add-user-device-manager-role.d.ts +4 -0
- package/lib/migrations/010-add-user-device-manager-role.d.ts.map +1 -0
- package/lib/migrations/010-add-user-device-manager-role.js +38 -0
- package/lib/migrations/010-add-user-device-manager-role.js.map +1 -0
- package/lib/migrations/011-multiple-forms.d.ts +4 -0
- package/lib/migrations/011-multiple-forms.d.ts.map +1 -0
- package/lib/migrations/011-multiple-forms.js +161 -0
- package/lib/migrations/011-multiple-forms.js.map +1 -0
- package/lib/migrations/012-user-role-remove-delete.d.ts +4 -0
- package/lib/migrations/012-user-role-remove-delete.d.ts.map +1 -0
- package/lib/migrations/012-user-role-remove-delete.js +15 -0
- package/lib/migrations/012-user-role-remove-delete.js.map +1 -0
- package/lib/migrations/013-ensure-event-indexes.d.ts +4 -0
- package/lib/migrations/013-ensure-event-indexes.d.ts.map +1 -0
- package/lib/migrations/013-ensure-event-indexes.js +50 -0
- package/lib/migrations/013-ensure-event-indexes.js.map +1 -0
- package/lib/migrations/014-add-role-update-permission.d.ts +4 -0
- package/lib/migrations/014-add-role-update-permission.d.ts.map +1 -0
- package/lib/migrations/014-add-role-update-permission.js +15 -0
- package/lib/migrations/014-add-role-update-permission.js.map +1 -0
- package/lib/migrations/015-manager-role-add-user-create.d.ts +4 -0
- package/lib/migrations/015-manager-role-add-user-create.d.ts.map +1 -0
- package/lib/migrations/015-manager-role-add-user-create.js +15 -0
- package/lib/migrations/015-manager-role-add-user-create.js.map +1 -0
- package/lib/migrations/016-set-feed-primary-secondary.d.ts +4 -0
- package/lib/migrations/016-set-feed-primary-secondary.d.ts.map +1 -0
- package/lib/migrations/016-set-feed-primary-secondary.js +36 -0
- package/lib/migrations/016-set-feed-primary-secondary.js.map +1 -0
- package/lib/migrations/017-make-layers-available.d.ts +4 -0
- package/lib/migrations/017-make-layers-available.d.ts.map +1 -0
- package/lib/migrations/017-make-layers-available.js +48 -0
- package/lib/migrations/017-make-layers-available.js.map +1 -0
- package/lib/migrations/018-feeds-admin-permissions.d.ts +4 -0
- package/lib/migrations/018-feeds-admin-permissions.d.ts.map +1 -0
- package/lib/migrations/018-feeds-admin-permissions.js +32 -0
- package/lib/migrations/018-feeds-admin-permissions.js.map +1 -0
- package/lib/migrations/018-set-default-password-policy.d.ts +4 -0
- package/lib/migrations/018-set-default-password-policy.d.ts.map +1 -0
- package/lib/migrations/018-set-default-password-policy.js +58 -0
- package/lib/migrations/018-set-default-password-policy.js.map +1 -0
- package/lib/migrations/019-move-user-authentication.d.ts +4 -0
- package/lib/migrations/019-move-user-authentication.d.ts.map +1 -0
- package/lib/migrations/019-move-user-authentication.js +68 -0
- package/lib/migrations/019-move-user-authentication.js.map +1 -0
- package/lib/migrations/020-add-export-permissions.d.ts +4 -0
- package/lib/migrations/020-add-export-permissions.d.ts.map +1 -0
- package/lib/migrations/020-add-export-permissions.js +36 -0
- package/lib/migrations/020-add-export-permissions.js.map +1 -0
- package/lib/migrations/022-copy-auth-from-config-to-db.d.ts +4 -0
- package/lib/migrations/022-copy-auth-from-config-to-db.d.ts.map +1 -0
- package/lib/migrations/022-copy-auth-from-config-to-db.js +86 -0
- package/lib/migrations/022-copy-auth-from-config-to-db.js.map +1 -0
- package/lib/migrations/023-move-local-auth-from-settings.d.ts +4 -0
- package/lib/migrations/023-move-local-auth-from-settings.d.ts.map +1 -0
- package/lib/migrations/023-move-local-auth-from-settings.js +54 -0
- package/lib/migrations/023-move-local-auth-from-settings.js.map +1 -0
- package/lib/migrations/024-link-auth-to-auth-config.d.ts +4 -0
- package/lib/migrations/024-link-auth-to-auth-config.d.ts.map +1 -0
- package/lib/migrations/024-link-auth-to-auth-config.js +59 -0
- package/lib/migrations/024-link-auth-to-auth-config.js.map +1 -0
- package/lib/migrations/025-add-auth-config-permissions.d.ts +4 -0
- package/lib/migrations/025-add-auth-config-permissions.d.ts.map +1 -0
- package/lib/migrations/025-add-auth-config-permissions.js +32 -0
- package/lib/migrations/025-add-auth-config-permissions.js.map +1 -0
- package/lib/migrations/028-move-security-settings-to-secret-store.d.ts +4 -0
- package/lib/migrations/028-move-security-settings-to-secret-store.d.ts.map +1 -0
- package/lib/migrations/028-move-security-settings-to-secret-store.js +59 -0
- package/lib/migrations/028-move-security-settings-to-secret-store.js.map +1 -0
- package/lib/migrations/029-attachment-form-field.d.ts +4 -0
- package/lib/migrations/029-attachment-form-field.d.ts.map +1 -0
- package/lib/migrations/029-attachment-form-field.js +130 -0
- package/lib/migrations/029-attachment-form-field.js.map +1 -0
- package/lib/models/authentication.d.ts +17 -0
- package/lib/models/authentication.d.ts.map +1 -0
- package/lib/models/authentication.js +174 -0
- package/lib/models/authentication.js.map +1 -0
- package/lib/models/authenticationconfiguration.d.ts +15 -0
- package/lib/models/authenticationconfiguration.d.ts.map +1 -0
- package/lib/models/authenticationconfiguration.js +105 -0
- package/lib/models/authenticationconfiguration.js.map +1 -0
- package/lib/models/cappedLocation.d.ts +8 -0
- package/lib/models/cappedLocation.d.ts.map +1 -0
- package/lib/models/cappedLocation.js +78 -0
- package/lib/models/cappedLocation.js.map +1 -0
- package/lib/models/counter.d.ts +3 -0
- package/lib/models/counter.d.ts.map +1 -0
- package/lib/models/counter.js +37 -0
- package/lib/models/counter.js.map +1 -0
- package/lib/models/device.d.ts +14 -0
- package/lib/models/device.d.ts.map +1 -0
- package/lib/models/device.js +220 -0
- package/lib/models/device.js.map +1 -0
- package/lib/models/event.d.ts +75 -0
- package/lib/models/event.d.ts.map +1 -0
- package/lib/models/event.js +839 -0
- package/lib/models/event.js.map +1 -0
- package/lib/models/export.d.ts +18 -0
- package/lib/models/export.d.ts.map +1 -0
- package/lib/models/export.js +107 -0
- package/lib/models/export.js.map +1 -0
- package/lib/models/feature.d.ts +4 -0
- package/lib/models/feature.d.ts.map +1 -0
- package/lib/models/feature.js +43 -0
- package/lib/models/feature.js.map +1 -0
- package/lib/models/icon.d.ts +9 -0
- package/lib/models/icon.d.ts.map +1 -0
- package/lib/models/icon.js +69 -0
- package/lib/models/icon.js.map +1 -0
- package/lib/models/index.d.ts +2 -0
- package/lib/models/index.d.ts.map +1 -0
- package/lib/models/index.js +12 -0
- package/lib/models/index.js.map +1 -0
- package/lib/models/layer.d.ts +13 -0
- package/lib/models/layer.d.ts.map +1 -0
- package/lib/models/layer.js +149 -0
- package/lib/models/layer.js.map +1 -0
- package/lib/models/location.d.ts +8 -0
- package/lib/models/location.d.ts.map +1 -0
- package/lib/models/location.js +96 -0
- package/lib/models/location.js.map +1 -0
- package/lib/models/login.d.ts +4 -0
- package/lib/models/login.d.ts.map +1 -0
- package/lib/models/login.js +90 -0
- package/lib/models/login.js.map +1 -0
- package/lib/models/observation.d.ts +93 -0
- package/lib/models/observation.d.ts.map +1 -0
- package/lib/models/observation.js +461 -0
- package/lib/models/observation.js.map +1 -0
- package/lib/models/role.d.ts +22 -0
- package/lib/models/role.d.ts.map +1 -0
- package/lib/models/role.js +80 -0
- package/lib/models/role.js.map +1 -0
- package/lib/models/setting.d.ts +6 -0
- package/lib/models/setting.d.ts.map +1 -0
- package/lib/models/setting.js +31 -0
- package/lib/models/setting.js.map +1 -0
- package/lib/models/team.d.ts +31 -0
- package/lib/models/team.d.ts.map +1 -0
- package/lib/models/team.js +511 -0
- package/lib/models/team.js.map +1 -0
- package/lib/models/token.d.ts +6 -0
- package/lib/models/token.d.ts.map +1 -0
- package/lib/models/token.js +68 -0
- package/lib/models/token.js.map +1 -0
- package/lib/models/user.d.ts +60 -0
- package/lib/models/user.d.ts.map +1 -0
- package/lib/models/user.js +400 -0
- package/lib/models/user.js.map +1 -0
- package/lib/permissions/permissions.events.d.ts +69 -0
- package/lib/permissions/permissions.events.d.ts.map +1 -0
- package/lib/permissions/permissions.events.js +154 -0
- package/lib/permissions/permissions.events.js.map +1 -0
- package/lib/permissions/permissions.feeds.d.ts +19 -0
- package/lib/permissions/permissions.feeds.d.ts.map +1 -0
- package/lib/permissions/permissions.feeds.js +58 -0
- package/lib/permissions/permissions.feeds.js.map +1 -0
- package/lib/permissions/permissions.icons.d.ts +9 -0
- package/lib/permissions/permissions.icons.d.ts.map +1 -0
- package/lib/permissions/permissions.icons.js +28 -0
- package/lib/permissions/permissions.icons.js.map +1 -0
- package/lib/permissions/permissions.observations.d.ts +14 -0
- package/lib/permissions/permissions.observations.d.ts.map +1 -0
- package/lib/permissions/permissions.observations.js +113 -0
- package/lib/permissions/permissions.observations.js.map +1 -0
- package/lib/permissions/permissions.role-based.base.d.ts +15 -0
- package/lib/permissions/permissions.role-based.base.d.ts.map +1 -0
- package/lib/permissions/permissions.role-based.base.js +14 -0
- package/lib/permissions/permissions.role-based.base.js.map +1 -0
- package/lib/permissions/permissions.users.d.ts +8 -0
- package/lib/permissions/permissions.users.d.ts.map +1 -0
- package/lib/permissions/permissions.users.js +23 -0
- package/lib/permissions/permissions.users.js.map +1 -0
- package/lib/plugins.api/index.d.ts +55 -0
- package/lib/plugins.api/index.d.ts.map +1 -0
- package/lib/plugins.api/index.js +5 -0
- package/lib/plugins.api/index.js.map +1 -0
- package/lib/plugins.api/plugins.api.db.d.ts +7 -0
- package/lib/plugins.api/plugins.api.db.d.ts.map +1 -0
- package/lib/plugins.api/plugins.api.db.js +5 -0
- package/lib/plugins.api/plugins.api.db.js.map +1 -0
- package/lib/plugins.api/plugins.api.events.d.ts +24 -0
- package/lib/plugins.api/plugins.api.events.d.ts.map +1 -0
- package/lib/plugins.api/plugins.api.events.js +5 -0
- package/lib/plugins.api/plugins.api.events.js.map +1 -0
- package/lib/plugins.api/plugins.api.feeds.d.ts +35 -0
- package/lib/plugins.api/plugins.api.feeds.d.ts.map +1 -0
- package/lib/plugins.api/plugins.api.feeds.js +12 -0
- package/lib/plugins.api/plugins.api.feeds.js.map +1 -0
- package/lib/plugins.api/plugins.api.icons.d.ts +21 -0
- package/lib/plugins.api/plugins.api.icons.d.ts.map +1 -0
- package/lib/plugins.api/plugins.api.icons.js +5 -0
- package/lib/plugins.api/plugins.api.icons.js.map +1 -0
- package/lib/plugins.api/plugins.api.observations.d.ts +10 -0
- package/lib/plugins.api/plugins.api.observations.d.ts.map +1 -0
- package/lib/plugins.api/plugins.api.observations.js +11 -0
- package/lib/plugins.api/plugins.api.observations.js.map +1 -0
- package/lib/plugins.api/plugins.api.users.d.ts +4 -0
- package/lib/plugins.api/plugins.api.users.d.ts.map +1 -0
- package/lib/plugins.api/plugins.api.users.js +5 -0
- package/lib/plugins.api/plugins.api.users.js.map +1 -0
- package/lib/plugins.api/plugins.api.web.d.ts +10 -0
- package/lib/plugins.api/plugins.api.web.d.ts.map +1 -0
- package/lib/plugins.api/plugins.api.web.js +3 -0
- package/lib/plugins.api/plugins.api.web.js.map +1 -0
- package/lib/provision/index.d.ts +23 -0
- package/lib/provision/index.d.ts.map +1 -0
- package/lib/provision/index.js +60 -0
- package/lib/provision/index.js.map +1 -0
- package/lib/provision/none.d.ts +3 -0
- package/lib/provision/none.d.ts.map +1 -0
- package/lib/provision/none.js +41 -0
- package/lib/provision/none.js.map +1 -0
- package/lib/provision/strategies/none.d.ts +9 -0
- package/lib/provision/strategies/none.d.ts.map +1 -0
- package/lib/provision/strategies/none.js +25 -0
- package/lib/provision/strategies/none.js.map +1 -0
- package/lib/provision/strategies/uid.d.ts +9 -0
- package/lib/provision/strategies/uid.d.ts.map +1 -0
- package/lib/provision/strategies/uid.js +28 -0
- package/lib/provision/strategies/uid.js.map +1 -0
- package/lib/provision/uid.d.ts +3 -0
- package/lib/provision/uid.d.ts.map +1 -0
- package/lib/provision/uid.js +43 -0
- package/lib/provision/uid.js.map +1 -0
- package/lib/routes/authenticationconfigurations.d.ts +3 -0
- package/lib/routes/authenticationconfigurations.d.ts.map +1 -0
- package/lib/routes/authenticationconfigurations.js +209 -0
- package/lib/routes/authenticationconfigurations.js.map +1 -0
- package/lib/routes/devices.d.ts +3 -0
- package/lib/routes/devices.d.ts.map +1 -0
- package/lib/routes/devices.js +201 -0
- package/lib/routes/devices.js.map +1 -0
- package/lib/routes/events.d.ts +47 -0
- package/lib/routes/events.d.ts.map +1 -0
- package/lib/routes/events.js +495 -0
- package/lib/routes/events.js.map +1 -0
- package/lib/routes/exports.d.ts +3 -0
- package/lib/routes/exports.d.ts.map +1 -0
- package/lib/routes/exports.js +204 -0
- package/lib/routes/exports.js.map +1 -0
- package/lib/routes/imports.d.ts +3 -0
- package/lib/routes/imports.d.ts.map +1 -0
- package/lib/routes/imports.js +41 -0
- package/lib/routes/imports.js.map +1 -0
- package/lib/routes/index.d.ts +3 -0
- package/lib/routes/index.d.ts.map +1 -0
- package/lib/routes/index.js +151 -0
- package/lib/routes/index.js.map +1 -0
- package/lib/routes/layers.d.ts +3 -0
- package/lib/routes/layers.d.ts.map +1 -0
- package/lib/routes/layers.js +433 -0
- package/lib/routes/layers.js.map +1 -0
- package/lib/routes/locations.d.ts +3 -0
- package/lib/routes/locations.d.ts.map +1 -0
- package/lib/routes/locations.js +124 -0
- package/lib/routes/locations.js.map +1 -0
- package/lib/routes/logins.d.ts +3 -0
- package/lib/routes/logins.d.ts.map +1 -0
- package/lib/routes/logins.js +64 -0
- package/lib/routes/logins.js.map +1 -0
- package/lib/routes/observations.d.ts +3 -0
- package/lib/routes/observations.d.ts.map +1 -0
- package/lib/routes/observations.js +363 -0
- package/lib/routes/observations.js.map +1 -0
- package/lib/routes/plugins.d.ts +3 -0
- package/lib/routes/plugins.d.ts.map +1 -0
- package/lib/routes/plugins.js +29 -0
- package/lib/routes/plugins.js.map +1 -0
- package/lib/routes/roles.d.ts +3 -0
- package/lib/routes/roles.d.ts.map +1 -0
- package/lib/routes/roles.js +64 -0
- package/lib/routes/roles.js.map +1 -0
- package/lib/routes/settings.d.ts +3 -0
- package/lib/routes/settings.d.ts.map +1 -0
- package/lib/routes/settings.js +21 -0
- package/lib/routes/settings.js.map +1 -0
- package/lib/routes/setup.d.ts +3 -0
- package/lib/routes/setup.d.ts.map +1 -0
- package/lib/routes/setup.js +90 -0
- package/lib/routes/setup.js.map +1 -0
- package/lib/routes/teams.d.ts +3 -0
- package/lib/routes/teams.d.ts.map +1 -0
- package/lib/routes/teams.js +213 -0
- package/lib/routes/teams.js.map +1 -0
- package/lib/routes/users.d.ts +3 -0
- package/lib/routes/users.d.ts.map +1 -0
- package/lib/routes/users.js +478 -0
- package/lib/routes/users.js.map +1 -0
- package/lib/schedule/export/export-task.d.ts +14 -0
- package/lib/schedule/export/export-task.d.ts.map +1 -0
- package/lib/schedule/export/export-task.js +70 -0
- package/lib/schedule/export/export-task.js.map +1 -0
- package/lib/schedule/index.d.ts +2 -0
- package/lib/schedule/index.d.ts.map +1 -0
- package/lib/schedule/index.js +27 -0
- package/lib/schedule/index.js.map +1 -0
- package/lib/security/key-mgt/key-mgt-factory.d.ts +7 -0
- package/lib/security/key-mgt/key-mgt-factory.d.ts.map +1 -0
- package/lib/security/key-mgt/key-mgt-factory.js +10 -0
- package/lib/security/key-mgt/key-mgt-factory.js.map +1 -0
- package/lib/security/key-mgt/plaintext-key-manager.d.ts +42 -0
- package/lib/security/key-mgt/plaintext-key-manager.d.ts.map +1 -0
- package/lib/security/key-mgt/plaintext-key-manager.js +52 -0
- package/lib/security/key-mgt/plaintext-key-manager.js.map +1 -0
- package/lib/security/responses/data-response.d.ts +13 -0
- package/lib/security/responses/data-response.d.ts.map +1 -0
- package/lib/security/responses/data-response.js +25 -0
- package/lib/security/responses/data-response.js.map +1 -0
- package/lib/security/secret-store-service.d.ts +39 -0
- package/lib/security/secret-store-service.d.ts.map +1 -0
- package/lib/security/secret-store-service.js +94 -0
- package/lib/security/secret-store-service.js.map +1 -0
- package/lib/security/storage/file-system-secret-store.d.ts +17 -0
- package/lib/security/storage/file-system-secret-store.d.ts.map +1 -0
- package/lib/security/storage/file-system-secret-store.js +46 -0
- package/lib/security/storage/file-system-secret-store.js.map +1 -0
- package/lib/security/storage/json-provider.d.ts +6 -0
- package/lib/security/storage/json-provider.d.ts.map +1 -0
- package/lib/security/storage/json-provider.js +17 -0
- package/lib/security/storage/json-provider.js.map +1 -0
- package/lib/security/utilities/secure-property-appender.d.ts +8 -0
- package/lib/security/utilities/secure-property-appender.d.ts.map +1 -0
- package/lib/security/utilities/secure-property-appender.js +39 -0
- package/lib/security/utilities/secure-property-appender.js.map +1 -0
- package/lib/transformers/authenticationconfiguration.d.ts +2 -0
- package/lib/transformers/authenticationconfiguration.d.ts.map +1 -0
- package/lib/transformers/authenticationconfiguration.js +22 -0
- package/lib/transformers/authenticationconfiguration.js.map +1 -0
- package/lib/transformers/export.d.ts +2 -0
- package/lib/transformers/export.d.ts.map +1 -0
- package/lib/transformers/export.js +13 -0
- package/lib/transformers/export.js.map +1 -0
- package/lib/transformers/geojson.d.ts +2 -0
- package/lib/transformers/geojson.d.ts.map +1 -0
- package/lib/transformers/geojson.js +24 -0
- package/lib/transformers/geojson.js.map +1 -0
- package/lib/transformers/layer.d.ts +2 -0
- package/lib/transformers/layer.d.ts.map +1 -0
- package/lib/transformers/layer.js +13 -0
- package/lib/transformers/layer.js.map +1 -0
- package/lib/transformers/observation.d.ts +2 -0
- package/lib/transformers/observation.d.ts.map +1 -0
- package/lib/transformers/observation.js +13 -0
- package/lib/transformers/observation.js.map +1 -0
- package/lib/transformers/pageinfo.d.ts +2 -0
- package/lib/transformers/pageinfo.d.ts.map +1 -0
- package/lib/transformers/pageinfo.js +27 -0
- package/lib/transformers/pageinfo.js.map +1 -0
- package/lib/transformers/user.d.ts +2 -0
- package/lib/transformers/user.d.ts.map +1 -0
- package/lib/transformers/user.js +21 -0
- package/lib/transformers/user.js.map +1 -0
- package/lib/tsconfig.tsbuildinfo +1 -0
- package/lib/upload.d.ts +8 -0
- package/lib/upload.d.ts.map +1 -0
- package/lib/upload.js +30 -0
- package/lib/upload.js.map +1 -0
- package/lib/utilities/authenticationApiAppender.d.ts +10 -0
- package/lib/utilities/authenticationApiAppender.d.ts.map +1 -0
- package/lib/utilities/authenticationApiAppender.js +48 -0
- package/lib/utilities/authenticationApiAppender.js.map +1 -0
- package/lib/utilities/filterParser.d.ts +2 -0
- package/lib/utilities/filterParser.d.ts.map +1 -0
- package/lib/utilities/filterParser.js +87 -0
- package/lib/utilities/filterParser.js.map +1 -0
- package/lib/utilities/geopackage.d.ts +56 -0
- package/lib/utilities/geopackage.d.ts.map +1 -0
- package/lib/utilities/geopackage.js +335 -0
- package/lib/utilities/geopackage.js.map +1 -0
- package/lib/utilities/loader.d.ts +9 -0
- package/lib/utilities/loader.d.ts.map +1 -0
- package/lib/utilities/loader.js +25 -0
- package/lib/utilities/loader.js.map +1 -0
- package/lib/utilities/paging.d.ts +15 -0
- package/lib/utilities/paging.d.ts.map +1 -0
- package/lib/utilities/paging.js +56 -0
- package/lib/utilities/paging.js.map +1 -0
- package/lib/utilities/passwordValidator.d.ts +8 -0
- package/lib/utilities/passwordValidator.d.ts.map +1 -0
- package/lib/utilities/passwordValidator.js +175 -0
- package/lib/utilities/passwordValidator.js.map +1 -0
- package/lib/utilities/pbkdf2.d.ts +6 -0
- package/lib/utilities/pbkdf2.d.ts.map +1 -0
- package/lib/utilities/pbkdf2.js +79 -0
- package/lib/utilities/pbkdf2.js.map +1 -0
- package/lib/utilities/togeojson.d.ts +2 -0
- package/lib/utilities/togeojson.d.ts.map +1 -0
- package/lib/utilities/togeojson.js +308 -0
- package/lib/utilities/togeojson.js.map +1 -0
- package/lib/utilities/waitForMongooseConnection.d.ts +3 -0
- package/lib/utilities/waitForMongooseConnection.d.ts.map +1 -0
- package/lib/utilities/waitForMongooseConnection.js +34 -0
- package/lib/utilities/waitForMongooseConnection.js.map +1 -0
- package/lib/utilities/whitelist.d.ts +2 -0
- package/lib/utilities/whitelist.d.ts.map +1 -0
- package/lib/utilities/whitelist.js +18 -0
- package/lib/utilities/whitelist.js.map +1 -0
- package/lib/views/authentication.pug +10 -0
- package/lib/views/oauth.pug +12 -0
- package/lib/views/observation.pug +137 -0
- package/package.json +203 -0
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.StaticIconRoutes = void 0;
|
|
16
|
+
const url_1 = require("url");
|
|
17
|
+
const express_1 = __importDefault(require("express"));
|
|
18
|
+
const app_api_errors_1 = require("../../app.api/app.api.errors");
|
|
19
|
+
const adapters_controllers_web_1 = require("../adapters.controllers.web");
|
|
20
|
+
function addContentPathToIcon(req, icon) {
|
|
21
|
+
return Object.assign(Object.assign({}, icon), { contentPath: `${req.baseUrl}/${icon.id}/content` });
|
|
22
|
+
}
|
|
23
|
+
function StaticIconRoutes(appLayer, createAppRequest) {
|
|
24
|
+
const routes = express_1.default.Router();
|
|
25
|
+
routes.route('/:iconId/content')
|
|
26
|
+
.get((req, res, next) => __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
const iconId = req.params.iconId;
|
|
28
|
+
const appReq = createAppRequest(req, { iconId });
|
|
29
|
+
const appRes = yield appLayer.getIconContent(appReq);
|
|
30
|
+
if (appRes.success) {
|
|
31
|
+
const { iconInfo: icon, iconContent: content } = appRes.success;
|
|
32
|
+
if (typeof icon.mediaType === 'string') {
|
|
33
|
+
res.type(icon.mediaType);
|
|
34
|
+
}
|
|
35
|
+
const oneYearInSeconds = 365 * 24 * 60 * 60;
|
|
36
|
+
const etag = `${icon.id}.${icon.contentHash || icon.resolvedTimestamp}`;
|
|
37
|
+
return content.pipe(res
|
|
38
|
+
.header('cache-control', `private; max-age=${oneYearInSeconds}`)
|
|
39
|
+
// TODO: need app layer support for this
|
|
40
|
+
// .header('etag', etag)
|
|
41
|
+
.status(200));
|
|
42
|
+
}
|
|
43
|
+
next(appRes.error);
|
|
44
|
+
}));
|
|
45
|
+
routes.route('/:iconId')
|
|
46
|
+
.get((req, res, next) => __awaiter(this, void 0, void 0, function* () {
|
|
47
|
+
var _a;
|
|
48
|
+
const iconId = req.params.iconId;
|
|
49
|
+
const appReq = createAppRequest(req, { iconRef: { id: iconId } });
|
|
50
|
+
const appRes = yield appLayer.getIcon(appReq);
|
|
51
|
+
if (appRes.success) {
|
|
52
|
+
return res.json(addContentPathToIcon(req, appRes.success));
|
|
53
|
+
}
|
|
54
|
+
if (((_a = appRes.error) === null || _a === void 0 ? void 0 : _a.code) === app_api_errors_1.ErrEntityNotFound) {
|
|
55
|
+
return res.status(404).json(`icon not found: ${iconId}`);
|
|
56
|
+
}
|
|
57
|
+
next(appRes.error);
|
|
58
|
+
}));
|
|
59
|
+
routes.route('/')
|
|
60
|
+
.get((req, res, next) => __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
var _b;
|
|
62
|
+
const sourceUrlParam = req.query['source_url'];
|
|
63
|
+
if (!sourceUrlParam) {
|
|
64
|
+
return next();
|
|
65
|
+
}
|
|
66
|
+
let sourceUrl = null;
|
|
67
|
+
if (typeof sourceUrlParam === 'string') {
|
|
68
|
+
try {
|
|
69
|
+
sourceUrl = new url_1.URL(sourceUrlParam);
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
console.error(`error parsing url parameter: ${sourceUrlParam}`, err);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (!sourceUrl) {
|
|
76
|
+
return res.status(400).json(`invalid icon source url: ${sourceUrlParam}`);
|
|
77
|
+
}
|
|
78
|
+
const appReq = createAppRequest(req, { iconRef: { sourceUrl } });
|
|
79
|
+
const appRes = yield appLayer.getIcon(appReq);
|
|
80
|
+
if (appRes.success) {
|
|
81
|
+
return res.json(addContentPathToIcon(req, appRes.success));
|
|
82
|
+
}
|
|
83
|
+
if (((_b = appRes.error) === null || _b === void 0 ? void 0 : _b.code) === app_api_errors_1.ErrEntityNotFound) {
|
|
84
|
+
return res.json(null);
|
|
85
|
+
}
|
|
86
|
+
next(appRes.error);
|
|
87
|
+
}), (req, res, next) => __awaiter(this, void 0, void 0, function* () {
|
|
88
|
+
const pageSize = parseInt(String(req.query.page_size));
|
|
89
|
+
const pageIndex = parseInt(String(req.query.page));
|
|
90
|
+
let paging = {};
|
|
91
|
+
if (typeof pageSize === 'number' && !Number.isNaN(pageSize)) {
|
|
92
|
+
paging.pageSize = pageSize;
|
|
93
|
+
}
|
|
94
|
+
if (typeof pageIndex === 'number' && !Number.isNaN(pageIndex)) {
|
|
95
|
+
paging.pageIndex = pageIndex;
|
|
96
|
+
}
|
|
97
|
+
const searchText = typeof req.query.search === 'string' ? req.query.search : null;
|
|
98
|
+
const listParams = {};
|
|
99
|
+
if (Object.getOwnPropertyNames(paging).length) {
|
|
100
|
+
listParams.paging = paging;
|
|
101
|
+
}
|
|
102
|
+
if (searchText) {
|
|
103
|
+
listParams.searchText = searchText;
|
|
104
|
+
}
|
|
105
|
+
const appReq = createAppRequest(req, listParams);
|
|
106
|
+
const appRes = yield appLayer.listIcons(appReq);
|
|
107
|
+
if (appRes.success) {
|
|
108
|
+
const icons = appRes.success.items;
|
|
109
|
+
const iconsWithContentPath = icons.map(x => addContentPathToIcon(req, x));
|
|
110
|
+
return res.json(Object.assign(Object.assign({}, appRes.success), { items: iconsWithContentPath }));
|
|
111
|
+
}
|
|
112
|
+
next(appRes.error);
|
|
113
|
+
}));
|
|
114
|
+
routes.use(adapters_controllers_web_1.compatibilityMageAppErrorHandler);
|
|
115
|
+
return routes;
|
|
116
|
+
}
|
|
117
|
+
exports.StaticIconRoutes = StaticIconRoutes;
|
|
118
|
+
//# sourceMappingURL=adapters.icons.controllers.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.icons.controllers.web.js","sourceRoot":"","sources":["../../../src/adapters/icons/adapters.icons.controllers.web.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { URL } from 'url';
|
|
3
|
+
import mongoose from 'mongoose';
|
|
4
|
+
import { EntityIdFactory, PageOf, PagingParameters, UrlResolutionError, UrlScheme } from '../../entities/entities.global';
|
|
5
|
+
import { StaticIcon, StaticIconStub, StaticIconId, StaticIconRepository, LocalStaticIconStub, StaticIconReference, StaticIconContentStore, StaticIconImportFetch } from '../../entities/icons/entities.icons';
|
|
6
|
+
import { BaseMongooseRepository } from '../base/adapters.base.db.mongoose';
|
|
7
|
+
export declare type StaticIconDocument = Omit<StaticIcon, 'sourceUrl'> & mongoose.Document & {
|
|
8
|
+
sourceUrl: string;
|
|
9
|
+
};
|
|
10
|
+
export declare type StaticIconModel = mongoose.Model<StaticIconDocument>;
|
|
11
|
+
export declare const StaticIconModelName = "StaticIcon";
|
|
12
|
+
export declare const StaticIconSchema: mongoose.Schema;
|
|
13
|
+
export declare function StaticIconModel(conn: mongoose.Connection, collection?: string): StaticIconModel;
|
|
14
|
+
/**
|
|
15
|
+
* TODO:
|
|
16
|
+
* This class is doing too much. The fetching and caching logic should belong
|
|
17
|
+
* in one or more entity layer domain services of some kind. This repository
|
|
18
|
+
* should deal only with database operations.
|
|
19
|
+
*/
|
|
20
|
+
export declare class MongooseStaticIconRepository extends BaseMongooseRepository<StaticIconDocument, StaticIconModel, StaticIcon> implements StaticIconRepository {
|
|
21
|
+
readonly model: StaticIconModel;
|
|
22
|
+
private readonly idFactory;
|
|
23
|
+
private readonly contentStore;
|
|
24
|
+
private readonly resolvers;
|
|
25
|
+
constructor(model: StaticIconModel, idFactory: EntityIdFactory, contentStore: StaticIconContentStore, resolvers: UrlScheme[]);
|
|
26
|
+
create(attrs: StaticIconStub & {
|
|
27
|
+
sourceUrl: URL;
|
|
28
|
+
}): Promise<StaticIcon>;
|
|
29
|
+
findOrImportBySourceUrl(stub: StaticIconStub | URL, fetch?: StaticIconImportFetch): Promise<StaticIcon | UrlResolutionError>;
|
|
30
|
+
private fetchAndStore;
|
|
31
|
+
createLocal(stub: LocalStaticIconStub, content: NodeJS.ReadableStream): Promise<StaticIcon>;
|
|
32
|
+
loadContent(id: StaticIconId): Promise<[StaticIcon, NodeJS.ReadableStream] | null | UrlResolutionError>;
|
|
33
|
+
findBySourceUrl(url: URL): Promise<StaticIcon | null>;
|
|
34
|
+
findByReference(ref: StaticIconReference): Promise<StaticIcon | null>;
|
|
35
|
+
find(paging?: PagingParameters): Promise<PageOf<StaticIcon>>;
|
|
36
|
+
private findDocBySourceUrl;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=adapters.icons.db.mongoose.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.icons.db.mongoose.d.ts","sourceRoot":"","sources":["../../../src/adapters/icons/adapters.icons.db.mongoose.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AACzB,OAAO,QAAQ,MAAM,UAAU,CAAA;AAE/B,OAAO,EAAE,eAAe,EAAU,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AACjI,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAA;AAC7M,OAAO,EAAE,sBAAsB,EAAa,MAAM,mCAAmC,CAAA;AAErF,oBAAY,kBAAkB,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,QAAQ,GAAG;IACnF,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AACD,oBAAY,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAA;AAChE,eAAO,MAAM,mBAAmB,eAAe,CAAA;AAC/C,eAAO,MAAM,gBAAgB,iBAiC5B,CAAA;AACD,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,eAAe,CAE/F;AAED;;;;;GAKG;AACH,qBAAa,4BAA6B,SAAQ,sBAAsB,CAAC,kBAAkB,EAAE,eAAe,EAAE,UAAU,CAAE,YAAW,oBAAoB;IAE3I,QAAQ,CAAC,KAAK,EAAE,eAAe;IAAE,OAAO,CAAC,QAAQ,CAAC,SAAS;IAAmB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAA0B,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAtJ,KAAK,EAAE,eAAe,EAAmB,SAAS,EAAE,eAAe,EAAmB,YAAY,EAAE,sBAAsB,EAAmB,SAAS,EAAE,SAAS,EAAE;IAIlL,MAAM,CAAC,KAAK,EAAE,cAAc,GAAG;QAAE,SAAS,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,UAAU,CAAC;IAMvE,uBAAuB,CAAC,IAAI,EAAE,cAAc,GAAG,GAAG,EAAE,KAAK,GAAE,qBAAkD,GAAG,OAAO,CAAC,UAAU,GAAG,kBAAkB,CAAC;YAmChJ,aAAa;IAqBrB,WAAW,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC;IAI3F,WAAW,CAAC,EAAE,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,CAAC,GAAG,IAAI,GAAG,kBAAkB,CAAC;IA0CvG,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAIrD,eAAe,CAAC,GAAG,EAAE,mBAAmB,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAUrE,IAAI,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAUpD,kBAAkB;CAGjC"}
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
12
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
13
|
+
var m = o[Symbol.asyncIterator], i;
|
|
14
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
15
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
16
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
17
|
+
};
|
|
18
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
19
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
20
|
+
};
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.MongooseStaticIconRepository = exports.StaticIconModel = exports.StaticIconSchema = exports.StaticIconModelName = void 0;
|
|
23
|
+
const url_1 = require("url");
|
|
24
|
+
const mongoose_1 = __importDefault(require("mongoose"));
|
|
25
|
+
const entities_global_1 = require("../../entities/entities.global");
|
|
26
|
+
const entities_icons_1 = require("../../entities/icons/entities.icons");
|
|
27
|
+
const adapters_base_db_mongoose_1 = require("../base/adapters.base.db.mongoose");
|
|
28
|
+
exports.StaticIconModelName = 'StaticIcon';
|
|
29
|
+
exports.StaticIconSchema = new mongoose_1.default.Schema({
|
|
30
|
+
_id: { type: String, required: true },
|
|
31
|
+
sourceUrl: { type: String, required: true, unique: true },
|
|
32
|
+
registeredTimestamp: { type: Number, required: true },
|
|
33
|
+
resolvedTimestamp: { type: Number, required: false },
|
|
34
|
+
contentHash: { type: String, required: false },
|
|
35
|
+
contentTimestamp: { type: Number, required: false },
|
|
36
|
+
imageType: { type: String, required: false },
|
|
37
|
+
mediaType: { type: String, required: false },
|
|
38
|
+
sizePixels: {
|
|
39
|
+
type: {
|
|
40
|
+
width: { type: Number, required: true },
|
|
41
|
+
height: { type: Number, required: true }
|
|
42
|
+
},
|
|
43
|
+
required: false
|
|
44
|
+
},
|
|
45
|
+
sizeBytes: { type: Number, required: false },
|
|
46
|
+
tags: [String],
|
|
47
|
+
title: { type: String, required: false },
|
|
48
|
+
summary: { type: String, required: false },
|
|
49
|
+
fileName: { type: String, required: false },
|
|
50
|
+
}, {
|
|
51
|
+
toJSON: {
|
|
52
|
+
getters: true,
|
|
53
|
+
versionKey: false,
|
|
54
|
+
transform: (doc, json, options) => {
|
|
55
|
+
delete json._id;
|
|
56
|
+
json.sourceUrl = new url_1.URL(doc.sourceUrl);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
function StaticIconModel(conn, collection) {
|
|
61
|
+
return conn.model(exports.StaticIconModelName, exports.StaticIconSchema, collection || 'static_icons');
|
|
62
|
+
}
|
|
63
|
+
exports.StaticIconModel = StaticIconModel;
|
|
64
|
+
/**
|
|
65
|
+
* TODO:
|
|
66
|
+
* This class is doing too much. The fetching and caching logic should belong
|
|
67
|
+
* in one or more entity layer domain services of some kind. This repository
|
|
68
|
+
* should deal only with database operations.
|
|
69
|
+
*/
|
|
70
|
+
class MongooseStaticIconRepository extends adapters_base_db_mongoose_1.BaseMongooseRepository {
|
|
71
|
+
constructor(model, idFactory, contentStore, resolvers) {
|
|
72
|
+
super(model);
|
|
73
|
+
this.model = model;
|
|
74
|
+
this.idFactory = idFactory;
|
|
75
|
+
this.contentStore = contentStore;
|
|
76
|
+
this.resolvers = resolvers;
|
|
77
|
+
}
|
|
78
|
+
create(attrs) {
|
|
79
|
+
const _super = Object.create(null, {
|
|
80
|
+
create: { get: () => super.create }
|
|
81
|
+
});
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
const _id = yield this.idFactory.nextId();
|
|
84
|
+
const withId = Object.assign({ _id, registeredTimestamp: Date.now() }, attrs);
|
|
85
|
+
return _super.create.call(this, withId);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
findOrImportBySourceUrl(stub, fetch = entities_icons_1.StaticIconImportFetch.Lazy) {
|
|
89
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
+
if (!('sourceUrl' in stub)) {
|
|
91
|
+
stub = { sourceUrl: stub };
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
stub = Object.assign({}, stub);
|
|
95
|
+
}
|
|
96
|
+
if (typeof stub.contentHash === 'string' && typeof stub.contentTimestamp !== 'number') {
|
|
97
|
+
stub.contentTimestamp = Date.now();
|
|
98
|
+
}
|
|
99
|
+
let doc = yield this.findDocBySourceUrl(stub.sourceUrl);
|
|
100
|
+
if (doc) {
|
|
101
|
+
doc = yield updateRegisteredIconIfChanged.call(this, doc, stub);
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
const _id = yield this.idFactory.nextId();
|
|
105
|
+
doc = yield this.model.create(Object.assign({ _id, registeredTimestamp: Date.now() }, stub));
|
|
106
|
+
}
|
|
107
|
+
switch (fetch) {
|
|
108
|
+
case entities_icons_1.StaticIconImportFetch.EagerAwait:
|
|
109
|
+
const stored = yield this.fetchAndStore(doc);
|
|
110
|
+
if (stored instanceof entities_global_1.UrlResolutionError) {
|
|
111
|
+
return stored;
|
|
112
|
+
}
|
|
113
|
+
doc = stored;
|
|
114
|
+
break;
|
|
115
|
+
case entities_icons_1.StaticIconImportFetch.Eager:
|
|
116
|
+
this.fetchAndStore(doc);
|
|
117
|
+
break;
|
|
118
|
+
case entities_icons_1.StaticIconImportFetch.Lazy:
|
|
119
|
+
default:
|
|
120
|
+
}
|
|
121
|
+
return this.entityForDocument(doc);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
fetchAndStore(iconDoc) {
|
|
125
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
126
|
+
if (typeof iconDoc.resolvedTimestamp === 'number') {
|
|
127
|
+
return iconDoc;
|
|
128
|
+
}
|
|
129
|
+
const sourceUrl = new url_1.URL(iconDoc.sourceUrl);
|
|
130
|
+
const resolver = this.resolvers.find(x => x.canResolve(sourceUrl));
|
|
131
|
+
if (!resolver) {
|
|
132
|
+
return new entities_global_1.UrlResolutionError(sourceUrl, `no resolver for icon url ${iconDoc.sourceUrl}`);
|
|
133
|
+
}
|
|
134
|
+
const content = yield resolver.resolveContent(sourceUrl);
|
|
135
|
+
if (content instanceof entities_global_1.UrlResolutionError) {
|
|
136
|
+
return content;
|
|
137
|
+
}
|
|
138
|
+
if (!resolver.isLocalScheme) {
|
|
139
|
+
yield this.contentStore.putContent(this.entityForDocument(iconDoc), content);
|
|
140
|
+
}
|
|
141
|
+
iconDoc = new this.model(iconDoc);
|
|
142
|
+
iconDoc.resolvedTimestamp = Date.now();
|
|
143
|
+
return yield iconDoc.save();
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
createLocal(stub, content) {
|
|
147
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
148
|
+
throw new Error('Method not implemented.');
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
loadContent(id) {
|
|
152
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
153
|
+
let icon = yield this.model.findById(id);
|
|
154
|
+
if (!icon) {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
let sourceUrl;
|
|
158
|
+
try {
|
|
159
|
+
sourceUrl = new url_1.URL(icon.sourceUrl);
|
|
160
|
+
}
|
|
161
|
+
catch (err) {
|
|
162
|
+
console.error(`error parsing source url ${icon.sourceUrl} of registered icon ${id}:`, err);
|
|
163
|
+
throw err;
|
|
164
|
+
}
|
|
165
|
+
const resolver = this.resolvers.find(x => x.canResolve(sourceUrl));
|
|
166
|
+
if (!resolver) {
|
|
167
|
+
console.warn(`no scheme for registered icon`, icon);
|
|
168
|
+
return new entities_global_1.UrlResolutionError(sourceUrl, `no scheme found to resolve source url ${icon.sourceUrl} of icon ${icon.id}`);
|
|
169
|
+
}
|
|
170
|
+
let resolved = icon;
|
|
171
|
+
if (typeof icon.resolvedTimestamp !== 'number') {
|
|
172
|
+
resolved = yield this.fetchAndStore(icon);
|
|
173
|
+
if (resolved instanceof entities_global_1.UrlResolutionError) {
|
|
174
|
+
console.error(`error fetching and storing icon to load content`, resolved);
|
|
175
|
+
return resolved;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
let content = null;
|
|
179
|
+
if (resolver.isLocalScheme) {
|
|
180
|
+
const content = yield resolver.resolveContent(sourceUrl);
|
|
181
|
+
if (content instanceof entities_global_1.UrlResolutionError) {
|
|
182
|
+
console.error(`failed to resolve local icon url`, content);
|
|
183
|
+
return content;
|
|
184
|
+
}
|
|
185
|
+
return [this.entityForDocument(icon), content];
|
|
186
|
+
}
|
|
187
|
+
content = yield this.contentStore.loadContent(id);
|
|
188
|
+
if (content) {
|
|
189
|
+
return [this.entityForDocument(resolved), content];
|
|
190
|
+
}
|
|
191
|
+
return null;
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
findBySourceUrl(url) {
|
|
195
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
196
|
+
return yield this.findDocBySourceUrl(url).then(x => x ? this.entityForDocument(x) : null);
|
|
197
|
+
});
|
|
198
|
+
}
|
|
199
|
+
findByReference(ref) {
|
|
200
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
201
|
+
if (ref.id) {
|
|
202
|
+
return yield this.findById(ref.id);
|
|
203
|
+
}
|
|
204
|
+
if (ref.sourceUrl) {
|
|
205
|
+
return yield this.findBySourceUrl(ref.sourceUrl);
|
|
206
|
+
}
|
|
207
|
+
return null;
|
|
208
|
+
});
|
|
209
|
+
}
|
|
210
|
+
find(paging) {
|
|
211
|
+
var e_1, _a;
|
|
212
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
213
|
+
paging = paging || { pageSize: 100, pageIndex: 0, includeTotalCount: false };
|
|
214
|
+
const counted = yield (0, adapters_base_db_mongoose_1.pageQuery)(this.model.find().sort({ sourceUrl: 1 }), paging);
|
|
215
|
+
const items = [];
|
|
216
|
+
try {
|
|
217
|
+
for (var _b = __asyncValues(counted.query.cursor()), _c; _c = yield _b.next(), !_c.done;) {
|
|
218
|
+
const doc = _c.value;
|
|
219
|
+
items.push(this.entityForDocument(doc));
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
223
|
+
finally {
|
|
224
|
+
try {
|
|
225
|
+
if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b);
|
|
226
|
+
}
|
|
227
|
+
finally { if (e_1) throw e_1.error; }
|
|
228
|
+
}
|
|
229
|
+
return (0, entities_global_1.pageOf)(items, paging, counted.totalCount);
|
|
230
|
+
});
|
|
231
|
+
}
|
|
232
|
+
findDocBySourceUrl(url) {
|
|
233
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
234
|
+
return yield this.model.findOne({ sourceUrl: url.toString() });
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
exports.MongooseStaticIconRepository = MongooseStaticIconRepository;
|
|
239
|
+
function updateRegisteredIconIfChanged(registered, stub) {
|
|
240
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
241
|
+
/*
|
|
242
|
+
TODO: some of this logic could potentially be captured as an entity layer
|
|
243
|
+
function, such as which properties a client is allowed to update when
|
|
244
|
+
registering icon properties. obviously the bit that builds the $unset
|
|
245
|
+
operator is Mongo-specific.
|
|
246
|
+
*/
|
|
247
|
+
if (stub.contentHash === registered.contentHash || typeof stub.contentHash !== 'string') {
|
|
248
|
+
return registered;
|
|
249
|
+
}
|
|
250
|
+
const writableKeys = {
|
|
251
|
+
sourceUrl: false,
|
|
252
|
+
contentHash: false,
|
|
253
|
+
contentTimestamp: false,
|
|
254
|
+
fileName: true,
|
|
255
|
+
imageType: true,
|
|
256
|
+
mediaType: true,
|
|
257
|
+
sizeBytes: true,
|
|
258
|
+
sizePixels: true,
|
|
259
|
+
summary: true,
|
|
260
|
+
tags: true,
|
|
261
|
+
title: true
|
|
262
|
+
};
|
|
263
|
+
const update = {};
|
|
264
|
+
const $unset = {};
|
|
265
|
+
for (const key of Object.keys(writableKeys)) {
|
|
266
|
+
if (key in stub && stub[key] && writableKeys[key]) {
|
|
267
|
+
update[key] = stub[key];
|
|
268
|
+
}
|
|
269
|
+
else if (writableKeys[key]) {
|
|
270
|
+
$unset[key] = true;
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
if (Object.keys($unset).length > 0) {
|
|
274
|
+
update.$unset = $unset;
|
|
275
|
+
}
|
|
276
|
+
update.contentHash = stub.contentHash;
|
|
277
|
+
update.contentTimestamp = Date.now();
|
|
278
|
+
if (stub.contentTimestamp) {
|
|
279
|
+
if (!registered.contentTimestamp || stub.contentTimestamp > Number(registered.contentTimestamp)) {
|
|
280
|
+
update.contentTimestamp = stub.contentTimestamp;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
const updated = yield this.model.findByIdAndUpdate(registered.id, update, { new: true });
|
|
284
|
+
return updated;
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
//# sourceMappingURL=adapters.icons.db.mongoose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.icons.db.mongoose.js","sourceRoot":"","sources":["../../../src/adapters/icons/adapters.icons.db.mongoose.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Attachment, AttachmentStore, AttachmentStoreError, Observation, StagedAttachmentContent, StagedAttachmentContentRef, AttachmentContentPatchAttrs, ThumbnailContentPatchAttrs, AttachmentPatchAttrs } from '../../entities/observations/entities.observations';
|
|
3
|
+
export declare class FileSystemAttachmentStore implements AttachmentStore {
|
|
4
|
+
#private;
|
|
5
|
+
readonly baseDirPath: string;
|
|
6
|
+
readonly pendingDirPath: string;
|
|
7
|
+
constructor(token: symbol, baseDirPath: string, pendingDirPath: string);
|
|
8
|
+
stagePendingContent(): Promise<StagedAttachmentContent>;
|
|
9
|
+
saveContent(content: StagedAttachmentContentRef | NodeJS.ReadableStream, attachmentId: string, observation: Observation): Promise<null | AttachmentContentPatchAttrs | AttachmentStoreError>;
|
|
10
|
+
saveThumbnailContent(content: StagedAttachmentContentRef | NodeJS.ReadableStream, minDimension: number, attachmentId: string, observation: Observation): Promise<AttachmentStoreError | ThumbnailContentPatchAttrs | null>;
|
|
11
|
+
readContent(attachmentId: string, observation: Observation, range?: {
|
|
12
|
+
start: number;
|
|
13
|
+
end?: number;
|
|
14
|
+
}): Promise<NodeJS.ReadableStream | AttachmentStoreError>;
|
|
15
|
+
readThumbnailContent(minDimension: number, attachmentId: string, observation: Observation): Promise<NodeJS.ReadableStream | AttachmentStoreError>;
|
|
16
|
+
deleteContent(attachment: Attachment, observation: Observation): Promise<AttachmentStoreError | AttachmentPatchAttrs | null>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Create the directories for an attachment store at the given path if they
|
|
20
|
+
* do not exist. Return a file system attachment store that stores content
|
|
21
|
+
* under the given base directory. Return an error if there was an error
|
|
22
|
+
* creating the required directories.
|
|
23
|
+
* @param baseDirPath
|
|
24
|
+
* @returns {@link FileSystemAttachmentStore} or {@link FileSystemAttachmentStoreInitError}
|
|
25
|
+
*/
|
|
26
|
+
export declare function intializeAttachmentStore(baseDirPath: string): Promise<FileSystemAttachmentStore | FileSystemAttachmentStoreInitError>;
|
|
27
|
+
export declare class FileSystemAttachmentStoreInitError extends Error {
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=adapters.observations.attachment_store.file_system.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapters.observations.attachment_store.file_system.d.ts","sourceRoot":"","sources":["../../../src/adapters/observations/adapters.observations.attachment_store.file_system.ts"],"names":[],"mappings":";AAKA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,oBAAoB,EAAgD,WAAW,EAAmB,uBAAuB,EAAE,0BAA0B,EAAa,2BAA2B,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,mDAAmD,CAAA;AAGhV,qBAAa,yBAA0B,YAAW,eAAe;;IAEpC,QAAQ,CAAC,WAAW,EAAE,MAAM;IAAE,QAAQ,CAAC,cAAc,EAAE,MAAM;gBAA5E,KAAK,EAAE,MAAM,EAAW,WAAW,EAAE,MAAM,EAAW,cAAc,EAAE,MAAM;IAMlF,mBAAmB,IAAI,OAAO,CAAC,uBAAuB,CAAC;IAOvD,WAAW,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,GAAG,2BAA2B,GAAG,oBAAoB,CAAC;IAiB5L,oBAAoB,CAAC,OAAO,EAAE,0BAA0B,GAAG,MAAM,CAAC,cAAc,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,0BAA0B,GAAG,IAAI,CAAC;IAyB1N,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,GAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,GAAG,oBAAoB,CAAC;IAiBzK,oBAAoB,CAAC,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,cAAc,GAAG,oBAAoB,CAAC;IAqBjJ,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,oBAAoB,GAAG,oBAAoB,GAAG,IAAI,CAAC;CA8EnI;AAED;;;;;;;GAOG;AACH,wBAAsB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,yBAAyB,GAAG,kCAAkC,CAAC,CAS3I;AAED,qBAAa,kCAAmC,SAAQ,KAAK;CAAG"}
|