Files
test/app/core/__pycache__/deps.cpython-311.pyc
T

30 lines
5.1 KiB
Plaintext
Raw Normal View History

2026-09-21 19:03:31 +08:00
§
A�ªj& ãóÆ—dZddlmZddlmZddlmZddlmZm Z m
Z
ddl m Z ddl
mZddlmZdd lmZmZdd
lmZdd lmZdd lmZmZdd„Zee ee¦«fZ dd d„Zeeee¦«fZd!d„Zeeee¦«fZ d!d„Z!eeee!¦«fZ"d!d„Z#eeee#¦«fZ$Gd„d¦«Z%ee%e¦«fZ&dS)"u\FastAPI ä¾�赖:数æ�®åº“会è¯�包装ã€�当å‰�登录用户ã€�角色校验ã€�分页å�‚数。é)Ú annotations)Ú Generator)Ú Annotated)ÚDependsÚHeaderÚQuery)ÚSession)Úsettings)Úget_db)Ú AuthErrorÚPermissionError_)Údecode_access_token)Ú
AccountDao)ÚAccountÚRoleÚreturnúGenerator[Session, None, None]c#ó2K—t¦«Ed{V—†dS©N)Ú_get_db©óú%D:\xwt0803\wolin_sms\app\core\deps.pyr r s(èè€Ý‰yŒyÐÐÐÐÐÐÐÐÐrNÚdbÚ DbSessionÚ
authorizationú;Annotated[str | None, Header(description='Bearer <token>')]rc óì—tjs"tdddtjj¬¦«S|st
d¦«‚| ¦« d¦«r|dd…  ¦«n|  ¦«}t|¦«}tj |t|  d d¦«¦«¦«}|�|jst
d
¦«‚|S) u�从 Authorization 头解æž�登录用户。
AUTH_ENABLED=false 时直接放行(本地调试用),返回一个虚拟管�员。
rÚ anonymousu 调试模å¼�)ÚidÚusernameÚ real_nameÚroleu*请先登录(缺少 Authorization 头)zbearer éNÚsubuè´¦å�·ä¸�存在或已å�œç”¨)r
Ú AUTH_ENABLEDrrÚADMINÚvaluer ÚlowerÚ
startswithÚstriprrÚgetÚintÚ is_active)rrÚtokenÚpayloadÚaccounts rÚget_current_accountr2så€õ Ô ðdݘ! k¸^ÕRVÔR\ÔRbÐcÑcÔcÐcà ðFÝÐDÑEÔEÐEà)6×)<Ò)<Ñ)>Ô)>×)IÒ)IÈ)Ñ)TÔ)TÐ oˆM˜!˜"˜"Ô × #Ò #Ñ %Ô %Ð %ÐZg×ZmÒZmÑZoÔZo€EÝ! %Ñ(Ô(€GÝŒn˜R¥ W§[¢[°¸Ñ%:Ô%:Ñ!;Ô!;Ñ<Ô<€GØ€˜gÔ/€ÝÐ5Ñ6Ô6Ð6Ø €Nrr1ÚCurrentAccountcóh—|jtjjkrt d|j›�¦«‚|S)Nu0该æ“�作需è¦�管ç�†å‘˜æ�ƒé™�,当å‰�角色:)r#rr'r(r
©r1s rÚ
require_adminr63s4€Ø„|•t”zÔ'Ò'Ð'ÝÐ`ÐRYÔR^Ð`Ð`ÑaÔaÐaØ €NrcóX—|jtjjkrt d¦«‚|S)u!å�ªè¯»è®¿å®¢ä¸�å…�许写æ“�作。u-当å‰�为å�ªè¯»è´¦å�·ï¼Œä¸�能执行写æ“�作)r#rÚVIEWERr(r
r5s rÚ
require_writer9<s(€à„|•t”{Ô(Ò(Ð(ÝÐNÑOÔOÐOØ €Nrcó—|S)u§读æ“�作:å�ªè¦�能通过登录校验就行,三ç§�角色都å�¯è¯»ã€‚
这里必须�独有一个�赖,�能图�事�用 `require_write`。
早期版本把列表/详情/统计这些纯读接�全挂在了 WriteAccount 上,
结果「�读账��登录�连一�数�都看�到 —— ��模型里��读,
行为上�是「什么都�能��,这个账�等于废的。
rr5s rÚ require_readr;Fs €ð €Nrcó—eZdZ d d d „Zd
S)
Ú
Paginationéé
Úpageõ@Annotated[int, Query(ge=1, description='页ç �,从 1 开始')]Ú page_sizeõ?Annotated[int, Query(ge=1, le=200, description='æ¯�页æ�¡æ•°')]rÚNonecó"—||_||_dSr)r@rB)Úselfr@rBs rÚ__init__zPagination.__init__Us€ð