Строим блог на основе Node.js MVC фреймворка Areto

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

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

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

modules/admin/controllers/UserController.js

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

  getModelClass () {
    return require('../models/User');
  }
  // place methods here
};
module.exports.init(module);
Редактирование пользователя

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

modules/admin/controllers/UserController.js

...
actionIndex () {
  let Class = this.getModelClass();
  let ActiveDataProvider = require('areto/data/ActiveDataProvider');
  let provider = new ActiveDataProvider({
    controller: this,
    query: Class.findBySearch(this.getQueryParam('search')),
    sort: {
      attrs: {
        [Class.PK]: true,
        name: true,
        email: true,
        role: true
      },
      defaultOrder: {
        [Class.PK]: -1
      }
    }
  });
  provider.prepare(err => {
    err ? this.throwError(err) : this.render('index', {provider});
  });
}
...