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

Контроллер файлов

Класс FileController определяет контроллер модели файла.

Для отключения ненужных действий, унаследованных от базового контроллера, в константах класса присвоены null-значения соответствующим свойствам.

module/admin/controllers/FileController.js

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

  static getConstants () {
    return {
      METHODS: {
        'upload': ['post']
      },
      actionCreate: null,
      actionUpdate: null
    };
  }
  // place methods here
};
module.exports.init(module);
const async = require('areto/helper/AsyncHelper');
const File = require('../model/File');

Метод actionUpload создает новую модель, которая сохраняет загруженный файл. Действие upload ограничено POST-запросом. Для других типов запросов будет возвращена ошибка.

module/admin/controllers/FileController.js

actionUpload () {
  let model = new File;
  async.series([
    cb => model.upload(this, cb),
    cb => model.hasError()
      ? this.sendText(this.translate(model.getFirstError()), 400)
      : this.sendText(model.getId())
  ], err => this.throwError(err));
}