52 lines
1.0 KiB
JavaScript
52 lines
1.0 KiB
JavaScript
|
|
||
|
/* global wiki */
|
||
|
|
||
|
const gql = require('graphql')
|
||
|
|
||
|
module.exports = {
|
||
|
Query: {
|
||
|
files(obj, args, context, info) {
|
||
|
return wiki.db.File.findAll({ where: args })
|
||
|
}
|
||
|
},
|
||
|
Mutation: {
|
||
|
uploadFile(obj, args) {
|
||
|
// todo
|
||
|
return wiki.db.File.create(args)
|
||
|
},
|
||
|
deleteFile(obj, args) {
|
||
|
return wiki.db.File.destroy({
|
||
|
where: {
|
||
|
id: args.id
|
||
|
},
|
||
|
limit: 1
|
||
|
})
|
||
|
},
|
||
|
renameFile(obj, args) {
|
||
|
return wiki.db.File.update({
|
||
|
filename: args.filename
|
||
|
}, {
|
||
|
where: { id: args.id }
|
||
|
})
|
||
|
},
|
||
|
moveFile(obj, args) {
|
||
|
return wiki.db.File.findById(args.fileId).then(fl => {
|
||
|
if (!fl) {
|
||
|
throw new gql.GraphQLError('Invalid File ID')
|
||
|
}
|
||
|
return wiki.db.Folder.findById(args.folderId).then(fld => {
|
||
|
if (!fld) {
|
||
|
throw new gql.GraphQLError('Invalid Folder ID')
|
||
|
}
|
||
|
return fl.setFolder(fld)
|
||
|
})
|
||
|
})
|
||
|
}
|
||
|
},
|
||
|
File: {
|
||
|
folder(fl) {
|
||
|
return fl.getFolder()
|
||
|
}
|
||
|
}
|
||
|
}
|