howler-api 4.0.0.dev1088__tar.gz → 4.0.0.dev1099__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-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/PKG-INFO +1 -1
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/constants.py +17 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/case.py +6 -4
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/config_service.py +2 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/pyproject.toml +1 -1
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/README.md +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/actions/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/actions/add_label.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/actions/add_to_bundle.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/actions/add_to_case.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/actions/change_field.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/actions/demote.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/actions/example_plugin.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/actions/prioritization.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/actions/promote.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/actions/remove_from_bundle.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/actions/remove_label.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/actions/transition.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/base.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/socket.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/action.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/analytic.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/auth.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/clue.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/configs.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/dossier.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/help.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/hit.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/notebook.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/overview.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/search.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/template.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/tool.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/user.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/utils/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/utils/etag.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/utils/params.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v1/view.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v2/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v2/case.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v2/ingest.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/api/v2/search.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/app.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/common/README.md +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/common/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/common/classification.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/common/classification.yml +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/common/exceptions.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/common/loader.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/common/logging/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/common/logging/audit.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/common/logging/format.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/common/net.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/common/net_static.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/common/random_user.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/common/swagger.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/config.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/cronjobs/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/cronjobs/action_queue_worker.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/cronjobs/correlation.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/cronjobs/retention.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/cronjobs/view_cleanup.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/README.md +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/bulk.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/collection.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/constants.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/exceptions.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/howler_store.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/migrations/fix_process.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/operations.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/schemas.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/store.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/support/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/support/build.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/support/schemas.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/types.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/error.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/external/README.md +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/external/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/external/generate_mitre.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/external/generate_sigma_rules.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/external/generate_tlds.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/external/reindex_data.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/external/wipe_databases.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/gunicorn_config.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/healthz.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/helper/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/helper/azure.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/helper/discover.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/helper/hit.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/helper/oauth.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/helper/search.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/helper/workflow.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/helper/ws.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/README.md +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/base.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/charter.txt +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/helper.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/howler_enum.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/mixins.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/action.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/analytic.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/assemblyline.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/aws.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/azure.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/cbs.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/clue.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/config.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/dossier.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/agent.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/autonomous_system.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/client.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/cloud.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/code_signature.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/container.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/dns.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/egress.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/elf.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/email.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/error.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/event.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/faas.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/file.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/geo.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/group.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/hash.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/host.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/http.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/ingress.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/interface.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/network.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/observer.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/organization.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/os.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/pe.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/process.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/registry.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/related.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/rule.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/server.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/threat.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/tls.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/url.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/user.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/user_agent.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/vulnerability.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/event.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/gcp.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/hit.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/howler_data.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/lead.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/localized_label.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/overview.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/pivot.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/record.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/template.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/user.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/view.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/random_data.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/randomizer.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/patched.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/plugins/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/plugins/config.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/README.md +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/counters.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/events.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/hash.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/lock.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/queues/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/queues/comms.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/queues/multi.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/queues/named.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/queues/priority.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/set.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/user_quota_tracker.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/security/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/security/socket.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/security/utils.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/action_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/analytic_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/auth_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/bundle_compat_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/case_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/comms_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/correlation_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/docs_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/dossier_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/event_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/hit_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/jwt_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/lucene_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/notebook_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/overview_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/search_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/template_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/user_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/viewer_service.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/telemetry.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/utils/__init__.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/utils/annotations.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/utils/chunk.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/utils/compat.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/utils/constants.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/utils/dict_utils.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/utils/isotime.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/utils/list_utils.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/utils/lucene.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/utils/path.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/utils/socket_utils.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/utils/str_utils.py +0 -0
- {howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/utils/uid.py +0 -0
|
@@ -18,3 +18,20 @@ class Status(str, HowlerEnum):
|
|
|
18
18
|
|
|
19
19
|
def __str__(self) -> str:
|
|
20
20
|
return self.value
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class CaseEscalation(str, HowlerEnum):
|
|
24
|
+
"""Enum representing the escalation of a case in Howler.
|
|
25
|
+
|
|
26
|
+
Args:
|
|
27
|
+
NORMAL (str): Default escalation level.
|
|
28
|
+
FOCUS (str): Elevated escalation level requiring extra attention.
|
|
29
|
+
CRISIS (str): Highest escalation level requiring urgent response.
|
|
30
|
+
"""
|
|
31
|
+
|
|
32
|
+
NORMAL = "normal"
|
|
33
|
+
FOCUS = "focus"
|
|
34
|
+
CRISIS = "crisis"
|
|
35
|
+
|
|
36
|
+
def __str__(self) -> str:
|
|
37
|
+
return self.value
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
from typing import Any, Optional
|
|
1
|
+
from typing import Any, Literal, Optional
|
|
2
2
|
|
|
3
3
|
from howler import odm
|
|
4
4
|
from howler.common.exceptions import HowlerValueError
|
|
5
5
|
from howler.config import CLASSIFICATION
|
|
6
|
-
from howler.odm.constants import Status
|
|
6
|
+
from howler.odm.constants import CaseEscalation, Status
|
|
7
7
|
from howler.odm.mixins import DatastoreMixin
|
|
8
8
|
from howler.utils.compat import StrEnum
|
|
9
9
|
|
|
@@ -130,8 +130,10 @@ class Case(DatastoreMixin["Case"], odm.Model):
|
|
|
130
130
|
title: str = odm.Keyword(description="Case title.")
|
|
131
131
|
summary: str = odm.Text(description="Short case summary.")
|
|
132
132
|
overview: str = odm.Optional(odm.Text(description="Markdown overview of the case."))
|
|
133
|
-
escalation:
|
|
134
|
-
|
|
133
|
+
escalation: Literal["normal", "focus", "crisis"] = odm.Enum(
|
|
134
|
+
values=CaseEscalation, default=CaseEscalation.NORMAL, description="Escalation of the case."
|
|
135
|
+
)
|
|
136
|
+
status: str = odm.Enum(values=Status, default=Status.OPEN, description="Status of the case.")
|
|
135
137
|
created: str = odm.Optional(odm.Date(default="NOW", description="Date/time when the case was created."))
|
|
136
138
|
visible: bool = odm.Boolean(default=True, description="Whether the case is visible/accessible in the frontend.")
|
|
137
139
|
updated: Optional[str] = odm.Optional(
|
|
@@ -12,6 +12,7 @@ from howler.common.logging import get_logger
|
|
|
12
12
|
from howler.config import CLASSIFICATION, config, get_branch, get_commit, get_version
|
|
13
13
|
from howler.helper.discover import get_apps_list
|
|
14
14
|
from howler.helper.search import list_all_fields
|
|
15
|
+
from howler.odm.constants import CaseEscalation
|
|
15
16
|
from howler.odm.models.howler_data import Assessment, Escalation, Scrutiny, Status
|
|
16
17
|
from howler.odm.models.user import User
|
|
17
18
|
from howler.plugins import get_plugins
|
|
@@ -85,6 +86,7 @@ def get_configuration(user: User | None, **kwargs):
|
|
|
85
86
|
|
|
86
87
|
return {
|
|
87
88
|
"lookups": {
|
|
89
|
+
"case.escalation": CaseEscalation.list(),
|
|
88
90
|
"howler.status": Status.list(),
|
|
89
91
|
"howler.scrutiny": Scrutiny.list(),
|
|
90
92
|
"howler.escalation": Escalation.list(),
|
|
@@ -152,7 +152,7 @@ suppress-none-returning = true
|
|
|
152
152
|
[tool.poetry]
|
|
153
153
|
package-mode = true
|
|
154
154
|
name = "howler-api"
|
|
155
|
-
version = "4.0.0.
|
|
155
|
+
version = "4.0.0.dev1099"
|
|
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
|
{howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/cronjobs/action_queue_worker.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
|
{howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/datastore/migrations/fix_process.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
|
{howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/external/generate_sigma_rules.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
|
{howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/autonomous_system.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/code_signature.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
|
{howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/odm/models/ecs/vulnerability.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
|
{howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/queues/__init__.py
RENAMED
|
File without changes
|
{howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/queues/comms.py
RENAMED
|
File without changes
|
{howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/queues/multi.py
RENAMED
|
File without changes
|
{howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/queues/named.py
RENAMED
|
File without changes
|
{howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/remote/datatypes/queues/priority.py
RENAMED
|
File without changes
|
|
File without changes
|
{howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/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
|
{howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/bundle_compat_service.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{howler_api-4.0.0.dev1088 → howler_api-4.0.0.dev1099}/howler/services/correlation_service.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
|