What is the correct syntax for creating a user and populating the role?

Thank you for your answer, @jgielstra.

This is my approach:

const sql_getRole = `SELECT * FROM up_roles WHERE type LIKE ${escape('user')}`
const res_all_getRole = await strapi.db.connection.context.raw( sql_getRole )
const res_getRole = res_all_getRole[0]
if ( res_getRole.length <= 0 )
{
	return ctx.badRequest(null, 'Internal error: User role not found!')
}
const user_role = res_getRole[0]

...

const sql_setRole = `INSERT INTO up_users_role_links (user_id, role_id) VALUES (${user_id}, ${user_role.id})`
const res_setRole = await strapi.db.connection.context.raw( sql_setRole )
const user_role_id = _.get(res_setRole, '[0].insertId', null)
if ( user_role_id === null )
{
	return ctx.badRequest(null, 'Internal error (role): Cannot create account!')
}

This solution is not particularly elegant, but it works.

1 Like