Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from sqlalchemy import Column, String, DateTime, ForeignKey, Integer, Table
from sqlalchemy import Column, String, DateTime, ForeignKey, Integer, Table, ARRAY
from .base import Base
from sqlalchemy.orm import relationship, validates
from sqlalchemy.dialects.postgresql import JSONB, UUID
Expand Down Expand Up @@ -32,7 +32,7 @@ class Member(Base):
username = Column(JSONB, nullable=False)
displayName = Column(String, nullable=True)
attributes = Column(JSONB, default={})
email = Column(String)
emails = Column(ARRAY(String))
score = Column(Integer, default=-1)
joinedAt = Column(DateTime, nullable=False)
importHash = Column(String, nullable=True)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ class DBKeys:
MEMBERS = "members"
MEMBER = "member"
SCORE = "score"
EMAIL = "email"
EMAILS = "emails"
TO_MERGE = "membersToMerge"
CROWD_USERNAME = "crowdUsername"
NO_MERGE = "noMerge"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ def find_by_id(self, table, id):
def find_all_usernames(self):
with self.engine.connect() as con:
return con.execute(
f"""SELECT "id", "username", "displayName", "email" from "members" WHERE "tenantId" = '{self.tenant_id}'""").fetchall()
f"""SELECT "id", "username", "displayName", "emails" from "members" WHERE "tenantId" = '{self.tenant_id}'""").fetchall()

def find_all(
self, table, ignore_tenant: "bool" = False, query: "dict" = None, order: "dict" = None
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,10 +167,10 @@ def find_similar_member(self, member, comparison, same_platform=False):

member.username['displayNameMember1'] = member.displayName
members[i].username['displayNameMember2'] = members[i].displayName
if member.email:
member.username['email'] = member.email
if members[i].email:
members[i].username['email'] = members[i].email
if len(member.emails) > 0 and len(member.emails[0]) > 0:
member.username['email'] = member.emails[0]
if len(members[i].emails) > 0 and len(members[i].emails[0]) > 0:
members[i].username['email'] = members[i].emails[0]

# Go through all platform usernames
member_platforms = set(member.username)
Expand Down