GeneralManager 0.44.0__tar.gz → 0.45.0__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.
- {generalmanager-0.44.0/src/GeneralManager.egg-info → generalmanager-0.45.0}/PKG-INFO +1 -1
- {generalmanager-0.44.0 → generalmanager-0.45.0}/pyproject.toml +1 -1
- {generalmanager-0.44.0 → generalmanager-0.45.0/src/GeneralManager.egg-info}/PKG-INFO +1 -1
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/cache/run_context.py +6 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/orm/mutations.py +10 -1
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/orm/support.py +35 -1
- {generalmanager-0.44.0 → generalmanager-0.45.0}/LICENSE +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/README.md +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/setup.cfg +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/GeneralManager.egg-info/SOURCES.txt +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/GeneralManager.egg-info/dependency_links.txt +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/GeneralManager.egg-info/requires.txt +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/GeneralManager.egg-info/top_level.txt +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/_types/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/_types/api.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/_types/bucket.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/_types/cache.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/_types/factory.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/_types/general_manager.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/_types/interface.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/_types/manager.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/_types/measurement.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/_types/permission.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/_types/rule.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/_types/search.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/_types/utils.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/graphql.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/graphql_errors.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/graphql_mutations.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/graphql_resolvers.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/graphql_search.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/graphql_subscription_consumer.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/graphql_subscriptions.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/graphql_view.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/mutation.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/property.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/registry.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/remote_api.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/remote_invalidation.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/remote_invalidation_client.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/apps.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/bootstrap.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/bucket/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/bucket/base_bucket.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/bucket/calculation_bucket.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/bucket/database_bucket.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/bucket/group_bucket.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/bucket/request_bucket.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/cache/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/cache/cache_decorator.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/cache/cache_tracker.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/cache/dependency_index.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/cache/model_dependency_collector.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/cache/signals.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/conf.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/factory/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/factory/auto_factory.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/factory/factories.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/factory/factory_methods.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/base_interface.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/bundles/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/bundles/calculation.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/bundles/database.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/bundles/remote_manager.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/bundles/request.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/base.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/builtin.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/calculation/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/calculation/_compat.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/calculation/lifecycle.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/configuration.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/core/observability.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/core/utils.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/exceptions.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/existing_model/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/existing_model/_compat.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/existing_model/resolution.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/factory.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/orm/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/orm/_compat.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/orm/history.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/orm/lifecycle.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/orm_utils/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/orm_utils/django_manager_utils.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/orm_utils/field_descriptors.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/orm_utils/payload_normalizer.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/read_only/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/read_only/_compat.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/read_only/lifecycle.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/read_only/management.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/registry.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/remote_manager.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/request/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/infrastructure/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/infrastructure/startup_hooks.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/infrastructure/system_checks.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/interfaces/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/interfaces/calculation.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/interfaces/database.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/interfaces/existing_model.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/interfaces/read_only.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/interfaces/remote_manager.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/interfaces/request.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/manifests/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/manifests/capability_builder.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/manifests/capability_manifest.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/manifests/capability_models.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/orm_interface.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/requests.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/utils/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/utils/database_interface_protocols.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/utils/errors.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/utils/models.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/logging.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/management/commands/search_index.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/management/commands/seed_manager_landscape.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/management/commands/shell.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/management/commands/workflow_drain_outbox.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/management/commands/workflow_replay_dead_letters.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/manager/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/manager/general_manager.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/manager/group_manager.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/manager/input.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/manager/meta.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/measurement/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/measurement/measurement.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/measurement/measurement_field.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/metrics/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/metrics/graphql.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/migrations/0001_initial.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/migrations/0002_workflow_outbox_scaling_indexes.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/migrations/0003_workflow_execution_correlation_constraint.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/migrations/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/models.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/permission/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/permission/audit.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/permission/base_permission.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/permission/graphql_capabilities.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/permission/manager_based_permission.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/permission/mutation_permission.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/permission/permission_checks.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/permission/permission_data_manager.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/permission/utils.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/public_api_registry.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/py.typed +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/rule/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/rule/handler.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/rule/rule.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/async_tasks.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/backend.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/backend_registry.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/backends/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/backends/dev.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/backends/meilisearch.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/backends/opensearch.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/backends/typesense.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/config.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/indexer.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/registry.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/utils.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/seeding/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/seeding/manager_landscape.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/utils/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/utils/args_to_kwargs.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/utils/filter_parser.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/utils/format_string.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/utils/json_encoder.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/utils/make_cache_key.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/utils/none_to_zero.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/utils/path_mapping.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/utils/public_api.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/utils/testing.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/utils/type_checks.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/actions.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/backend_registry.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/backends/__init__.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/backends/celery.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/backends/local.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/backends/n8n.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/config.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/engine.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/event_registry.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/events.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/models.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/signal_bridge.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/tasks.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/telemetry.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/tests/test_settings.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/tests/test_urls.py +0 -0
- {generalmanager-0.44.0 → generalmanager-0.45.0}/tests/testing_asgi.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GeneralManager
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.45.0
|
|
4
4
|
Summary: Modular Django-based data management framework with ORM, GraphQL, fine-grained permissions, rule validation, calculations and caching.
|
|
5
5
|
Author-email: Tim Kleindick <tkleindick@yahoo.de>
|
|
6
6
|
License: MIT License
|
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "GeneralManager"
|
|
7
|
-
version = "0.
|
|
7
|
+
version = "0.45.0"
|
|
8
8
|
description = "Modular Django-based data management framework with ORM, GraphQL, fine-grained permissions, rule validation, calculations and caching."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
authors = [{ name = "Tim Kleindick", email = "tkleindick@yahoo.de" }]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: GeneralManager
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.45.0
|
|
4
4
|
Summary: Modular Django-based data management framework with ORM, GraphQL, fine-grained permissions, rule validation, calculations and caching.
|
|
5
5
|
Author-email: Tim Kleindick <tkleindick@yahoo.de>
|
|
6
6
|
License: MIT License
|
|
@@ -53,6 +53,12 @@ class CalculationRunContext:
|
|
|
53
53
|
"""Store a value for the active run."""
|
|
54
54
|
self._values[key] = value
|
|
55
55
|
|
|
56
|
+
def discard_prefix(self, prefix: tuple[Hashable, ...]) -> None:
|
|
57
|
+
"""Discard tuple keys that start with the supplied prefix."""
|
|
58
|
+
for key in list(self._values):
|
|
59
|
+
if isinstance(key, tuple) and key[: len(prefix)] == prefix:
|
|
60
|
+
del self._values[key]
|
|
61
|
+
|
|
56
62
|
def has(self, key: Hashable) -> bool:
|
|
57
63
|
"""Return whether key has a value in the active run."""
|
|
58
64
|
return key in self._values
|
|
@@ -21,7 +21,11 @@ from general_manager.interface.utils.errors import (
|
|
|
21
21
|
from general_manager.interface.utils.models import model_has_field
|
|
22
22
|
|
|
23
23
|
from ._compat import call_update_change_reason, call_with_observability
|
|
24
|
-
from .support import
|
|
24
|
+
from .support import (
|
|
25
|
+
discard_orm_instance_cache,
|
|
26
|
+
get_support_capability,
|
|
27
|
+
is_soft_delete_enabled,
|
|
28
|
+
)
|
|
25
29
|
|
|
26
30
|
if TYPE_CHECKING: # pragma: no cover
|
|
27
31
|
from general_manager.interface.orm_interface import OrmInterfaceBase
|
|
@@ -336,6 +340,7 @@ class OrmUpdateCapability(BaseCapability):
|
|
|
336
340
|
creator_id=creator_id,
|
|
337
341
|
history_comment=history_comment,
|
|
338
342
|
)
|
|
343
|
+
discard_orm_instance_cache(interface_instance.__class__, pk)
|
|
339
344
|
mutation.apply_many_to_many(
|
|
340
345
|
interface_instance.__class__,
|
|
341
346
|
instance,
|
|
@@ -419,6 +424,7 @@ class OrmDeleteCapability(BaseCapability):
|
|
|
419
424
|
creator_id=creator_id,
|
|
420
425
|
history_comment=history_comment_local,
|
|
421
426
|
)
|
|
427
|
+
discard_orm_instance_cache(interface_instance.__class__, pk)
|
|
422
428
|
return {"id": pk}
|
|
423
429
|
|
|
424
430
|
history_comment_local = (
|
|
@@ -443,6 +449,9 @@ class OrmDeleteCapability(BaseCapability):
|
|
|
443
449
|
instance.delete(using=database_alias)
|
|
444
450
|
else:
|
|
445
451
|
instance.delete()
|
|
452
|
+
discard_orm_instance_cache(
|
|
453
|
+
interface_instance.__class__, interface_instance.pk
|
|
454
|
+
)
|
|
446
455
|
return {"id": interface_instance.pk}
|
|
447
456
|
|
|
448
457
|
return call_with_observability(
|
|
@@ -12,6 +12,7 @@ from django.db import models
|
|
|
12
12
|
from django.db.models import Subquery
|
|
13
13
|
from django.utils import timezone
|
|
14
14
|
from general_manager.bucket.database_bucket import DatabaseBucket
|
|
15
|
+
from general_manager.cache.run_context import current_calculation_run_context
|
|
15
16
|
from general_manager.interface.base_interface import InterfaceBase
|
|
16
17
|
from general_manager.interface.capabilities.base import CapabilityName
|
|
17
18
|
from general_manager.interface.capabilities.builtin import BaseCapability
|
|
@@ -270,11 +271,21 @@ class OrmReadCapability(BaseCapability):
|
|
|
270
271
|
raise missing_error
|
|
271
272
|
raise model_cls.DoesNotExist # type: ignore[attr-defined]
|
|
272
273
|
|
|
274
|
+
context = current_calculation_run_context()
|
|
275
|
+
read_func = (
|
|
276
|
+
_perform
|
|
277
|
+
if context is None
|
|
278
|
+
else lambda: context.get_or_set(
|
|
279
|
+
_orm_instance_cache_key(interface_instance),
|
|
280
|
+
_perform,
|
|
281
|
+
)
|
|
282
|
+
)
|
|
283
|
+
|
|
273
284
|
return call_with_observability(
|
|
274
285
|
interface_instance,
|
|
275
286
|
operation="read",
|
|
276
287
|
payload={"pk": interface_instance.pk},
|
|
277
|
-
func=
|
|
288
|
+
func=read_func,
|
|
278
289
|
)
|
|
279
290
|
|
|
280
291
|
def get_attribute_types(
|
|
@@ -843,3 +854,26 @@ def _history_capability_for(
|
|
|
843
854
|
"history",
|
|
844
855
|
expected_type=OrmHistoryCapability,
|
|
845
856
|
)
|
|
857
|
+
|
|
858
|
+
|
|
859
|
+
def _orm_instance_cache_key(interface_instance: "OrmInterfaceBase") -> tuple[Any, ...]:
|
|
860
|
+
interface_cls = interface_instance.__class__
|
|
861
|
+
support = get_support_capability(interface_cls)
|
|
862
|
+
only_active = not is_soft_delete_enabled(interface_cls)
|
|
863
|
+
return (
|
|
864
|
+
"orm_instance",
|
|
865
|
+
interface_cls,
|
|
866
|
+
interface_instance.pk,
|
|
867
|
+
support.get_database_alias(interface_cls),
|
|
868
|
+
only_active,
|
|
869
|
+
interface_instance._search_date,
|
|
870
|
+
)
|
|
871
|
+
|
|
872
|
+
|
|
873
|
+
def discard_orm_instance_cache(
|
|
874
|
+
interface_cls: type["OrmInterfaceBase"],
|
|
875
|
+
pk: Any,
|
|
876
|
+
) -> None:
|
|
877
|
+
context = current_calculation_run_context()
|
|
878
|
+
if context is not None:
|
|
879
|
+
context.discard_prefix(("orm_instance", interface_cls, pk))
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/GeneralManager.egg-info/dependency_links.txt
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
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/_types/general_manager.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
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/graphql_mutations.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/graphql_resolvers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/graphql_subscriptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/api/remote_invalidation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/bucket/calculation_bucket.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/bucket/database_bucket.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/bucket/request_bucket.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/cache/cache_decorator.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/cache/dependency_index.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/factory/factory_methods.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/base_interface.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/bundles/__init__.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/bundles/calculation.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/bundles/database.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/bundles/request.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/capabilities/base.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
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/interfaces/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/interfaces/database.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/interfaces/request.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/manifests/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/orm_interface.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/utils/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/utils/errors.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/interface/utils/models.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/management/commands/shell.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/manager/general_manager.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/manager/group_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/measurement/measurement.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/measurement/measurement_field.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/migrations/0001_initial.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/permission/base_permission.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/permission/permission_checks.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
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/backend_registry.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/backends/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/backends/meilisearch.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/backends/opensearch.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/search/backends/typesense.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/seeding/manager_landscape.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
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/backend_registry.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/backends/__init__.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/backends/celery.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/backends/local.py
RENAMED
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/backends/n8n.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/event_registry.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{generalmanager-0.44.0 → generalmanager-0.45.0}/src/general_manager/workflow/signal_bridge.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|