feat: admin tags (#1452)

This commit is contained in:
Nicolas Giard
2020-02-09 00:49:32 -05:00
committed by GitHub
parent 90fbc62917
commit 5c20f585a4
9 changed files with 311 additions and 2 deletions

View File

@@ -289,6 +289,46 @@ module.exports = {
return graphHelper.generateError(err)
}
},
/**
* DELETE TAG
*/
async deleteTag (obj, args, context) {
try {
const tagToDel = await WIKI.models.tags.query().findById(args.id)
if (tagToDel) {
await tagToDel.$relatedQuery('pages').unrelate()
await WIKI.models.tags.query().deleteById(args.id)
} else {
throw new Error('This tag does not exist.')
}
return {
responseResult: graphHelper.generateSuccess('Tag has been deleted.')
}
} catch (err) {
return graphHelper.generateError(err)
}
},
/**
* UPDATE TAG
*/
async updateTag (obj, args, context) {
try {
const affectedRows = await WIKI.models.tags.query()
.findById(args.id)
.patch({
tag: args.tag,
title: args.title
})
if (affectedRows < 1) {
throw new Error('This tag does not exist.')
}
return {
responseResult: graphHelper.generateSuccess('Tag has been updated successfully.')
}
} catch (err) {
return graphHelper.generateError(err)
}
},
/**
* FLUSH PAGE CACHE
*/

View File

@@ -372,6 +372,10 @@ module.exports = {
async usersTotal () {
const total = await WIKI.models.users.query().count('* as total').first()
return _.toSafeInteger(total.total)
},
async tagsTotal () {
const total = await WIKI.models.tags.query().count('* as total').first()
return _.toSafeInteger(total.total)
}
}
}