identity-plan-kit 0.2.3__tar.gz → 0.2.4__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.
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/PKG-INFO +1 -1
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/pyproject.toml +2 -2
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/admin/views.py +7 -5
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/uv.lock +1 -1
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/.gitignore +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/Makefile +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/README.md +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/alembic/env.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/alembic/script.py.mako +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/alembic/versions/20250124_000000_initial_schema.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/alembic/versions/20250127_000000_add_password_hash.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/alembic.ini +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/integration/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/integration/fastapi_integration.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/integration/sample_alembic_env.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/integration/webhook_integration.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/playing/admin_usage.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/playing/basic_usage.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/playing/custom_error_formats.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/playing/extending_models.html +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/playing/extension_example.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/prod/.env.production.example +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/prod/Dockerfile +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/prod/docker-compose.yml +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/prod/nginx.conf +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/prod/production_setup.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/prod/prometheus.yml +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/loadtests/README.md +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/loadtests/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/loadtests/config.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/loadtests/locustfile.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/loadtests/test_auth.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/loadtests/test_database_stress.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/loadtests/test_mixed_scenarios.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/loadtests/test_plans_quota.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/loadtests/test_quota_direct.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/loadtests/test_rbac_cache.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/loadtests/utils.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/admin/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/admin/auth.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/dependencies.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/domain/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/domain/entities.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/domain/exceptions.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/dto/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/dto/requests.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/dto/responses.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/handlers/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/handlers/oauth_routes.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/models/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/models/refresh_token.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/models/user.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/models/user_provider.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/repositories/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/repositories/token_repo.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/repositories/user_repo.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/services/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/services/auth_service.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/services/oauth_service.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/uow.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/cli.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/config.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/kit.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/migrations.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/cache/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/cache/plan_cache.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/dependencies.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/domain/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/domain/entities.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/domain/exceptions.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/dto/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/dto/responses.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/dto/usage.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/handlers/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/handlers/plan_routes.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/models/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/models/feature.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/models/feature_usage.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/models/plan.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/models/plan_limit.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/models/plan_permission.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/models/user_plan.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/repositories/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/repositories/plan_repo.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/repositories/usage_repo.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/services/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/services/plan_service.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/uow.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/cache/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/cache/permission_cache.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/dependencies.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/domain/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/domain/entities.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/domain/exceptions.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/models/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/models/permission.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/models/role.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/models/role_permission.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/repositories/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/repositories/rbac_repo.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/services/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/services/rbac_service.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/uow.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/audit.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/circuit_breaker.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/cleanup_scheduler.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/database.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/error_formatter.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/exception_handlers.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/exceptions.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/graceful_shutdown.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/health.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/http_utils.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/lockout.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/logging.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/metrics.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/models.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/rate_limiter.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/request_id.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/schemas.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/security.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/state_store.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/uow.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/uuid7.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/auth/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/auth/test_auth_service.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/auth/test_circuit_breaker.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/auth/test_csrf_state.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/auth/test_dependencies.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/auth/test_domain_entities.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/auth/test_http_utils.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/auth/test_lockout.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/auth/test_lockout_concurrent.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/auth/test_oauth_service_resilience.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/auth/test_security_comprehensive.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/auth/test_token_security.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/conftest.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/integration/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/integration/conftest.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/integration/test_concurrent_plan_operations.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/integration/test_concurrent_token_operations.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/integration/test_concurrent_user_creation.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/integration/test_limit_boundaries.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/integration/test_quota_concurrency.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/integration/test_token_cleanup.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/integration/test_token_repository.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/integration/test_usage_periods.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/integration/test_user_repository.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/plans/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/plans/test_domain_entities.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/plans/test_period_edge_cases.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/plans/test_plan_cache_concurrent.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/plans/test_plan_service.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/rbac/__init__.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/rbac/test_permission_cache.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/rbac/test_permission_cache_concurrent.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/rbac/test_rbac_cache_stampede.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/rbac/test_rbac_service.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/shared/test_audit_pii_masking.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/shared/test_circuit_breaker_concurrent.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/shared/test_cleanup_scheduler_concurrent.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/shared/test_config_validation.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/shared/test_http_utils_security.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/shared/test_rate_limiter.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/shared/test_rate_limiter_concurrent.py +0 -0
- {identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/shared/test_state_store_concurrent.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "identity-plan-kit"
|
|
3
|
-
version = "0.2.
|
|
3
|
+
version = "0.2.4"
|
|
4
4
|
description = "Modern FastAPI library for authentication, RBAC, subscription plans, and usage tracking"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
authors = [
|
|
@@ -140,7 +140,7 @@ testpaths = ["tests"]
|
|
|
140
140
|
addopts = "-v --tb=short"
|
|
141
141
|
|
|
142
142
|
[tool.bumpversion]
|
|
143
|
-
current_version = "0.2.
|
|
143
|
+
current_version = "0.2.4"
|
|
144
144
|
parse = "(?P<major>\\d+)\\.(?P<minor>\\d+)\\.(?P<patch>\\d+)"
|
|
145
145
|
serialize = ["{major}.{minor}.{patch}"]
|
|
146
146
|
tag = true
|
|
@@ -965,13 +965,9 @@ def setup_admin(
|
|
|
965
965
|
)
|
|
966
966
|
|
|
967
967
|
# Store auth backend in app state for permission checking in views
|
|
968
|
+
# Note: We'll also store it on the Admin's internal Starlette app after creation
|
|
968
969
|
if authentication_backend is not None:
|
|
969
970
|
app.state._admin_auth_backend = authentication_backend
|
|
970
|
-
logger.info(
|
|
971
|
-
"setup_admin_auth_backend_stored",
|
|
972
|
-
backend_type=type(authentication_backend).__name__,
|
|
973
|
-
app_type=type(app).__name__,
|
|
974
|
-
)
|
|
975
971
|
|
|
976
972
|
# Use bundled templates for role-based permission UI if no custom templates_dir provided.
|
|
977
973
|
# These templates check is_superadmin_user(request) to hide edit/delete buttons for non-superadmin.
|
|
@@ -991,6 +987,12 @@ def setup_admin(
|
|
|
991
987
|
|
|
992
988
|
admin = Admin(**admin_kwargs)
|
|
993
989
|
|
|
990
|
+
# Store auth backend on the Admin's internal Starlette app for permission checking.
|
|
991
|
+
# SQLAdmin creates an internal Starlette app (admin.admin) that handles /admin/* requests.
|
|
992
|
+
# When views call request.app, they get this internal app, not the FastAPI app.
|
|
993
|
+
if authentication_backend is not None:
|
|
994
|
+
admin.admin.state._admin_auth_backend = authentication_backend
|
|
995
|
+
|
|
994
996
|
# Add Jinja2 global function for role-based permission checking in templates.
|
|
995
997
|
# This is thread-safe because it checks request.session on each call,
|
|
996
998
|
# unlike modifying ModelView instance attributes which are shared.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/integration/fastapi_integration.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/integration/sample_alembic_env.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/integration/webhook_integration.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/examples/playing/custom_error_formats.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
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/dependencies.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/domain/__init__.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/domain/entities.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/domain/exceptions.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/dto/__init__.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/dto/requests.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/dto/responses.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/handlers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/models/user.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/auth/services/__init__.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
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/cache/__init__.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/cache/plan_cache.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/dependencies.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/domain/__init__.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/domain/entities.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/domain/exceptions.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/dto/__init__.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/dto/responses.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/dto/usage.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/handlers/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/models/__init__.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/models/feature.py
RENAMED
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/models/plan.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/models/plan_limit.py
RENAMED
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/models/user_plan.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/plans/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/cache/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/dependencies.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/domain/__init__.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/domain/entities.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/domain/exceptions.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/models/__init__.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/models/permission.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/models/role.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/rbac/services/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/circuit_breaker.py
RENAMED
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/database.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/error_formatter.py
RENAMED
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/http_utils.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/rate_limiter.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/request_id.py
RENAMED
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/security.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/src/identity_plan_kit/shared/state_store.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
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/auth/test_oauth_service_resilience.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/auth/test_security_comprehensive.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
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/integration/test_limit_boundaries.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/integration/test_quota_concurrency.py
RENAMED
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/integration/test_token_repository.py
RENAMED
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/integration/test_user_repository.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/plans/test_plan_cache_concurrent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/rbac/test_permission_cache_concurrent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/shared/test_circuit_breaker_concurrent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/shared/test_http_utils_security.py
RENAMED
|
File without changes
|
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/shared/test_rate_limiter_concurrent.py
RENAMED
|
File without changes
|
{identity_plan_kit-0.2.3 → identity_plan_kit-0.2.4}/tests/shared/test_state_store_concurrent.py
RENAMED
|
File without changes
|