"""Cypher for ownership queries.""" GET_TRACK_OWNERS = """ MATCH(tr:Track:Orchard)<-[:INCLUDES]-(:Product)<-[:INCLUDES]-(pj:Project) WHERE tr.id = $track_id RETURN pj.vendorId AS vendor_id, CASE WHEN pj.subaccountId > 0 THEN pj.subaccountId ELSE NULL END AS subaccount_id """ GET_SUBACCOUNT_OWNER = """ MATCH(a:SubAccount)<-[:OWNS]-(v:Vendor) WHERE a.id = $subaccount_id RETURN v.id AS vendor_id """ GET_BULK_TRACK_OWNERS = """ MATCH(tr:Track:Orchard)<-[:INCLUDES]-(:Product)<-[:INCLUDES]-(pj:Project) WHERE tr.id IN $track_ids RETURN DISTINCT(tr.id) AS track_id, pj.vendorId AS vendor_id, CASE WHEN pj.subaccountId > 0 THEN pj.subaccountId ELSE NULL END AS subaccount_id """ GET_BULK_SUBACCOUNT_OWNER = """ MATCH(s:SubAccount)<-[:OWNS]-(v:Vendor) WHERE s.id IN $subaccount_ids RETURN v.id AS vendor_id, s.id AS subaccount_id """