mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
Implement CaseFolder property rule
This commit is contained in:
parent
cf02ca4506
commit
0fdd46b656
@ -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
|
||||
|
||||
@ -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)
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user