javascript - 引导新的 Strapi 角色权限

标签 javascript node.js graphql strapi

问题是关于 Strapi - Open source Node.js Headless CMS 中的 Angular 色权限

如何创建相对于AuthenticatedPublic Angular 色的新的strapi Angular 色权限?我想在引导函数中创建具有相同所有权限的新 Angular 色。我不确定如何查看payload来创建新的role

const payload = ?
strapi.plugins['users-permissions']
    .queries('role', 'users-permissions')
    .create(payload)

我检查了相关的 stackoverflow 问题,但不是关于创建新的 Strapi Angular 色权限 Bootstraping Strapi Role Permissions !

主要问题

  1. 解决上述问题的最佳方法如何?

附带问题

  1. 是否有插件服务的文档架构(如果有)在哪里可以找到它?
  2. 哪个 API 更适合使用 queries 实例中的 servicesorm

最佳答案

好吧,既然数据结构可以改变,我将为您提供访问有用数据的方法,这将帮助您处理您想要的事情。

在此this file您将找到创建 Angular 色的服务函数和初始化权限的函数。

您可以在 bootstrap.js 文件中编写代码。

  1. 您必须调用可生成权限对象的函数
const lang = 'en';
const plugins = await strapi.plugins[
  'users-permissions'
].services.userspermissions.getPlugins(lang);

const permissions = await strapi.plugins[
  'users-permissions'
].services.userspermissions.getActions(plugins);
  • 自定义此对象(permissions 对象)以允许您想要的 Controller 功能。

  • 最后创建您的 Angular 色

  • const role = {
      name: 'NewRole',
      description: 'can be an empty string',
      permissions, // That is the step 1/2 object
      users: []
    };
    
    await strapi.plugins[
      'users-permissions'
    ].services.userspermissions.createRole(role);
    

    关于javascript - 引导新的 Strapi 角色权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57106760/

    相关文章:

    javascript - 如何在不带引号的情况下将键和值推送到数组中

    javascript - 如何在 Nodejs 上使用 readlineSync

    javascript - socket.io 无法在服务器上工作并出现 404 错误

    Node.js 读取流无法从文件中正确读取

    node.js - 使用 GraphQL NestJS 上传

    javascript - i18n node.js setLocale 不工作! getLocale 始终返回默认语言环境

    javascript - Cookie 过期日期

    JavaScript 模块 - 语法错误 : Unexpected reserved word at exports. runInThisContext

    django - 在 graphene-django 中通过主键查找(带中继)

    graphql - 如何使用 graphql 更新集合中的所有记录