def addUser(telegrammUserId, telegramUserName): query = Template( "CREATE (User:USER {telegrammUserId:'$telegrammUserId', telegramUserName:'******'}) return (User)" ) session.run( query.substitute(telegrammUserId=telegrammUserId, telegramUserName=telegramUserName))
def userPropUpdate(telegrammUserId, prop, value): if (chekProp(userProps, prop)): query = Template( "MATCH (User:USER) where User.telegrammUserId='$telegrammUserId' SET User.$prop = '$value' return (User)" ) session.run( query.substitute(telegrammUserId=telegrammUserId, prop=prop, value=value))
def addMeetingPoint(expiration, latitude, longitude): id = id = str(datetime.now()) query = Template( "CREATE (x:MeetingPoint {expiration:'$expiration', latitude:'$latitude', longitude:'$longitude', id:'$id'})" ) session.run( query.substitute(expiration=expiration, latitude=latitude, longitude=longitude, id=id))
def addSonsorPoint(telegrammUserId, lat, lon, rentalBeginDate, rentalEndDate): query = Template( "MATCH (SPONSOR:SPONSOR) WHERE SPONSOR.telegrammUserId='$telegrammUserId' CREATE (x:SPONSOR_POINT {telegrammUserId:'$telegrammUserId', lat:'$lat', lon:'$lon', rentalBeginDate: '$rentalBeginDate', rentalEndDate:'$rentalEndDate'}) CREATE (SPONSOR_POINT)-[r:Принадлежит]->(SPONSOR)" ) session.run( query.substitute(telegrammUserId=telegrammUserId, lat=lat, lon=lon, rentalBeginDate=rentalBeginDate, rentalEndDate=rentalEndDate))
def addUserRoomRelationship(telegrammUserId, roomId, rel): query = Template( 'MATCH (a:USER), (b:Room) WHERE a.telegrammUserId = "$telegrammUserId" AND b.id = "$roomId" CREATE (a)-[: $rel]->(b) RETURN a,b ' ) return session.run( query.substitute(telegrammUserId=telegrammUserId, roomId=roomId, rel=rel))
def removeUserRoomRelationship(telegrammUserId, roomId, rel): query = Template( "MATCH (n)-[rel: $rel]->(r) WHERE n.telegrammUserId='$telegrammUserId' AND r.id='$roomId' DELETE rel" ) return session.run( query.substitute(telegrammUserId=telegrammUserId, roomId=roomId, rel=rel))
def removeUserMessageRelationship(telegrammUserId, messageId, rel): if (chekProp(createUserMessageRels, rel)): query = Template( "MATCH (n)-[rel: $rel]->(r) WHERE n.telegrammUserId='$telegrammUserId' AND r.id='$messageId' DELETE rel" ) return session.run( query.substitute(telegrammUserId=telegrammUserId, messageId=messageId, rel=rel))
def addUserMessageRelationship(telegrammUserId, messageId, rel): if (chekProp(createUserMessageRels, rel)): query = Template( 'MATCH (a:USER), (b:CoordinateMessage) WHERE a.telegrammUserId = "$telegrammUserId" AND b.id = "$messageId" CREATE (a)-[: $rel]->(b) RETURN a,b ' ) return session.run( query.substitute(telegrammUserId=telegrammUserId, messageId=messageId, rel=rel))
def removeCoordinateMessage(id): query = Template("MATCH (x:CoordinateMessage) where x.id='$id' DELETE (x)") session.run(query.substitute(id=id))
def CoordinateMessagePropUpdate(id, prop, value): if (chekProp(coordinateMessageProps, prop)): query = Template( "MATCH (x:CoordinateMessage) where x.id='$id' SET x.$prop = '$value' return (x)" ) session.run(query.substitute(id=id, prop=prop, value=value))
def addCoordinateMessage(expiration, id): query = Template( "CREATE (x:CoordinateMessage {id:'$id', expiration:'$expiration'})") session.run(query.substitute(id=id, expiration=expiration))
def getRooms(): return session.run("MATCH (x:Room) return (x)")
def getSponsorPoints(telegrammUserId): query = Template( "MATCH (x:SPONSOR_POINT) WHERE x.telegrammUserId='$telegrammUserId' return (x)" ) return session.run(query.substitute(telegrammUserId=telegrammUserId))
def removeRoom(id): query = Template("MATCH (x:Room) where x.id='$id' DELETE (x)") session.run(query.substitute(id=id))
def removeRoomMeetingPointsRelationship(roomId, meetingPointId): query = Template( "MATCH (n)-[rel: has]->(r) WHERE n.id='$roomId' AND r.id='$meetingPointId' DELETE rel" ) return session.run( query.substitute(roomId=roomId, meetingPointId=meetingPointId))
def getMeetingPoint(id): query = Template("MATCH (x:MeetingPoint) where x.id='$id' return (x)") return session.run(query.substitute(id=id))
def addRoomMeetingPointsRelationship(roomId, meetingPointId): query = Template( 'MATCH (a:Room), (b:MeetingPoint) WHERE a.id = "$roomId" AND b.id = "$meetingPointId" CREATE (a)-[: has]->(b) RETURN a,b ' ) return session.run( query.substitute(roomId=roomId, meetingPointId=meetingPointId))
def getMeetingPoints(): return session.run("MATCH (x:MeetingPoint) return (x)")
def removeMeetingPoint(id): query = Template("MATCH (x:MeetingPoint) where x.id='$id' DELETE (x)") session.run(query.substitute(id=id))
def MeetingPointUpdate(id, prop, value): if (chekProp(meetingPointProps, prop)): query = Template( "MATCH (x:MeetingPoint) where x.id='$id' SET x.$prop = '$value' return (x)" ) session.run(query.substitute(id=id, prop=prop, value=value))
def getCoordinateMessages(): return session.run("MATCH (x:CoordinateMessage) return (x)")
def RoomPropUpdate(id, prop, value): if (chekProp(roomProps, prop)): query = Template( "MATCH (x:Room) where x.id='$id' SET x.$prop = '$value' return (x)" ) session.run(query.substitute(id=id, prop=prop, value=value))
def getCoordinateMessage(id): query = Template("MATCH (x:CoordinateMessage) where x.id='$id' return (x)") return session.run(query.substitute(id=id))
def removeUser(telegrammUserId): query = Template( "MATCH (User:USER) where User.telegrammUserId='$telegrammUserId' DELETE (User)" ) session.run(query.substitute(telegrammUserId=telegrammUserId))
def addSponsor(telegrammUserId, password): query = Template( "MATCH (x:USER) where x.telegrammUserId='$telegrammUserId' SET x: SPONSOR SET x.balance=0 SET x.password='******' return (x)" ) session.run( query.substitute(telegrammUserId=telegrammUserId, password=password))
def getUsers(): return session.run("MATCH (x:USER) return (x)")
def getSponsors(): return session.run("MATCH (x:SPONSOR) return (x)")
def getUser(telegrammUserId): query = Template( "MATCH (x:USER) where x.telegrammUserId='$telegrammUserId' return (x)") return session.run(query.substitute(telegrammUserId=telegrammUserId))
def getSponsorPointsWithDate(telegrammUserId, dateNow): query = Template( "MATCH (x:SPONSOR_POINT) WHERE x.telegrammUserId='$telegrammUserId' and x.rentalEndDate > '$dateNow' return (x)" ) return session.run( query.substitute(telegrammUserId=telegrammUserId, dateNow=dateNow))
def getRoom(id): query = Template("MATCH (x:Room) where x.id='$id' return (x)") return session.run(query.substitute(id=id))