Skip to content

Commit

Permalink
fix: GSuite data only populated on match (#1233)
Browse files Browse the repository at this point in the history
On Gsuite Intel, User and Group properties are only populated on
existing node (ON MATCH).
On first run only ID is populated.

This PR fix this issue.
  • Loading branch information
jychp committed Aug 23, 2023
1 parent af0b60f commit ab04b20
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 12 deletions.
14 changes: 7 additions & 7 deletions cartography/intel/gsuite/api.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,9 +130,9 @@ def load_gsuite_groups(neo4j_session: neo4j.Session, groups: List[Dict], gsuite_
UNWIND $GroupData as group
MERGE (g:GSuiteGroup{id: group.id})
ON CREATE SET
g.firstseen = $UpdateTag
ON MATCH SET
g.group_id = group.id,
g.firstseen = $UpdateTag,
g.group_id = group.id
SET
g.admin_created = group.adminCreated,
g.description = group.description,
g.direct_members_count = group.directMembersCount,
Expand All @@ -152,9 +152,9 @@ def load_gsuite_users(neo4j_session: neo4j.Session, users: List[Dict], gsuite_up
UNWIND $UserData as user
MERGE (u:GSuiteUser{id: user.id})
ON CREATE SET
u.firstseen = $UpdateTag
ON MATCH SET
u.user_id = user.id,
u.firstseen = $UpdateTag
SET
u.agreed_to_terms = user.agreedToTerms,
u.archived = user.archived,
u.change_password_at_next_login = user.changePasswordAtNextLogin,
Expand Down Expand Up @@ -193,7 +193,7 @@ def load_gsuite_members(neo4j_session: neo4j.Session, group: Dict, members: List
MERGE (user)-[r:MEMBER_GSUITE_GROUP]->(group)
ON CREATE SET
r.firstseen = $UpdateTag
ON MATCH SET
SET
r.lastupdated = $UpdateTag
"""
neo4j_session.run(
Expand All @@ -208,7 +208,7 @@ def load_gsuite_members(neo4j_session: neo4j.Session, group: Dict, members: List
MERGE (group_1)-[r:MEMBER_GSUITE_GROUP]->(group_2)
ON CREATE SET
r.firstseen = $UpdateTag
ON MATCH SET
SET
r.lastupdated = $UpdateTag
"""
neo4j_session.run(membership_qry, MemberData=members, GroupID=group.get("id"), UpdateTag=gsuite_update_tag)
Expand Down
10 changes: 5 additions & 5 deletions tests/unit/cartography/intel/gsuite/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,9 @@ def test_load_gsuite_groups():
UNWIND $GroupData as group
MERGE (g:GSuiteGroup{id: group.id})
ON CREATE SET
g.firstseen = $UpdateTag
ON MATCH SET
g.group_id = group.id,
g.firstseen = $UpdateTag,
g.group_id = group.id
SET
g.admin_created = group.adminCreated,
g.description = group.description,
g.direct_members_count = group.directMembersCount,
Expand All @@ -135,9 +135,9 @@ def test_load_gsuite_users():
UNWIND $UserData as user
MERGE (u:GSuiteUser{id: user.id})
ON CREATE SET
u.firstseen = $UpdateTag
ON MATCH SET
u.user_id = user.id,
u.firstseen = $UpdateTag
SET
u.agreed_to_terms = user.agreedToTerms,
u.archived = user.archived,
u.change_password_at_next_login = user.changePasswordAtNextLogin,
Expand Down

0 comments on commit ab04b20

Please sign in to comment.