diff --git a/neo4j/db_manipulation/add_notification_from_report_to_filing_user.sh b/neo4j/db_manipulation/add_notification_from_report_to_filing_user.sh new file mode 100644 index 000000000..15af5c245 --- /dev/null +++ b/neo4j/db_manipulation/add_notification_from_report_to_filing_user.sh @@ -0,0 +1,28 @@ +#!/usr/bin/env bash + +ENV_FILE=$(dirname "$0")/.env +[[ -f "$ENV_FILE" ]] && source "$ENV_FILE" + +if [ -z "$NEO4J_USERNAME" ] || [ -z "$NEO4J_PASSWORD" ]; then + echo "Please set NEO4J_USERNAME and NEO4J_PASSWORD environment variables." + echo "Database manipulation is not possible without connecting to the database." + echo "E.g. you could \`cp .env.template .env\` unless you run the script in a docker container" +fi + +until echo 'RETURN "Connection successful" as info;' | cypher-shell +do + echo "Connecting to neo4j failed, trying again..." + sleep 1 +done + +echo " + :begin + MATCH (submitter:User)-[filed:FILED]->(report:Report) + WHERE NOT (submitter)<-[:NOTIFIED]-(report) + CREATE (submitter)<-[notification:NOTIFIED]-(report) + SET notification.createdAt = filed.createdAt, + notification.updatedAt = notification.createdAt, + notification.read = FALSE, + notification.reason = 'filed_report_on_resource'; + :commit +" | cypher-shell \ No newline at end of file