Skip to content

Commit 636bd45

Browse files
Added authenticated user dependencies
1 parent 11320b3 commit 636bd45

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

routers/role.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@
66
from pydantic import BaseModel, ConfigDict, field_validator
77
from sqlmodel import Session, select
88
from utils.db import get_session
9-
from utils.models import Role, RolePermissionLink, ValidPermissions, utc_time
9+
from utils.auth import get_authenticated_user
10+
from utils.models import Role, RolePermissionLink, ValidPermissions, utc_time, User
1011

1112
logger = getLogger("uvicorn.error")
1213

@@ -15,6 +16,7 @@
1516

1617
# -- Custom Exceptions --
1718

19+
1820
class RoleAlreadyExistsError(HTTPException):
1921
"""Raised when attempting to create a role with a name that already exists"""
2022

@@ -107,9 +109,11 @@ async def as_form(
107109

108110
# -- Routes --
109111

112+
110113
@router.post("/", response_class=RedirectResponse)
111114
def create_role(
112115
role: RoleCreate = Depends(RoleCreate.as_form),
116+
user: User = Depends(get_authenticated_user),
113117
session: Session = Depends(get_session)
114118
) -> RedirectResponse:
115119
# Create role and permissions in a single transaction
@@ -128,7 +132,11 @@ def create_role(
128132

129133

130134
@router.get("/{role_id}", response_model=RoleRead)
131-
def read_role(role_id: int, session: Session = Depends(get_session)):
135+
def read_role(
136+
role_id: int,
137+
user: User = Depends(get_authenticated_user),
138+
session: Session = Depends(get_session)
139+
):
132140
db_role: Role | None = session.get(Role, role_id)
133141
if not db_role or not db_role.id or db_role.deleted:
134142
raise RoleNotFoundError()
@@ -152,6 +160,7 @@ def read_role(role_id: int, session: Session = Depends(get_session)):
152160
@router.put("/{role_id}", response_class=RedirectResponse)
153161
def update_role(
154162
role: RoleUpdate = Depends(RoleUpdate.as_form),
163+
user: User = Depends(get_authenticated_user),
155164
session: Session = Depends(get_session)
156165
) -> RedirectResponse:
157166
db_role: Role | None = session.get(Role, role.id)
@@ -181,6 +190,7 @@ def update_role(
181190
@router.delete("/{role_id}", response_class=RedirectResponse)
182191
def delete_role(
183192
role_id: int,
193+
user: User = Depends(get_authenticated_user),
184194
session: Session = Depends(get_session)
185195
) -> RedirectResponse:
186196
db_role = session.get(Role, role_id)

0 commit comments

Comments
 (0)