Remove reviewedByModerator from resources

- moved to Report node, as the report was reviewed by the moderator...
a resource can have many reports on them, so we are interested in
grouping reviewed/filed by report
This commit is contained in:
mattwr18 2019-11-27 17:26:42 +01:00
parent eceeecd9b7
commit d03d669056
7 changed files with 0 additions and 60 deletions

View File

@ -1,6 +1,5 @@
import uuid from 'uuid/v4'
import Resolver from './helpers/Resolver'
import { queryReviewedByModerator } from './helpers/reportResource.js'
export default {
Mutation: {
@ -72,8 +71,5 @@ export default {
post: '-[:COMMENTS]->(related:Post)',
},
}),
reviewedByModerator: async (parent, _params, context, _resolveInfo) => {
return queryReviewedByModerator('Comment', parent, context)
},
},
}

View File

@ -1,21 +0,0 @@
export async function queryReviewedByModerator(label, parent, context) {
if (typeof parent.reviewedByModerator !== 'undefined') return parent.reviewedByModerator
const { id } = parent
const statement = `
MATCH (resource {id: $id})<-[:BELONGS_TO]-(report:Report)<-[review:REVIEWED]-(moderator:User)
WHERE $label IN labels(resource)
RETURN moderator
ORDER BY report.updatedAt DESC, review.updatedAt DESC
LIMIT 1
`
let reviewedByModerator
const session = context.driver.session()
try {
const result = await session.run(statement, { label, id })
const [firstElement] = result.records.map(r => r.get('moderator').properties)
reviewedByModerator = firstElement
} finally {
session.close()
}
return reviewedByModerator
}

View File

@ -5,7 +5,6 @@ import { getBlockedUsers, getBlockedByUsers } from './users.js'
import { mergeWith, isArray, isEmpty } from 'lodash'
import { UserInputError } from 'apollo-server'
import Resolver from './helpers/Resolver'
import { queryReviewedByModerator } from './helpers/reportResource.js'
const filterForBlockedUsers = async (params, context) => {
if (!context.user) return params
@ -342,8 +341,5 @@ export default {
}
return relatedContributions
},
reviewedByModerator: async (parent, _params, context, _resolveInfo) => {
return queryReviewedByModerator('Post', parent, context)
},
},
}

View File

@ -3,7 +3,6 @@ import fileUpload from './fileUpload'
import { neode } from '../../bootstrap/neo4j'
import { UserInputError, ForbiddenError } from 'apollo-server'
import Resolver from './helpers/Resolver'
import { queryReviewedByModerator } from './helpers/reportResource.js'
const instance = neode()
@ -215,8 +214,5 @@ export default {
badges: '<-[:REWARDED]-(related:Badge)',
},
}),
reviewedByModerator: async (parent, _params, context, _resolveInfo) => {
return queryReviewedByModerator('User', parent, context)
},
},
}

View File

@ -47,15 +47,6 @@ type Comment {
updatedAt: String
deleted: Boolean
disabled: Boolean
reviewedByModerator: User
@cypher(
statement: """
MATCH (this)<-[:BELONGS_TO]-(report:Report)<-[review:REVIEWED]-(moderator:User)
RETURN moderator
ORDER BY report.updatedAt DESC, review.updatedAt DESC
LIMIT 1
"""
)
}
type Query {

View File

@ -121,15 +121,6 @@ type Post {
visibility: Visibility
deleted: Boolean
disabled: Boolean
reviewedByModerator: User
@cypher(
statement: """
MATCH (this)<-[:BELONGS_TO]-(report:Report)<-[review:REVIEWED]-(moderator:User)
RETURN moderator
ORDER BY report.updatedAt DESC, review.updatedAt DESC
LIMIT 1
"""
)
pinned: Boolean
createdAt: String
updatedAt: String

View File

@ -33,15 +33,6 @@ type User {
coverImg: String
deleted: Boolean
disabled: Boolean
reviewedByModerator: User
@cypher(
statement: """
MATCH (this)<-[:BELONGS_TO]-(report:Report)<-[review:REVIEWED]-(moderator:User)
RETURN moderator
ORDER BY report.updatedAt DESC, review.updatedAt DESC
LIMIT 1
"""
)
role: UserGroup!
publicKey: String
invitedBy: User @relation(name: "INVITED", direction: "IN")