初始化提交

This commit is contained in:
chenxin committed 2026-08-21 16:00:13 +08:00
commit 887c1f449e
963 files changed
+166869

No files matched your search

+32
View File
@@ -0,0 +1,32 @@
"""Skill 数据访问。"""
from sqlalchemy import select
from sqlalchemy.ext.asyncio import AsyncSession
from app.models.skills import Skill
async def add_skill(session: AsyncSession, skill: Skill) -> None:
session.add(skill)
await session.flush()
async def get_skill(session: AsyncSession, skill_id: str) -> Skill | None:
return await session.get(Skill, skill_id)
async def get_skill_by_name(session: AsyncSession, name: str) -> Skill | None:
result = await session.execute(select(Skill).where(Skill.name == name))
return result.scalar_one_or_none()
async def list_skills(session: AsyncSession, *, status: str | None = None) -> list[Skill]:
conditions = []
if status is not None:
conditions.append(Skill.status == status)
stmt = select(Skill)
if conditions:
stmt = stmt.where(*conditions)
stmt = stmt.order_by(Skill.created_at.desc())
result = await session.execute(stmt)
return list(result.scalars().all())