feat: delete a user
This commit is contained in:
@@ -29,7 +29,7 @@ module.exports = {
|
||||
}
|
||||
},
|
||||
UserMutation: {
|
||||
async create(obj, args) {
|
||||
async create (obj, args) {
|
||||
try {
|
||||
await WIKI.models.users.createNewUser(args)
|
||||
|
||||
@@ -40,10 +40,24 @@ module.exports = {
|
||||
return graphHelper.generateError(err)
|
||||
}
|
||||
},
|
||||
delete(obj, args) {
|
||||
return WIKI.models.users.query().deleteById(args.id)
|
||||
async delete (obj, args) {
|
||||
try {
|
||||
if (args.id <= 2) {
|
||||
throw new WIKI.Error.UserDeleteProtected()
|
||||
}
|
||||
await WIKI.models.users.query().deleteById(args.id)
|
||||
return {
|
||||
responseResult: graphHelper.generateSuccess('User deleted successfully')
|
||||
}
|
||||
} catch (err) {
|
||||
if (err.message.indexOf('foreign') >= 0) {
|
||||
return graphHelper.generateError(new WIKI.Error.UserDeleteForeignConstraint())
|
||||
} else {
|
||||
return graphHelper.generateError(err)
|
||||
}
|
||||
}
|
||||
},
|
||||
async update(obj, args) {
|
||||
async update (obj, args) {
|
||||
try {
|
||||
await WIKI.models.users.updateUser(args)
|
||||
|
||||
@@ -54,7 +68,7 @@ module.exports = {
|
||||
return graphHelper.generateError(err)
|
||||
}
|
||||
},
|
||||
resetPassword(obj, args) {
|
||||
resetPassword (obj, args) {
|
||||
return false
|
||||
}
|
||||
},
|
||||
|
@@ -169,6 +169,14 @@ module.exports = {
|
||||
message: 'An unexpected error occured during user creation.',
|
||||
code: 1009
|
||||
}),
|
||||
UserDeleteForeignConstraint: CustomError('UserCreationFailed', {
|
||||
message: 'Cannot delete user because of content relational constraints.',
|
||||
code: 1017
|
||||
}),
|
||||
UserDeleteProtected: CustomError('UserDeleteProtected', {
|
||||
message: 'Cannot delete a protected system account.',
|
||||
code: 1018
|
||||
}),
|
||||
UserNotFound: CustomError('UserNotFound', {
|
||||
message: 'This user does not exist.',
|
||||
code: 1016
|
||||
|
8
server/modules/rendering/openapi-core/definition.yml
Normal file
8
server/modules/rendering/openapi-core/definition.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
key: openapiCore
|
||||
title: Core
|
||||
description: Basic OpenAPI Parser
|
||||
author: requarks.io
|
||||
input: openapi
|
||||
output: html
|
||||
icon: mdi-api
|
||||
props: {}
|
14
server/modules/rendering/openapi-core/renderer.js
Normal file
14
server/modules/rendering/openapi-core/renderer.js
Normal file
@@ -0,0 +1,14 @@
|
||||
const _ = require('lodash')
|
||||
|
||||
module.exports = {
|
||||
async render() {
|
||||
let output = this.input
|
||||
|
||||
for (let child of this.children) {
|
||||
const renderer = require(`../${_.kebabCase(child.key)}/renderer.js`)
|
||||
output = await renderer.init(output, child.config)
|
||||
}
|
||||
|
||||
return output
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user