Merge pull request #3777 from strapi/chore/clear-ids

Clear _id now that queries return an id everytime
This commit is contained in:
Alexandre BODIN 2019-08-13 17:40:50 +02:00 committed by GitHub
commit dcbee6a1c4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 31 additions and 42 deletions

View File

@ -13,9 +13,8 @@ const sanitizeUser = user => {
* @param {object} admon - admin user * @param {object} admon - admin user
*/ */
const createJwtToken = admin => { const createJwtToken = admin => {
const payload = _.pick(admin.toJSON ? admin.toJSON() : admin, ['_id', 'id']);
return strapi.plugins['users-permissions'].services.jwt.issue({ return strapi.plugins['users-permissions'].services.jwt.issue({
...payload, id: admin.id,
isAdmin: true, isAdmin: true,
}); });
}; };

View File

@ -16,9 +16,6 @@ const _ = require('lodash');
module.exports = scope => { module.exports = scope => {
function generateRoutes() { function generateRoutes() {
const tokenID =
scope.args.tpl && scope.args.tpl !== 'mongoose' ? 'id' : '_id';
const routes = { const routes = {
routes: [ routes: [
{ {
@ -39,7 +36,7 @@ module.exports = scope => {
}, },
{ {
method: 'GET', method: 'GET',
path: '/' + scope.idPluralized + '/:' + tokenID, path: '/' + scope.idPluralized + '/:id',
handler: scope.globalID + '.findOne', handler: scope.globalID + '.findOne',
config: { config: {
policies: [], policies: [],
@ -55,7 +52,7 @@ module.exports = scope => {
}, },
{ {
method: 'PUT', method: 'PUT',
path: '/' + scope.idPluralized + '/:' + tokenID, path: '/' + scope.idPluralized + '/:id',
handler: scope.globalID + '.update', handler: scope.globalID + '.update',
config: { config: {
policies: [], policies: [],
@ -63,12 +60,12 @@ module.exports = scope => {
}, },
{ {
method: 'DELETE', method: 'DELETE',
path: '/' + scope.idPluralized + '/:' + tokenID, path: '/' + scope.idPluralized + '/:id',
handler: scope.globalID + '.delete', handler: scope.globalID + '.delete',
config: { config: {
policies: [], policies: [],
}, },
} },
], ],
}; };

View File

@ -97,7 +97,7 @@ module.exports = {
fetch(params) { fetch(params) {
return strapi.query('file', 'upload').findOne({ return strapi.query('file', 'upload').findOne({
id: params._id || params.id, id: params.id,
}); });
}, },

View File

@ -5,22 +5,22 @@ module.exports = async (ctx, next) => {
if (ctx.request && ctx.request.header && ctx.request.header.authorization) { if (ctx.request && ctx.request.header && ctx.request.header.authorization) {
try { try {
const { _id, id, isAdmin = false } = await strapi.plugins[ const { id, isAdmin = false } = await strapi.plugins[
'users-permissions' 'users-permissions'
].services.jwt.getToken(ctx); ].services.jwt.getToken(ctx);
if ((id || _id) === undefined) { if (id === undefined) {
throw new Error('Invalid token: Token did not contain required fields'); throw new Error('Invalid token: Token did not contain required fields');
} }
if (isAdmin) { if (isAdmin) {
ctx.state.admin = await strapi ctx.state.admin = await strapi
.query('administrator', 'admin') .query('administrator', 'admin')
.findOne({ id: _id || id }); .findOne({ id });
} else { } else {
ctx.state.user = await strapi ctx.state.user = await strapi
.query('user', 'users-permissions') .query('user', 'users-permissions')
.findOne({ id: _id || id }); .findOne({ id });
} }
} catch (err) { } catch (err) {
return handleErrors(ctx, err, 'unauthorized'); return handleErrors(ctx, err, 'unauthorized');
@ -87,7 +87,7 @@ module.exports = async (ctx, next) => {
.query('permission', 'users-permissions') .query('permission', 'users-permissions')
.findOne( .findOne(
{ {
role: role._id || role.id, role: role.id,
type: route.plugin || 'application', type: route.plugin || 'application',
controller: route.controller, controller: route.controller,
action: route.action, action: route.action,

View File

@ -25,11 +25,6 @@ module.exports = {
me: UsersPermissionsMe me: UsersPermissionsMe
`, `,
resolver: { resolver: {
UsersPermissionsMe: {
id(obj) {
return obj.id || obj._id;
},
},
Query: { Query: {
me: { me: {
resolverOf: 'User.me', resolverOf: 'User.me',

View File

@ -122,9 +122,9 @@ module.exports = {
); );
} else { } else {
ctx.send({ ctx.send({
jwt: strapi.plugins['users-permissions'].services.jwt.issue( jwt: strapi.plugins['users-permissions'].services.jwt.issue({
_.pick(user.toJSON ? user.toJSON() : user, ['_id', 'id']) id: user.id,
), }),
user: _.omit(user.toJSON ? user.toJSON() : user, [ user: _.omit(user.toJSON ? user.toJSON() : user, [
'password', 'password',
'resetPasswordToken', 'resetPasswordToken',
@ -157,9 +157,9 @@ module.exports = {
} }
ctx.send({ ctx.send({
jwt: strapi.plugins['users-permissions'].services.jwt.issue( jwt: strapi.plugins['users-permissions'].services.jwt.issue({
_.pick(user, ['_id', 'id']) id: user.id,
), }),
user: _.omit(user.toJSON ? user.toJSON() : user, [ user: _.omit(user.toJSON ? user.toJSON() : user, [
'password', 'password',
'resetPasswordToken', 'resetPasswordToken',
@ -203,9 +203,9 @@ module.exports = {
.update({ id: user.id }, user); .update({ id: user.id }, user);
ctx.send({ ctx.send({
jwt: strapi.plugins['users-permissions'].services.jwt.issue( jwt: strapi.plugins['users-permissions'].services.jwt.issue({
_.pick(user.toJSON ? user.toJSON() : user, ['_id', 'id']) id: user.id,
), }),
user: _.omit(user.toJSON ? user.toJSON() : user, [ user: _.omit(user.toJSON ? user.toJSON() : user, [
'password', 'password',
'resetPasswordToken', 'resetPasswordToken',
@ -418,7 +418,7 @@ module.exports = {
params.email = params.email.toLowerCase(); params.email = params.email.toLowerCase();
} }
params.role = role._id || role.id; params.role = role.id;
params.password = await strapi.plugins[ params.password = await strapi.plugins[
'users-permissions' 'users-permissions'
].services.user.hashPassword(params); ].services.user.hashPassword(params);
@ -535,12 +535,12 @@ module.exports = {
async emailConfirmation(ctx) { async emailConfirmation(ctx) {
const params = ctx.query; const params = ctx.query;
const user = await strapi.plugins['users-permissions'].services.jwt.verify( const decodedToken = await strapi.plugins[
params.confirmation 'users-permissions'
); ].services.jwt.verify(params.confirmation);
await strapi.plugins['users-permissions'].services.user.edit( await strapi.plugins['users-permissions'].services.user.edit(
_.pick(user, ['_id', 'id']), { id: decodedToken.id },
{ confirmed: true } { confirmed: true }
); );

View File

@ -48,7 +48,7 @@ module.exports = {
.query('role', 'users-permissions') .query('role', 'users-permissions')
.findOne({ type: 'public' }); .findOne({ type: 'public' });
const publicRoleID = publicRole.id || publicRole._id; const publicRoleID = publicRole.id;
const roleID = ctx.params.role; const roleID = ctx.params.role;

View File

@ -97,7 +97,7 @@ exports.connect = (provider, query) => {
// Create the new user. // Create the new user.
const params = _.assign(profile, { const params = _.assign(profile, {
provider: provider, provider: provider,
role: defaultRole._id || defaultRole.id, role: defaultRole.id,
}); });
const createdUser = await strapi const createdUser = await strapi

View File

@ -28,7 +28,7 @@ module.exports = {
).forEach(action => { ).forEach(action => {
acc.push( acc.push(
strapi.query('permission', 'users-permissions').create({ strapi.query('permission', 'users-permissions').create({
role: role._id || role.id, role: role.id,
type, type,
controller, controller,
action: action.toLowerCase(), action: action.toLowerCase(),
@ -72,7 +72,7 @@ module.exports = {
acc.push( acc.push(
strapi.query('user', 'users-permissions').update( strapi.query('user', 'users-permissions').update(
{ {
id: user._id || user.id, id: user.id,
}, },
{ {
role: publicRoleID, role: publicRoleID,
@ -87,7 +87,7 @@ module.exports = {
role.permissions.forEach(permission => { role.permissions.forEach(permission => {
arrayOfPromises.push( arrayOfPromises.push(
strapi.query('permission', 'users-permissions').delete({ strapi.query('permission', 'users-permissions').delete({
id: permission._id || permission.id, id: permission.id,
}) })
); );
}); });
@ -225,8 +225,6 @@ module.exports = {
.find({ _sort: 'name' }, []); .find({ _sort: 'name' }, []);
for (let i = 0; i < roles.length; ++i) { for (let i = 0; i < roles.length; ++i) {
roles[i].id = roles[i].id || roles[i]._id;
roles[i].nb_users = await strapi roles[i].nb_users = await strapi
.query('user', 'users-permissions') .query('user', 'users-permissions')
.count({ role: roles[i].id }); .count({ role: roles[i].id });
@ -411,7 +409,7 @@ module.exports = {
toAdd.map(action => { toAdd.map(action => {
const data = { const data = {
...defaultPolicy(action, role), ...defaultPolicy(action, role),
...{ role: role.id || role._id }, role: role.id,
}; };
return query.create(data); return query.create(data);