howler-api 3.2.0.dev473__tar.gz → 3.2.0.dev475__tar.gz
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.
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/PKG-INFO +1 -1
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/cronjobs/view_cleanup.py +8 -6
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/migrations/fix_process.py +2 -2
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/services/analytic_service.py +2 -2
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/services/overview_service.py +12 -6
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/pyproject.toml +1 -1
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/README.md +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/actions/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/actions/add_label.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/actions/add_to_bundle.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/actions/change_field.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/actions/demote.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/actions/example_plugin.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/actions/prioritization.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/actions/promote.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/actions/remove_from_bundle.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/actions/remove_label.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/actions/transition.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/base.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/socket.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/action.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/analytic.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/auth.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/clue.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/configs.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/dossier.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/help.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/hit.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/notebook.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/overview.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/search.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/template.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/tool.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/user.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/utils/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/utils/etag.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/api/v1/view.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/app.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/common/README.md +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/common/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/common/classification.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/common/classification.yml +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/common/exceptions.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/common/loader.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/common/logging/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/common/logging/audit.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/common/logging/format.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/common/net.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/common/net_static.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/common/random_user.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/common/swagger.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/config.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/cronjobs/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/cronjobs/retention.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/cronjobs/rules.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/README.md +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/bulk.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/collection.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/constants.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/exceptions.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/howler_store.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/operations.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/schemas.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/store.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/support/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/support/build.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/support/schemas.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/types.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/error.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/external/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/external/generate_mitre.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/external/generate_sigma_rules.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/external/generate_tlds.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/external/reindex_data.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/external/wipe_databases.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/gunicorn_config.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/healthz.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/helper/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/helper/azure.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/helper/discover.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/helper/hit.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/helper/oauth.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/helper/search.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/helper/workflow.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/helper/ws.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/README.md +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/base.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/charter.txt +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/helper.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/howler_enum.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/action.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/analytic.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/assemblyline.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/aws.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/azure.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/cbs.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/clue.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/config.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/dossier.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/agent.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/autonomous_system.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/client.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/cloud.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/code_signature.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/container.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/dns.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/egress.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/elf.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/email.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/error.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/event.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/faas.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/file.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/geo.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/group.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/hash.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/host.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/http.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/ingress.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/interface.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/network.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/observer.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/organization.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/os.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/pe.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/process.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/registry.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/related.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/rule.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/server.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/threat.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/tls.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/url.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/user.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/user_agent.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/vulnerability.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/gcp.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/hit.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/howler_data.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/lead.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/localized_label.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/overview.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/pivot.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/template.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/user.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/view.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/random_data.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/randomizer.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/patched.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/plugins/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/plugins/config.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/README.md +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/counters.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/events.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/hash.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/lock.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/queues/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/queues/comms.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/queues/multi.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/queues/named.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/queues/priority.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/set.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/user_quota_tracker.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/security/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/security/socket.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/security/utils.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/services/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/services/action_service.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/services/auth_service.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/services/config_service.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/services/dossier_service.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/services/event_service.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/services/hit_service.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/services/jwt_service.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/services/lucene_service.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/services/notebook_service.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/services/template_service.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/services/user_service.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/utils/__init__.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/utils/annotations.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/utils/chunk.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/utils/dict_utils.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/utils/isotime.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/utils/list_utils.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/utils/lucene.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/utils/path.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/utils/socket_utils.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/utils/str_utils.py +0 -0
- {howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/utils/uid.py +0 -0
|
@@ -18,14 +18,16 @@ def execute():
|
|
|
18
18
|
|
|
19
19
|
# Initialize datastore
|
|
20
20
|
ds = datastore()
|
|
21
|
+
|
|
21
22
|
# fetch the first result from user ds (needed to initialize total)
|
|
22
|
-
|
|
23
|
-
total_user_count =
|
|
24
|
-
user_list: List[Any] =
|
|
23
|
+
user_result = ds.user.search("*:*", rows=250, fl="*")
|
|
24
|
+
total_user_count = user_result["total"]
|
|
25
|
+
user_list: List[Any] = user_result["items"]
|
|
26
|
+
|
|
25
27
|
# Do the same thing for the views
|
|
26
|
-
|
|
27
|
-
total_view_count =
|
|
28
|
-
view_list: List[Any] =
|
|
28
|
+
view_result = ds.view.search("*:*", rows=250)
|
|
29
|
+
total_view_count = view_result["total"]
|
|
30
|
+
view_list: List[Any] = view_result["items"]
|
|
29
31
|
view_ids: List[str] = []
|
|
30
32
|
|
|
31
33
|
# Collect all views
|
{howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/datastore/migrations/fix_process.py
RENAMED
|
@@ -21,9 +21,9 @@ def migrate():
|
|
|
21
21
|
return
|
|
22
22
|
|
|
23
23
|
logger.info(f"We will delete {result['total']} hits. Continue?")
|
|
24
|
-
|
|
24
|
+
prompt_result = input("y/[n]")
|
|
25
25
|
|
|
26
|
-
if
|
|
26
|
+
if prompt_result.lower() != "y":
|
|
27
27
|
logger.warning("Did not receive an OK, stopping")
|
|
28
28
|
return
|
|
29
29
|
|
|
@@ -48,8 +48,8 @@ def get_analytic(id: str, as_odm: Literal[False]) -> dict[str, Any]: ...
|
|
|
48
48
|
|
|
49
49
|
def get_analytic(
|
|
50
50
|
id: str,
|
|
51
|
-
as_odm
|
|
52
|
-
version
|
|
51
|
+
as_odm=False,
|
|
52
|
+
version=False,
|
|
53
53
|
):
|
|
54
54
|
"""Return analytic object as either an ODM or Dict"""
|
|
55
55
|
return datastore().analytic.get_if_exists(key=id, as_obj=as_odm, version=version)
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import Any,
|
|
1
|
+
from typing import Any, Literal, overload
|
|
2
2
|
|
|
3
3
|
from howler.common.loader import datastore
|
|
4
4
|
from howler.common.logging import get_logger
|
|
@@ -10,9 +10,17 @@ from howler.utils.str_utils import sanitize_lucene_query
|
|
|
10
10
|
logger = get_logger(__file__)
|
|
11
11
|
|
|
12
12
|
|
|
13
|
+
@overload
|
|
13
14
|
def get_matching_overviews(
|
|
14
|
-
hits:
|
|
15
|
-
) ->
|
|
15
|
+
hits: list[Hit] | list[dict[str, Any]], as_odm: Literal[False] = False
|
|
16
|
+
) -> list[dict[str, Any]]: ...
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@overload
|
|
20
|
+
def get_matching_overviews(hits: list[Hit] | list[dict[str, Any]], as_odm: Literal[True]) -> list[Overview]: ...
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
def get_matching_overviews(hits: list[Hit] | list[dict[str, Any]], as_odm=False):
|
|
16
24
|
"""Generate a list of overviews matching a given list of analytic names from the provided hits.
|
|
17
25
|
|
|
18
26
|
Args:
|
|
@@ -33,12 +41,10 @@ def get_matching_overviews(
|
|
|
33
41
|
return []
|
|
34
42
|
|
|
35
43
|
try:
|
|
36
|
-
|
|
44
|
+
return datastore().overview.search(
|
|
37
45
|
f"analytic:({' OR '.join(analytic_names)})",
|
|
38
46
|
as_obj=as_odm,
|
|
39
47
|
)["items"]
|
|
40
|
-
|
|
41
|
-
return overview_candidates
|
|
42
48
|
except SearchException:
|
|
43
49
|
logger.exception("Exception on analytic matching")
|
|
44
50
|
return []
|
|
@@ -152,7 +152,7 @@ suppress-none-returning = true
|
|
|
152
152
|
[tool.poetry]
|
|
153
153
|
package-mode = true
|
|
154
154
|
name = "howler-api"
|
|
155
|
-
version = "3.2.0.
|
|
155
|
+
version = "3.2.0.dev475"
|
|
156
156
|
description = "Howler - API server"
|
|
157
157
|
authors = [
|
|
158
158
|
"Canadian Centre for Cyber Security <howler@cyber.gc.ca>",
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/odm/models/ecs/autonomous_system.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/queues/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/queues/priority.py
RENAMED
|
File without changes
|
|
File without changes
|
{howler_api-3.2.0.dev473 → howler_api-3.2.0.dev475}/howler/remote/datatypes/user_quota_tracker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|