diff --git a/server/api/routes/project/permissions.py b/server/api/routes/project/permissions.py
index a879778572feb1f9e6460711e50de2748f58f940..bc841db569a692f9c83731c931e8fa61859e1b48 100644
--- a/server/api/routes/project/permissions.py
+++ b/server/api/routes/project/permissions.py
@@ -45,10 +45,7 @@ async def get_all_user_permissions(permission=Depends(UserPermissionChecker('own
                 .options(selectinload(ProjectPermissions.user)))
         result = (await session.execute(stmt)).scalars().all()
 
-        return [UserPermission.parse_obj({
-            'user': row.user.__dict__,
-            **row.__dict__
-        }) for row in result]
+        return [UserPermission(**{**row.__dict__, 'user': row.user.__dict__}) for row in result]  # type: ignore
 
 
 @router.put('/permission', response_model=str)