mirror of https://github.com/Requarks/wiki.git
9 changed files with 163 additions and 5 deletions
Split View
Diff Options
-
6server/models/_relations.js
-
4server/modules/graphql.js
-
2server/queues/git-sync.js
-
2server/queues/upl-clear-temp.js
-
29server/schemas/resolvers-folder.js
-
36server/schemas/resolvers-group.js
-
57server/schemas/resolvers-tag.js
-
8server/schemas/resolvers-user.js
-
24server/schemas/types.graphql
@ -0,0 +1,29 @@ |
|||
'use strict' |
|||
|
|||
/* global wiki */ |
|||
|
|||
module.exports = { |
|||
Query: { |
|||
folders(obj, args, context, info) { |
|||
return wiki.db.Folder.findAll({ where: args }) |
|||
} |
|||
}, |
|||
Mutation: { |
|||
createFolder(obj, args) { |
|||
return wiki.db.Folder.create(args) |
|||
}, |
|||
deleteGroup(obj, args) { |
|||
return wiki.db.Folder.destroy({ |
|||
where: { |
|||
id: args.id |
|||
}, |
|||
limit: 1 |
|||
}) |
|||
} |
|||
}, |
|||
Folder: { |
|||
files(grp) { |
|||
return grp.getFiles() |
|||
} |
|||
} |
|||
} |
@ -0,0 +1,57 @@ |
|||
'use strict' |
|||
|
|||
/* global wiki */ |
|||
|
|||
const gql = require('graphql') |
|||
|
|||
module.exports = { |
|||
Query: { |
|||
tags(obj, args, context, info) { |
|||
return wiki.db.Tag.findAll({ where: args }) |
|||
} |
|||
}, |
|||
Mutation: { |
|||
assignTagToDocument(obj, args) { |
|||
return wiki.db.Tag.findById(args.tagId).then(tag => { |
|||
if (!tag) { |
|||
throw new gql.GraphQLError('Invalid Tag ID') |
|||
} |
|||
return wiki.db.Document.findById(args.documentId).then(doc => { |
|||
if (!doc) { |
|||
throw new gql.GraphQLError('Invalid Document ID') |
|||
} |
|||
return tag.addDocument(doc) |
|||
}) |
|||
}) |
|||
}, |
|||
createTag(obj, args) { |
|||
return wiki.db.Tag.create(args) |
|||
}, |
|||
deleteTag(obj, args) { |
|||
return wiki.db.Tag.destroy({ |
|||
where: { |
|||
id: args.id |
|||
}, |
|||
limit: 1 |
|||
}) |
|||
}, |
|||
removeTagFromDocument(obj, args) { |
|||
return wiki.db.Tag.findById(args.tagId).then(tag => { |
|||
if (!tag) { |
|||
throw new gql.GraphQLError('Invalid Tag ID') |
|||
} |
|||
return wiki.db.Document.findById(args.documentId).then(doc => { |
|||
if (!doc) { |
|||
throw new gql.GraphQLError('Invalid Document ID') |
|||
} |
|||
return tag.removeDocument(doc) |
|||
}) |
|||
}) |
|||
} |
|||
}, |
|||
Tag: { |
|||
documents(tag) { |
|||
return tag.getDocuments() |
|||
} |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save