From 0fdd46b6568eb6426b86ce74555f12f68fad1b4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Wolfgang=20Hu=C3=9F?= Date: Wed, 20 Nov 2019 15:30:37 +0100 Subject: [PATCH] Implement CaseFolder property rule --- backend/src/schema/resolvers/moderation.js | 3 ++- backend/src/schema/resolvers/reports.js | 2 +- backend/src/schema/types/type/CaseFolder.gql | 5 +++++ neo4j/change_disabled_relationship_to_case_node.sh | 8 ++++---- 4 files changed, 12 insertions(+), 6 deletions(-) diff --git a/backend/src/schema/resolvers/moderation.js b/backend/src/schema/resolvers/moderation.js index fa1704603..eabc22af6 100644 --- a/backend/src/schema/resolvers/moderation.js +++ b/backend/src/schema/resolvers/moderation.js @@ -120,10 +120,11 @@ export default { MATCH (moderator:User {id: $moderatorId}) MATCH (resource {id: $resourceId}) WHERE resource:User OR resource:Post OR resource:Comment + //WHERE (caseFolder)<-[report:REPORTED]-(submitter:User) // no open caseFolder, create one, update existing MERGE (resource)<-[:FLAGGED]-(caseFolder:CaseFolder {closed: false}) - ON CREATE SET caseFolder.id = randomUUID(), caseFolder.createdAt = $createdAt, caseFolder.updatedAt = caseFolder.createdAt, caseFolder.disable = $disable, caseFolder.closed = $closed + ON CREATE SET caseFolder.id = randomUUID(), caseFolder.createdAt = $createdAt, caseFolder.updatedAt = caseFolder.createdAt, caseFolder.rule = 'latestReviewUpdatedAt', caseFolder.disable = $disable, caseFolder.closed = $closed ON MATCH SET caseFolder.updatedAt = $createdAt, caseFolder.disable = $disable, caseFolder.closed = $closed // Create review on caseFolder diff --git a/backend/src/schema/resolvers/reports.js b/backend/src/schema/resolvers/reports.js index 478376161..8e187df2b 100644 --- a/backend/src/schema/resolvers/reports.js +++ b/backend/src/schema/resolvers/reports.js @@ -15,7 +15,7 @@ export default { WHERE resource:User OR resource:Post OR resource:Comment // no open caseFolder, create one MERGE (resource)<-[:FLAGGED]-(caseFolder:CaseFolder {closed: false}) - ON CREATE SET caseFolder.id = randomUUID(), caseFolder.createdAt = $createdAt, caseFolder.updatedAt = caseFolder.createdAt, caseFolder.disable = false, caseFolder.closed = false + ON CREATE SET caseFolder.id = randomUUID(), caseFolder.createdAt = $createdAt, caseFolder.updatedAt = caseFolder.createdAt, caseFolder.rule = 'latestReviewUpdatedAt', caseFolder.disable = false, caseFolder.closed = false // Create report on caseFolder WITH submitter, resource, caseFolder CREATE (caseFolder)<-[report:REPORTED {createdAt: $createdAt, reasonCategory: $reasonCategory, reasonDescription: $reasonDescription}]-(submitter) diff --git a/backend/src/schema/types/type/CaseFolder.gql b/backend/src/schema/types/type/CaseFolder.gql index 0e643c9c0..44e9d3664 100644 --- a/backend/src/schema/types/type/CaseFolder.gql +++ b/backend/src/schema/types/type/CaseFolder.gql @@ -2,8 +2,13 @@ type CaseFolder { id: ID! createdAt: String! updatedAt: String! + rule: CaseRule! disable: Boolean! # reasonCategory: ReasonCategory! # reasonDescription: String! closed: Boolean! } + +enum CaseRule { + latestReviewUpdatedAt +} diff --git a/neo4j/change_disabled_relationship_to_case_node.sh b/neo4j/change_disabled_relationship_to_case_node.sh index e24842112..ef7474aa4 100755 --- a/neo4j/change_disabled_relationship_to_case_node.sh +++ b/neo4j/change_disabled_relationship_to_case_node.sh @@ -22,7 +22,7 @@ WHERE disabledResource:User OR disabledResource:Comment OR disabledResource:Post DELETE disabled CREATE (moderator)-[review:REVIEWED]->(caseFolder:CaseFolder)-[:FLAGGED]->(disabledResource) SET review.createdAt = toString(datetime()), review.updatedAt = review.createdAt, review.disable = true -SET caseFolder.id = randomUUID(), caseFolder.createdAt = toString(datetime()), caseFolder.updatedAt = caseFolder.createdAt, caseFolder.disable = true, caseFolder.closed = false +SET caseFolder.id = randomUUID(), caseFolder.createdAt = toString(datetime()), caseFolder.updatedAt = caseFolder.createdAt, caseFolder.rule = 'latestReviewUpdatedAt', caseFolder.disable = true, caseFolder.closed = false // if disabledResource has no report, then create a moderators default report WITH moderator, disabledResource, caseFolder @@ -44,9 +44,9 @@ echo " // for REPORTED resources without DISABLED relation which are handled above, create new REPORTED-CaseFolder-FLAGGED structure MATCH (reporter:User)-[oldReport:REPORTED]->(notDisabledResource) WHERE notDisabledResource:User OR notDisabledResource:Comment OR notDisabledResource:Post -CREATE (reporter)-[report:REPORTED]->(caseFolder:CaseFolder) -MERGE (caseFolder)-[:FLAGGED]->(notDisabledResource) -ON CREATE SET caseFolder.id = randomUUID(), caseFolder.createdAt = toString(datetime()), caseFolder.updatedAt = caseFolder.createdAt, caseFolder.disable = false, caseFolder.closed = false +MERGE (caseFolder:CaseFolder)-[:FLAGGED]->(notDisabledResource) +ON CREATE SET caseFolder.id = randomUUID(), caseFolder.createdAt = toString(datetime()), caseFolder.updatedAt = caseFolder.createdAt, caseFolder.rule = 'latestReviewUpdatedAt', caseFolder.disable = false, caseFolder.closed = false +CREATE (reporter)-[report:REPORTED]->(caseFolder) SET report = oldReport DELETE oldReport