diff --git a/backend/src/models/Comment.js b/backend/src/models/Comment.js index c89103e5d..f596c58f1 100644 --- a/backend/src/models/Comment.js +++ b/backend/src/models/Comment.js @@ -27,7 +27,7 @@ module.exports = { }, disabledBy: { type: 'relationship', - relationship: 'DISABLED', + relationship: 'DECIDED', target: 'User', direction: 'in', }, diff --git a/backend/src/models/Post.js b/backend/src/models/Post.js index 5ac8378c2..bf630c419 100644 --- a/backend/src/models/Post.js +++ b/backend/src/models/Post.js @@ -19,7 +19,7 @@ module.exports = { disabled: { type: 'boolean', default: false }, disabledBy: { type: 'relationship', - relationship: 'DISABLED', + relationship: 'DECIDED', target: 'User', direction: 'in', }, diff --git a/backend/src/models/User.js b/backend/src/models/User.js index b24148f00..ac1eef5e4 100644 --- a/backend/src/models/User.js +++ b/backend/src/models/User.js @@ -44,7 +44,7 @@ module.exports = { friends: { type: 'relationship', relationship: 'FRIENDS', target: 'User', direction: 'both' }, disabledBy: { type: 'relationship', - relationship: 'DISABLED', + relationship: 'DECIDED', target: 'User', direction: 'in', }, diff --git a/backend/src/schema/resolvers/comments.js b/backend/src/schema/resolvers/comments.js index 7378238bb..ea5943269 100644 --- a/backend/src/schema/resolvers/comments.js +++ b/backend/src/schema/resolvers/comments.js @@ -68,7 +68,7 @@ export default { hasOne: { author: '<-[:WROTE]-(related:User)', post: '-[:COMMENTS]->(related:Post)', - disabledBy: '<-[:DISABLED]-(related:User)', + disabledBy: '<-[:DECIDED]-(related:User)', }, }), }, diff --git a/backend/src/schema/resolvers/moderation.js b/backend/src/schema/resolvers/moderation.js index d61df7545..c519d9724 100644 --- a/backend/src/schema/resolvers/moderation.js +++ b/backend/src/schema/resolvers/moderation.js @@ -8,7 +8,16 @@ export default { MATCH (resource {id: $id}) WHERE resource:User OR resource:Comment OR resource:Post SET resource.disabled = true - MERGE (resource)<-[:DISABLED]-(u) + MERGE (resource)<-[decided:DECIDED]-(u) + SET ( + CASE + WHEN decided.createdAt IS NOT NULL + THEN decided END).updatedAt = toString(datetime()) + SET ( + CASE + WHEN decided.createdAt IS NULL + THEN decided END).createdAt = toString(datetime()) + SET decided.disabled = true RETURN resource {.id} ` const session = driver.session() @@ -23,11 +32,14 @@ export default { enable: async (object, params, { user, driver }) => { const { id } = params const cypher = ` - MATCH (resource {id: $id})<-[d:DISABLED]-() + MATCH (resource {id: $id})<-[decided:DECIDED]-(:User) SET resource.disabled = false - DELETE d + DELETE decided RETURN resource {.id} ` + // Wolle + // SET decided.updatedAt = toString(datetime()) + // SET decided.disabled = false const session = driver.session() const res = await session.run(cypher, { id }) session.close() diff --git a/backend/src/schema/resolvers/posts.js b/backend/src/schema/resolvers/posts.js index 3b3065277..de28d1000 100644 --- a/backend/src/schema/resolvers/posts.js +++ b/backend/src/schema/resolvers/posts.js @@ -306,7 +306,7 @@ export default { }, hasOne: { author: '<-[:WROTE]-(related:User)', - disabledBy: '<-[:DISABLED]-(related:User)', + disabledBy: '<-[:DECIDED]-(related:User)', pinnedBy: '<-[:PINNED]-(related:User)', }, count: { diff --git a/backend/src/schema/resolvers/users.js b/backend/src/schema/resolvers/users.js index 06b25b4fa..a84d04c1d 100644 --- a/backend/src/schema/resolvers/users.js +++ b/backend/src/schema/resolvers/users.js @@ -198,7 +198,7 @@ export default { }, hasOne: { invitedBy: '<-[:INVITED]-(related:User)', - disabledBy: '<-[:DISABLED]-(related:User)', + disabledBy: '<-[:DECIDED]-(related:User)', location: '-[:IS_IN]->(related:Location)', }, hasMany: { diff --git a/backend/src/schema/types/type/Comment.gql b/backend/src/schema/types/type/Comment.gql index 1ccf617ef..21220186a 100644 --- a/backend/src/schema/types/type/Comment.gql +++ b/backend/src/schema/types/type/Comment.gql @@ -9,7 +9,7 @@ type Comment { updatedAt: String deleted: Boolean disabled: Boolean - disabledBy: User @relation(name: "DISABLED", direction: "IN") + disabledBy: User @relation(name: "DECIDED", direction: "IN") } type Mutation { diff --git a/backend/src/schema/types/type/Post.gql b/backend/src/schema/types/type/Post.gql index b4d98ec5c..5d94d7af0 100644 --- a/backend/src/schema/types/type/Post.gql +++ b/backend/src/schema/types/type/Post.gql @@ -47,7 +47,7 @@ type Post { deleted: Boolean disabled: Boolean pinned: Boolean - disabledBy: User @relation(name: "DISABLED", direction: "IN") + disabledBy: User @relation(name: "DECIDED", direction: "IN") createdAt: String updatedAt: String language: String diff --git a/backend/src/schema/types/type/User.gql b/backend/src/schema/types/type/User.gql index cce0df058..a437fd8ef 100644 --- a/backend/src/schema/types/type/User.gql +++ b/backend/src/schema/types/type/User.gql @@ -8,7 +8,7 @@ type User { coverImg: String deleted: Boolean disabled: Boolean - disabledBy: User @relation(name: "DISABLED", direction: "IN") + disabledBy: User @relation(name: "DECIDED", direction: "IN") role: UserGroup! publicKey: String invitedBy: User @relation(name: "INVITED", direction: "IN")