Skip to content
Snippets Groups Projects
Commit b8df38a6 authored by Sebastian Mihalache's avatar Sebastian Mihalache :hammer_pick:
Browse files

feat(user): addUserWithConfirmationEmail

parent 1f5aeb55
No related branches found
No related tags found
3 merge requests!222Sprint #26,!217Sprint #26,!200Component user add user
const Chance = require('chance')
const chance = new Chance()
const resolvers = {
Mutation: {
async addUserWithConfirmationEmail(_, { input }, ctx) {
console.log('ROLE:', input.role)
input.notifications = {
email: {
system: true,
user: true,
},
}
input.accessTokens = {
confirmation: chance.hash(),
unsubscribe: chance.hash(),
}
try {
const user = await ctx.connectors.User.create(input, ctx)
console.log(user)
return user
} catch (e) {
console.log(e)
}
},
},
}
module.exports = resolvers
...@@ -17,15 +17,22 @@ module.exports = ` ...@@ -17,15 +17,22 @@ module.exports = `
} }
extend input UserInput { extend input UserInput {
isActive: Boolean
isConfirmed: Boolean
firstName: String firstName: String
lastName: String lastName: String
title: String title: String
country: String country: String
affiliation: String affiliation: String
admin: Boolean role: AllowedRole!
editorInChief: Boolean }
handlingEditor: Boolean
extend type Mutation {
addUserWithConfirmationEmail(input: UserInput!): User
}
enum AllowedRole {
editorInChief
handlingEditor
admin
author
} }
` `
require('dotenv').config() require('dotenv').config()
const path = require('path') const path = require('path')
const get = require('lodash/get')
const logger = require('winston') const logger = require('winston')
const components = require('./components.json') const components = require('./components.json')
const journalConfig = require('../app/config/journal') const journalConfig = require('../app/config/journal')
const { merge, get } = require('lodash')
const users = require('../../component-user') const users = require('../../component-user')
...@@ -49,7 +49,7 @@ module.exports = { ...@@ -49,7 +49,7 @@ module.exports = {
enableExperimentalGraphql: true, enableExperimentalGraphql: true,
graphiql: true, graphiql: true,
typeDefs: `${users.typeDefs}`, typeDefs: `${users.typeDefs}`,
// resolvers, resolvers: merge({}, users.resolvers),
}, },
'pubsweet-client': { 'pubsweet-client': {
API_ENDPOINT: '/api', API_ENDPOINT: '/api',
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment