mirror of
https://github.com/IT4Change/Ocelot-Social.git
synced 2025-12-13 07:45:56 +00:00
Refactor the database structure from DISABLED to DECIDED relation
- First Step. - Apply properties to the relation.
This commit is contained in:
parent
98029a6d46
commit
6593c6ec5c
@ -27,7 +27,7 @@ module.exports = {
|
||||
},
|
||||
disabledBy: {
|
||||
type: 'relationship',
|
||||
relationship: 'DISABLED',
|
||||
relationship: 'DECIDED',
|
||||
target: 'User',
|
||||
direction: 'in',
|
||||
},
|
||||
|
||||
@ -19,7 +19,7 @@ module.exports = {
|
||||
disabled: { type: 'boolean', default: false },
|
||||
disabledBy: {
|
||||
type: 'relationship',
|
||||
relationship: 'DISABLED',
|
||||
relationship: 'DECIDED',
|
||||
target: 'User',
|
||||
direction: 'in',
|
||||
},
|
||||
|
||||
@ -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',
|
||||
},
|
||||
|
||||
@ -68,7 +68,7 @@ export default {
|
||||
hasOne: {
|
||||
author: '<-[:WROTE]-(related:User)',
|
||||
post: '-[:COMMENTS]->(related:Post)',
|
||||
disabledBy: '<-[:DISABLED]-(related:User)',
|
||||
disabledBy: '<-[:DECIDED]-(related:User)',
|
||||
},
|
||||
}),
|
||||
},
|
||||
|
||||
@ -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()
|
||||
|
||||
@ -306,7 +306,7 @@ export default {
|
||||
},
|
||||
hasOne: {
|
||||
author: '<-[:WROTE]-(related:User)',
|
||||
disabledBy: '<-[:DISABLED]-(related:User)',
|
||||
disabledBy: '<-[:DECIDED]-(related:User)',
|
||||
pinnedBy: '<-[:PINNED]-(related:User)',
|
||||
},
|
||||
count: {
|
||||
|
||||
@ -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: {
|
||||
|
||||
@ -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 {
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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")
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user