Строим блог на Areto фреймворк

Контроллер пользователей

Класс UserController отвечает за действия с моделью пользователя.

Просмотр пользователя

module/admin/controllers/UserController.js

const Base = require('../component/CrudController');
module.exports = class UserController extends Base {

  static getConstants ()  {
    return {
      BEHAVIORS: {
        'access': {
          Class: require('areto/filter/AccessControl'),
          rules: [{
            allow: true,
            roles: ['admin']
          }]
        }
      }
    };
  }
  // place methods here
};
module.exports.init(module);
const User = require('../model/User');
Редактирование пользователя

Метод actionIndex выводит список всех пользователей с возможностью сортировки по идентификатору, имени, email, роли, а также поиском.

module/admin/controllers/UserController.js

async actionIndex () {
  let provider = this.createDataProvider({
    query: User.findBySearch(this.getQueryParam('search')),
    sort: {
      attrs: {
        [User.PK]: true,
        name: true,
        email: true,
        role: true
      },
      defaultOrder: {
        [User.PK]: -1
      }
    }
  });
  await this.renderDataProvider(provider, 'index', {provider});
}