feat: register validation + create + admin improvements

This commit is contained in:
Nicolas Giard
2018-12-17 00:51:52 -05:00
parent 17244a0cb3
commit 901dbb98e0
25 changed files with 668 additions and 62 deletions

View File

@@ -38,7 +38,7 @@ module.exports = {
AuthenticationMutation: {
async login(obj, args, context) {
try {
let authResult = await WIKI.models.users.login(args, context)
const authResult = await WIKI.models.users.login(args, context)
return {
...authResult,
responseResult: graphHelper.generateSuccess('Login success')
@@ -49,7 +49,7 @@ module.exports = {
},
async loginTFA(obj, args, context) {
try {
let authResult = await WIKI.models.users.loginTFA(args, context)
const authResult = await WIKI.models.users.loginTFA(args, context)
return {
...authResult,
responseResult: graphHelper.generateSuccess('TFA success')
@@ -58,6 +58,22 @@ module.exports = {
return graphHelper.generateError(err)
}
},
async register(obj, args, context) {
try {
await WIKI.models.users.register(args, context)
const authResult = await WIKI.models.users.login({
username: args.email,
password: args.password,
strategy: 'local'
}, context)
return {
jwt: authResult.jwt,
responseResult: graphHelper.generateSuccess('Registration success')
}
} catch (err) {
return graphHelper.generateError(err)
}
},
async updateStrategies(obj, args, context) {
try {
for (let str of args.strategies) {

View File

@@ -36,6 +36,12 @@ type AuthenticationMutation {
securityCode: String!
): DefaultResponse
register(
email: String!
password: String!
name: String!
): AuthenticationRegisterResponse
updateStrategies(
strategies: [AuthenticationStrategyInput]
): DefaultResponse @auth(requires: ["manage:system"])
@@ -69,6 +75,11 @@ type AuthenticationLoginResponse {
tfaLoginToken: String
}
type AuthenticationRegisterResponse {
responseResult: ResponseStatus
jwt: String
}
input AuthenticationStrategyInput {
isEnabled: Boolean!
key: String!