diff --git a/packages/strapi-admin/services/permission/permissions-manager.js b/packages/strapi-admin/services/permission/permissions-manager.js index db41efe968..b534945b8a 100644 --- a/packages/strapi-admin/services/permission/permissions-manager.js +++ b/packages/strapi-admin/services/permission/permissions-manager.js @@ -35,7 +35,7 @@ module.exports = (ability, action, model) => ({ queryFrom(query) { return { ...query, - _where: _.concat(this.query, query._where), + _where: _.concat(this.query, query._where || {}), }; }, diff --git a/packages/strapi-plugin-content-manager/controllers/ContentManager.js b/packages/strapi-plugin-content-manager/controllers/ContentManager.js index 93494f21b2..e070f9791e 100644 --- a/packages/strapi-plugin-content-manager/controllers/ContentManager.js +++ b/packages/strapi-plugin-content-manager/controllers/ContentManager.js @@ -101,21 +101,15 @@ module.exports = { state: { userAbility }, params: { model, id }, } = ctx; - const contentManagerService = strapi.plugins['content-manager'].services.contentmanager; - const pm = strapi.admin.services.permission.createPermissionsManager( + + const { pm, entity } = await findEntityAndCheckPermissions( userAbility, ACTIONS.read, - model + model, + id ); - const entry = await contentManagerService.fetch(model, id, { query: pm.query }); - - // Entry not found - if (!entry) { - return ctx.notFound('Entry not found'); - } - - ctx.body = pm.sanitize(entry); + ctx.body = pm.sanitize(entity); }, /** diff --git a/packages/strapi-utils/lib/build-query.js b/packages/strapi-utils/lib/build-query.js index fd6c615016..d27c64badb 100644 --- a/packages/strapi-utils/lib/build-query.js +++ b/packages/strapi-utils/lib/build-query.js @@ -97,7 +97,7 @@ const hasDeepFilters = (whereClauses = []) => { return value.filter(hasDeepFilters).length > 0; } - return field.split('.').length > 1; + return field.split('.').length > 2; }).length > 0 ); };