feat: persist repository rename identity
Assistant: codex Assistant-Model: gpt-5.6-sol Assistant-Session: 01a049a4-ee9f-78e1-9d66-2cb0f9bea3e3
This commit is contained in:
parent
13f7a10018
commit
8988a093f2
10 changed files with 1454 additions and 4 deletions
23
api/services/repository_identity.py
Normal file
23
api/services/repository_identity.py
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from api.models.managed_repo import ManagedRepo
|
||||
from api.models.repository_rename import RepositoryForgeIdentity, RepositorySlug
|
||||
|
||||
|
||||
def stage_initial_repository_identity(
|
||||
session: AsyncSession, repo: ManagedRepo
|
||||
) -> None:
|
||||
"""Attach non-guessed identity state to a newly flushed repository row."""
|
||||
if repo.id is None:
|
||||
raise ValueError("repository must be flushed before identity records are staged")
|
||||
session.add_all(
|
||||
[
|
||||
RepositoryForgeIdentity(repo_id=repo.id),
|
||||
RepositorySlug(
|
||||
repo_id=repo.id,
|
||||
slug=repo.slug,
|
||||
kind="canonical",
|
||||
protected=True,
|
||||
),
|
||||
]
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue