"""Model for user roles.""" from ..connectors import neo4j from ..constants import app as constants from ..utils import neo4j_utils def hydrate_roles(orchardIdentityId): with neo4j.db_session(access_mode=constants.NEO4j_READ_ACCESS) as session: query = """MATCH (i:Identity {id: $orchardIdentityId})-[:HAS_PROFILE]->(p:Profile) OPTIONAL MATCH (p)-[:HAS_ACCESS_TO|:HAS_ADMIN_ACCESS_TO]->(v:Vendor) OPTIONAL MATCH (p)-[:HAS_ACCESS_TO|:HAS_ADMIN_ACCESS_TO]->(s:SubAccount) RETURN p.profileType as profileType, p.roles as roles, v.id as vendorId, s.id as subaccountId """ result = session.run( query, orchardIdentityId=orchardIdentityId ) data=[] for each in result: data.append(neo4j_utils.node_to_dict(each)) return data