feat: admin groups - list + create, gql refactoring

This commit is contained in:
NGPixel
2018-03-24 22:35:47 -04:00
parent cb253f7bfa
commit 7793df9bd4
28 changed files with 445 additions and 183 deletions

View File

@@ -35,7 +35,7 @@ module.exports = {
let authResult = await WIKI.db.User.login(args, context)
return {
...authResult,
operation: graphHelper.generateSuccess('Login success')
responseResult: graphHelper.generateSuccess('Login success')
}
} catch (err) {
return graphHelper.generateError(err)
@@ -46,7 +46,7 @@ module.exports = {
let authResult = await WIKI.db.User.loginTFA(args, context)
return {
...authResult,
operation: graphHelper.generateSuccess('TFA success')
responseResult: graphHelper.generateSuccess('TFA success')
}
} catch (err) {
return graphHelper.generateError(err)

View File

@@ -1,3 +1,4 @@
const graphHelper = require('../../helpers/graph')
/* global WIKI */
@@ -11,8 +12,22 @@ module.exports = {
async groups() { return {} }
},
GroupQuery: {
list(obj, args, context, info) {
return WIKI.db.Group.findAll({ where: args })
async list(obj, args, context, info) {
return WIKI.db.Group.findAll({
attributes: {
include: [[WIKI.db.inst.fn('COUNT', WIKI.db.inst.col('users.id')), 'userCount']]
},
include: [{
model: WIKI.db.User,
attributes: [],
through: {
attributes: []
}
}],
raw: true,
// TODO: Figure out how to exclude these extra fields...
group: ['group.id', 'users->userGroups.createdAt', 'users->userGroups.updatedAt', 'users->userGroups.version', 'users->userGroups.userId', 'users->userGroups.groupId']
})
}
},
GroupMutation: {
@@ -29,8 +44,15 @@ module.exports = {
})
})
},
create(obj, args) {
return WIKI.db.Group.create(args)
async create(obj, args) {
const group = await WIKI.db.Group.create({
name: args.name
})
console.info(group)
return {
responseResult: graphHelper.generateSuccess('Group created successfully.'),
group
}
},
delete(obj, args) {
return WIKI.db.Group.destroy({