Files
boc/landvex-admin-backend/app/__pycache__/dependencies.cpython-39.pyc
T

20 lines
2.5 KiB
Plaintext
Raw Normal View History

a
X3GjZ ã@dZddlmZddlmZddlmZmZmZddl m
Z
ddl m Z ddl
mZddlmZdd lmZmZmZdd
lmZdd lmZe
d d
Zeeƒeeƒfee edœddZeeƒfeedœddZGdddƒZeejƒZeej ƒZ!eej"ƒZ#dS)u+FastAPI dependencies för auth och databas.é)ÚOptional)ÚUUID)ÚDependsÚ
HTTPExceptionÚstatus)ÚOAuth2PasswordBearer)Ú AsyncSession)Úselect)Úget_db)ÚUserÚUserRoleÚ
UserStatus)Ú TokenPayload)Ú decode_tokenz/api/v1/auth/login)ÚtokenUrl)ÚtokenÚdbÚreturncÃttjdddid}t|ƒ}|dus2| d¡dkr6|| d¡}|durL|| ttƒ tj t
|ƒk¡¡IdH}|  ¡}|dur„||jt j
kržttjdd |S)
NzCould not validate credentialszWWW-AuthenticateÚBearer)Ú status_codeÚdetailÚheadersÚtypeÚaccessÚsubz#User account is inactive or pending©rr)rrÚHTTP_401_UNAUTHORIZEDrÚgetÚexecuter r ÚwhereÚidrÚscalar_one_or_noner
ÚACTIVEÚHTTP_403_FORBIDDEN)rrZcredentials_exceptionÚpayloadÚuser_idÚresultÚuser©r(úI/home/bernt/.openclaw/workspace/landvex-admin-backend/app/dependencies.pyÚget_current_users*ý
$ þr*©Ú current_userrcÃs|jsttjdd|S)NzSuperuser privilege requiredr)Z is_superuserrrr#)r,r(r(r)Úget_current_active_superuser0s þr-c@s2eZdZedœddZeeƒfeedœddZdS)Ú RoleChecker©Úmin_rolecCs
||_dS)Nr/)Úselfr0r(r(r)Ú__init__<szRoleChecker.__init__r+cÃs>ddlm}||jƒ||jƒkr:ttjd|jjdd|S)Nr)Ú
role_levelzRequires role z
or higherr)Ú app.securityr3Úroler0rrr#Úvalue)r1r,r3r(r(r)Ú__call__?s þzRoleChecker.__call__N) Ú__name__Ú
__module__Ú __qualname__r r2rr*r r7r(r(r(r)r.;sr.N)$Ú__doc__ÚtypingrÚuuidrÚfastapirrrZfastapi.securityrÚsqlalchemy.ext.asynciorÚ
sqlalchemyr Ú app.databaser