fix: prevent ghost memberships from soft-deleted users
This commit is contained in:
@@ -68,11 +68,18 @@ class Organization(BaseModel):
|
||||
def is_member(self, user_id: str) -> bool:
|
||||
"""Check if a user is a member of the organization."""
|
||||
from gatehouse_app.models.organization.organization_member import OrganizationMember
|
||||
from gatehouse_app.models.user.user import User
|
||||
|
||||
return (
|
||||
OrganizationMember.query.filter_by(
|
||||
user_id=user_id, organization_id=self.id, deleted_at=None
|
||||
).first()
|
||||
db.session.query(OrganizationMember)
|
||||
.join(User, OrganizationMember.user_id == User.id)
|
||||
.filter(
|
||||
OrganizationMember.user_id == user_id,
|
||||
OrganizationMember.organization_id == self.id,
|
||||
OrganizationMember.deleted_at.is_(None),
|
||||
User.deleted_at.is_(None),
|
||||
)
|
||||
.first()
|
||||
is not None
|
||||
)
|
||||
def get_active_members(self):
|
||||
|
||||
Reference in New Issue
Block a user