Applying isOwner Policy to user-permissions Plugin

You can use strapi’s default controllers inside your custom controller:

module.exports = {
  async someCustomUpdateController(ctx) {
    return strapi.plugins["users-permissions"].controllers.user.update(ctx);
  }
}

That someCustomUpdateController is used as a handler on a new custom route with a custom policy isOwner, after passing the isOwner policy it uses the strapi’s core controller. Same approach if for other functions.

You can output the: strapi.plugins["users-permissions"].controllers in console log to see what other functions are inside.