Fix default role provider and create user fix #1212

This commit is contained in:
Jim Laurie 2018-06-12 19:19:10 +02:00
parent 07f2c3aea5
commit 4d47d65c6d
2 changed files with 13 additions and 5 deletions

View File

@ -70,12 +70,14 @@ module.exports = {
*/ */
create: async (ctx) => { create: async (ctx) => {
if ((await strapi.store({ const advanced = await strapi.store({
environment: '', environment: '',
type: 'plugin', type: 'plugin',
name: 'users-permissions', name: 'users-permissions',
key: 'advanced' key: 'advanced'
}).get()).unique_email && ctx.request.body.email) { }).get();
if (advanced.unique_email && ctx.request.body.email) {
const user = await strapi.query('user', 'users-permissions').findOne({ email: ctx.request.body.email }); const user = await strapi.query('user', 'users-permissions').findOne({ email: ctx.request.body.email });
if (user) { if (user) {
@ -83,6 +85,12 @@ module.exports = {
} }
} }
if (!ctx.request.body.role) {
const defaultRole = await strapi.query('role', 'users-permissions').findOne({ type: advanced.default_role }, []);
ctx.request.body.role = defaultRole._id || defaultRole.id;
}
try { try {
const data = await strapi.plugins['users-permissions'].services.user.add(ctx.request.body); const data = await strapi.plugins['users-permissions'].services.user.add(ctx.request.body);
// Send 201 `created` // Send 201 `created`

View File

@ -70,13 +70,13 @@ exports.connect = (provider, query) => {
return resolve([null, [{ messages: [{ id: 'Auth.form.error.email.taken' }] }], 'Email is already taken.']); return resolve([null, [{ messages: [{ id: 'Auth.form.error.email.taken' }] }], 'Email is already taken.']);
} }
// Retrieve role `authenticated`. // Retrieve default role.
const authenticatedRole = await strapi.query('role', 'users-permissions').findOne({ type: 'authenticated' }, []); const defaultRole = await strapi.query('role', 'users-permissions').findOne({ type: advanced.default_role }, []);
// Create the new user. // Create the new user.
const params = _.assign(profile, { const params = _.assign(profile, {
provider: provider, provider: provider,
role: authenticatedRole._id || authenticatedRole.id role: defaultRole._id || defaultRole.id
}); });
const createdUser = await strapi.query('user', 'users-permissions').create(params); const createdUser = await strapi.query('user', 'users-permissions').create(params);