modify: auth 插件

This commit is contained in:
2026-07-23 17:45:44 +08:00
parent 95ef842d92
commit 2b7b8ee08c
21 changed files with 753 additions and 43 deletions
+1
View File
@@ -4,6 +4,7 @@ from .multiply import multiply
from .divide import divide
from .count import count_get
__all__ = [
"add",
"add_post",
+3 -1
View File
@@ -32,8 +32,10 @@ async def add(add_get_request:AddGetRequest) -> AddGetResponse:
summary="Add two numbers via POST",
response_model=AddPostResponse,
)
async def add_post(add_post_request: AddPostRequest, session: zenoh.Session) -> AddPostResponse:
async def add_post(add_post_request: AddPostRequest, session: zenoh.Session, user_info: dict | None = None) -> AddPostResponse:
"""加法运算(POST)— 通过 JSON Body 传入 a、b,返回它们的和"""
print("----------user_info-----------")
print(user_info)
async with Client(session=session) as client:
add_result = await client.call(
worker_type="example",
+20 -11
View File
@@ -1,4 +1,4 @@
import modelvault
from sqlalchemy import select, update
from chongming_worker import rpc_method
@@ -15,19 +15,28 @@ from ..models.counter import Counter
async def count_get() -> CountGetResponse:
from ..global_var import db
# 确保数据库已初始化(如果未初始化,则同步初始化,但这里假设已就绪)
if db is None:
raise RuntimeError("Database not initialized")
counters = modelvault.models.async_collection(db, Counter) # type: ignore
async with db.transaction():
counter = await counters.get("visits")
async with db.get_session() as session:
statement = select(Counter).where(Counter.name == "visits") # type: ignore
result = await session.execute(statement)
counter = result.scalar_one_or_none()
if counter is None:
counter = Counter(name="visits", value=0)
await counters.insert(counter)
counter = Counter(name="visits", value=1)
session.add(counter)
await session.commit()
return CountGetResponse(name="visits", value=1)
else:
new_value = counter.value + 1
await counters.update("visits", {"value": new_value})
counter.value = new_value # 更新本地对象以便返回
return CountGetResponse(name=counter.name, value=counter.value) # type: ignore
update_stmt = (
update(Counter)
.where(Counter.name == "visits") # type: ignore
.values(value=new_value)
)
await session.execute(update_stmt)
await session.commit()
return CountGetResponse(name="visits", value=new_value)
+1 -1
View File
@@ -26,4 +26,4 @@ async def divide(divide_get_request: DivideGetRequest) -> DivideGetResponse:
result=divide_get_request.a / divide_get_request.b,
operation="divide",
timestamp=time.time(),
)
)
+1 -1
View File
@@ -19,4 +19,4 @@ async def multiply(multiply_get_request=MultiplyGetRequest) -> MultiplyGetRespon
result=multiply_get_request.a * multiply_get_request.b,
operation="multiply",
timestamp=time.time(),
)
)
+1 -1
View File
@@ -19,4 +19,4 @@ async def subtract(subtract_get_request: SubtractGetRequest) -> SubtractGetRespo
result=subtract_get_request.a - subtract_get_request.b,
operation="subtract",
timestamp=time.time(),
)
)