Rewire issue tracker integration from issue-facade to issue-core

issue-facade was renamed to issue-core. Update the dependency
declaration and the three Python imports it touched. Model field
names (issue_facade_backend, issue_facade_id) and the Django setting
ISSUE_FACADE_LOCAL_DB stay as-is — they are persisted/semantic
identifiers, not part of the package wiring.

All 20 aufgaben tests pass after the rewire.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-18 22:33:28 +02:00
parent 341c718511
commit 17f511fbcd
4 changed files with 43 additions and 37 deletions

View File

@@ -10,7 +10,7 @@ dependencies = [
"whitenoise>=6.7",
"python-decouple>=3.8",
"dj-database-url>=2.1",
"universal-issue-tracker @ file:///home/worsch/issue-facade",
"issue-core @ file:///home/worsch/issue-core",
]
[dependency-groups]

72
uv.lock generated
View File

@@ -347,6 +347,43 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/cb/b1/3846dd7f199d53cb17f49cba7e651e9ce294d8497c8c150530ed11865bb8/iniconfig-2.3.0-py3-none-any.whl", hash = "sha256:f631c04d2c48c52b84d0d0549c99ff3859c98df65b3101406327ecc7d53fbf12", size = 7484 },
]
[[package]]
name = "issue-core"
version = "0.2.0"
source = { directory = "../issue-core" }
dependencies = [
{ name = "click" },
{ name = "python-dateutil" },
{ name = "requests" },
]
[package.metadata]
requires-dist = [
{ name = "black", marker = "extra == 'dev'", specifier = ">=22.0" },
{ name = "click", specifier = ">=8.0.0" },
{ name = "fastapi", marker = "extra == 'api'", specifier = ">=0.110,<1.0" },
{ name = "fastapi", marker = "extra == 'dev'", specifier = ">=0.110,<1.0" },
{ name = "flake8", marker = "extra == 'dev'", specifier = ">=4.0" },
{ name = "httpx", marker = "extra == 'dev'", specifier = ">=0.27" },
{ name = "isort", marker = "extra == 'dev'", specifier = ">=5.0" },
{ name = "jira", marker = "extra == 'jira'", specifier = ">=3.0" },
{ name = "mypy", marker = "extra == 'dev'", specifier = ">=0.900" },
{ name = "pre-commit", marker = "extra == 'dev'", specifier = ">=2.0" },
{ name = "pydantic", marker = "extra == 'api'", specifier = ">=2.0,<3.0" },
{ name = "pydantic", marker = "extra == 'dev'", specifier = ">=2.0,<3.0" },
{ name = "pygithub", marker = "extra == 'github'", specifier = ">=1.55" },
{ name = "pytest", marker = "extra == 'dev'", specifier = ">=6.0" },
{ name = "pytest-cov", marker = "extra == 'dev'", specifier = ">=2.0" },
{ name = "pytest-mock", marker = "extra == 'dev'", specifier = ">=3.0" },
{ name = "python-dateutil", specifier = ">=2.8.0" },
{ name = "requests", specifier = ">=2.25.0" },
{ name = "requests", marker = "extra == 'gitea'", specifier = ">=2.25.0" },
{ name = "sphinx", marker = "extra == 'docs'", specifier = ">=4.0" },
{ name = "sphinx-click", marker = "extra == 'docs'", specifier = ">=3.0" },
{ name = "sphinx-rtd-theme", marker = "extra == 'docs'", specifier = ">=1.0" },
{ name = "uvicorn", extras = ["standard"], marker = "extra == 'api'", specifier = ">=0.27,<1.0" },
]
[[package]]
name = "librt"
version = "0.10.0"
@@ -702,37 +739,6 @@ wheels = [
{ url = "https://files.pythonhosted.org/packages/ce/e4/dccd7f47c4b64213ac01ef921a1337ee6e30e8c6466046018326977efd95/tzdata-2026.2-py2.py3-none-any.whl", hash = "sha256:bbe9af844f658da81a5f95019480da3a89415801f6cc966806612cc7169bffe7", size = 349321 },
]
[[package]]
name = "universal-issue-tracker"
version = "0.1.0"
source = { directory = "../issue-facade" }
dependencies = [
{ name = "click" },
{ name = "python-dateutil" },
{ name = "requests" },
]
[package.metadata]
requires-dist = [
{ name = "black", marker = "extra == 'dev'", specifier = ">=22.0" },
{ name = "click", specifier = ">=8.0.0" },
{ name = "flake8", marker = "extra == 'dev'", specifier = ">=4.0" },
{ name = "isort", marker = "extra == 'dev'", specifier = ">=5.0" },
{ name = "jira", marker = "extra == 'jira'", specifier = ">=3.0" },
{ name = "mypy", marker = "extra == 'dev'", specifier = ">=0.900" },
{ name = "pre-commit", marker = "extra == 'dev'", specifier = ">=2.0" },
{ name = "pygithub", marker = "extra == 'github'", specifier = ">=1.55" },
{ name = "pytest", marker = "extra == 'dev'", specifier = ">=6.0" },
{ name = "pytest-cov", marker = "extra == 'dev'", specifier = ">=2.0" },
{ name = "pytest-mock", marker = "extra == 'dev'", specifier = ">=3.0" },
{ name = "python-dateutil", specifier = ">=2.8.0" },
{ name = "requests", specifier = ">=2.25.0" },
{ name = "requests", marker = "extra == 'gitea'", specifier = ">=2.25.0" },
{ name = "sphinx", marker = "extra == 'docs'", specifier = ">=4.0" },
{ name = "sphinx-click", marker = "extra == 'docs'", specifier = ">=3.0" },
{ name = "sphinx-rtd-theme", marker = "extra == 'docs'", specifier = ">=1.0" },
]
[[package]]
name = "urllib3"
version = "2.7.0"
@@ -750,9 +756,9 @@ dependencies = [
{ name = "dj-database-url" },
{ name = "django" },
{ name = "django-storages" },
{ name = "issue-core" },
{ name = "psycopg", extra = ["binary"] },
{ name = "python-decouple" },
{ name = "universal-issue-tracker" },
{ name = "whitenoise" },
]
@@ -771,9 +777,9 @@ requires-dist = [
{ name = "dj-database-url", specifier = ">=2.1" },
{ name = "django", specifier = ">=5.2" },
{ name = "django-storages", specifier = ">=1.14" },
{ name = "issue-core", directory = "../issue-core" },
{ name = "psycopg", extras = ["binary"], specifier = ">=3.2" },
{ name = "python-decouple", specifier = ">=3.8" },
{ name = "universal-issue-tracker", directory = "../issue-facade" },
{ name = "whitenoise", specifier = ">=6.7" },
]

View File

@@ -5,7 +5,7 @@ from pathlib import Path
@contextmanager
def local_backend():
from django.conf import settings
from issue_tracker.backends.local import LocalSQLiteBackend
from issue_core.backends.local import LocalSQLiteBackend
db_path = str(getattr(settings, 'ISSUE_FACADE_LOCAL_DB', '.issue-facade/issues.db'))
Path(db_path).parent.mkdir(parents=True, exist_ok=True)
@@ -22,7 +22,7 @@ def local_backend():
def remote_backend():
"""Yields GiteaBackend wenn konfiguriert, sonst None."""
from django.conf import settings
from issue_tracker.backends.gitea import GiteaBackend
from issue_core.backends.gitea import GiteaBackend
cfg = getattr(settings, 'ISSUE_FACADE_GITEA', None)
if not cfg:

View File

@@ -1,6 +1,6 @@
from datetime import datetime, timezone
from issue_tracker.core.models import Issue, IssueState, Label, Priority
from issue_core.core.models import Issue, IssueState, Label, Priority
from .issue_backends import gitea_configured, local_backend, remote_backend