Skip to content
Snippets Groups Projects
strapi-server.js 655 B
Newer Older
moon's avatar
moon committed

const utils = require('@strapi/utils');
const { getService } = require("@strapi/plugin-users-permissions/server/utils");

const { sanitize } = utils;

const sanitizeOutput = (user, ctx) => {
  const schema = strapi.getModel('plugin::users-permissions.user');
  const { auth } = ctx.state;

  return sanitize.contentAPI.output(user, schema, { auth });
};

module.exports = (plugin) => {

  plugin.controllers.user.findOne = async (ctx) => {
    const { id } = ctx.params;

    let data = await getService('user').fetch({ id }, ['role']);

    if (data) {
      data = await sanitizeOutput(data, ctx);
    }

    ctx.body = data;
  };

  return plugin;
};