Nível mínimo de departamento de categoria/subcategoria para postar um tópico

Usamos a API para modificar o controlador do compositor de postagens e adicionar um erro a ele. Não tenho a versão mais recente do código à mão, mas era algo assim:

var computed = require("ember-addons/ember-computed-decorators").default;
api.modifyClass('controller:composer',
    {
      save(opts) {
        var categoryNb = $('.category-input .category-chooser .selected-name > span').length;
        if((categoryNb !== 0 && categoryNb < 2)  ) {
            this.set("lastValidatedAt", Date.now());
            return false;
        }
        return this._super(opts);
      },
      @computed("model.categoryId", "lastValidatedAt")
      categoryValidation(categoryId, lastValidatedAt) {
          var InputValidation = require("discourse/models/input-validation").default;
          var categoryNb = $('.category-input .category-chooser .selected-name > span').length;
          if( (categoryNb !== 0 && categoryNb < 2)  ) {
              return InputValidation.create({
                  failed: true,
                  reason: 'Você precisa selecionar uma subcategoria',
                  lastShownAt: lastValidatedAt
                });
          } else {
              return this._super(categoryId, lastValidatedAt);
          }
      }
  }
);

Em resumo, isso simplesmente verifica o número de elementos na entrada de categoria e exibe um erro se houver apenas um ou nenhum. Uma subcategoria sempre terá dois elementos ‘’. Nesta versão do trecho que eu tinha guardado, isso era feito via jQuery. Acredito que havia outra chamada à API para obter a profundidade de uma categoria.