mirror of https://github.com/requarks/wiki
parent
1405b822f4
commit
840eb7e705
@ -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()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in new issue