mirror of
https://github.com/rzmk/learnhouse.git
synced 2025-12-19 04:19:25 +00:00
feat: revamp authorization mechanism across app
This commit is contained in:
parent
72c5d13028
commit
3c2f6b3a98
14 changed files with 648 additions and 371 deletions
40
app.py
40
app.py
|
|
@ -8,6 +8,9 @@ from fastapi.staticfiles import StaticFiles
|
|||
from fastapi_jwt_auth.exceptions import AuthJWTException
|
||||
from fastapi.middleware.gzip import GZipMiddleware
|
||||
|
||||
from src.security.rbac.rbac import authorization_verify_based_on_roles, authorization_verify_if_element_is_public, authorization_verify_if_user_is_author
|
||||
from src.services.users.schemas.users import UserRolesInOrganization
|
||||
|
||||
|
||||
# from src.services.mocks.initial import create_initial_data
|
||||
|
||||
|
|
@ -66,3 +69,40 @@ app.include_router(v1_router)
|
|||
@app.get("/")
|
||||
async def root():
|
||||
return {"Message": "Welcome to LearnHouse ✨"}
|
||||
|
||||
|
||||
@app.get("/test")
|
||||
async def rootd(request: Request):
|
||||
res = await authorization_verify_based_on_roles(
|
||||
request=request,
|
||||
user_id="user_c441e47e-5c04-4b03-9886-b0f5cb333c06",
|
||||
action="read",
|
||||
roles_list=[
|
||||
UserRolesInOrganization(
|
||||
org_id="org_e7085838-2efc-48f3-b414-77318572d9f5", role_id="role_admin"
|
||||
),
|
||||
],
|
||||
element_id="collection_1c277b46-5a4b-440a-ac29-94b874ef7cf4",
|
||||
)
|
||||
return res
|
||||
|
||||
|
||||
@app.get("/test2")
|
||||
async def rootds(request: Request):
|
||||
res = await authorization_verify_if_user_is_author(
|
||||
request=request,
|
||||
user_id="user_c441e47e-5c04-4b03-9886-b0f5cb333c06",
|
||||
action="read",
|
||||
element_id="course_1c277b46-5a4b-440a-ac29-94b874ef7cf4",
|
||||
)
|
||||
return res
|
||||
|
||||
@app.get("/test3")
|
||||
async def rootdsc(request: Request):
|
||||
res = await authorization_verify_if_element_is_public(
|
||||
request=request,
|
||||
user_id="anonymous",
|
||||
action="read",
|
||||
element_id="course_1c277b46-5a4b-440a-ac29-94b874ef7cf4",
|
||||
)
|
||||
return res
|
||||
Loading…
Add table
Add a link
Reference in a new issue