From f8b15e3407f44da64b5ddd71d58c467b53e37181 Mon Sep 17 00:00:00 2001 From: Sebastiaan Date: Wed, 4 Jun 2025 23:17:30 +0200 Subject: [PATCH] Move get to Role --- backend/app/models/user.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/backend/app/models/user.py b/backend/app/models/user.py index d29dd26..2093e40 100644 --- a/backend/app/models/user.py +++ b/backend/app/models/user.py @@ -154,12 +154,7 @@ class User(mixin.RowId, UserBase, table=True): return db_obj def add_role(self, *, name: str = None, id: RowId = None, db_obj: "Role" = None, session: Session) -> "User": - if db_obj: - pass - elif name: - db_obj = session.exec(select(Role).where(Role.name == name)).first() - elif id: - db_obj = session.exec(select(Role).where(Role.id == id)).first() + db_obj = Role.get(name=name, id=id, db_obj=db_obj, session=session) to_add = next((add for add in self.roles if add == db_obj), None) @@ -170,12 +165,7 @@ class User(mixin.RowId, UserBase, table=True): return self def remove_role(self, *, name: str = None, id: RowId = None, db_obj: "Role" = None, session: Session) -> "User": - if db_obj: - pass - elif name: - db_obj = session.exec(select(Role).where(Role.name == name)).first() - elif id: - db_obj = session.exec(select(Role).where(Role.id == id)).first() + db_obj = Role.get(name=name, id=id, db_obj=db_obj, session=session) to_remove = next((remove for remove in self.roles if remove == db_obj), None) if to_remove: @@ -297,6 +287,17 @@ class Role( session.refresh(db_obj) return db_obj + @classmethod + def get(cls, *, name: str = None, id: RowId = None, db_obj: "Role" = None, session: Session) -> "Role": + if db_obj: + pass + elif name: + db_obj = session.exec(select(Role).where(Role.name == name)).first() + elif id: + db_obj = session.exec(select(Role).where(Role.id == id)).first() + + return db_obj + def add_permission( self, add: "Permission", *, session: Session, right: PermissionRight = None ) -> "Role":