@avonjs/avonjs
Version:
A fluent Node.js API generator.
41 lines (40 loc) • 1.37 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const Contracts_1 = require("../../Contracts");
const FieldNotFoundException_1 = __importDefault(require("../../Exceptions/FieldNotFoundException"));
const ResourceIndexRequest_1 = __importDefault(require("./ResourceIndexRequest"));
class AssociableRequest extends ResourceIndexRequest_1.default {
/**
* Indicates type of the request instance.
*/
type() {
return Contracts_1.RequestTypes.AssociableRequest;
}
/**
* Get the relatable field.
*/
relatedField() {
const field = this.resource()
.availableFieldsOnForms(this)
.withOnlyRelatableFields()
.findFieldByAttribute(this.route('field'));
FieldNotFoundException_1.default.unless(field);
return field;
}
/**
* Get all of the possibly available filters for the request.
*/
availableFilters() {
return this.relatedField().availableFilters(this);
}
/**
* Get all of the possibly available orderings for the request.
*/
availableOrderings() {
return this.relatedField().availableOrderings(this);
}
}
exports.default = AssociableRequest;