feat: complete huihui square avatar workflows

This commit is contained in:
stefanfeng
2026-07-24 14:04:21 +08:00
parent 2ef58a44b8
commit e3bda469bb
68 changed files with 8062 additions and 132 deletions

View File

@@ -0,0 +1,32 @@
from fastapi import APIRouter, Depends, Body
from sqlalchemy.orm import Session
from database import get_db
from models import Authorization
from responses import ok, fail
router = APIRouter(tags=["授权"])
@router.get("/avatar/{avatar_id}/authorizations")
def list_auth(avatar_id: str, db: Session = Depends(get_db)):
# demo返回全部授权忽略具体 avatar 绑定,便于联调)
items = db.query(Authorization).order_by(Authorization.created_at.desc()).all()
return ok([a.to_dict() for a in items])
@router.put("/avatar/{avatar_id}/authorizations")
def update_auth(avatar_id: str, payload: dict = Body(...), db: Session = Depends(get_db)):
auth_id = payload.get("id")
if not auth_id:
return fail("缺少授权 id", 400)
a = db.query(Authorization).filter(Authorization.id == auth_id).first()
if not a:
return fail("授权不存在", 404)
if "status" in payload:
a.status = payload["status"]
if "permissions" in payload:
a.permissions = payload["permissions"]
db.commit()
items = db.query(Authorization).order_by(Authorization.created_at.desc()).all()
return ok([x.to_dict() for x in items])