mirror of
https://github.com/IT4Change/Ocelot-Social.git
synced 2025-12-13 07:45:56 +00:00
Get frontend running by start implementing 'reviewedByModerator' right
This commit is contained in:
parent
ef84e9991f
commit
c0fb53c2b5
@ -20,6 +20,7 @@ export default makeAugmentedSchema({
|
||||
'NOTIFIED',
|
||||
'REPORTED',
|
||||
'REVIEWED',
|
||||
'CaseFolder',
|
||||
'Donations',
|
||||
],
|
||||
},
|
||||
|
||||
@ -69,7 +69,9 @@ export default {
|
||||
hasOne: {
|
||||
author: '<-[:WROTE]-(related:User)',
|
||||
post: '-[:COMMENTS]->(related:Post)',
|
||||
// Wolle reviewedByModerator: '<-[:DECIDED]-(related:User)',
|
||||
// Wolle !!! Following statement is not correct, but the correct (see file 'backend/src/schema/types/type/Comment.gql') makes an error. Should be: '<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(related:User) RETURN related ORDER BY caseFolder.updatedAt ASC, review.updatedAt ASC LIMIT 1'
|
||||
// Wolle reviewedByModerator: '<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(related:User)',
|
||||
reviewedByModerator: '<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(related:User) WITH caseFolder, review, related ORDER BY caseFolder.updatedAt ASC, review.updatedAt ASC WITH collect(related) AS orderedRelated WITH orderedRelated[0] AS related',
|
||||
},
|
||||
}),
|
||||
// Wolle reviewedByModerator: async (parent, params, context, resolveInfo) => {
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
import uuid from 'uuid/v4'
|
||||
import { undefinedToNullResolver } from './helpers/Resolver'
|
||||
// Wolle import { undefinedToNullResolver } from './helpers/Resolver'
|
||||
|
||||
// const queryOpenDecisionWriteTransaction = (session, resourceId) => {
|
||||
// Wolle const queryOpenDecisionWriteTransaction = (session, resourceId) => {
|
||||
// return session.writeTransaction(async txc => {
|
||||
// const queryOpenDecisionTransactionResponse = await txc.run(
|
||||
// `
|
||||
|
||||
@ -307,7 +307,6 @@ export default {
|
||||
},
|
||||
hasOne: {
|
||||
author: '<-[:WROTE]-(related:User)',
|
||||
// Wolle reviewedByModerator: '<-[:DECIDED]-(related:User)',
|
||||
pinnedBy: '<-[:PINNED]-(related:User)',
|
||||
},
|
||||
count: {
|
||||
@ -341,5 +340,25 @@ export default {
|
||||
}
|
||||
return relatedContributions
|
||||
},
|
||||
reviewedByModerator: async (parent, params, context, resolveInfo) => {
|
||||
if (typeof parent.reviewedByModerator !== 'undefined') return parent.reviewedByModerator
|
||||
const { id } = parent
|
||||
const statement = `
|
||||
MATCH (p:Post {id: $id})<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(moderator:User)
|
||||
RETURN moderator
|
||||
ORDER BY caseFolder.updatedAt ASC, review.updatedAt ASC
|
||||
LIMIT 1
|
||||
`
|
||||
let reviewedByModerator
|
||||
const session = context.driver.session()
|
||||
try {
|
||||
const result = await session.run(statement, { id })
|
||||
const [firstElement] = result.records.map(r => r.get('moderator').properties)
|
||||
reviewedByModerator = firstElement
|
||||
} finally {
|
||||
session.close()
|
||||
}
|
||||
return reviewedByModerator
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { undefinedToNullResolver } from './helpers/Resolver'
|
||||
// Wolle import { undefinedToNullResolver } from './helpers/Resolver'
|
||||
|
||||
export default {
|
||||
Mutation: {
|
||||
|
||||
@ -200,7 +200,9 @@ export default {
|
||||
},
|
||||
hasOne: {
|
||||
invitedBy: '<-[:INVITED]-(related:User)',
|
||||
// Wolle reviewedByModerator: '<-[:DECIDED]-(related:User)',
|
||||
// Wolle !!! Following statement is not correct, but the correct (see file 'backend/src/schema/types/type/User.gql') makes an error. Should be: '<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(related:User) RETURN related ORDER BY caseFolder.updatedAt ASC, review.updatedAt ASC LIMIT 1'
|
||||
// Wolle reviewedByModerator: '<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(related:User)',
|
||||
reviewedByModerator: '<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(moderators:User) WITH caseFolder, review, moderators ORDER BY caseFolder.updatedAt ASC, review.updatedAt ASC WITH collect(moderators) AS orderedModerators WITH orderedModerators AS related',
|
||||
location: '-[:IS_IN]->(related:Location)',
|
||||
},
|
||||
hasMany: {
|
||||
|
||||
@ -1,41 +1,3 @@
|
||||
enum _CommentOrdering {
|
||||
id_asc
|
||||
id_desc
|
||||
content_asc
|
||||
content_desc
|
||||
createdAt_asc
|
||||
createdAt_desc
|
||||
updatedAt_asc
|
||||
updatedAt_desc
|
||||
}
|
||||
|
||||
input _CommentFilter {
|
||||
AND: [_CommentFilter!]
|
||||
OR: [_CommentFilter!]
|
||||
id: ID
|
||||
id_not: ID
|
||||
id_in: [ID!]
|
||||
id_not_in: [ID!]
|
||||
author: _UserFilter
|
||||
author_not: _UserFilter
|
||||
author_in: [_UserFilter!]
|
||||
author_not_in: [_UserFilter!]
|
||||
content: String
|
||||
content_not: String
|
||||
content_in: [String!]
|
||||
content_not_in: [String!]
|
||||
content_contains: String
|
||||
content_not_contains: String
|
||||
content_starts_with: String
|
||||
content_not_starts_with: String
|
||||
content_ends_with: String
|
||||
content_not_ends_with: String
|
||||
post: _PostFilter
|
||||
post_not: _PostFilter
|
||||
post_in: [_PostFilter!]
|
||||
post_not_in: [_PostFilter!]
|
||||
}
|
||||
|
||||
type Comment {
|
||||
id: ID!
|
||||
activityId: String
|
||||
@ -47,31 +9,28 @@ type Comment {
|
||||
updatedAt: String
|
||||
deleted: Boolean
|
||||
disabled: Boolean
|
||||
# Wolle reviewedByModerator: User # Wolle @relation(name: "DECIDED", direction: "IN")
|
||||
# Wolle reviewedByModerator: User
|
||||
# @cypher(
|
||||
# statement: """
|
||||
# MATCH (this)<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(moderator:User)
|
||||
# RETURN moderator
|
||||
# ORDER BY caseFolder.updatedAt ASC, review.updatedAt ASC
|
||||
# LIMIT 1
|
||||
# """
|
||||
# )
|
||||
reviewedByModerator: User
|
||||
@cypher(
|
||||
statement: """
|
||||
MATCH (this)<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(moderator:User)
|
||||
RETURN moderator
|
||||
MATCH (this)<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(moderators:User)
|
||||
WITH caseFolder, review, moderators
|
||||
ORDER BY caseFolder.updatedAt ASC, review.updatedAt ASC
|
||||
LIMIT 1
|
||||
WITH collect(moderators) AS orderedModerators
|
||||
WITH orderedModerators[0] AS moderator
|
||||
RETURN moderator
|
||||
"""
|
||||
)
|
||||
}
|
||||
|
||||
type Query {
|
||||
Comment(
|
||||
id: ID
|
||||
content: String
|
||||
createdAt: String
|
||||
updatedAt: String
|
||||
first: Int
|
||||
offset: Int
|
||||
orderBy: [_CommentOrdering]
|
||||
filter: _CommentFilter
|
||||
): [Comment]
|
||||
}
|
||||
|
||||
type Mutation {
|
||||
CreateComment(
|
||||
id: ID
|
||||
|
||||
@ -122,14 +122,25 @@ type Post {
|
||||
deleted: Boolean
|
||||
disabled: Boolean
|
||||
reviewedByModerator: User
|
||||
@cypher(
|
||||
statement: """
|
||||
MATCH (this)<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(moderator:User)
|
||||
RETURN moderator
|
||||
ORDER BY caseFolder.updatedAt ASC, review.updatedAt ASC
|
||||
LIMIT 1
|
||||
"""
|
||||
)
|
||||
# @cypher(
|
||||
# statement: """
|
||||
# MATCH (this)<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(moderator:User)
|
||||
# RETURN moderator
|
||||
# ORDER BY caseFolder.updatedAt ASC, review.updatedAt ASC
|
||||
# LIMIT 1
|
||||
# """
|
||||
# )
|
||||
# reviewedByModerator: User
|
||||
# @cypher(
|
||||
# statement: """
|
||||
# MATCH (this)<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(moderators:User)
|
||||
# WITH caseFolder, review, moderators
|
||||
# ORDER BY caseFolder.updatedAt ASC, review.updatedAt ASC
|
||||
# WITH collect(moderators) AS orderedModerators
|
||||
# WITH orderedModerators[0] AS moderator
|
||||
# RETURN moderator
|
||||
# """
|
||||
# )
|
||||
pinned: Boolean
|
||||
createdAt: String
|
||||
updatedAt: String
|
||||
|
||||
@ -33,13 +33,24 @@ type User {
|
||||
coverImg: String
|
||||
deleted: Boolean
|
||||
disabled: Boolean
|
||||
# Wolle reviewedByModerator: User
|
||||
# @cypher(
|
||||
# statement: """
|
||||
# MATCH (this)<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(moderator:User)
|
||||
# RETURN moderator
|
||||
# ORDER BY caseFolder.updatedAt ASC, review.updatedAt ASC
|
||||
# LIMIT 1
|
||||
# """
|
||||
# )
|
||||
reviewedByModerator: User
|
||||
@cypher(
|
||||
statement: """
|
||||
MATCH (this)<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(moderator:User)
|
||||
RETURN moderator
|
||||
MATCH (this)<-[:FLAGGED]-(caseFolder:CaseFolder)<-[review:REVIEWED]-(moderators:User)
|
||||
WITH caseFolder, review, moderators
|
||||
ORDER BY caseFolder.updatedAt ASC, review.updatedAt ASC
|
||||
LIMIT 1
|
||||
WITH collect(moderators) AS orderedModerators
|
||||
WITH orderedModerators[0] AS moderator
|
||||
RETURN moderator
|
||||
"""
|
||||
)
|
||||
role: UserGroup!
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user