How to create programmatically new roles and add restrictions in strapi required help

@LuisAlaguna @hashirnouman here is snippet to create role using strapi Query Engine’s API

await strapi.db
        .query('plugin::users-permissions.role')
        .create({
          data: {
            name: 'Teacher',
            description: 'Teacher can upload grades',
            type: 'authenticated'
          }
        });

similarly below example create a permission for find course api

await strapi.db
        .query('plugin::users-permissions.permission')
        .create({
          data: {
            action: 'api::course.course.find',
          }
        });

and if you want to assign a new role permission using nested like

await strapi.db
        .query('plugin::users-permissions.role')
        .create({
          data: {
            name: 'Teacher',
            description: 'Default message',
            type: 'authenticated',
        // permission id of find course api
            permissions: [11]
          }
        });
1 Like