Set user's posts/comments' delete attribute to true

- favor over actually deleting the node so that the comments will appear as anonymous and not lose the context of the conversation
- the post will not appear, but for admin it will be accessible
- follow @roschaefer `PR` review
This commit is contained in:
Matt Rider 2019-06-12 15:27:57 -03:00
parent 83c7773d1b
commit d15857d240
2 changed files with 11 additions and 9 deletions

View File

@ -21,7 +21,7 @@ export default {
await session.run( await session.run(
` `
MATCH (resource:${node})<-[:WROTE]-(author:User {id: $userId}) MATCH (resource:${node})<-[:WROTE]-(author:User {id: $userId})
DETACH DELETE resource SET resource.deleted = true
RETURN author`, RETURN author`,
{ {
userId: context.user.id, userId: context.user.id,

View File

@ -93,9 +93,11 @@ describe('users', () => {
id id
contributions { contributions {
id id
deleted
} }
comments { comments {
id id
deleted
} }
} }
} }
@ -161,8 +163,8 @@ describe('users', () => {
expectedResponse = { expectedResponse = {
DeleteUser: { DeleteUser: {
id: 'u343', id: 'u343',
contributions: [{ id: 'p139' }], contributions: [{ id: 'p139', deleted: false }],
comments: [{ id: 'c155' }], comments: [{ id: 'c155', deleted: false }],
}, },
} }
}) })
@ -178,8 +180,8 @@ describe('users', () => {
expectedResponse = { expectedResponse = {
DeleteUser: { DeleteUser: {
id: 'u343', id: 'u343',
contributions: [], contributions: [{ id: 'p139', deleted: true }],
comments: [{ id: 'c155' }], comments: [{ id: 'c155', deleted: false }],
}, },
} }
await expect(client.request(deleteUserMutation, deleteUserVariables)).resolves.toEqual( await expect(client.request(deleteUserMutation, deleteUserVariables)).resolves.toEqual(
@ -192,8 +194,8 @@ describe('users', () => {
expectedResponse = { expectedResponse = {
DeleteUser: { DeleteUser: {
id: 'u343', id: 'u343',
contributions: [{ id: 'p139' }], contributions: [{ id: 'p139', deleted: false }],
comments: [], comments: [{ id: 'c155', deleted: true }],
}, },
} }
await expect(client.request(deleteUserMutation, deleteUserVariables)).resolves.toEqual( await expect(client.request(deleteUserMutation, deleteUserVariables)).resolves.toEqual(
@ -206,8 +208,8 @@ describe('users', () => {
expectedResponse = { expectedResponse = {
DeleteUser: { DeleteUser: {
id: 'u343', id: 'u343',
contributions: [], contributions: [{ id: 'p139', deleted: true }],
comments: [], comments: [{ id: 'c155', deleted: true }],
}, },
} }
await expect(client.request(deleteUserMutation, deleteUserVariables)).resolves.toEqual( await expect(client.request(deleteUserMutation, deleteUserVariables)).resolves.toEqual(