diff --git a/src/user/models.py b/src/user/models.py index 92350ed..d7e0cd4 100644 --- a/src/user/models.py +++ b/src/user/models.py @@ -18,33 +18,29 @@ from src.database import Base class User(Base): - __tablename__ = "user" + __tablename__ = "user" - id = Column(Integer, primary_key=True) - email = Column(String) - first_name = Column(String) - last_name = Column(String) - oidc_id = Column(String, index=True, unique=True) + id = Column(Integer, primary_key=True) + email = Column(String) + first_name = Column(String) + last_name = Column(String) + oidc_id = Column(String, index=True, unique=True) - organisation_rel = relationship( - "Organisation", - secondary="orgusers", - back_populates="user_rel" - ) + organisation_rel = relationship( + "Organisation", secondary="orgusers", back_populates="user_rel" + ) - @property - def organisations(self): - return [org.name for org in self.organisation_rel] + @property + def organisations(self): + return [{"name": org.name, "id": org.id} for org in self.organisation_rel] - group_rel = relationship( - "Group", - secondary="user_groups", - back_populates="user_rel" - ) + group_rel = relationship( + "Group", secondary="user_groups", back_populates="user_rel" + ) - @property - def groups(self): - result = defaultdict(list) - for group in self.group_rel: - result[group.org_rel.name].append(group.name) - return dict(result) + @property + def groups(self): + result = defaultdict(list) + for group in self.group_rel: + result[group.org_rel.name].append(group.name) + return dict(result) diff --git a/src/user/schemas.py b/src/user/schemas.py index 3578005..0dfffb9 100644 --- a/src/user/schemas.py +++ b/src/user/schemas.py @@ -47,7 +47,7 @@ class UserResponse(CustomBaseModel): first_name: str last_name: str email: str - organisations: list[Optional[str]] + organisations: list[Optional[dict[str, str|int]]] groups: Optional[dict[str, list[str]]] = None